[LIBXML2]
authorAmine Khaldi <amine.khaldi@reactos.org>
Fri, 18 Apr 2014 19:33:35 +0000 (19:33 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Fri, 18 Apr 2014 19:33:35 +0000 (19:33 +0000)
* Update to 2.9.1
* Make use of our iconvc and zlib libs.
[LIBXSLT][MSXML3]
* Make use of our iconvc and zlib libs.
CORE-8079 #resolve

svn path=/trunk/; revision=62773

100 files changed:
reactos/dll/3rdparty/libxslt/CMakeLists.txt
reactos/dll/win32/msxml3/CMakeLists.txt
reactos/include/reactos/libs/libxml/Makefile.am [deleted file]
reactos/include/reactos/libs/libxml/Makefile.in [deleted file]
reactos/include/reactos/libs/libxml/entities.h
reactos/include/reactos/libs/libxml/parser.h
reactos/include/reactos/libs/libxml/tree.h
reactos/include/reactos/libs/libxml/xmlerror.h
reactos/include/reactos/libs/libxml/xmlversion.h
reactos/include/reactos/libs/libxml/xmlversion.h.in
reactos/include/reactos/libs/libxml/xpath.h
reactos/lib/3rdparty/libxml2/CMakeLists.txt
reactos/lib/3rdparty/libxml2/Copyright
reactos/lib/3rdparty/libxml2/HTMLparser.c
reactos/lib/3rdparty/libxml2/INSTALL [deleted file]
reactos/lib/3rdparty/libxml2/Makefile.am [deleted file]
reactos/lib/3rdparty/libxml2/Makefile.in [deleted file]
reactos/lib/3rdparty/libxml2/Makefile.tests [deleted file]
reactos/lib/3rdparty/libxml2/README.tests [deleted file]
reactos/lib/3rdparty/libxml2/SAX2.c
reactos/lib/3rdparty/libxml2/acinclude.m4 [deleted file]
reactos/lib/3rdparty/libxml2/aclocal.m4 [deleted file]
reactos/lib/3rdparty/libxml2/buf.c
reactos/lib/3rdparty/libxml2/catalog.c
reactos/lib/3rdparty/libxml2/check-relaxng-test-suite.py [deleted file]
reactos/lib/3rdparty/libxml2/check-relaxng-test-suite2.py [deleted file]
reactos/lib/3rdparty/libxml2/check-xinclude-test-suite.py [deleted file]
reactos/lib/3rdparty/libxml2/check-xml-test-suite.py [deleted file]
reactos/lib/3rdparty/libxml2/check-xsddata-test-suite.py [deleted file]
reactos/lib/3rdparty/libxml2/config.guess [deleted file]
reactos/lib/3rdparty/libxml2/config.h
reactos/lib/3rdparty/libxml2/config.h.in [deleted file]
reactos/lib/3rdparty/libxml2/config.sub [deleted file]
reactos/lib/3rdparty/libxml2/configure [deleted file]
reactos/lib/3rdparty/libxml2/configure.in [deleted file]
reactos/lib/3rdparty/libxml2/dbgen.pl [deleted file]
reactos/lib/3rdparty/libxml2/dbgenattr.pl [deleted file]
reactos/lib/3rdparty/libxml2/debugXML.c
reactos/lib/3rdparty/libxml2/depcomp [deleted file]
reactos/lib/3rdparty/libxml2/dict.c
reactos/lib/3rdparty/libxml2/elfgcchack.h
reactos/lib/3rdparty/libxml2/enc.h
reactos/lib/3rdparty/libxml2/encoding.c
reactos/lib/3rdparty/libxml2/genUnicode.py [deleted file]
reactos/lib/3rdparty/libxml2/gentest.py [deleted file]
reactos/lib/3rdparty/libxml2/hash.c
reactos/lib/3rdparty/libxml2/include/Makefile.am [deleted file]
reactos/lib/3rdparty/libxml2/include/Makefile.in [deleted file]
reactos/lib/3rdparty/libxml2/install-sh [deleted file]
reactos/lib/3rdparty/libxml2/libxml-2.0-uninstalled.pc.in [deleted file]
reactos/lib/3rdparty/libxml2/libxml-2.0.pc.in [deleted file]
reactos/lib/3rdparty/libxml2/libxml.3 [deleted file]
reactos/lib/3rdparty/libxml2/libxml.h
reactos/lib/3rdparty/libxml2/libxml.m4 [deleted file]
reactos/lib/3rdparty/libxml2/libxml.spec.in [deleted file]
reactos/lib/3rdparty/libxml2/libxml2.spec [deleted file]
reactos/lib/3rdparty/libxml2/ltmain.sh [deleted file]
reactos/lib/3rdparty/libxml2/missing [deleted file]
reactos/lib/3rdparty/libxml2/nanohttp.c
reactos/lib/3rdparty/libxml2/parser.c
reactos/lib/3rdparty/libxml2/parserInternals.c
reactos/lib/3rdparty/libxml2/regressions.py [deleted file]
reactos/lib/3rdparty/libxml2/regressions.xml [deleted file]
reactos/lib/3rdparty/libxml2/relaxng.c
reactos/lib/3rdparty/libxml2/runsuite.c [deleted file]
reactos/lib/3rdparty/libxml2/runtest.c [deleted file]
reactos/lib/3rdparty/libxml2/runxmlconf.c [deleted file]
reactos/lib/3rdparty/libxml2/testAutomata.c [deleted file]
reactos/lib/3rdparty/libxml2/testC14N.c [deleted file]
reactos/lib/3rdparty/libxml2/testHTML.c [deleted file]
reactos/lib/3rdparty/libxml2/testModule.c [deleted file]
reactos/lib/3rdparty/libxml2/testReader.c [deleted file]
reactos/lib/3rdparty/libxml2/testRegexp.c [deleted file]
reactos/lib/3rdparty/libxml2/testRelax.c [deleted file]
reactos/lib/3rdparty/libxml2/testSAX.c [deleted file]
reactos/lib/3rdparty/libxml2/testSchemas.c [deleted file]
reactos/lib/3rdparty/libxml2/testThreads.c [deleted file]
reactos/lib/3rdparty/libxml2/testThreadsWin32.c [deleted file]
reactos/lib/3rdparty/libxml2/testURI.c [deleted file]
reactos/lib/3rdparty/libxml2/testXPath.c [deleted file]
reactos/lib/3rdparty/libxml2/testapi.c [deleted file]
reactos/lib/3rdparty/libxml2/testchar.c [deleted file]
reactos/lib/3rdparty/libxml2/testdict.c [deleted file]
reactos/lib/3rdparty/libxml2/testdso.c [deleted file]
reactos/lib/3rdparty/libxml2/testlimits.c [deleted file]
reactos/lib/3rdparty/libxml2/testrecurse.c [deleted file]
reactos/lib/3rdparty/libxml2/threads.c
reactos/lib/3rdparty/libxml2/timsort.h
reactos/lib/3rdparty/libxml2/tree.c
reactos/lib/3rdparty/libxml2/valid.c
reactos/lib/3rdparty/libxml2/xml2-config.1 [deleted file]
reactos/lib/3rdparty/libxml2/xml2-config.in [deleted file]
reactos/lib/3rdparty/libxml2/xml2Conf.sh.in [deleted file]
reactos/lib/3rdparty/libxml2/xmlIO.c
reactos/lib/3rdparty/libxml2/xmllint.c
reactos/lib/3rdparty/libxml2/xmlreader.c
reactos/lib/3rdparty/libxml2/xmlregexp.c
reactos/lib/3rdparty/libxml2/xmlsave.c
reactos/lib/3rdparty/libxml2/xmlschemas.c
reactos/media/doc/3rd Party Files.txt

index 9a55a10..988a7ca 100644 (file)
@@ -1,6 +1,6 @@
 
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}
-                    ${REACTOS_SOURCE_DIR}/include/reactos/libs/libxslt)
+include_directories(${REACTOS_SOURCE_DIR}/include/reactos/libs/libxslt
+                    ${REACTOS_SOURCE_DIR}/lib/3rdparty/libwin-iconv)
 
 add_definitions(
     -DHAVE_CONFIG_H
@@ -37,7 +37,7 @@ list(APPEND SOURCE
 
 add_library(libxslt SHARED ${SOURCE})
 set_module_type(libxslt win32dll)
-target_link_libraries(libxslt libxml2 iconv-static)
+target_link_libraries(libxslt libxml2 iconv-static zlib)
 add_importlibs(libxslt msvcrt ws2_32 kernel32)
 if(MSVC)
     add_importlibs(libxslt ntdll)
index 8a7ee4e..31b11f1 100644 (file)
@@ -9,7 +9,10 @@ if(MSVC)
     add_compile_flags("/FIwine/typeof.h /FImsvc.h")
 endif()
 
-include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
+include_directories(
+    ${REACTOS_SOURCE_DIR}/include/reactos/wine
+    ${REACTOS_SOURCE_DIR}/lib/3rdparty/libwin-iconv)
+
 spec2def(msxml3.dll msxml3.spec ADD_IMPORTLIB)
 add_typelib(msxml3_v1.idl)
 
@@ -66,7 +69,7 @@ add_library(msxml3 SHARED
 
 add_idl_headers(xmlparser_idlheader xmlparser.idl)
 set_module_type(msxml3 win32dll)
-target_link_libraries(msxml3 libxml2 iconv-static uuid wine)
+target_link_libraries(msxml3 libxml2 iconv-static uuid wine zlib)
 add_importlibs(msxml3 urlmon ws2_32 shlwapi oleaut32 ole32 user32 msvcrt kernel32 ntdll)
 add_dependencies(msxml3 xmlparser_idlheader stdole2) # msxml3_v1.tlb needs stdole2.tlb
 add_pch(msxml3 precomp.h SOURCE)
diff --git a/reactos/include/reactos/libs/libxml/Makefile.am b/reactos/include/reactos/libs/libxml/Makefile.am
deleted file mode 100644 (file)
index cf9297a..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-## 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 \
-               xmlversion.h \
-               DOCBparser.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
-
-EXTRA_DIST = xmlversion.h.in
diff --git a/reactos/include/reactos/libs/libxml/Makefile.in b/reactos/include/reactos/libs/libxml/Makefile.in
deleted file mode 100644 (file)
index 2c56fd4..0000000
+++ /dev/null
@@ -1,631 +0,0 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = include/libxml
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(srcdir)/xmlversion.h.in $(xmlinc_HEADERS)
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = xmlversion.h
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__installdirs = "$(DESTDIR)$(xmlincdir)"
-HEADERS = $(xmlinc_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BASE_THREAD_LIBS = @BASE_THREAD_LIBS@
-C14N_OBJ = @C14N_OBJ@
-CATALOG_OBJ = @CATALOG_OBJ@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
-CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
-DEBUG_OBJ = @DEBUG_OBJ@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOCB_OBJ = @DOCB_OBJ@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FTP_OBJ = @FTP_OBJ@
-GREP = @GREP@
-HAVE_ISINF = @HAVE_ISINF@
-HAVE_ISNAN = @HAVE_ISNAN@
-HTML_DIR = @HTML_DIR@
-HTML_OBJ = @HTML_OBJ@
-HTTP_OBJ = @HTTP_OBJ@
-ICONV_LIBS = @ICONV_LIBS@
-ICU_LIBS = @ICU_LIBS@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBXML_MAJOR_VERSION = @LIBXML_MAJOR_VERSION@
-LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
-LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
-LIBXML_VERSION = @LIBXML_VERSION@
-LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
-LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
-LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LZMA_CFLAGS = @LZMA_CFLAGS@
-LZMA_LIBS = @LZMA_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-MODULE_EXTENSION = @MODULE_EXTENSION@
-MODULE_PLATFORM_LIBS = @MODULE_PLATFORM_LIBS@
-MV = @MV@
-M_LIBS = @M_LIBS@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-PYTHON = @PYTHON@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
-PYTHON_SUBDIR = @PYTHON_SUBDIR@
-PYTHON_TESTS = @PYTHON_TESTS@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-RDL_LIBS = @RDL_LIBS@
-READER_TEST = @READER_TEST@
-RELDATE = @RELDATE@
-RM = @RM@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STATIC_BINARIES = @STATIC_BINARIES@
-STRIP = @STRIP@
-TAR = @TAR@
-TEST_C14N = @TEST_C14N@
-TEST_CATALOG = @TEST_CATALOG@
-TEST_DEBUG = @TEST_DEBUG@
-TEST_HTML = @TEST_HTML@
-TEST_MODULES = @TEST_MODULES@
-TEST_PATTERN = @TEST_PATTERN@
-TEST_PHTML = @TEST_PHTML@
-TEST_PUSH = @TEST_PUSH@
-TEST_REGEXPS = @TEST_REGEXPS@
-TEST_SAX = @TEST_SAX@
-TEST_SCHEMAS = @TEST_SCHEMAS@
-TEST_SCHEMATRON = @TEST_SCHEMATRON@
-TEST_THREADS = @TEST_THREADS@
-TEST_VALID = @TEST_VALID@
-TEST_VTIME = @TEST_VTIME@
-TEST_XINCLUDE = @TEST_XINCLUDE@
-TEST_XPATH = @TEST_XPATH@
-TEST_XPTR = @TEST_XPTR@
-THREAD_CFLAGS = @THREAD_CFLAGS@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-VERSION_SCRIPT_FLAGS = @VERSION_SCRIPT_FLAGS@
-WGET = @WGET@
-WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@
-WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@
-WIN32_EXTRA_PYTHON_LIBADD = @WIN32_EXTRA_PYTHON_LIBADD@
-WITH_C14N = @WITH_C14N@
-WITH_CATALOG = @WITH_CATALOG@
-WITH_DEBUG = @WITH_DEBUG@
-WITH_DOCB = @WITH_DOCB@
-WITH_FTP = @WITH_FTP@
-WITH_HTML = @WITH_HTML@
-WITH_HTTP = @WITH_HTTP@
-WITH_ICONV = @WITH_ICONV@
-WITH_ICU = @WITH_ICU@
-WITH_ISO8859X = @WITH_ISO8859X@
-WITH_LEGACY = @WITH_LEGACY@
-WITH_LZMA = @WITH_LZMA@
-WITH_MEM_DEBUG = @WITH_MEM_DEBUG@
-WITH_MODULES = @WITH_MODULES@
-WITH_OUTPUT = @WITH_OUTPUT@
-WITH_PATTERN = @WITH_PATTERN@
-WITH_PUSH = @WITH_PUSH@
-WITH_READER = @WITH_READER@
-WITH_REGEXPS = @WITH_REGEXPS@
-WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
-WITH_SAX1 = @WITH_SAX1@
-WITH_SCHEMAS = @WITH_SCHEMAS@
-WITH_SCHEMATRON = @WITH_SCHEMATRON@
-WITH_THREADS = @WITH_THREADS@
-WITH_TREE = @WITH_TREE@
-WITH_TRIO = @WITH_TRIO@
-WITH_VALID = @WITH_VALID@
-WITH_WRITER = @WITH_WRITER@
-WITH_XINCLUDE = @WITH_XINCLUDE@
-WITH_XPATH = @WITH_XPATH@
-WITH_XPTR = @WITH_XPTR@
-WITH_ZLIB = @WITH_ZLIB@
-XINCLUDE_OBJ = @XINCLUDE_OBJ@
-XMLLINT = @XMLLINT@
-XML_CFLAGS = @XML_CFLAGS@
-XML_INCLUDEDIR = @XML_INCLUDEDIR@
-XML_LIBDIR = @XML_LIBDIR@
-XML_LIBS = @XML_LIBS@
-XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
-XPATH_OBJ = @XPATH_OBJ@
-XPTR_OBJ = @XPTR_OBJ@
-XSLTPROC = @XSLTPROC@
-Z_CFLAGS = @Z_CFLAGS@
-Z_LIBS = @Z_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pythondir = @pythondir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-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 \
-               xmlversion.h \
-               DOCBparser.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
-
-EXTRA_DIST = xmlversion.h.in
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/libxml/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --gnu include/libxml/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-xmlversion.h: $(top_builddir)/config.status $(srcdir)/xmlversion.h.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-install-xmlincHEADERS: $(xmlinc_HEADERS)
-       @$(NORMAL_INSTALL)
-       test -z "$(xmlincdir)" || $(MKDIR_P) "$(DESTDIR)$(xmlincdir)"
-       @list='$(xmlinc_HEADERS)'; test -n "$(xmlincdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(xmlincdir)'"; \
-         $(INSTALL_HEADER) $$files "$(DESTDIR)$(xmlincdir)" || exit $$?; \
-       done
-
-uninstall-xmlincHEADERS:
-       @$(NORMAL_UNINSTALL)
-       @list='$(xmlinc_HEADERS)'; test -n "$(xmlincdir)" || list=; \
-       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       dir='$(DESTDIR)$(xmlincdir)'; $(am__uninstall_files_from_dir)
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-am
-all-am: Makefile $(HEADERS)
-installdirs:
-       for dir in "$(DESTDIR)$(xmlincdir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       if test -z '$(STRIP)'; then \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-             install; \
-       else \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-       fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-xmlincHEADERS
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-xmlincHEADERS
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       clean-libtool ctags distclean distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip install-xmlincHEADERS \
-       installcheck installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-       uninstall-am uninstall-xmlincHEADERS
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
index cefb97f..1e91189 100644 (file)
@@ -58,7 +58,8 @@ struct _xmlEntity {
     int                    owner;      /* does the entity own the childrens */
     int                         checked;       /* was the entity content checked */
                                        /* this is also used to count entites
-                                        * references done from that entity */
+                                        * references done from that entity
+                                        * and if it contains '<' */
 };
 
 /*
index e1346e4..3f5730d 100644 (file)
@@ -310,6 +310,7 @@ struct _xmlParserCtxt {
     xmlParserNodeInfo *nodeInfoTab;   /* array of nodeInfos */
 
     int                input_id;      /* we need to label inputs */
+    unsigned long      sizeentcopy;   /* volume of entity copy */
 };
 
 /**
index da12daa..7e06686 100644 (file)
@@ -118,7 +118,7 @@ typedef xmlBuf *xmlBufPtr;
  */
 XMLPUBFUN xmlChar* XMLCALL       xmlBufContent (const xmlBufPtr buf);
 XMLPUBFUN xmlChar* XMLCALL       xmlBufEnd      (const xmlBufPtr buf);
-XMLPUBFUN size_t XMLCALL         xmlBufUse      (xmlBufPtr buf);
+XMLPUBFUN size_t XMLCALL         xmlBufUse      (const xmlBufPtr buf);
 XMLPUBFUN size_t XMLCALL         xmlBufShrink  (xmlBufPtr buf, size_t len);
 
 /*
index 48ea145..537a396 100644 (file)
@@ -208,6 +208,7 @@ typedef enum {
     XML_ERR_UNKNOWN_VERSION, /* 108 */
     XML_ERR_VERSION_MISMATCH, /* 109 */
     XML_ERR_NAME_TOO_LONG, /* 110 */
+    XML_ERR_USER_STOP, /* 111 */
     XML_NS_ERR_XML_NAMESPACE = 200,
     XML_NS_ERR_UNDEFINED_NAMESPACE, /* 201 */
     XML_NS_ERR_QNAME, /* 202 */
index 06d55f0..2651741 100644 (file)
@@ -29,28 +29,28 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
  *
  * the version string like "1.2.3"
  */
-#define LIBXML_DOTTED_VERSION "2.9.0"
+#define LIBXML_DOTTED_VERSION "2.9.1"
 
 /**
  * LIBXML_VERSION:
  *
  * the version number: 1.2.3 value is 10203
  */
-#define LIBXML_VERSION 20900
+#define LIBXML_VERSION 20901
 
 /**
  * LIBXML_VERSION_STRING:
  *
  * the version number string, 1.2.3 value is "10203"
  */
-#define LIBXML_VERSION_STRING "20900"
+#define LIBXML_VERSION_STRING "20901"
 
 /**
  * LIBXML_VERSION_EXTRA:
  *
  * extra version information, used to show a CVS compilation
  */
-#define LIBXML_VERSION_EXTRA "-GITv2.9.0-rc2-5-g7651606"
+#define LIBXML_VERSION_EXTRA ""
 
 /**
  * LIBXML_TEST_VERSION:
@@ -58,7 +58,7 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
  * Macro to check that the libxml version in use is compatible with
  * the version the software has been compiled against
  */
-#define LIBXML_TEST_VERSION xmlCheckVersion(20900);
+#define LIBXML_TEST_VERSION xmlCheckVersion(20901);
 
 #ifndef VMS
 #if 0
@@ -97,6 +97,15 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
 #endif
 #endif
 
+/**
+ * LIBXML_THREAD_ALLOC_ENABLED:
+ *
+ * Whether the allocation hooks are per-thread
+ */
+#if 0
+#define LIBXML_THREAD_ALLOC_ENABLED
+#endif
+
 /**
  * LIBXML_TREE_ENABLED:
  *
@@ -264,7 +273,7 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
  *
  * Whether iconv support is available
  */
-#if 0
+#if 1
 #define LIBXML_ICONV_ENABLED
 #endif
 
@@ -282,7 +291,7 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
  *
  * Whether ISO-8859-* support is made available in case iconv is not
  */
-#if 1
+#if 0
 #define LIBXML_ISO8859X_ENABLED
 #endif
 
@@ -300,7 +309,7 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
  *
  * Whether the memory debugging is configured in
  */
-#if 1
+#if 0
 #define DEBUG_MEMORY_LOCATION
 #endif
 
@@ -309,7 +318,7 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
  *
  * Whether the runtime debugging is configured in
  */
-#if 1
+#if 0
 #define LIBXML_DEBUG_RUNTIME
 #endif
 
@@ -379,7 +388,7 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
  *
  * the string suffix used by dynamic modules (usually shared libraries)
  */
-#define LIBXML_MODULE_EXTENSION ".so
+#define LIBXML_MODULE_EXTENSION ".dll
 #endif
 
 /**
index c98e7ca..00a836f 100644 (file)
@@ -97,6 +97,15 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
 #endif
 #endif
 
+/**
+ * LIBXML_THREAD_ALLOC_ENABLED:
+ *
+ * Whether the allocation hooks are per-thread
+ */
+#if @WITH_THREAD_ALLOC@
+#define LIBXML_THREAD_ALLOC_ENABLED
+#endif
+
 /**
  * LIBXML_TREE_ENABLED:
  *
index 8819a29..d96776c 100644 (file)
@@ -508,6 +508,13 @@ XMLPUBFUN int XMLCALL
  */
 XMLPUBFUN long XMLCALL
                    xmlXPathOrderDocElems       (xmlDocPtr doc);
+XMLPUBFUN int XMLCALL
+                   xmlXPathSetContextNode      (xmlNodePtr node,
+                                                xmlXPathContextPtr ctx);
+XMLPUBFUN xmlXPathObjectPtr XMLCALL
+                   xmlXPathNodeEval            (xmlNodePtr node,
+                                                const xmlChar *str,
+                                                xmlXPathContextPtr ctx);
 XMLPUBFUN xmlXPathObjectPtr XMLCALL
                    xmlXPathEval                (const xmlChar *str,
                                                 xmlXPathContextPtr ctx);
index a983a36..b0062c3 100644 (file)
@@ -1,7 +1,8 @@
 
 include_directories(
     include
-    ${REACTOS_SOURCE_DIR}/lib/3rdparty/libwin-iconv)
+    ${REACTOS_SOURCE_DIR}/lib/3rdparty/libwin-iconv
+    ${REACTOS_SOURCE_DIR}/include/reactos/libs/zlib)
 
 add_definitions(
     -D__MINGW32__
@@ -12,7 +13,6 @@ add_definitions(
     -D_WINDOWS
     -DWIN32
     -DHAVE_CONFIG_H
-    -DLIBXML_ICONV_ENABLED
     -DICONV_CONST=const
     -D_DLL -D__USE_CRTIMP)
 
index 417e955..d613185 100644 (file)
@@ -2,7 +2,7 @@ Except where otherwise noted in the source code (e.g. the files hash.c,
 list.c and the trio files, which are covered by a similar licence but
 with different Copyright notices) all the files are:
 
- Copyright (C) 1998-2003 Daniel Veillard.  All Rights Reserved.
+ Copyright (C) 1998-2012 Daniel Veillard.  All Rights Reserved.
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
@@ -17,11 +17,7 @@ all copies or substantial portions of the Software.
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
 NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
-NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of Daniel Veillard shall not
-be used in advertising or otherwise to promote the sale, use or other deal-
-ings in this Software without prior written authorization from him.
-
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
index a533f37..dd0c1ea 100644 (file)
@@ -3561,7 +3561,7 @@ htmlCheckEncodingDirect(htmlParserCtxtPtr ctxt, const xmlChar *encoding) {
             */
            processed = ctxt->input->cur - ctxt->input->base;
            xmlBufShrink(ctxt->input->buf->buffer, processed);
-           nbchars = xmlCharEncInput(ctxt->input->buf);
+           nbchars = xmlCharEncInput(ctxt->input->buf, 1);
            if (nbchars < 0) {
                htmlParseErr(ctxt, XML_ERR_INVALID_ENCODING,
                             "htmlCheckEncoding: encoder error\n",
@@ -6054,13 +6054,16 @@ htmlParseChunk(htmlParserCtxtPtr ctxt, const char *chunk, int size,
            if ((in->encoder != NULL) && (in->buffer != NULL) &&
                    (in->raw != NULL)) {
                int nbchars;
+               size_t base = xmlBufGetInputBase(in->buffer, ctxt->input);
+               size_t current = ctxt->input->cur - ctxt->input->base;
 
-               nbchars = xmlCharEncInput(in);
+               nbchars = xmlCharEncInput(in, terminate);
                if (nbchars < 0) {
                    htmlParseErr(ctxt, XML_ERR_INVALID_ENCODING,
                                 "encoder error\n", NULL, NULL);
                    return(XML_ERR_INVALID_ENCODING);
                }
+               xmlBufSetInputBaseCur(in->buffer, ctxt->input, base, current);
            }
        }
     }
diff --git a/reactos/lib/3rdparty/libxml2/INSTALL b/reactos/lib/3rdparty/libxml2/INSTALL
deleted file mode 100644 (file)
index a1e89e1..0000000
+++ /dev/null
@@ -1,370 +0,0 @@
-Installation Instructions
-*************************
-
-Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
-Inc.
-
-   Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.  This file is offered as-is,
-without warranty of any kind.
-
-Basic Installation
-==================
-
-   Briefly, the shell commands `./configure; make; make install' should
-configure, build, and install this package.  The following
-more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.  Some packages provide this
-`INSTALL' file but do not implement all of the features documented
-below.  The lack of an optional feature in a given package is not
-necessarily a bug.  More recommendations for GNU packages can be found
-in *note Makefile Conventions: (standards)Makefile Conventions.
-
-   The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
-   It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
-
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
-   The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
-
-   The simplest way to compile this package is:
-
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.
-
-     Running `configure' might take a while.  While running, it prints
-     some messages telling which features it is checking for.
-
-  2. Type `make' to compile the package.
-
-  3. Optionally, type `make check' to run any self-tests that come with
-     the package, generally using the just-built uninstalled binaries.
-
-  4. Type `make install' to install the programs and any data files and
-     documentation.  When installing into a prefix owned by root, it is
-     recommended that the package be configured and built as a regular
-     user, and only the `make install' phase executed with root
-     privileges.
-
-  5. Optionally, type `make installcheck' to repeat any self-tests, but
-     this time using the binaries in their final installed location.
-     This target does not install anything.  Running this target as a
-     regular user, particularly if the prior `make install' required
-     root privileges, verifies that the installation completed
-     correctly.
-
-  6. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to get
-     all sorts of other programs in order to regenerate files that came
-     with the distribution.
-
-  7. Often, you can also type `make uninstall' to remove the installed
-     files again.  In practice, not all packages have tested that
-     uninstallation works correctly, even though it is required by the
-     GNU Coding Standards.
-
-  8. Some packages, particularly those that use Automake, provide `make
-     distcheck', which can by used by developers to test that all other
-     targets like `make install' and `make uninstall' work correctly.
-     This target is generally not run by end users.
-
-Compilers and Options
-=====================
-
-   Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  Run `./configure --help'
-for details on some of the pertinent environment variables.
-
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is an example:
-
-     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
-
-   *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
-   You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory.  To do this, you can use GNU `make'.  `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.  This
-is known as a "VPATH" build.
-
-   With a non-GNU `make', it is safer to compile the package for one
-architecture at a time in the source code directory.  After you have
-installed the package for one architecture, use `make distclean' before
-reconfiguring for another architecture.
-
-   On MacOS X 10.5 and later systems, you can create libraries and
-executables that work on multiple system types--known as "fat" or
-"universal" binaries--by specifying multiple `-arch' options to the
-compiler but only a single `-arch' option to the preprocessor.  Like
-this:
-
-     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-                 CPP="gcc -E" CXXCPP="g++ -E"
-
-   This is not guaranteed to produce working output in all cases, you
-may have to build one architecture at a time and combine the results
-using the `lipo' tool if you have problems.
-
-Installation Names
-==================
-
-   By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc.  You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX', where PREFIX must be an
-absolute file name.
-
-   You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
-   In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.  In general, the
-default for these options is expressed in terms of `${prefix}', so that
-specifying just `--prefix' will affect all of the other directory
-specifications that were not explicitly provided.
-
-   The most portable way to affect installation locations is to pass the
-correct locations to `configure'; however, many packages provide one or
-both of the following shortcuts of passing variable assignments to the
-`make install' command line to change installation locations without
-having to reconfigure or recompile.
-
-   The first method involves providing an override variable for each
-affected directory.  For example, `make install
-prefix=/alternate/directory' will choose an alternate location for all
-directory configuration variables that were expressed in terms of
-`${prefix}'.  Any directories that were specified during `configure',
-but not in terms of `${prefix}', must each be overridden at install
-time for the entire installation to be relocated.  The approach of
-makefile variable overrides for each directory variable is required by
-the GNU Coding Standards, and ideally causes no recompilation.
-However, some platforms have known limitations with the semantics of
-shared libraries that end up requiring recompilation when using this
-method, particularly noticeable in packages that use GNU Libtool.
-
-   The second method involves providing the `DESTDIR' variable.  For
-example, `make install DESTDIR=/alternate/directory' will prepend
-`/alternate/directory' before all installation names.  The approach of
-`DESTDIR' overrides is not required by the GNU Coding Standards, and
-does not work on platforms that have drive letters.  On the other hand,
-it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of `${prefix}'
-at `configure' time.
-
-Optional Features
-=================
-
-   If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
-   For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-   Some packages offer the ability to configure how verbose the
-execution of `make' will be.  For these packages, running `./configure
---enable-silent-rules' sets the default to minimal output, which can be
-overridden with `make V=1'; while running `./configure
---disable-silent-rules' sets the default to verbose, which can be
-overridden with `make V=0'.
-
-Particular systems
-==================
-
-   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
-CC is not installed, it is recommended to use the following options in
-order to use an ANSI C compiler:
-
-     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
-
-and if that doesn't work, install pre-built binaries of GCC for HP-UX.
-
-   HP-UX `make' updates targets which have the same time stamps as
-their prerequisites, which makes it generally unusable when shipped
-generated files such as `configure' are involved.  Use GNU `make'
-instead.
-
-   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
-a workaround.  If GNU CC is not installed, it is therefore recommended
-to try
-
-     ./configure CC="cc"
-
-and if that doesn't work, try
-
-     ./configure CC="cc -nodtk"
-
-   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
-directory contains several dysfunctional programs; working variants of
-these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
-in your `PATH', put it _after_ `/usr/bin'.
-
-   On Haiku, software installed for all users goes in `/boot/common',
-not `/usr/local'.  It is recommended to use the following options:
-
-     ./configure --prefix=/boot/common
-
-Specifying the System Type
-==========================
-
-   There may be some features `configure' cannot figure out
-automatically, but needs to determine by the type of machine the package
-will run on.  Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
-a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
-     CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
-     OS
-     KERNEL-OS
-
-   See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
-   If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
-   If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
-   Variables not defined in a site shell script can be set in the
-environment passed to `configure'.  However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost.  In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'.  For example:
-
-     ./configure CC=/usr/local2/bin/gcc
-
-causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug.  Until the bug is fixed you can use this workaround:
-
-     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-`configure' Invocation
-======================
-
-   `configure' recognizes the following options to control how it
-operates.
-
-`--help'
-`-h'
-     Print a summary of all of the options to `configure', and exit.
-
-`--help=short'
-`--help=recursive'
-     Print a summary of the options unique to this package's
-     `configure', and exit.  The `short' variant lists options used
-     only in the top level, while the `recursive' variant lists options
-     also present in any nested packages.
-
-`--version'
-`-V'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
-
-`--cache-file=FILE'
-     Enable the cache: use and save the results of the tests in FILE,
-     traditionally `config.cache'.  FILE defaults to `/dev/null' to
-     disable caching.
-
-`--config-cache'
-`-C'
-     Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
-     messages will still be shown).
-
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
-
-`--prefix=DIR'
-     Use DIR as the installation prefix.  *note Installation Names::
-     for more details, including other options available for fine-tuning
-     the installation locations.
-
-`--no-create'
-`-n'
-     Run the configure checks, but stop before creating any output
-     files.
-
-`configure' also accepts some other, not widely useful, options.  Run
-`configure --help' for more details.
-
diff --git a/reactos/lib/3rdparty/libxml2/Makefile.am b/reactos/lib/3rdparty/libxml2/Makefile.am
deleted file mode 100644 (file)
index a4a9f87..0000000
+++ /dev/null
@@ -1,1275 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-ACLOCAL_AMFLAGS = -I m4
-
-SUBDIRS = include . doc example xstc $(PYTHON_SUBDIR)
-
-DIST_SUBDIRS = include . doc example python xstc
-
-AM_CPPFLAGS = -I$(top_builddir)/include -I$(srcdir)/include
-
-AM_CFLAGS = $(THREAD_CFLAGS) $(Z_CFLAGS) $(LZMA_CFLAGS)
-
-noinst_PROGRAMS=testSchemas testRelax testSAX testHTML testXPath testURI \
-                testThreads testC14N testAutomata testRegexp \
-                testReader testapi testModule runtest runsuite testchar \
-               testdict runxmlconf testrecurse testlimits
-
-bin_PROGRAMS = xmllint xmlcatalog
-
-bin_SCRIPTS=xml2-config
-
-lib_LTLIBRARIES = libxml2.la
-libxml2_la_LIBADD = $(ICU_LIBS) $(THREAD_LIBS) $(Z_LIBS) $(LZMA_LIBS) $(ICONV_LIBS) $(M_LIBS) $(WIN32_EXTRA_LIBADD)
-
-if USE_VERSION_SCRIPT
-LIBXML2_VERSION_SCRIPT = $(VERSION_SCRIPT_FLAGS)$(srcdir)/libxml2.syms
-else
-LIBXML2_VERSION_SCRIPT =
-endif
-
-libxml2_la_LDFLAGS = $(CYGWIN_EXTRA_LDFLAGS) $(WIN32_EXTRA_LDFLAGS) \
-                    $(LIBXML2_VERSION_SCRIPT) \
-                    -version-info $(LIBXML_VERSION_INFO) \
-                    $(MODULE_PLATFORM_LIBS)
-
-if WITH_SAX1_SOURCES
-docb_sources = DOCBparser.c
-else
-docb_sources =
-endif
-
-if WITH_TRIO_SOURCES
-trio_sources = triostr.c trio.c
-else
-trio_sources =
-endif
-
-libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
-               parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c  \
-               valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c  \
-               xpointer.c xinclude.c nanohttp.c nanoftp.c \
-               $(docb_sources) \
-               catalog.c globals.c threads.c c14n.c xmlstring.c buf.c \
-               xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \
-               $(trio_sources) \
-               xmlreader.c relaxng.c dict.c SAX2.c \
-               xmlwriter.c legacy.c chvalid.c pattern.c xmlsave.c \
-               xmlmodule.c schematron.c xzlib.c
-
-DEPS = $(top_builddir)/libxml2.la
-LDADDS = $(STATIC_BINARIES) $(top_builddir)/libxml2.la $(THREAD_LIBS) $(Z_LIBS) $(LZMA_LIBS) $(ICONV_LIBS) $(M_LIBS) $(WIN32_EXTRA_LIBADD)
-
-
-man_MANS = xml2-config.1 libxml.3
-
-m4datadir = $(datadir)/aclocal
-m4data_DATA = libxml.m4
-
-runtest_SOURCES=runtest.c
-runtest_LDFLAGS = 
-runtest_DEPENDENCIES = $(DEPS)
-runtest_LDADD= $(BASE_THREAD_LIBS) $(RDL_LIBS) $(LDADDS)
-
-testrecurse_SOURCES=testrecurse.c
-testrecurse_LDFLAGS = 
-testrecurse_DEPENDENCIES = $(DEPS)
-testrecurse_LDADD= $(BASE_THREAD_LIBS) $(RDL_LIBS) $(LDADDS)
-
-testlimits_SOURCES=testlimits.c
-testlimits_LDFLAGS = 
-testlimits_DEPENDENCIES = $(DEPS)
-testlimits_LDADD= $(BASE_THREAD_LIBS) $(RDL_LIBS) $(LDADDS)
-
-testchar_SOURCES=testchar.c
-testchar_LDFLAGS = 
-testchar_DEPENDENCIES = $(DEPS)
-testchar_LDADD= $(RDL_LIBS) $(LDADDS)
-
-testdict_SOURCES=testdict.c
-testdict_LDFLAGS = 
-testdict_DEPENDENCIES = $(DEPS)
-testdict_LDADD= $(RDL_LIBS) $(LDADDS)
-
-runsuite_SOURCES=runsuite.c
-runsuite_LDFLAGS = 
-runsuite_DEPENDENCIES = $(DEPS)
-runsuite_LDADD= $(RDL_LIBS) $(LDADDS)
-
-xmllint_SOURCES=xmllint.c
-xmllint_LDFLAGS = 
-xmllint_DEPENDENCIES = $(DEPS)
-xmllint_LDADD=  $(RDL_LIBS) $(LDADDS)
-
-testSAX_SOURCES=testSAX.c
-testSAX_LDFLAGS = 
-testSAX_DEPENDENCIES = $(DEPS)
-testSAX_LDADD= $(LDADDS)
-
-testHTML_SOURCES=testHTML.c
-testHTML_LDFLAGS = 
-testHTML_DEPENDENCIES = $(DEPS)
-testHTML_LDADD= $(LDADDS)
-
-xmlcatalog_SOURCES=xmlcatalog.c
-xmlcatalog_LDFLAGS = 
-xmlcatalog_DEPENDENCIES = $(DEPS)
-xmlcatalog_LDADD = $(RDL_LIBS) $(LDADDS)
-
-testXPath_SOURCES=testXPath.c
-testXPath_LDFLAGS = 
-testXPath_DEPENDENCIES = $(DEPS)
-testXPath_LDADD= $(LDADDS)
-
-testC14N_SOURCES=testC14N.c
-testC14N_LDFLAGS = 
-testC14N_DEPENDENCIES = $(DEPS)
-testC14N_LDADD= $(LDADDS)
-
-if THREADS_W32
-testThreads_SOURCES = testThreadsWin32.c
-else
-testThreads_SOURCES = testThreads.c
-endif
-testThreads_LDFLAGS = 
-testThreads_DEPENDENCIES = $(DEPS)
-testThreads_LDADD= $(BASE_THREAD_LIBS) $(LDADDS)
-
-testURI_SOURCES=testURI.c
-testURI_LDFLAGS = 
-testURI_DEPENDENCIES = $(DEPS)
-testURI_LDADD= $(LDADDS)
-
-testRegexp_SOURCES=testRegexp.c
-testRegexp_LDFLAGS = 
-testRegexp_DEPENDENCIES = $(DEPS)
-testRegexp_LDADD= $(LDADDS)
-
-testAutomata_SOURCES=testAutomata.c
-testAutomata_LDFLAGS = 
-testAutomata_DEPENDENCIES = $(DEPS)
-testAutomata_LDADD= $(LDADDS)
-
-testSchemas_SOURCES=testSchemas.c
-testSchemas_LDFLAGS = 
-testSchemas_DEPENDENCIES = $(DEPS)
-testSchemas_LDADD= $(LDADDS)
-
-testRelax_SOURCES=testRelax.c
-testRelax_LDFLAGS = 
-testRelax_DEPENDENCIES = $(DEPS)
-testRelax_LDADD= $(LDADDS)
-
-testReader_SOURCES=testReader.c
-testReader_LDFLAGS = 
-testReader_DEPENDENCIES = $(DEPS)
-testReader_LDADD= $(LDADDS)
-
-testModule_SOURCES=testModule.c
-testModule_LDFLAGS = 
-testModule_DEPENDENCIES = $(DEPS)
-testModule_LDADD= $(LDADDS)
-
-noinst_LTLIBRARIES = testdso.la
-testdso_la_SOURCES = testdso.c
-testdso_la_LDFLAGS = -module -no-undefined -avoid-version -rpath $(libdir)
-
-# that one forces the rebuild when "make rebuild" is run on doc/
-rebuild_testapi:
-       -@(if [ "$(PYTHON)" != "" ] ; then \
-           $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
-
-# that one is just to make sure it is rebuilt if missing
-# but adding the dependances generate mess
-testapi.c: $(srcdir)/gentest.py
-       -@(if [ "$(PYTHON)" != "" ] ; then \
-           $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
-
-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)
-runxmlconf_LDADD= $(LDADDS)
-
-#testOOM_SOURCES=testOOM.c testOOMlib.h testOOMlib.c
-#testOOM_LDFLAGS = 
-#testOOM_DEPENDENCIES = $(DEPS)
-#testOOM_LDADD= $(LDADDS)
-
-runtests:
-       [ -d test   ] || $(LN_S) $(srcdir)/test   .
-       [ -d result ] || $(LN_S) $(srcdir)/result .
-       $(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testrecurse$(EXEEXT) &&$(CHECKER) ./testapi$(EXEEXT) && $(CHECKER) ./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
-       @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
-           $(MAKE) tests ; fi)
-
-check: all runtests
-
-check-valgrind valgrind: all
-       @echo '## Running the regression tests under Valgrind'
-       @echo '## Go get a cup of coffee it is gonna take a while ...'
-       $(MAKE) CHECKER='valgrind -q' runtests
-
-testall : tests SVGtests SAXtests
-
-tests: XMLtests XMLenttests NStests IDtests Errtests APItests $(READER_TEST) $(TEST_SAX) $(TEST_PUSH) $(TEST_HTML) $(TEST_PHTML) $(TEST_VALID) URItests $(TEST_PATTERN) $(TEST_XPATH) $(TEST_XPTR) $(TEST_XINCLUDE) $(TEST_C14N) $(TEST_DEBUG) $(TEST_CATALOG) $(TEST_REGEXPS) $(TEST_SCHEMAS) $(TEST_SCHEMATRON) $(TEST_THREADS) Timingtests $(TEST_VTIME) $(PYTHON_TESTS) $(TEST_MODULES)
-       @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
-           $(MAKE) tests ; fi)
-       @(cd doc/examples ; $(MAKE) tests)
-
-APItests: testapi$(EXEEXT)
-       @echo "## Running the API regression tests this may take a little while"
-       -@($(CHECKER) $(top_builddir)/testapi -q)
-
-HTMLtests : testHTML$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## HTML regression tests"
-       -@(for i in $(srcdir)/test/HTML/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testHTML $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testHTML $$i > result.$$name 2> error.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/HTML/$$name result.$$name ; \
-             diff -b $(srcdir)/result/HTML/$$name.err error.$$name ; \
-             $(CHECKER) $(top_builddir)/testHTML result.$$name > result2.$$name 2>error.$$name ; \
-             diff result.$$name result2.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name result2.$$name error.$$name ; \
-         fi ; fi ; done)
-
-HTMLPushtests : testHTML$(EXEEXT)
-       @echo "## Push HTML regression tests"
-       -@(for i in $(srcdir)/test/HTML/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testHTML --push $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testHTML --push $$i > result.$$name 2> error.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/HTML/$$name result.$$name ; \
-             cut -b 1-15 $(srcdir)/result/HTML/$$name.err > errorcut.$$name; \
-             cut -b 1-15 error.$$name > errorcut2.$$name; \
-             diff -b errorcut.$$name errorcut2.$$name ; \
-             $(CHECKER) $(top_builddir)/testHTML --push result.$$name > result2.$$name 2>error.$$name ; \
-             diff result.$$name result2.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name result2.$$name error.$$name errorcut.$$name errorcut2.$$name ; \
-         fi ; fi ; done)
-       @echo "## HTML SAX regression tests"
-       -@(for i in $(srcdir)/test/HTML/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/HTML/$$name.sax ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testHTML --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testHTML --sax $$i > result.$$name.sax ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name.sax ; \
-         fi ; fi ; done)
-       @echo "## Push HTML SAX regression tests"
-       -@(for i in $(srcdir)/test/HTML/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testHTML --push --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testHTML --push --sax $$i 2>&1 > result.$$name.sax ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name.sax ; \
-         fi ; fi ; done)
-
-XMLtests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## XML regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint $$i > $(srcdir)/result/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff $(srcdir)/result/$$name result.$$name ; \
-             $(CHECKER) $(top_builddir)/xmllint result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff result.$$name result2.$$name` ;\
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name result2.$$name ; \
-         fi ; fi ; done)
-       @echo "## XML regression tests on memory"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --memory $$i > $(srcdir)/result/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --memory $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/$$name result.$$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --memory result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"`; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             diff result.$$name result2.$$name ; \
-             rm result.$$name result2.$$name ; \
-         fi ; fi ; done)
-
-XMLPushtests: xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## XML push regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --push $$i > $(srcdir)/result/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --push $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff $(srcdir)/result/$$name result.$$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --push result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff result.$$name result2.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name result2.$$name ; \
-         fi ; fi ; done)
-
-NStests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## XML Namespaces regression tests"
-       -@(for i in $(srcdir)/test/namespaces/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/namespaces/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint $$i \
-                2> $(srcdir)/result/namespaces/$$name.err \
-                > $(srcdir)/result/namespaces/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint $$i 2> error.$$name > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff $(srcdir)/result/namespaces/$$name result.$$name ; \
-             diff $(srcdir)/result/namespaces/$$name.err error.$$name`; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-
-IDtests : xmllint$(EXEEXT) testXPath$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## xml:id regression tests"
-       -@(for i in $(srcdir)/test/xmlid/id_*.xml ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/xmlid/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testXPath -i $$i "id('bar')" \
-                2> $(srcdir)/result/xmlid/$$name.err \
-                > $(srcdir)/result/xmlid/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testXPath -i $$i "id('bar')" 2> error.$$name > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff $(srcdir)/result/xmlid/$$name result.$$name ; \
-             diff $(srcdir)/result/xmlid/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-
-Errtests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Error cases regression tests"
-       -@(for i in $(srcdir)/test/errors/*.xml ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/errors/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint $$i \
-                2> $(srcdir)/result/errors/$$name.err \
-                > $(srcdir)/result/errors/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint $$i 2> error.$$name > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff $(srcdir)/result/errors/$$name result.$$name ; \
-             diff $(srcdir)/result/errors/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-       @echo "## Error cases stream regression tests"
-       -@(for i in $(srcdir)/test/errors/*.xml ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/errors/$$name.str ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --stream $$i \
-                2> $(srcdir)/result/errors/$$name.str \
-                > /dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --stream $$i 2> error.$$name > /dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff $(srcdir)/result/errors/$$name.str error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm error.$$name ; \
-         fi ; fi ; done)
-
-Docbtests : xmllint$(EXEEXT)
-
-XMLenttests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## XML entity subst regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/noent/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --noent $$i > $(srcdir)/result/noent/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --noent $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff $(srcdir)/result/noent/$$name result.$$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --noent result.$$name 2>&1 > result2.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff result.$$name result2.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name result2.$$name ; \
-         fi ; fi ; done)
-
-URItests : testURI$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## URI module regression tests"
-       -@(for i in $(srcdir)/test/URI/*.data ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/URI/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i > $(srcdir)/result/URI/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/URI/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       -@(for i in $(srcdir)/test/URI/*.uri ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/URI/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testURI < $$i > $(srcdir)/result/URI/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testURI < $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/URI/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-
-XPathtests : testXPath$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## XPath regression tests"
-       -@(if [ "`$(top_builddir)/testXPath | grep 'support not compiled in'`" != "" ] ; \
-         then echo Skipping debug not compiled in ; exit 0 ; fi ; \
-         for i in $(srcdir)/test/XPath/expr/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/XPath/expr/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testXPath -f --expr $$i > $(srcdir)/result/XPath/expr/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/testXPath -f --expr $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/XPath/expr/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done ; \
-         for i in $(srcdir)/test/XPath/docs/* ; do \
-         if [ ! -d $$i ] ; then \
-         doc=`basename $$i`; \
-         for j in $(srcdir)/test/XPath/tests/$$doc* ; do \
-         if [ ! -f $$j ] ; then continue ; fi ; \
-         name=`basename $$j`; \
-         if [ ! -d $$j ] ; then \
-         if [ ! -f $(srcdir)/result/XPath/tests/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j > $(srcdir)/result/XPath/tests/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/XPath/tests/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done ; fi ; done)
-
-XPtrtests : testXPath$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## XPointer regression tests"
-       -@(if [ "`$(top_builddir)/testXPath | grep 'support not compiled in'`" != "" ] ; \
-         then echo Skipping debug not compiled in ; exit 0 ; fi ; \
-         for i in $(srcdir)/test/XPath/docs/* ; do \
-         if [ ! -d $$i ] ; then \
-         doc=`basename $$i`; \
-         for j in $(srcdir)/test/XPath/xptr/$$doc* ; do \
-         if [ ! -f $$j ] ; then continue ; fi ; \
-         name=`basename $$j`; \
-         if [ ! -d $$j ] ; then \
-         if [ ! -f $(srcdir)/result/XPath/xptr/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j > $(srcdir)/result/XPath/xptr/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/XPath/xptr/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done ; fi ; done)
-
-XIncludetests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## XInclude regression tests"
-       -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/XInclude/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > $(srcdir)/result/XInclude/$$name 2> $(srcdir)/result/XInclude/$$name.err ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > result.$$name 2>error.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/XInclude/$$name result.$$name ; \
-             diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-       -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/XInclude/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode $$i > $(srcdir)/result/XInclude/$$name 2> $(srcdir)/result/XInclude/$$name.err ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode $$i > result.$$name 2>error.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/XInclude/$$name result.$$name ; \
-             diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-       @(echo > .memdump)
-       @echo "## XInclude xmlReader regression tests"
-       -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/XInclude/$$name.rdr ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
-             diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-       -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/XInclude/$$name.rdr ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode --stream --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
-             diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-
-Scripttests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Scripts regression tests"
-       @echo "## Some of the base computations may be different if srcdir != ."
-       -@(for i in $(srcdir)/test/scripts/*.script ; do \
-         name=`basename $$i .script`; \
-         xml=$(srcdir)/test/scripts/`basename $$i .script`.xml; \
-         if [ -f $$xml ] ; then \
-         if [ ! -f $(srcdir)/result/scripts/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > $(srcdir)/result/scripts/$$name 2> $(srcdir)/result/scripts/$$name.err ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > result.$$name 2> result.$$name.err ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/scripts/$$name result.$$name ; \
-             diff $(srcdir)/result/scripts/$$name.err result.$$name.err` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name result.$$name.err ; \
-         fi ; fi ; done)
-
-Catatests : xmlcatalog$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Catalog regression tests"
-       -@(for i in $(srcdir)/test/catalogs/*.script ; do \
-         name=`basename $$i .script`; \
-         xml=$(srcdir)/test/catalogs/`basename $$i .script`.xml; \
-         if [ -f $$xml ] ; then \
-         if [ ! -f $(srcdir)/result/catalogs/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i 2>&1 > $(srcdir)/result/catalogs/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/catalogs/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       -@(for i in $(srcdir)/test/catalogs/*.script ; do \
-         name=`basename $$i .script`; \
-         sgml=$(srcdir)/test/catalogs/`basename $$i .script`.sgml; \
-         if [ -f $$sgml ] ; then \
-         if [ ! -f $(srcdir)/result/catalogs/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmlcatalog --shell $$sgml < $$i > $(srcdir)/result/catalogs/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmlcatalog --shell $$sgml < $$i > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/catalogs/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       @echo "## Add and del operations on XML Catalogs"
-       -@($(CHECKER) $(top_builddir)/xmlcatalog --create --noout $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       $(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid sysid $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       $(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid2 sysid2 $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       $(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid3 sysid3 $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       diff result/catalogs/mycatalog.full $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       $(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       $(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid3 $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       $(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid2 $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       diff result/catalogs/mycatalog.empty $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       rm -f $(srcdir)/result/catalogs/mycatalog)
-
-SVGtests : xmllint$(EXEEXT)
-       @echo "## SVG parsing regression tests"
-       -@(for i in $(srcdir)/test/SVG/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/SVG/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint $$i > $(srcdir)/result/SVG/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             echo Testing $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint $$i > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/SVG/$$name result.$$name ; \
-             $(CHECKER) $(top_builddir)/xmllint result.$$name > result2.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff result.$$name result2.$$name ; \
-             rm result.$$name result2.$$name ; \
-         fi ; fi ; done)
-
-Threadtests : testThreads$(EXEEXT)
-       @echo "## Threaded regression tests"
-       -@($(CHECKER) $(top_builddir)/testThreads ; \
-          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-          exit 0)
-
-Readertests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Reader regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name.rdr ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --nonet --debug --stream $$i > $(srcdir)/result/$$name.rdr 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       @echo "## Reader on memory regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name.rdr ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --memory --nonet --debug --stream $$i > $(srcdir)/result/$$name.rdr 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --memory --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       @(echo > .memdump)
-       @echo "## Walker regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name.rdr ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --nonet --debug --walker $$i > $(srcdir)/result/$$name.rdr 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --nonet --debug --walker $$i > result.$$name 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       @echo "## Reader entities substitution regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name.rde ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --noent --nonet --debug --stream $$i > $(srcdir)/result/$$name.rde 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --noent --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/$$name.rde result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-
-SAXtests : testSAX$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## SAX1 callbacks regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name.sax ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testSAX $$i > $(srcdir)/result/$$name.sax 2> /dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/testSAX $$i > result.$$name 2> /dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/$$name.sax result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       @echo "## SAX2 callbacks regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name.sax2 ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testSAX --sax2 $$i > $(srcdir)/result/$$name.sax2 2> /dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/testSAX --sax2 $$i > result.$$name 2> /dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/$$name.sax2 result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-
-Validtests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Valid documents regression tests"
-       -@(for i in $(srcdir)/test/VCM/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-             log=`$(CHECKER) $(top_builddir)/xmllint --valid --noout --nowarning $$i ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"`;\
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-         fi ; done ; exit 0)
-       @echo "## Validity checking regression tests"
-       -@(for i in $(srcdir)/test/VC/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/VC/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --noout --valid $$i 2> $(srcdir)/result/VC/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --noout --valid $$i 2> result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/VC/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       @echo "## General documents valid regression tests"
-       -@(for i in $(srcdir)/test/valid/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/valid/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --valid $$i > $(srcdir)/result/valid/$$name 2>$(srcdir)/result/valid/$$name.err ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --valid $$i > result.$$name 2>error.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/valid/$$name result.$$name ; \
-             diff $(srcdir)/result/valid/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-
-Regexptests: testRegexp$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Regexp regression tests"
-       -@(for i in $(srcdir)/test/regexp/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/regexp/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testRegexp -i $$i > $(srcdir)/result/regexp/$$name; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/testRegexp -i $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/regexp/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       @echo "## Formal expresssions regression tests"
-       -@(for i in $(srcdir)/test/expr/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/expr/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testRegexp --expr -i $$i > $(srcdir)/result/expr/$$name; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/testRegexp --expr -i $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/expr/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-
-Automatatests: testAutomata$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Automata regression tests"
-       -@(for i in $(srcdir)/test/automata/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/automata/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testAutomata $$i > $(srcdir)/result/automata/$$name; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/testAutomata $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/automata/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-
-dba100000.xml: dbgenattr.pl
-       @echo "## generating dba100000.xml"
-       @($(PERL) $(top_srcdir)/dbgenattr.pl 100000 > dba100000.xml)
-
-Timingtests: xmllint$(EXEEXT) dba100000.xml
-       @echo "## Timing tests to try to detect performance"
-       @echo "## as well a memory usage breakage when streaming"
-       @echo "## 1/ using the file interface"
-       @echo "## 2/ using the memory interface"
-       @echo "## 3/ repeated DOM parsing"
-       @echo "## 4/ repeated DOM validation"
-       -@($(top_builddir)/xmllint --stream --timing dba100000.xml; \
-          MEM=`cat .memdump | grep "MEMORY ALLOCATED" | awk '{ print $$7}'`;\
-          if [ "$$MEM" != "" ] ; then echo Using $$MEM bytes ; fi ; \
-          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-          exit 0)
-       -@($(top_builddir)/xmllint --stream --timing --memory dba100000.xml; \
-          MEM=`cat .memdump | grep "MEMORY ALLOCATED" | awk '{ print $$7}'`;\
-          if [ "$$MEM" != "" ] ; then echo Using $$MEM bytes ; fi ; \
-          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-          exit 0)
-       -@($(top_builddir)/xmllint --noout --timing --repeat $(srcdir)/test/valid/REC-xml-19980210.xml; \
-          MEM=`cat .memdump | grep "MEMORY ALLOCATED" | awk '{ print $$7}'`;\
-          if [ "$$MEM" != "" ] ; then echo Using $$MEM bytes ; fi ; \
-          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-          exit 0)
-
-VTimingtests: xmllint$(EXEEXT)
-       -@($(top_builddir)/xmllint --noout --timing --valid --repeat $(srcdir)/test/valid/REC-xml-19980210.xml; \
-          MEM=`cat .memdump | grep "MEMORY ALLOCATED" | awk '{ print $$7}'`;\
-          if [ "$$MEM" != "" ] ; then echo Using $$MEM bytes ; fi ; \
-          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-          exit 0)
-
-C14Ntests : testC14N$(EXEEXT)
-       @echo "## C14N and XPath regression tests"
-       -@(for m in with-comments without-comments 1-1-without-comments exc-without-comments ; do \
-           for i in $(srcdir)/test/c14n/$$m/*.xml ; do  \
-               if [ ! -d $$i ] ; then \
-                   name=`basename $$i .xml`; \
-                   cmdline="$(CHECKER) $(top_builddir)/testC14N --$$m $$i"; \
-                   if [ -f $(srcdir)/test/c14n/$$m/$$name.xpath ] ; then \
-                       cmdline="$$cmdline $(srcdir)/test/c14n/$$m/$$name.xpath"; \
-                       if [ -f $(srcdir)/test/c14n/$$m/$$name.ns ] ; then \
-                           cmdline="$$cmdline '`cat $(srcdir)/test/c14n/$$m/$$name.ns`'"; \
-                       fi; \
-                   fi; \
-                   $$cmdline > $(srcdir)/test/c14n/test.tmp; \
-                   if [ $$? -eq 0 ]; then \
-                       diff  $(srcdir)/result/c14n/$$m/$$name $(srcdir)/test/c14n/test.tmp; \
-                       if [ $$? -ne 0 ]; then \
-                           echo "Test $$m/$$name failed"; \
-                           cat $(srcdir)/test/c14n/test.tmp; \
-                       fi; \
-                   else \
-                       echo "C14N failed"; \
-                   fi; \
-                   grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-               fi; \
-               rm -f $(srcdir)/test/c14n/test.tmp; \
-           done; \
-       done)
-
-Schemastests: testSchemas$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Schemas regression tests"
-       -@(for i in $(srcdir)/test/schemas/*_*.xsd ; do \
-         name=`basename $$i | sed 's+_.*++'`; \
-         sno=`basename $$i | sed 's+.*_\(.*\).xsd+\1+'`; \
-         for j in $(srcdir)/test/schemas/"$$name"_*.xml ; do \
-             if [ -f $$j ] ; then \
-             xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
-             if [ ! -f $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" ]; \
-             then \
-                 echo New test file "$$name"_"$$sno"_"$$xno" ; \
-                 $(CHECKER) $(top_builddir)/testSchemas $$i $$j \
-                   > $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" \
-                   2> $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno".err; \
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             else \
-                 log=`$(CHECKER) $(top_builddir)/testSchemas $$i $$j \
-                   > res.$$name 2> err.$$name;\
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-                 diff $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" \
-                      res.$$name;\
-                 diff $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno".err \
-                      err.$$name;\
-                 grep Unimplemented err.$$name`; \
-                 if [ -n "$$log" ] ; then echo "$$name"_"$$sno"_"$$xno" result ; echo $$log ; fi ; \
-                 rm res.$$name err.$$name ; \
-              fi ; fi ;\
-         done; done)
-
-Relaxtests: xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Relax-NG regression tests"
-       -@(for i in $(srcdir)/test/relaxng/*.rng ; do \
-         name=`basename $$i | sed 's+\.rng++'`; \
-         if [ ! -f $(srcdir)/result/relaxng/"$$name"_valid ] ; then \
-             echo New schemas $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $(srcdir)/test/relaxng/tutorA.rng $$i \
-                     > $(srcdir)/result/relaxng/"$$name"_valid \
-                     2> $(srcdir)/result/relaxng/"$$name"_err; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $(srcdir)/test/relaxng/tutorA.rng $$i \
-             > res.$$name 2> err.$$name;\
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/relaxng/"$$name"_valid \
-                  res.$$name;\
-             diff $(srcdir)/result/relaxng/"$$name"_err \
-                  err.$$name | grep -v "error detected at";\
-             grep Unimplemented err.$$name`; \
-             if [ -n "$$log" ] ; then echo schemas $$name result ; echo $$log ; fi ; \
-             rm res.$$name err.$$name ; \
-         fi; \
-         for j in $(srcdir)/test/relaxng/"$$name"_*.xml ; do \
-             if [ -f $$j ] ; then \
-             xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
-             if [ ! -f $(srcdir)/result/relaxng/"$$name"_"$$xno" ]; \
-             then \
-                 echo New test file "$$name"_"$$xno" ; \
-                 $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \
-                   > $(srcdir)/result/relaxng/"$$name"_"$$xno" \
-                   2> $(srcdir)/result/relaxng/"$$name"_"$$xno".err; \
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             else \
-                 log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \
-                   > res.$$name 2> err.$$name;\
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-                 diff $(srcdir)/result/relaxng/"$$name"_"$$xno" \
-                      res.$$name;\
-                 diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \
-                      err.$$name | grep -v "error detected at";\
-                 grep Unimplemented err.$$name`; \
-                 if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
-                 rm res.$$name err.$$name ; \
-              fi ; fi ; \
-         done; done)
-       @echo "## Relax-NG streaming regression tests"
-       -@(for i in $(srcdir)/test/relaxng/*.rng ; do \
-         name=`basename $$i | sed 's+\.rng++'`; \
-         for j in $(srcdir)/test/relaxng/"$$name"_*.xml ; do \
-             if [ -f $$j ] ; then \
-             xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
-             if [ ! -f $(srcdir)/result/relaxng/"$$name"_"$$xno" ]; \
-             then \
-                 echo New test file "$$name"_"$$xno" ; \
-                 $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \
-                   > $(srcdir)/result/relaxng/"$$name"_"$$xno" \
-                   2> $(srcdir)/result/relaxng/"$$name"_"$$xno".err; \
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             else \
-                 log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --stream --relaxng $$i $$j \
-                   > res.$$name 2> err.$$name;\
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-                 diff $(srcdir)/result/relaxng/"$$name"_"$$xno" res.$$name;\
-                 if [ "$$name" != "tutor10_1" -a "$$name" != "tutor10_2" -a "$$name" != "tutor3_2" -a "$$name" != "307377" -a "$$name" != "tutor8_2" ] ; then \
-                     diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \
-                          err.$$name | grep -v "error detected at";\
-                 fi ; grep Unimplemented err.$$name`; \
-                 if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
-                 rm res.$$name err.$$name ; \
-              fi ; fi ; \
-         done; done)
-
-Schematrontests: xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Schematron regression tests"
-       -@(for i in $(srcdir)/test/schematron/*.sct ; do \
-         name=`basename $$i | sed 's+\.sct++'`; \
-         for j in $(srcdir)/test/schematron/"$$name"_*.xml ; do \
-             if [ -f $$j ] ; then \
-             xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
-             if [ ! -f $(srcdir)/result/schematron/"$$name"_"$$xno" ]; \
-             then \
-                 echo New test file "$$name"_"$$xno" ; \
-                 $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --schematron $$i $$j \
-                   > $(srcdir)/result/schematron/"$$name"_"$$xno" \
-                   2> $(srcdir)/result/schematron/"$$name"_"$$xno".err; \
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             else \
-                 log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --schematron $$i $$j \
-                   > res.$$name 2> err.$$name;\
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-                 diff $(srcdir)/result/schematron/"$$name"_"$$xno" \
-                      res.$$name;\
-                 diff $(srcdir)/result/schematron/"$$name"_"$$xno".err \
-                      err.$$name | grep -v "error detected at";\
-                 grep Unimplemented err.$$name`; \
-                 if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
-                 rm res.$$name err.$$name ; \
-              fi ; fi ; \
-         done; done)
-
-RelaxNGPythonTests:
-       @(if [ -x $(PYTHON) ] ; then \
-           PYTHONPATH=$(top_builddir)/python:$(top_builddir)/python/.libs:$$PYTHONPATH ; \
-           export PYTHONPATH; \
-           LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
-           export LD_LIBRARY_PATH; \
-           echo "## Relax-NG Python based test suite 1" ; \
-           $(CHECKER) $(PYTHON) $(srcdir)/check-relaxng-test-suite.py ; \
-           echo "## Relax-NG Python based test suite 2" ; \
-           $(CHECKER) $(PYTHON) $(srcdir)/check-relaxng-test-suite2.py ; \
-         fi)
-
-SchemasPythonTests:
-       @(if [ -x $(PYTHON) ] ; then \
-           PYTHONPATH=$(top_builddir)/python:$(top_builddir)/python/.libs:$$PYTHONPATH; \
-           export PYTHONPATH; \
-           LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
-           export LD_LIBRARY_PATH; \
-           echo "## XML Schemas datatypes Python based test suite" ; \
-           echo "## It is normal to see 11 errors reported" ; \
-           $(CHECKER) $(PYTHON) $(srcdir)/check-xsddata-test-suite.py ; \
-         fi)
-       @(if [ -x $(PYTHON) -a -d xstc ] ; then cd xstc ; $(MAKE) CHECKER="$(CHECKER)" pytests ; fi)
-
-Patterntests: xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Pattern regression tests"
-       -@(for i in $(srcdir)/test/pattern/*.pat ; do \
-         name=`basename $$i .pat`; \
-         if [ -f $(srcdir)/test/pattern/$$name.xml ] ; then \
-         if [ ! -f $(srcdir)/result/pattern/$$name ] ; then \
-             rm -f result.$$name ; \
-             echo New test file $$name ; \
-             for pat in `cat $$i` ; do \
-             $(CHECKER) $(top_builddir)/xmllint --walker --pattern $$pat $(srcdir)/test/pattern/$$name.xml >> $(srcdir)/result/pattern/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             done ;\
-         else \
-             rm -f result.$$name ; \
-             lst=`cat $$i` ; \
-             log=`for pat in $$lst ; do $(CHECKER) $(top_builddir)/xmllint --walker --pattern $$pat $(srcdir)/test/pattern/$$name.xml 2>&1 >> result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             done ;\
-             diff $(srcdir)/result/pattern/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done ;)
-
-ModuleTests: testModule$(EXEEXT) testdso.la
-       @echo "## Module tests"
-       @(./testModule$(EXEEXT))
-
-cleanup:
-       -@(find . -name .\#\* -exec rm {} \;)
-       -@(find . -name \*.gcda -o -name \*.gcno -exec rm -f {} \;)
-       -@(find . -name \*.orig -o -name \*.rej -o -name \*.old -exec rm -f {} \;)
-
-dist-hook: cleanup libxml2.spec
-       -cp libxml2.spec $(distdir)
-       (cd $(srcdir) ; tar -cf - --exclude CVS --exclude .svn --exclude .git win32 macos vms VxWorks bakefile test result) | (cd $(distdir); tar xf -)
-
-dist-source: distdir
-       $(AMTAR) -chof - --exclude Tests --exclude test --exclude result $(distdir) | GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-sources+"`.tar.gz
-
-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)/testapi.c $(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:
-       @(rm -f libxml*.tar.gz COPYING.LIB)
-
-rpm: cleanup cleantar
-       @(unset CDPATH ; $(MAKE) dist-source dist && rpmbuild -ta $(distdir).tar.gz)
-
-## We create xml2Conf.sh here and not from configure because we want
-## to get the paths expanded correctly.  Macros like srcdir are given
-## the value NONE in configure if the user doesn't specify them (this
-## is an autoconf feature, not a bug).
-
-xml2Conf.sh: xml2Conf.sh.in Makefile
-## Use sed and then mv to avoid problems if the user interrupts.
-       sed -e 's?\@XML_LIBDIR\@?$(XML_LIBDIR)?g' \
-           -e 's?\@XML_INCLUDEDIR\@?$(XML_INCLUDEDIR)?g' \
-           -e 's?\@VERSION\@?$(VERSION)?g' \
-           -e 's?\@XML_LIBS\@?$(XML_LIBS)?g' \
-              < $(srcdir)/xml2Conf.sh.in > xml2Conf.tmp \
-       && mv xml2Conf.tmp xml2Conf.sh
-
-CLEANFILES = runxmlconf.log test.out xml2Conf.sh *.gcda *.gcno *.res
-DISTCLEANFILES = COPYING missing.lst
-
-confexecdir=$(libdir)
-confexec_DATA = xml2Conf.sh
-CVS_EXTRA_DIST=
-EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml2.spec \
-             libxml.m4 Copyright check-xml-test-suite.py gentest.py \
-            check-relaxng-test-suite.py check-relaxng-test-suite2.py \
-            check-xsddata-test-suite.py check-xinclude-test-suite.py \
-             example/Makefile.am example/gjobread.c example/gjobs.xml \
-            $(man_MANS) libxml-2.0.pc.in libxml-2.0-uninstalled.pc.in \
-            trionan.c trionan.h triostr.c triostr.h trio.c trio.h \
-            triop.h triodef.h libxml.h elfgcchack.h xzlib.h buf.h \
-            enc.h save.h testThreadsWin32.c genUnicode.py TODO_SCHEMAS \
-            dbgen.pl dbgenattr.pl regressions.py regressions.xml \
-            README.tests Makefile.tests libxml2.syms timsort.h \
-            $(CVS_EXTRA_DIST)
-
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libxml-2.0.pc
-
-#
-# Install the tests program sources as examples 
-#
-BASE_DIR=$(datadir)/doc
-DOC_MODULE=libxml2-$(VERSION)
-EXAMPLES_DIR=$(BASE_DIR)/$(DOC_MODULE)/examples
-
-install-data-local: 
-       $(MKDIR_P) $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)
-       -$(INSTALL) -m 0644 $(srcdir)/Copyright $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)
-       $(MKDIR_P) $(DESTDIR)$(EXAMPLES_DIR)
-       -$(INSTALL) -m 0644 $(srcdir)/xmllint.c $(DESTDIR)$(EXAMPLES_DIR)
-       -$(INSTALL) -m 0644 $(srcdir)/testSAX.c $(DESTDIR)$(EXAMPLES_DIR)
-       -$(INSTALL) -m 0644 $(srcdir)/testHTML.c $(DESTDIR)$(EXAMPLES_DIR)
-       -$(INSTALL) -m 0644 $(srcdir)/testXPath.c $(DESTDIR)$(EXAMPLES_DIR)
-
-uninstall-local:
-       rm -f $(DESTDIR)$(EXAMPLES_DIR)/testXPath.c
-       rm -f $(DESTDIR)$(EXAMPLES_DIR)/testHTML.c
-       rm -f $(DESTDIR)$(EXAMPLES_DIR)/testSAX.c
-       rm -f $(DESTDIR)$(EXAMPLES_DIR)/xmllint.c
-       rm -rf $(DESTDIR)$(EXAMPLES_DIR)
-       rm -f $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)/Copyright
-       rm -rf $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)
-
-tst: tst.c
-       $(CC) $(CFLAGS) -Iinclude -o tst tst.c .libs/libxml2.a -lpthread -lm -lz -llzma
-
-sparse: clean
-       $(MAKE) CC=cgcc
-
-#
-# Coverage support, largely borrowed from libvirt
-# Both binaries comes from the lcov package in Fedora
-#
-LCOV = /usr/bin/lcov
-GENHTML = /usr/bin/genhtml
-
-cov: clean-cov
-       if [ "`echo $(LDFLAGS) | grep coverage`" = "" ] ; then \
-           echo not configured with coverage; exit 1 ; fi
-       if [ ! -x $(LCOV) -o ! -x $(GENHTML) ] ; then \
-           echo Need $(LCOV) and $(GENHTML) excecutables; exit 1 ; fi
-       -@($(MAKE) check)
-       -@(./runsuite$(EXEEXT))
-       mkdir $(top_builddir)/coverage
-       $(LCOV) -c -o $(top_builddir)/coverage/libxml2.info.tmp -d $(top_srcdir)
-       $(LCOV) -r $(top_builddir)/coverage/libxml2.info.tmp -o $(top_builddir)/coverage/libxml2.info *usr*
-       rm $(top_builddir)/coverage/libxml2.info.tmp
-       $(GENHTML) -s -t "libxml2" -o $(top_builddir)/coverage --legend $(top_builddir)/coverage/libxml2.info
-       echo "Coverage report is in $(top_builddir)/coverage/index.html"
-
-clean-cov:
-       rm -rf $(top_builddir)/coverage
-
diff --git a/reactos/lib/3rdparty/libxml2/Makefile.in b/reactos/lib/3rdparty/libxml2/Makefile.in
deleted file mode 100644 (file)
index 63d8228..0000000
+++ /dev/null
@@ -1,2791 +0,0 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-noinst_PROGRAMS = testSchemas$(EXEEXT) testRelax$(EXEEXT) \
-       testSAX$(EXEEXT) testHTML$(EXEEXT) testXPath$(EXEEXT) \
-       testURI$(EXEEXT) testThreads$(EXEEXT) testC14N$(EXEEXT) \
-       testAutomata$(EXEEXT) testRegexp$(EXEEXT) testReader$(EXEEXT) \
-       testapi$(EXEEXT) testModule$(EXEEXT) runtest$(EXEEXT) \
-       runsuite$(EXEEXT) testchar$(EXEEXT) testdict$(EXEEXT) \
-       runxmlconf$(EXEEXT) testrecurse$(EXEEXT) testlimits$(EXEEXT)
-bin_PROGRAMS = xmllint$(EXEEXT) xmlcatalog$(EXEEXT)
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/config.h.in \
-       $(srcdir)/libxml-2.0-uninstalled.pc.in \
-       $(srcdir)/libxml-2.0.pc.in $(srcdir)/libxml.spec.in \
-       $(srcdir)/xml2-config.in $(top_srcdir)/configure AUTHORS \
-       COPYING ChangeLog INSTALL NEWS TODO config.guess config.sub \
-       depcomp install-sh ltmain.sh missing
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = libxml2.spec xml2-config libxml-2.0.pc \
-       libxml-2.0-uninstalled.pc
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
-       "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
-       "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(confexecdir)" \
-       "$(DESTDIR)$(m4datadir)" "$(DESTDIR)$(pkgconfigdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-libxml2_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1)
-am__libxml2_la_SOURCES_DIST = SAX.c entities.c encoding.c error.c \
-       parserInternals.c parser.c tree.c hash.c list.c xmlIO.c \
-       xmlmemory.c uri.c valid.c xlink.c HTMLparser.c HTMLtree.c \
-       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 \
-       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
-@WITH_SAX1_SOURCES_TRUE@am__objects_1 = DOCBparser.lo
-@WITH_TRIO_SOURCES_TRUE@am__objects_2 = triostr.lo trio.lo
-am_libxml2_la_OBJECTS = SAX.lo entities.lo encoding.lo error.lo \
-       parserInternals.lo parser.lo tree.lo hash.lo list.lo xmlIO.lo \
-       xmlmemory.lo uri.lo valid.lo xlink.lo HTMLparser.lo \
-       HTMLtree.lo debugXML.lo xpath.lo xpointer.lo xinclude.lo \
-       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 \
-       $(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)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-libxml2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(libxml2_la_LDFLAGS) $(LDFLAGS) -o $@
-testdso_la_LIBADD =
-am_testdso_la_OBJECTS = testdso.lo
-testdso_la_OBJECTS = $(am_testdso_la_OBJECTS)
-testdso_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testdso_la_LDFLAGS) $(LDFLAGS) -o $@
-PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
-am_runsuite_OBJECTS = runsuite.$(OBJEXT)
-runsuite_OBJECTS = $(am_runsuite_OBJECTS)
-am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(top_builddir)/libxml2.la \
-       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-runsuite_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(runsuite_LDFLAGS) $(LDFLAGS) -o $@
-am_runtest_OBJECTS = runtest.$(OBJEXT)
-runtest_OBJECTS = $(am_runtest_OBJECTS)
-runtest_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(runtest_LDFLAGS) $(LDFLAGS) -o $@
-am_runxmlconf_OBJECTS = runxmlconf.$(OBJEXT)
-runxmlconf_OBJECTS = $(am_runxmlconf_OBJECTS)
-runxmlconf_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(runxmlconf_LDFLAGS) $(LDFLAGS) -o $@
-am_testAutomata_OBJECTS = testAutomata.$(OBJEXT)
-testAutomata_OBJECTS = $(am_testAutomata_OBJECTS)
-testAutomata_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testAutomata_LDFLAGS) $(LDFLAGS) -o $@
-am_testC14N_OBJECTS = testC14N.$(OBJEXT)
-testC14N_OBJECTS = $(am_testC14N_OBJECTS)
-testC14N_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testC14N_LDFLAGS) $(LDFLAGS) -o $@
-am_testHTML_OBJECTS = testHTML.$(OBJEXT)
-testHTML_OBJECTS = $(am_testHTML_OBJECTS)
-testHTML_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testHTML_LDFLAGS) $(LDFLAGS) -o $@
-am_testModule_OBJECTS = testModule.$(OBJEXT)
-testModule_OBJECTS = $(am_testModule_OBJECTS)
-testModule_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testModule_LDFLAGS) $(LDFLAGS) -o $@
-am_testReader_OBJECTS = testReader.$(OBJEXT)
-testReader_OBJECTS = $(am_testReader_OBJECTS)
-testReader_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testReader_LDFLAGS) $(LDFLAGS) -o $@
-am_testRegexp_OBJECTS = testRegexp.$(OBJEXT)
-testRegexp_OBJECTS = $(am_testRegexp_OBJECTS)
-testRegexp_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testRegexp_LDFLAGS) $(LDFLAGS) -o $@
-am_testRelax_OBJECTS = testRelax.$(OBJEXT)
-testRelax_OBJECTS = $(am_testRelax_OBJECTS)
-testRelax_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testRelax_LDFLAGS) $(LDFLAGS) -o $@
-am_testSAX_OBJECTS = testSAX.$(OBJEXT)
-testSAX_OBJECTS = $(am_testSAX_OBJECTS)
-testSAX_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testSAX_LDFLAGS) $(LDFLAGS) -o $@
-am_testSchemas_OBJECTS = testSchemas.$(OBJEXT)
-testSchemas_OBJECTS = $(am_testSchemas_OBJECTS)
-testSchemas_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testSchemas_LDFLAGS) $(LDFLAGS) -o $@
-am__testThreads_SOURCES_DIST = testThreads.c testThreadsWin32.c
-@THREADS_W32_FALSE@am_testThreads_OBJECTS = testThreads.$(OBJEXT)
-@THREADS_W32_TRUE@am_testThreads_OBJECTS = testThreadsWin32.$(OBJEXT)
-testThreads_OBJECTS = $(am_testThreads_OBJECTS)
-testThreads_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testThreads_LDFLAGS) $(LDFLAGS) -o $@
-am_testURI_OBJECTS = testURI.$(OBJEXT)
-testURI_OBJECTS = $(am_testURI_OBJECTS)
-testURI_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testURI_LDFLAGS) $(LDFLAGS) -o $@
-am_testXPath_OBJECTS = testXPath.$(OBJEXT)
-testXPath_OBJECTS = $(am_testXPath_OBJECTS)
-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) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testapi_LDFLAGS) $(LDFLAGS) -o $@
-am_testchar_OBJECTS = testchar.$(OBJEXT)
-testchar_OBJECTS = $(am_testchar_OBJECTS)
-testchar_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testchar_LDFLAGS) $(LDFLAGS) -o $@
-am_testdict_OBJECTS = testdict.$(OBJEXT)
-testdict_OBJECTS = $(am_testdict_OBJECTS)
-testdict_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testdict_LDFLAGS) $(LDFLAGS) -o $@
-am_testlimits_OBJECTS = testlimits.$(OBJEXT)
-testlimits_OBJECTS = $(am_testlimits_OBJECTS)
-testlimits_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testlimits_LDFLAGS) $(LDFLAGS) -o $@
-am_testrecurse_OBJECTS = testrecurse.$(OBJEXT)
-testrecurse_OBJECTS = $(am_testrecurse_OBJECTS)
-testrecurse_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(testrecurse_LDFLAGS) $(LDFLAGS) -o $@
-am_xmlcatalog_OBJECTS = xmlcatalog.$(OBJEXT)
-xmlcatalog_OBJECTS = $(am_xmlcatalog_OBJECTS)
-xmlcatalog_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(xmlcatalog_LDFLAGS) $(LDFLAGS) -o $@
-am_xmllint_OBJECTS = xmllint.$(OBJEXT)
-xmllint_OBJECTS = $(am_xmllint_OBJECTS)
-xmllint_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(xmllint_LDFLAGS) $(LDFLAGS) -o $@
-SCRIPTS = $(bin_SCRIPTS)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
-       $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-       $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC    " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
-SOURCES = $(libxml2_la_SOURCES) $(testdso_la_SOURCES) \
-       $(runsuite_SOURCES) $(runtest_SOURCES) $(runxmlconf_SOURCES) \
-       $(testAutomata_SOURCES) $(testC14N_SOURCES) \
-       $(testHTML_SOURCES) $(testModule_SOURCES) \
-       $(testReader_SOURCES) $(testRegexp_SOURCES) \
-       $(testRelax_SOURCES) $(testSAX_SOURCES) $(testSchemas_SOURCES) \
-       $(testThreads_SOURCES) $(testURI_SOURCES) $(testXPath_SOURCES) \
-       $(testapi_SOURCES) $(testchar_SOURCES) $(testdict_SOURCES) \
-       $(testlimits_SOURCES) $(testrecurse_SOURCES) \
-       $(xmlcatalog_SOURCES) $(xmllint_SOURCES)
-DIST_SOURCES = $(am__libxml2_la_SOURCES_DIST) $(testdso_la_SOURCES) \
-       $(runsuite_SOURCES) $(runtest_SOURCES) $(runxmlconf_SOURCES) \
-       $(testAutomata_SOURCES) $(testC14N_SOURCES) \
-       $(testHTML_SOURCES) $(testModule_SOURCES) \
-       $(testReader_SOURCES) $(testRegexp_SOURCES) \
-       $(testRelax_SOURCES) $(testSAX_SOURCES) $(testSchemas_SOURCES) \
-       $(am__testThreads_SOURCES_DIST) $(testURI_SOURCES) \
-       $(testXPath_SOURCES) $(testapi_SOURCES) $(testchar_SOURCES) \
-       $(testdict_SOURCES) $(testlimits_SOURCES) \
-       $(testrecurse_SOURCES) $(xmlcatalog_SOURCES) \
-       $(xmllint_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-man1dir = $(mandir)/man1
-man3dir = $(mandir)/man3
-NROFF = nroff
-MANS = $(man_MANS)
-DATA = $(confexec_DATA) $(m4data_DATA) $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  if test -d "$(distdir)"; then \
-    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-      && rm -rf "$(distdir)" \
-      || { sleep 5 && rm -rf "$(distdir)"; }; \
-  else :; fi
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
-  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BASE_THREAD_LIBS = @BASE_THREAD_LIBS@
-C14N_OBJ = @C14N_OBJ@
-CATALOG_OBJ = @CATALOG_OBJ@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
-CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
-DEBUG_OBJ = @DEBUG_OBJ@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOCB_OBJ = @DOCB_OBJ@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FTP_OBJ = @FTP_OBJ@
-GREP = @GREP@
-HAVE_ISINF = @HAVE_ISINF@
-HAVE_ISNAN = @HAVE_ISNAN@
-HTML_DIR = @HTML_DIR@
-HTML_OBJ = @HTML_OBJ@
-HTTP_OBJ = @HTTP_OBJ@
-ICONV_LIBS = @ICONV_LIBS@
-ICU_LIBS = @ICU_LIBS@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBXML_MAJOR_VERSION = @LIBXML_MAJOR_VERSION@
-LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
-LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
-LIBXML_VERSION = @LIBXML_VERSION@
-LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
-LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
-LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LZMA_CFLAGS = @LZMA_CFLAGS@
-LZMA_LIBS = @LZMA_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-MODULE_EXTENSION = @MODULE_EXTENSION@
-MODULE_PLATFORM_LIBS = @MODULE_PLATFORM_LIBS@
-MV = @MV@
-M_LIBS = @M_LIBS@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-PYTHON = @PYTHON@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
-PYTHON_SUBDIR = @PYTHON_SUBDIR@
-PYTHON_TESTS = @PYTHON_TESTS@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-RDL_LIBS = @RDL_LIBS@
-READER_TEST = @READER_TEST@
-RELDATE = @RELDATE@
-RM = @RM@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STATIC_BINARIES = @STATIC_BINARIES@
-STRIP = @STRIP@
-TAR = @TAR@
-TEST_C14N = @TEST_C14N@
-TEST_CATALOG = @TEST_CATALOG@
-TEST_DEBUG = @TEST_DEBUG@
-TEST_HTML = @TEST_HTML@
-TEST_MODULES = @TEST_MODULES@
-TEST_PATTERN = @TEST_PATTERN@
-TEST_PHTML = @TEST_PHTML@
-TEST_PUSH = @TEST_PUSH@
-TEST_REGEXPS = @TEST_REGEXPS@
-TEST_SAX = @TEST_SAX@
-TEST_SCHEMAS = @TEST_SCHEMAS@
-TEST_SCHEMATRON = @TEST_SCHEMATRON@
-TEST_THREADS = @TEST_THREADS@
-TEST_VALID = @TEST_VALID@
-TEST_VTIME = @TEST_VTIME@
-TEST_XINCLUDE = @TEST_XINCLUDE@
-TEST_XPATH = @TEST_XPATH@
-TEST_XPTR = @TEST_XPTR@
-THREAD_CFLAGS = @THREAD_CFLAGS@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-VERSION_SCRIPT_FLAGS = @VERSION_SCRIPT_FLAGS@
-WGET = @WGET@
-WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@
-WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@
-WIN32_EXTRA_PYTHON_LIBADD = @WIN32_EXTRA_PYTHON_LIBADD@
-WITH_C14N = @WITH_C14N@
-WITH_CATALOG = @WITH_CATALOG@
-WITH_DEBUG = @WITH_DEBUG@
-WITH_DOCB = @WITH_DOCB@
-WITH_FTP = @WITH_FTP@
-WITH_HTML = @WITH_HTML@
-WITH_HTTP = @WITH_HTTP@
-WITH_ICONV = @WITH_ICONV@
-WITH_ICU = @WITH_ICU@
-WITH_ISO8859X = @WITH_ISO8859X@
-WITH_LEGACY = @WITH_LEGACY@
-WITH_LZMA = @WITH_LZMA@
-WITH_MEM_DEBUG = @WITH_MEM_DEBUG@
-WITH_MODULES = @WITH_MODULES@
-WITH_OUTPUT = @WITH_OUTPUT@
-WITH_PATTERN = @WITH_PATTERN@
-WITH_PUSH = @WITH_PUSH@
-WITH_READER = @WITH_READER@
-WITH_REGEXPS = @WITH_REGEXPS@
-WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
-WITH_SAX1 = @WITH_SAX1@
-WITH_SCHEMAS = @WITH_SCHEMAS@
-WITH_SCHEMATRON = @WITH_SCHEMATRON@
-WITH_THREADS = @WITH_THREADS@
-WITH_TREE = @WITH_TREE@
-WITH_TRIO = @WITH_TRIO@
-WITH_VALID = @WITH_VALID@
-WITH_WRITER = @WITH_WRITER@
-WITH_XINCLUDE = @WITH_XINCLUDE@
-WITH_XPATH = @WITH_XPATH@
-WITH_XPTR = @WITH_XPTR@
-WITH_ZLIB = @WITH_ZLIB@
-XINCLUDE_OBJ = @XINCLUDE_OBJ@
-XMLLINT = @XMLLINT@
-XML_CFLAGS = @XML_CFLAGS@
-XML_INCLUDEDIR = @XML_INCLUDEDIR@
-XML_LIBDIR = @XML_LIBDIR@
-XML_LIBS = @XML_LIBS@
-XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
-XPATH_OBJ = @XPATH_OBJ@
-XPTR_OBJ = @XPTR_OBJ@
-XSLTPROC = @XSLTPROC@
-Z_CFLAGS = @Z_CFLAGS@
-Z_LIBS = @Z_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pythondir = @pythondir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = include . doc example xstc $(PYTHON_SUBDIR)
-DIST_SUBDIRS = include . doc example python xstc
-AM_CPPFLAGS = -I$(top_builddir)/include -I$(srcdir)/include
-AM_CFLAGS = $(THREAD_CFLAGS) $(Z_CFLAGS) $(LZMA_CFLAGS)
-bin_SCRIPTS = xml2-config
-lib_LTLIBRARIES = libxml2.la
-libxml2_la_LIBADD = $(ICU_LIBS) $(THREAD_LIBS) $(Z_LIBS) $(LZMA_LIBS) $(ICONV_LIBS) $(M_LIBS) $(WIN32_EXTRA_LIBADD)
-@USE_VERSION_SCRIPT_FALSE@LIBXML2_VERSION_SCRIPT = 
-@USE_VERSION_SCRIPT_TRUE@LIBXML2_VERSION_SCRIPT = $(VERSION_SCRIPT_FLAGS)$(srcdir)/libxml2.syms
-libxml2_la_LDFLAGS = $(CYGWIN_EXTRA_LDFLAGS) $(WIN32_EXTRA_LDFLAGS) \
-                    $(LIBXML2_VERSION_SCRIPT) \
-                    -version-info $(LIBXML_VERSION_INFO) \
-                    $(MODULE_PLATFORM_LIBS)
-
-@WITH_SAX1_SOURCES_FALSE@docb_sources = 
-@WITH_SAX1_SOURCES_TRUE@docb_sources = DOCBparser.c
-@WITH_TRIO_SOURCES_FALSE@trio_sources = 
-@WITH_TRIO_SOURCES_TRUE@trio_sources = triostr.c trio.c
-libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
-               parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c  \
-               valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c  \
-               xpointer.c xinclude.c nanohttp.c nanoftp.c \
-               $(docb_sources) \
-               catalog.c globals.c threads.c c14n.c xmlstring.c buf.c \
-               xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \
-               $(trio_sources) \
-               xmlreader.c relaxng.c dict.c SAX2.c \
-               xmlwriter.c legacy.c chvalid.c pattern.c xmlsave.c \
-               xmlmodule.c schematron.c xzlib.c
-
-DEPS = $(top_builddir)/libxml2.la
-LDADDS = $(STATIC_BINARIES) $(top_builddir)/libxml2.la $(THREAD_LIBS) $(Z_LIBS) $(LZMA_LIBS) $(ICONV_LIBS) $(M_LIBS) $(WIN32_EXTRA_LIBADD)
-man_MANS = xml2-config.1 libxml.3
-m4datadir = $(datadir)/aclocal
-m4data_DATA = libxml.m4
-runtest_SOURCES = runtest.c
-runtest_LDFLAGS = 
-runtest_DEPENDENCIES = $(DEPS)
-runtest_LDADD = $(BASE_THREAD_LIBS) $(RDL_LIBS) $(LDADDS)
-testrecurse_SOURCES = testrecurse.c
-testrecurse_LDFLAGS = 
-testrecurse_DEPENDENCIES = $(DEPS)
-testrecurse_LDADD = $(BASE_THREAD_LIBS) $(RDL_LIBS) $(LDADDS)
-testlimits_SOURCES = testlimits.c
-testlimits_LDFLAGS = 
-testlimits_DEPENDENCIES = $(DEPS)
-testlimits_LDADD = $(BASE_THREAD_LIBS) $(RDL_LIBS) $(LDADDS)
-testchar_SOURCES = testchar.c
-testchar_LDFLAGS = 
-testchar_DEPENDENCIES = $(DEPS)
-testchar_LDADD = $(RDL_LIBS) $(LDADDS)
-testdict_SOURCES = testdict.c
-testdict_LDFLAGS = 
-testdict_DEPENDENCIES = $(DEPS)
-testdict_LDADD = $(RDL_LIBS) $(LDADDS)
-runsuite_SOURCES = runsuite.c
-runsuite_LDFLAGS = 
-runsuite_DEPENDENCIES = $(DEPS)
-runsuite_LDADD = $(RDL_LIBS) $(LDADDS)
-xmllint_SOURCES = xmllint.c
-xmllint_LDFLAGS = 
-xmllint_DEPENDENCIES = $(DEPS)
-xmllint_LDADD = $(RDL_LIBS) $(LDADDS)
-testSAX_SOURCES = testSAX.c
-testSAX_LDFLAGS = 
-testSAX_DEPENDENCIES = $(DEPS)
-testSAX_LDADD = $(LDADDS)
-testHTML_SOURCES = testHTML.c
-testHTML_LDFLAGS = 
-testHTML_DEPENDENCIES = $(DEPS)
-testHTML_LDADD = $(LDADDS)
-xmlcatalog_SOURCES = xmlcatalog.c
-xmlcatalog_LDFLAGS = 
-xmlcatalog_DEPENDENCIES = $(DEPS)
-xmlcatalog_LDADD = $(RDL_LIBS) $(LDADDS)
-testXPath_SOURCES = testXPath.c
-testXPath_LDFLAGS = 
-testXPath_DEPENDENCIES = $(DEPS)
-testXPath_LDADD = $(LDADDS)
-testC14N_SOURCES = testC14N.c
-testC14N_LDFLAGS = 
-testC14N_DEPENDENCIES = $(DEPS)
-testC14N_LDADD = $(LDADDS)
-@THREADS_W32_FALSE@testThreads_SOURCES = testThreads.c
-@THREADS_W32_TRUE@testThreads_SOURCES = testThreadsWin32.c
-testThreads_LDFLAGS = 
-testThreads_DEPENDENCIES = $(DEPS)
-testThreads_LDADD = $(BASE_THREAD_LIBS) $(LDADDS)
-testURI_SOURCES = testURI.c
-testURI_LDFLAGS = 
-testURI_DEPENDENCIES = $(DEPS)
-testURI_LDADD = $(LDADDS)
-testRegexp_SOURCES = testRegexp.c
-testRegexp_LDFLAGS = 
-testRegexp_DEPENDENCIES = $(DEPS)
-testRegexp_LDADD = $(LDADDS)
-testAutomata_SOURCES = testAutomata.c
-testAutomata_LDFLAGS = 
-testAutomata_DEPENDENCIES = $(DEPS)
-testAutomata_LDADD = $(LDADDS)
-testSchemas_SOURCES = testSchemas.c
-testSchemas_LDFLAGS = 
-testSchemas_DEPENDENCIES = $(DEPS)
-testSchemas_LDADD = $(LDADDS)
-testRelax_SOURCES = testRelax.c
-testRelax_LDFLAGS = 
-testRelax_DEPENDENCIES = $(DEPS)
-testRelax_LDADD = $(LDADDS)
-testReader_SOURCES = testReader.c
-testReader_LDFLAGS = 
-testReader_DEPENDENCIES = $(DEPS)
-testReader_LDADD = $(LDADDS)
-testModule_SOURCES = testModule.c
-testModule_LDFLAGS = 
-testModule_DEPENDENCIES = $(DEPS)
-testModule_LDADD = $(LDADDS)
-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)
-runxmlconf_LDADD = $(LDADDS)
-CLEANFILES = runxmlconf.log test.out xml2Conf.sh *.gcda *.gcno *.res
-DISTCLEANFILES = COPYING missing.lst
-confexecdir = $(libdir)
-confexec_DATA = xml2Conf.sh
-CVS_EXTRA_DIST = 
-EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml2.spec \
-             libxml.m4 Copyright check-xml-test-suite.py gentest.py \
-            check-relaxng-test-suite.py check-relaxng-test-suite2.py \
-            check-xsddata-test-suite.py check-xinclude-test-suite.py \
-             example/Makefile.am example/gjobread.c example/gjobs.xml \
-            $(man_MANS) libxml-2.0.pc.in libxml-2.0-uninstalled.pc.in \
-            trionan.c trionan.h triostr.c triostr.h trio.c trio.h \
-            triop.h triodef.h libxml.h elfgcchack.h xzlib.h buf.h \
-            enc.h save.h testThreadsWin32.c genUnicode.py TODO_SCHEMAS \
-            dbgen.pl dbgenattr.pl regressions.py regressions.xml \
-            README.tests Makefile.tests libxml2.syms timsort.h \
-            $(CVS_EXTRA_DIST)
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libxml-2.0.pc
-
-#
-# Install the tests program sources as examples 
-#
-BASE_DIR = $(datadir)/doc
-DOC_MODULE = libxml2-$(VERSION)
-EXAMPLES_DIR = $(BASE_DIR)/$(DOC_MODULE)/examples
-
-#
-# Coverage support, largely borrowed from libvirt
-# Both binaries comes from the lcov package in Fedora
-#
-LCOV = /usr/bin/lcov
-GENHTML = /usr/bin/genhtml
-all: $(BUILT_SOURCES) config.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-am--refresh: Makefile
-       @:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
-             $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --gnu Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           echo ' $(SHELL) ./config.status'; \
-           $(SHELL) ./config.status;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-config.h: stamp-h1
-       @if test ! -f $@; then rm -f stamp-h1; else :; fi
-       @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
-       @rm -f stamp-h1
-       cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in:  $(am__configure_deps) 
-       ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-       rm -f stamp-h1
-       touch $@
-
-distclean-hdr:
-       -rm -f config.h stamp-h1
-libxml2.spec: $(top_builddir)/config.status $(srcdir)/libxml.spec.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-xml2-config: $(top_builddir)/config.status $(srcdir)/xml2-config.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-libxml-2.0.pc: $(top_builddir)/config.status $(srcdir)/libxml-2.0.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-libxml-2.0-uninstalled.pc: $(top_builddir)/config.status $(srcdir)/libxml-2.0-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-       @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-       @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-       list2=; for p in $$list; do \
-         if test -f $$p; then \
-           list2="$$list2 $$p"; \
-         else :; fi; \
-       done; \
-       test -z "$$list2" || { \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
-       }
-
-uninstall-libLTLIBRARIES:
-       @$(NORMAL_UNINSTALL)
-       @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-       for p in $$list; do \
-         $(am__strip_dir) \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
-       done
-
-clean-libLTLIBRARIES:
-       -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-
-clean-noinstLTLIBRARIES:
-       -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-       @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-libxml2.la: $(libxml2_la_OBJECTS) $(libxml2_la_DEPENDENCIES) $(EXTRA_libxml2_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(libxml2_la_LINK) -rpath $(libdir) $(libxml2_la_OBJECTS) $(libxml2_la_LIBADD) $(LIBS)
-testdso.la: $(testdso_la_OBJECTS) $(testdso_la_DEPENDENCIES) $(EXTRA_testdso_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(testdso_la_LINK)  $(testdso_la_OBJECTS) $(testdso_la_LIBADD) $(LIBS)
-install-binPROGRAMS: $(bin_PROGRAMS)
-       @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-       @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
-       for p in $$list; do echo "$$p $$p"; done | \
-       sed 's/$(EXEEXT)$$//' | \
-       while read p p1; do if test -f $$p || test -f $$p1; \
-         then echo "$$p"; echo "$$p"; else :; fi; \
-       done | \
-       sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-           -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
-       sed 'N;N;N;s,\n, ,g' | \
-       $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
-         { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-           if ($$2 == $$4) files[d] = files[d] " " $$1; \
-           else { print "f", $$3 "/" $$4, $$1; } } \
-         END { for (d in files) print "f", d, files[d] }' | \
-       while read type dir files; do \
-           if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-           test -z "$$files" || { \
-           echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
-           $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
-           } \
-       ; done
-
-uninstall-binPROGRAMS:
-       @$(NORMAL_UNINSTALL)
-       @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
-       files=`for p in $$list; do echo "$$p"; done | \
-         sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-             -e 's/$$/$(EXEEXT)/' `; \
-       test -n "$$list" || exit 0; \
-       echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
-       cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
-       @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
-       echo " rm -f" $$list; \
-       rm -f $$list || exit $$?; \
-       test -n "$(EXEEXT)" || exit 0; \
-       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-       echo " rm -f" $$list; \
-       rm -f $$list
-
-clean-noinstPROGRAMS:
-       @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
-       echo " rm -f" $$list; \
-       rm -f $$list || exit $$?; \
-       test -n "$(EXEEXT)" || exit 0; \
-       list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-       echo " rm -f" $$list; \
-       rm -f $$list
-runsuite$(EXEEXT): $(runsuite_OBJECTS) $(runsuite_DEPENDENCIES) $(EXTRA_runsuite_DEPENDENCIES) 
-       @rm -f runsuite$(EXEEXT)
-       $(AM_V_CCLD)$(runsuite_LINK) $(runsuite_OBJECTS) $(runsuite_LDADD) $(LIBS)
-runtest$(EXEEXT): $(runtest_OBJECTS) $(runtest_DEPENDENCIES) $(EXTRA_runtest_DEPENDENCIES) 
-       @rm -f runtest$(EXEEXT)
-       $(AM_V_CCLD)$(runtest_LINK) $(runtest_OBJECTS) $(runtest_LDADD) $(LIBS)
-runxmlconf$(EXEEXT): $(runxmlconf_OBJECTS) $(runxmlconf_DEPENDENCIES) $(EXTRA_runxmlconf_DEPENDENCIES) 
-       @rm -f runxmlconf$(EXEEXT)
-       $(AM_V_CCLD)$(runxmlconf_LINK) $(runxmlconf_OBJECTS) $(runxmlconf_LDADD) $(LIBS)
-testAutomata$(EXEEXT): $(testAutomata_OBJECTS) $(testAutomata_DEPENDENCIES) $(EXTRA_testAutomata_DEPENDENCIES) 
-       @rm -f testAutomata$(EXEEXT)
-       $(AM_V_CCLD)$(testAutomata_LINK) $(testAutomata_OBJECTS) $(testAutomata_LDADD) $(LIBS)
-testC14N$(EXEEXT): $(testC14N_OBJECTS) $(testC14N_DEPENDENCIES) $(EXTRA_testC14N_DEPENDENCIES) 
-       @rm -f testC14N$(EXEEXT)
-       $(AM_V_CCLD)$(testC14N_LINK) $(testC14N_OBJECTS) $(testC14N_LDADD) $(LIBS)
-testHTML$(EXEEXT): $(testHTML_OBJECTS) $(testHTML_DEPENDENCIES) $(EXTRA_testHTML_DEPENDENCIES) 
-       @rm -f testHTML$(EXEEXT)
-       $(AM_V_CCLD)$(testHTML_LINK) $(testHTML_OBJECTS) $(testHTML_LDADD) $(LIBS)
-testModule$(EXEEXT): $(testModule_OBJECTS) $(testModule_DEPENDENCIES) $(EXTRA_testModule_DEPENDENCIES) 
-       @rm -f testModule$(EXEEXT)
-       $(AM_V_CCLD)$(testModule_LINK) $(testModule_OBJECTS) $(testModule_LDADD) $(LIBS)
-testReader$(EXEEXT): $(testReader_OBJECTS) $(testReader_DEPENDENCIES) $(EXTRA_testReader_DEPENDENCIES) 
-       @rm -f testReader$(EXEEXT)
-       $(AM_V_CCLD)$(testReader_LINK) $(testReader_OBJECTS) $(testReader_LDADD) $(LIBS)
-testRegexp$(EXEEXT): $(testRegexp_OBJECTS) $(testRegexp_DEPENDENCIES) $(EXTRA_testRegexp_DEPENDENCIES) 
-       @rm -f testRegexp$(EXEEXT)
-       $(AM_V_CCLD)$(testRegexp_LINK) $(testRegexp_OBJECTS) $(testRegexp_LDADD) $(LIBS)
-testRelax$(EXEEXT): $(testRelax_OBJECTS) $(testRelax_DEPENDENCIES) $(EXTRA_testRelax_DEPENDENCIES) 
-       @rm -f testRelax$(EXEEXT)
-       $(AM_V_CCLD)$(testRelax_LINK) $(testRelax_OBJECTS) $(testRelax_LDADD) $(LIBS)
-testSAX$(EXEEXT): $(testSAX_OBJECTS) $(testSAX_DEPENDENCIES) $(EXTRA_testSAX_DEPENDENCIES) 
-       @rm -f testSAX$(EXEEXT)
-       $(AM_V_CCLD)$(testSAX_LINK) $(testSAX_OBJECTS) $(testSAX_LDADD) $(LIBS)
-testSchemas$(EXEEXT): $(testSchemas_OBJECTS) $(testSchemas_DEPENDENCIES) $(EXTRA_testSchemas_DEPENDENCIES) 
-       @rm -f testSchemas$(EXEEXT)
-       $(AM_V_CCLD)$(testSchemas_LINK) $(testSchemas_OBJECTS) $(testSchemas_LDADD) $(LIBS)
-testThreads$(EXEEXT): $(testThreads_OBJECTS) $(testThreads_DEPENDENCIES) $(EXTRA_testThreads_DEPENDENCIES) 
-       @rm -f testThreads$(EXEEXT)
-       $(AM_V_CCLD)$(testThreads_LINK) $(testThreads_OBJECTS) $(testThreads_LDADD) $(LIBS)
-testURI$(EXEEXT): $(testURI_OBJECTS) $(testURI_DEPENDENCIES) $(EXTRA_testURI_DEPENDENCIES) 
-       @rm -f testURI$(EXEEXT)
-       $(AM_V_CCLD)$(testURI_LINK) $(testURI_OBJECTS) $(testURI_LDADD) $(LIBS)
-testXPath$(EXEEXT): $(testXPath_OBJECTS) $(testXPath_DEPENDENCIES) $(EXTRA_testXPath_DEPENDENCIES) 
-       @rm -f testXPath$(EXEEXT)
-       $(AM_V_CCLD)$(testXPath_LINK) $(testXPath_OBJECTS) $(testXPath_LDADD) $(LIBS)
-testapi$(EXEEXT): $(testapi_OBJECTS) $(testapi_DEPENDENCIES) $(EXTRA_testapi_DEPENDENCIES) 
-       @rm -f testapi$(EXEEXT)
-       $(AM_V_CCLD)$(testapi_LINK) $(testapi_OBJECTS) $(testapi_LDADD) $(LIBS)
-testchar$(EXEEXT): $(testchar_OBJECTS) $(testchar_DEPENDENCIES) $(EXTRA_testchar_DEPENDENCIES) 
-       @rm -f testchar$(EXEEXT)
-       $(AM_V_CCLD)$(testchar_LINK) $(testchar_OBJECTS) $(testchar_LDADD) $(LIBS)
-testdict$(EXEEXT): $(testdict_OBJECTS) $(testdict_DEPENDENCIES) $(EXTRA_testdict_DEPENDENCIES) 
-       @rm -f testdict$(EXEEXT)
-       $(AM_V_CCLD)$(testdict_LINK) $(testdict_OBJECTS) $(testdict_LDADD) $(LIBS)
-testlimits$(EXEEXT): $(testlimits_OBJECTS) $(testlimits_DEPENDENCIES) $(EXTRA_testlimits_DEPENDENCIES) 
-       @rm -f testlimits$(EXEEXT)
-       $(AM_V_CCLD)$(testlimits_LINK) $(testlimits_OBJECTS) $(testlimits_LDADD) $(LIBS)
-testrecurse$(EXEEXT): $(testrecurse_OBJECTS) $(testrecurse_DEPENDENCIES) $(EXTRA_testrecurse_DEPENDENCIES) 
-       @rm -f testrecurse$(EXEEXT)
-       $(AM_V_CCLD)$(testrecurse_LINK) $(testrecurse_OBJECTS) $(testrecurse_LDADD) $(LIBS)
-xmlcatalog$(EXEEXT): $(xmlcatalog_OBJECTS) $(xmlcatalog_DEPENDENCIES) $(EXTRA_xmlcatalog_DEPENDENCIES) 
-       @rm -f xmlcatalog$(EXEEXT)
-       $(AM_V_CCLD)$(xmlcatalog_LINK) $(xmlcatalog_OBJECTS) $(xmlcatalog_LDADD) $(LIBS)
-xmllint$(EXEEXT): $(xmllint_OBJECTS) $(xmllint_DEPENDENCIES) $(EXTRA_xmllint_DEPENDENCIES) 
-       @rm -f xmllint$(EXEEXT)
-       $(AM_V_CCLD)$(xmllint_LINK) $(xmllint_OBJECTS) $(xmllint_LDADD) $(LIBS)
-install-binSCRIPTS: $(bin_SCRIPTS)
-       @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-       @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
-       done | \
-       sed -e 'p;s,.*/,,;n' \
-           -e 'h;s|.*|.|' \
-           -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
-       $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
-         { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-           if ($$2 == $$4) { files[d] = files[d] " " $$1; \
-             if (++n[d] == $(am__install_max)) { \
-               print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
-           else { print "f", d "/" $$4, $$1 } } \
-         END { for (d in files) print "f", d, files[d] }' | \
-       while read type dir files; do \
-            if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-            test -z "$$files" || { \
-              echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
-              $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
-            } \
-       ; done
-
-uninstall-binSCRIPTS:
-       @$(NORMAL_UNINSTALL)
-       @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
-       files=`for p in $$list; do echo "$$p"; done | \
-              sed -e 's,.*/,,;$(transform)'`; \
-       dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DOCBparser.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HTMLparser.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HTMLtree.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SAX.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SAX2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c14n.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/catalog.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chvalid.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debugXML.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dict.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encoding.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/entities.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/globals.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/legacy.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nanoftp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nanohttp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parser.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parserInternals.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pattern.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/relaxng.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/runsuite.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/runtest.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/runxmlconf.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/schematron.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testAutomata.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testC14N.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testHTML.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testModule.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testReader.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testRegexp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testRelax.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testSAX.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testSchemas.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testThreads.Po@am__quote@
-@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@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testlimits.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testrecurse.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tree.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trio.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/triostr.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uri.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/valid.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xinclude.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xlink.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlIO.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlcatalog.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmllint.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlmemory.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlmodule.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlreader.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlregexp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlsave.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlschemas.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlschemastypes.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlstring.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlunicode.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlwriter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpointer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xzlib.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-distclean-libtool:
-       -rm -f libtool config.lt
-install-man1: $(man_MANS)
-       @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
-       } | while read p; do \
-         if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; echo "$$p"; \
-       done | \
-       sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-             -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
-       sed 'N;N;s,\n, ,g' | { \
-       list=; while read file base inst; do \
-         if test "$$base" = "$$inst"; then list="$$list $$file"; else \
-           echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
-           $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
-         fi; \
-       done; \
-       for i in $$list; do echo "$$i"; done | $(am__base_list) | \
-       while read files; do \
-         test -z "$$files" || { \
-           echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
-           $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
-       done; }
-
-uninstall-man1:
-       @$(NORMAL_UNINSTALL)
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       files=`{ for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
-       } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-             -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
-       dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
-install-man3: $(man_MANS)
-       @$(NORMAL_INSTALL)
-       test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)"
-       @list=''; test -n "$(man3dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.3[a-z]*$$/p'; \
-       } | while read p; do \
-         if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; echo "$$p"; \
-       done | \
-       sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
-             -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
-       sed 'N;N;s,\n, ,g' | { \
-       list=; while read file base inst; do \
-         if test "$$base" = "$$inst"; then list="$$list $$file"; else \
-           echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
-           $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \
-         fi; \
-       done; \
-       for i in $$list; do echo "$$i"; done | $(am__base_list) | \
-       while read files; do \
-         test -z "$$files" || { \
-           echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \
-           $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \
-       done; }
-
-uninstall-man3:
-       @$(NORMAL_UNINSTALL)
-       @list=''; test -n "$(man3dir)" || exit 0; \
-       files=`{ for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.3[a-z]*$$/p'; \
-       } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
-             -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
-       dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir)
-install-confexecDATA: $(confexec_DATA)
-       @$(NORMAL_INSTALL)
-       test -z "$(confexecdir)" || $(MKDIR_P) "$(DESTDIR)$(confexecdir)"
-       @list='$(confexec_DATA)'; test -n "$(confexecdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(confexecdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(confexecdir)" || exit $$?; \
-       done
-
-uninstall-confexecDATA:
-       @$(NORMAL_UNINSTALL)
-       @list='$(confexec_DATA)'; test -n "$(confexecdir)" || list=; \
-       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       dir='$(DESTDIR)$(confexecdir)'; $(am__uninstall_files_from_dir)
-install-m4dataDATA: $(m4data_DATA)
-       @$(NORMAL_INSTALL)
-       test -z "$(m4datadir)" || $(MKDIR_P) "$(DESTDIR)$(m4datadir)"
-       @list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(m4datadir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(m4datadir)" || exit $$?; \
-       done
-
-uninstall-m4dataDATA:
-       @$(NORMAL_UNINSTALL)
-       @list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
-       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       dir='$(DESTDIR)$(m4datadir)'; $(am__uninstall_files_from_dir)
-install-pkgconfigDATA: $(pkgconfig_DATA)
-       @$(NORMAL_INSTALL)
-       test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         echo "$$d$$p"; \
-       done | $(am__base_list) | \
-       while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
-       done
-
-uninstall-pkgconfigDATA:
-       @$(NORMAL_UNINSTALL)
-       @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @list='$(MANS)'; if test -n "$$list"; then \
-         list=`for p in $$list; do \
-           if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-           if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
-         if test -n "$$list" && \
-           grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
-           grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
-           echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
-           exit 1; \
-         else :; fi; \
-       else :; fi
-       $(am__remove_distdir)
-       test -d "$(distdir)" || mkdir "$(distdir)"
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       $(MAKE) $(AM_MAKEFLAGS) \
-         top_distdir="$(top_distdir)" distdir="$(distdir)" \
-         dist-hook
-       -test -n "$(am__skip_mode_fix)" \
-       || find "$(distdir)" -type d ! -perm -755 \
-               -exec chmod u+rwx,go+rx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
-
-dist-lzip: distdir
-       tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
-
-dist-xz: distdir
-       tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
-
-dist-tarZ: distdir
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
-
-dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
-
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-       *.tar.lz*) \
-         lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
-       *.tar.xz*) \
-         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir); chmod u+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-       test -d $(distdir)/_build || exit 0; \
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && am__cwd=`pwd` \
-         && $(am__cd) $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-           $(AM_DISTCHECK_CONFIGURE_FLAGS) \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-         && cd "$$am__cwd" \
-         || exit 1
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @test -n '$(distuninstallcheck_dir)' || { \
-         echo 'ERROR: trying to run $@ with an empty' \
-              '$$(distuninstallcheck_dir)' >&2; \
-         exit 1; \
-       }; \
-       $(am__cd) '$(distuninstallcheck_dir)' || { \
-         echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
-         exit 1; \
-       }; \
-       test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
-check-am: all-am
-check: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) check-recursive
-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) \
-               config.h
-install-binPROGRAMS: install-libLTLIBRARIES
-
-installdirs: installdirs-recursive
-installdirs-am:
-       for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(confexecdir)" "$(DESTDIR)$(m4datadir)" "$(DESTDIR)$(pkgconfigdir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-install: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       if test -z '$(STRIP)'; then \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-             install; \
-       else \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-       fi
-mostlyclean-generic:
-
-clean-generic:
-       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-       -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-       -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-clean: clean-recursive
-
-clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
-       clean-libtool clean-noinstLTLIBRARIES clean-noinstPROGRAMS \
-       mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-data-local install-m4dataDATA install-man \
-       install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am: install-binPROGRAMS install-binSCRIPTS \
-       install-confexecDATA install-libLTLIBRARIES
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man: install-man1 install-man3
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf $(top_srcdir)/autom4te.cache
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
-       uninstall-confexecDATA uninstall-libLTLIBRARIES \
-       uninstall-local uninstall-m4dataDATA uninstall-man \
-       uninstall-pkgconfigDATA
-
-uninstall-man: uninstall-man1 uninstall-man3
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
-       ctags-recursive install install-am install-strip \
-       tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-am clean clean-binPROGRAMS \
-       clean-generic clean-libLTLIBRARIES clean-libtool \
-       clean-noinstLTLIBRARIES clean-noinstPROGRAMS ctags \
-       ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \
-       dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
-       distcheck distclean distclean-compile distclean-generic \
-       distclean-hdr distclean-libtool distclean-tags distcleancheck \
-       distdir distuninstallcheck dvi dvi-am html html-am info \
-       info-am install install-am install-binPROGRAMS \
-       install-binSCRIPTS install-confexecDATA install-data \
-       install-data-am install-data-local install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-libLTLIBRARIES \
-       install-m4dataDATA install-man install-man1 install-man3 \
-       install-pdf install-pdf-am install-pkgconfigDATA install-ps \
-       install-ps-am install-strip installcheck installcheck-am \
-       installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags tags-recursive uninstall uninstall-am \
-       uninstall-binPROGRAMS uninstall-binSCRIPTS \
-       uninstall-confexecDATA uninstall-libLTLIBRARIES \
-       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:
-       -@(if [ "$(PYTHON)" != "" ] ; then \
-           $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
-
-# that one is just to make sure it is rebuilt if missing
-# but adding the dependances generate mess
-testapi.c: $(srcdir)/gentest.py
-       -@(if [ "$(PYTHON)" != "" ] ; then \
-           $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
-
-#testOOM_SOURCES=testOOM.c testOOMlib.h testOOMlib.c
-#testOOM_LDFLAGS = 
-#testOOM_DEPENDENCIES = $(DEPS)
-#testOOM_LDADD= $(LDADDS)
-
-runtests:
-       [ -d test   ] || $(LN_S) $(srcdir)/test   .
-       [ -d result ] || $(LN_S) $(srcdir)/result .
-       $(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testrecurse$(EXEEXT) &&$(CHECKER) ./testapi$(EXEEXT) && $(CHECKER) ./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
-       @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
-           $(MAKE) tests ; fi)
-
-check: all runtests
-
-check-valgrind valgrind: all
-       @echo '## Running the regression tests under Valgrind'
-       @echo '## Go get a cup of coffee it is gonna take a while ...'
-       $(MAKE) CHECKER='valgrind -q' runtests
-
-testall : tests SVGtests SAXtests
-
-tests: XMLtests XMLenttests NStests IDtests Errtests APItests $(READER_TEST) $(TEST_SAX) $(TEST_PUSH) $(TEST_HTML) $(TEST_PHTML) $(TEST_VALID) URItests $(TEST_PATTERN) $(TEST_XPATH) $(TEST_XPTR) $(TEST_XINCLUDE) $(TEST_C14N) $(TEST_DEBUG) $(TEST_CATALOG) $(TEST_REGEXPS) $(TEST_SCHEMAS) $(TEST_SCHEMATRON) $(TEST_THREADS) Timingtests $(TEST_VTIME) $(PYTHON_TESTS) $(TEST_MODULES)
-       @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
-           $(MAKE) tests ; fi)
-       @(cd doc/examples ; $(MAKE) tests)
-
-APItests: testapi$(EXEEXT)
-       @echo "## Running the API regression tests this may take a little while"
-       -@($(CHECKER) $(top_builddir)/testapi -q)
-
-HTMLtests : testHTML$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## HTML regression tests"
-       -@(for i in $(srcdir)/test/HTML/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testHTML $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testHTML $$i > result.$$name 2> error.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/HTML/$$name result.$$name ; \
-             diff -b $(srcdir)/result/HTML/$$name.err error.$$name ; \
-             $(CHECKER) $(top_builddir)/testHTML result.$$name > result2.$$name 2>error.$$name ; \
-             diff result.$$name result2.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name result2.$$name error.$$name ; \
-         fi ; fi ; done)
-
-HTMLPushtests : testHTML$(EXEEXT)
-       @echo "## Push HTML regression tests"
-       -@(for i in $(srcdir)/test/HTML/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testHTML --push $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testHTML --push $$i > result.$$name 2> error.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/HTML/$$name result.$$name ; \
-             cut -b 1-15 $(srcdir)/result/HTML/$$name.err > errorcut.$$name; \
-             cut -b 1-15 error.$$name > errorcut2.$$name; \
-             diff -b errorcut.$$name errorcut2.$$name ; \
-             $(CHECKER) $(top_builddir)/testHTML --push result.$$name > result2.$$name 2>error.$$name ; \
-             diff result.$$name result2.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name result2.$$name error.$$name errorcut.$$name errorcut2.$$name ; \
-         fi ; fi ; done)
-       @echo "## HTML SAX regression tests"
-       -@(for i in $(srcdir)/test/HTML/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/HTML/$$name.sax ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testHTML --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testHTML --sax $$i > result.$$name.sax ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name.sax ; \
-         fi ; fi ; done)
-       @echo "## Push HTML SAX regression tests"
-       -@(for i in $(srcdir)/test/HTML/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testHTML --push --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testHTML --push --sax $$i 2>&1 > result.$$name.sax ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name.sax ; \
-         fi ; fi ; done)
-
-XMLtests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## XML regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint $$i > $(srcdir)/result/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff $(srcdir)/result/$$name result.$$name ; \
-             $(CHECKER) $(top_builddir)/xmllint result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff result.$$name result2.$$name` ;\
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name result2.$$name ; \
-         fi ; fi ; done)
-       @echo "## XML regression tests on memory"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --memory $$i > $(srcdir)/result/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --memory $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/$$name result.$$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --memory result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"`; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             diff result.$$name result2.$$name ; \
-             rm result.$$name result2.$$name ; \
-         fi ; fi ; done)
-
-XMLPushtests: xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## XML push regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --push $$i > $(srcdir)/result/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --push $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff $(srcdir)/result/$$name result.$$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --push result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff result.$$name result2.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name result2.$$name ; \
-         fi ; fi ; done)
-
-NStests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## XML Namespaces regression tests"
-       -@(for i in $(srcdir)/test/namespaces/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/namespaces/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint $$i \
-                2> $(srcdir)/result/namespaces/$$name.err \
-                > $(srcdir)/result/namespaces/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint $$i 2> error.$$name > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff $(srcdir)/result/namespaces/$$name result.$$name ; \
-             diff $(srcdir)/result/namespaces/$$name.err error.$$name`; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-
-IDtests : xmllint$(EXEEXT) testXPath$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## xml:id regression tests"
-       -@(for i in $(srcdir)/test/xmlid/id_*.xml ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/xmlid/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testXPath -i $$i "id('bar')" \
-                2> $(srcdir)/result/xmlid/$$name.err \
-                > $(srcdir)/result/xmlid/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testXPath -i $$i "id('bar')" 2> error.$$name > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff $(srcdir)/result/xmlid/$$name result.$$name ; \
-             diff $(srcdir)/result/xmlid/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-
-Errtests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Error cases regression tests"
-       -@(for i in $(srcdir)/test/errors/*.xml ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/errors/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint $$i \
-                2> $(srcdir)/result/errors/$$name.err \
-                > $(srcdir)/result/errors/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint $$i 2> error.$$name > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff $(srcdir)/result/errors/$$name result.$$name ; \
-             diff $(srcdir)/result/errors/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-       @echo "## Error cases stream regression tests"
-       -@(for i in $(srcdir)/test/errors/*.xml ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/errors/$$name.str ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --stream $$i \
-                2> $(srcdir)/result/errors/$$name.str \
-                > /dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --stream $$i 2> error.$$name > /dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff $(srcdir)/result/errors/$$name.str error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm error.$$name ; \
-         fi ; fi ; done)
-
-Docbtests : xmllint$(EXEEXT)
-
-XMLenttests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## XML entity subst regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/noent/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --noent $$i > $(srcdir)/result/noent/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --noent $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff $(srcdir)/result/noent/$$name result.$$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --noent result.$$name 2>&1 > result2.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-             diff result.$$name result2.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name result2.$$name ; \
-         fi ; fi ; done)
-
-URItests : testURI$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## URI module regression tests"
-       -@(for i in $(srcdir)/test/URI/*.data ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/URI/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i > $(srcdir)/result/URI/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/URI/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       -@(for i in $(srcdir)/test/URI/*.uri ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/URI/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testURI < $$i > $(srcdir)/result/URI/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testURI < $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/URI/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-
-XPathtests : testXPath$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## XPath regression tests"
-       -@(if [ "`$(top_builddir)/testXPath | grep 'support not compiled in'`" != "" ] ; \
-         then echo Skipping debug not compiled in ; exit 0 ; fi ; \
-         for i in $(srcdir)/test/XPath/expr/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/XPath/expr/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testXPath -f --expr $$i > $(srcdir)/result/XPath/expr/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/testXPath -f --expr $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/XPath/expr/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done ; \
-         for i in $(srcdir)/test/XPath/docs/* ; do \
-         if [ ! -d $$i ] ; then \
-         doc=`basename $$i`; \
-         for j in $(srcdir)/test/XPath/tests/$$doc* ; do \
-         if [ ! -f $$j ] ; then continue ; fi ; \
-         name=`basename $$j`; \
-         if [ ! -d $$j ] ; then \
-         if [ ! -f $(srcdir)/result/XPath/tests/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j > $(srcdir)/result/XPath/tests/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/XPath/tests/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done ; fi ; done)
-
-XPtrtests : testXPath$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## XPointer regression tests"
-       -@(if [ "`$(top_builddir)/testXPath | grep 'support not compiled in'`" != "" ] ; \
-         then echo Skipping debug not compiled in ; exit 0 ; fi ; \
-         for i in $(srcdir)/test/XPath/docs/* ; do \
-         if [ ! -d $$i ] ; then \
-         doc=`basename $$i`; \
-         for j in $(srcdir)/test/XPath/xptr/$$doc* ; do \
-         if [ ! -f $$j ] ; then continue ; fi ; \
-         name=`basename $$j`; \
-         if [ ! -d $$j ] ; then \
-         if [ ! -f $(srcdir)/result/XPath/xptr/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j > $(srcdir)/result/XPath/xptr/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-         else \
-             log=`$(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/XPath/xptr/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done ; fi ; done)
-
-XIncludetests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## XInclude regression tests"
-       -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/XInclude/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > $(srcdir)/result/XInclude/$$name 2> $(srcdir)/result/XInclude/$$name.err ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > result.$$name 2>error.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/XInclude/$$name result.$$name ; \
-             diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-       -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/XInclude/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode $$i > $(srcdir)/result/XInclude/$$name 2> $(srcdir)/result/XInclude/$$name.err ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode $$i > result.$$name 2>error.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/XInclude/$$name result.$$name ; \
-             diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-       @(echo > .memdump)
-       @echo "## XInclude xmlReader regression tests"
-       -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/XInclude/$$name.rdr ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
-             diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-       -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/XInclude/$$name.rdr ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode --stream --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
-             diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-
-Scripttests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Scripts regression tests"
-       @echo "## Some of the base computations may be different if srcdir != ."
-       -@(for i in $(srcdir)/test/scripts/*.script ; do \
-         name=`basename $$i .script`; \
-         xml=$(srcdir)/test/scripts/`basename $$i .script`.xml; \
-         if [ -f $$xml ] ; then \
-         if [ ! -f $(srcdir)/result/scripts/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > $(srcdir)/result/scripts/$$name 2> $(srcdir)/result/scripts/$$name.err ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > result.$$name 2> result.$$name.err ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/scripts/$$name result.$$name ; \
-             diff $(srcdir)/result/scripts/$$name.err result.$$name.err` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name result.$$name.err ; \
-         fi ; fi ; done)
-
-Catatests : xmlcatalog$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Catalog regression tests"
-       -@(for i in $(srcdir)/test/catalogs/*.script ; do \
-         name=`basename $$i .script`; \
-         xml=$(srcdir)/test/catalogs/`basename $$i .script`.xml; \
-         if [ -f $$xml ] ; then \
-         if [ ! -f $(srcdir)/result/catalogs/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i 2>&1 > $(srcdir)/result/catalogs/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/catalogs/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       -@(for i in $(srcdir)/test/catalogs/*.script ; do \
-         name=`basename $$i .script`; \
-         sgml=$(srcdir)/test/catalogs/`basename $$i .script`.sgml; \
-         if [ -f $$sgml ] ; then \
-         if [ ! -f $(srcdir)/result/catalogs/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmlcatalog --shell $$sgml < $$i > $(srcdir)/result/catalogs/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmlcatalog --shell $$sgml < $$i > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/catalogs/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       @echo "## Add and del operations on XML Catalogs"
-       -@($(CHECKER) $(top_builddir)/xmlcatalog --create --noout $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       $(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid sysid $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       $(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid2 sysid2 $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       $(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid3 sysid3 $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       diff result/catalogs/mycatalog.full $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       $(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       $(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid3 $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       $(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid2 $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       diff result/catalogs/mycatalog.empty $(srcdir)/result/catalogs/mycatalog; \
-       grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-       rm -f $(srcdir)/result/catalogs/mycatalog)
-
-SVGtests : xmllint$(EXEEXT)
-       @echo "## SVG parsing regression tests"
-       -@(for i in $(srcdir)/test/SVG/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/SVG/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint $$i > $(srcdir)/result/SVG/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             echo Testing $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint $$i > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/SVG/$$name result.$$name ; \
-             $(CHECKER) $(top_builddir)/xmllint result.$$name > result2.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff result.$$name result2.$$name ; \
-             rm result.$$name result2.$$name ; \
-         fi ; fi ; done)
-
-Threadtests : testThreads$(EXEEXT)
-       @echo "## Threaded regression tests"
-       -@($(CHECKER) $(top_builddir)/testThreads ; \
-          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
-          exit 0)
-
-Readertests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Reader regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name.rdr ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --nonet --debug --stream $$i > $(srcdir)/result/$$name.rdr 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       @echo "## Reader on memory regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name.rdr ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --memory --nonet --debug --stream $$i > $(srcdir)/result/$$name.rdr 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --memory --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       @(echo > .memdump)
-       @echo "## Walker regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name.rdr ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --nonet --debug --walker $$i > $(srcdir)/result/$$name.rdr 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --nonet --debug --walker $$i > result.$$name 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       @echo "## Reader entities substitution regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name.rde ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --noent --nonet --debug --stream $$i > $(srcdir)/result/$$name.rde 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --noent --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/$$name.rde result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-
-SAXtests : testSAX$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## SAX1 callbacks regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name.sax ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testSAX $$i > $(srcdir)/result/$$name.sax 2> /dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/testSAX $$i > result.$$name 2> /dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/$$name.sax result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       @echo "## SAX2 callbacks regression tests"
-       -@(for i in $(srcdir)/test/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/$$name.sax2 ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testSAX --sax2 $$i > $(srcdir)/result/$$name.sax2 2> /dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/testSAX --sax2 $$i > result.$$name 2> /dev/null ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/$$name.sax2 result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-
-Validtests : xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Valid documents regression tests"
-       -@(for i in $(srcdir)/test/VCM/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-             log=`$(CHECKER) $(top_builddir)/xmllint --valid --noout --nowarning $$i ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"`;\
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-         fi ; done ; exit 0)
-       @echo "## Validity checking regression tests"
-       -@(for i in $(srcdir)/test/VC/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/VC/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --noout --valid $$i 2> $(srcdir)/result/VC/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --noout --valid $$i 2> result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/VC/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       @echo "## General documents valid regression tests"
-       -@(for i in $(srcdir)/test/valid/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/valid/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint --valid $$i > $(srcdir)/result/valid/$$name 2>$(srcdir)/result/valid/$$name.err ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint --valid $$i > result.$$name 2>error.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/valid/$$name result.$$name ; \
-             diff $(srcdir)/result/valid/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name error.$$name ; \
-         fi ; fi ; done)
-
-Regexptests: testRegexp$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Regexp regression tests"
-       -@(for i in $(srcdir)/test/regexp/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/regexp/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testRegexp -i $$i > $(srcdir)/result/regexp/$$name; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/testRegexp -i $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/regexp/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-       @echo "## Formal expresssions regression tests"
-       -@(for i in $(srcdir)/test/expr/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/expr/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testRegexp --expr -i $$i > $(srcdir)/result/expr/$$name; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/testRegexp --expr -i $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/expr/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-
-Automatatests: testAutomata$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Automata regression tests"
-       -@(for i in $(srcdir)/test/automata/* ; do \
-         name=`basename $$i`; \
-         if [ ! -d $$i ] ; then \
-         if [ ! -f $(srcdir)/result/automata/$$name ] ; then \
-             echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testAutomata $$i > $(srcdir)/result/automata/$$name; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/testAutomata $$i 2>&1 > result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/automata/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done)
-
-dba100000.xml: dbgenattr.pl
-       @echo "## generating dba100000.xml"
-       @($(PERL) $(top_srcdir)/dbgenattr.pl 100000 > dba100000.xml)
-
-Timingtests: xmllint$(EXEEXT) dba100000.xml
-       @echo "## Timing tests to try to detect performance"
-       @echo "## as well a memory usage breakage when streaming"
-       @echo "## 1/ using the file interface"
-       @echo "## 2/ using the memory interface"
-       @echo "## 3/ repeated DOM parsing"
-       @echo "## 4/ repeated DOM validation"
-       -@($(top_builddir)/xmllint --stream --timing dba100000.xml; \
-          MEM=`cat .memdump | grep "MEMORY ALLOCATED" | awk '{ print $$7}'`;\
-          if [ "$$MEM" != "" ] ; then echo Using $$MEM bytes ; fi ; \
-          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-          exit 0)
-       -@($(top_builddir)/xmllint --stream --timing --memory dba100000.xml; \
-          MEM=`cat .memdump | grep "MEMORY ALLOCATED" | awk '{ print $$7}'`;\
-          if [ "$$MEM" != "" ] ; then echo Using $$MEM bytes ; fi ; \
-          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-          exit 0)
-       -@($(top_builddir)/xmllint --noout --timing --repeat $(srcdir)/test/valid/REC-xml-19980210.xml; \
-          MEM=`cat .memdump | grep "MEMORY ALLOCATED" | awk '{ print $$7}'`;\
-          if [ "$$MEM" != "" ] ; then echo Using $$MEM bytes ; fi ; \
-          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-          exit 0)
-
-VTimingtests: xmllint$(EXEEXT)
-       -@($(top_builddir)/xmllint --noout --timing --valid --repeat $(srcdir)/test/valid/REC-xml-19980210.xml; \
-          MEM=`cat .memdump | grep "MEMORY ALLOCATED" | awk '{ print $$7}'`;\
-          if [ "$$MEM" != "" ] ; then echo Using $$MEM bytes ; fi ; \
-          grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-          exit 0)
-
-C14Ntests : testC14N$(EXEEXT)
-       @echo "## C14N and XPath regression tests"
-       -@(for m in with-comments without-comments 1-1-without-comments exc-without-comments ; do \
-           for i in $(srcdir)/test/c14n/$$m/*.xml ; do  \
-               if [ ! -d $$i ] ; then \
-                   name=`basename $$i .xml`; \
-                   cmdline="$(CHECKER) $(top_builddir)/testC14N --$$m $$i"; \
-                   if [ -f $(srcdir)/test/c14n/$$m/$$name.xpath ] ; then \
-                       cmdline="$$cmdline $(srcdir)/test/c14n/$$m/$$name.xpath"; \
-                       if [ -f $(srcdir)/test/c14n/$$m/$$name.ns ] ; then \
-                           cmdline="$$cmdline '`cat $(srcdir)/test/c14n/$$m/$$name.ns`'"; \
-                       fi; \
-                   fi; \
-                   $$cmdline > $(srcdir)/test/c14n/test.tmp; \
-                   if [ $$? -eq 0 ]; then \
-                       diff  $(srcdir)/result/c14n/$$m/$$name $(srcdir)/test/c14n/test.tmp; \
-                       if [ $$? -ne 0 ]; then \
-                           echo "Test $$m/$$name failed"; \
-                           cat $(srcdir)/test/c14n/test.tmp; \
-                       fi; \
-                   else \
-                       echo "C14N failed"; \
-                   fi; \
-                   grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-               fi; \
-               rm -f $(srcdir)/test/c14n/test.tmp; \
-           done; \
-       done)
-
-Schemastests: testSchemas$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Schemas regression tests"
-       -@(for i in $(srcdir)/test/schemas/*_*.xsd ; do \
-         name=`basename $$i | sed 's+_.*++'`; \
-         sno=`basename $$i | sed 's+.*_\(.*\).xsd+\1+'`; \
-         for j in $(srcdir)/test/schemas/"$$name"_*.xml ; do \
-             if [ -f $$j ] ; then \
-             xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
-             if [ ! -f $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" ]; \
-             then \
-                 echo New test file "$$name"_"$$sno"_"$$xno" ; \
-                 $(CHECKER) $(top_builddir)/testSchemas $$i $$j \
-                   > $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" \
-                   2> $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno".err; \
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             else \
-                 log=`$(CHECKER) $(top_builddir)/testSchemas $$i $$j \
-                   > res.$$name 2> err.$$name;\
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-                 diff $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" \
-                      res.$$name;\
-                 diff $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno".err \
-                      err.$$name;\
-                 grep Unimplemented err.$$name`; \
-                 if [ -n "$$log" ] ; then echo "$$name"_"$$sno"_"$$xno" result ; echo $$log ; fi ; \
-                 rm res.$$name err.$$name ; \
-              fi ; fi ;\
-         done; done)
-
-Relaxtests: xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Relax-NG regression tests"
-       -@(for i in $(srcdir)/test/relaxng/*.rng ; do \
-         name=`basename $$i | sed 's+\.rng++'`; \
-         if [ ! -f $(srcdir)/result/relaxng/"$$name"_valid ] ; then \
-             echo New schemas $$name ; \
-             $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $(srcdir)/test/relaxng/tutorA.rng $$i \
-                     > $(srcdir)/result/relaxng/"$$name"_valid \
-                     2> $(srcdir)/result/relaxng/"$$name"_err; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-         else \
-             log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $(srcdir)/test/relaxng/tutorA.rng $$i \
-             > res.$$name 2> err.$$name;\
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             diff $(srcdir)/result/relaxng/"$$name"_valid \
-                  res.$$name;\
-             diff $(srcdir)/result/relaxng/"$$name"_err \
-                  err.$$name | grep -v "error detected at";\
-             grep Unimplemented err.$$name`; \
-             if [ -n "$$log" ] ; then echo schemas $$name result ; echo $$log ; fi ; \
-             rm res.$$name err.$$name ; \
-         fi; \
-         for j in $(srcdir)/test/relaxng/"$$name"_*.xml ; do \
-             if [ -f $$j ] ; then \
-             xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
-             if [ ! -f $(srcdir)/result/relaxng/"$$name"_"$$xno" ]; \
-             then \
-                 echo New test file "$$name"_"$$xno" ; \
-                 $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \
-                   > $(srcdir)/result/relaxng/"$$name"_"$$xno" \
-                   2> $(srcdir)/result/relaxng/"$$name"_"$$xno".err; \
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             else \
-                 log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \
-                   > res.$$name 2> err.$$name;\
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-                 diff $(srcdir)/result/relaxng/"$$name"_"$$xno" \
-                      res.$$name;\
-                 diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \
-                      err.$$name | grep -v "error detected at";\
-                 grep Unimplemented err.$$name`; \
-                 if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
-                 rm res.$$name err.$$name ; \
-              fi ; fi ; \
-         done; done)
-       @echo "## Relax-NG streaming regression tests"
-       -@(for i in $(srcdir)/test/relaxng/*.rng ; do \
-         name=`basename $$i | sed 's+\.rng++'`; \
-         for j in $(srcdir)/test/relaxng/"$$name"_*.xml ; do \
-             if [ -f $$j ] ; then \
-             xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
-             if [ ! -f $(srcdir)/result/relaxng/"$$name"_"$$xno" ]; \
-             then \
-                 echo New test file "$$name"_"$$xno" ; \
-                 $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \
-                   > $(srcdir)/result/relaxng/"$$name"_"$$xno" \
-                   2> $(srcdir)/result/relaxng/"$$name"_"$$xno".err; \
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             else \
-                 log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --stream --relaxng $$i $$j \
-                   > res.$$name 2> err.$$name;\
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-                 diff $(srcdir)/result/relaxng/"$$name"_"$$xno" res.$$name;\
-                 if [ "$$name" != "tutor10_1" -a "$$name" != "tutor10_2" -a "$$name" != "tutor3_2" -a "$$name" != "307377" -a "$$name" != "tutor8_2" ] ; then \
-                     diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \
-                          err.$$name | grep -v "error detected at";\
-                 fi ; grep Unimplemented err.$$name`; \
-                 if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
-                 rm res.$$name err.$$name ; \
-              fi ; fi ; \
-         done; done)
-
-Schematrontests: xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Schematron regression tests"
-       -@(for i in $(srcdir)/test/schematron/*.sct ; do \
-         name=`basename $$i | sed 's+\.sct++'`; \
-         for j in $(srcdir)/test/schematron/"$$name"_*.xml ; do \
-             if [ -f $$j ] ; then \
-             xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
-             if [ ! -f $(srcdir)/result/schematron/"$$name"_"$$xno" ]; \
-             then \
-                 echo New test file "$$name"_"$$xno" ; \
-                 $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --schematron $$i $$j \
-                   > $(srcdir)/result/schematron/"$$name"_"$$xno" \
-                   2> $(srcdir)/result/schematron/"$$name"_"$$xno".err; \
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             else \
-                 log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --schematron $$i $$j \
-                   > res.$$name 2> err.$$name;\
-                 grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-                 diff $(srcdir)/result/schematron/"$$name"_"$$xno" \
-                      res.$$name;\
-                 diff $(srcdir)/result/schematron/"$$name"_"$$xno".err \
-                      err.$$name | grep -v "error detected at";\
-                 grep Unimplemented err.$$name`; \
-                 if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
-                 rm res.$$name err.$$name ; \
-              fi ; fi ; \
-         done; done)
-
-RelaxNGPythonTests:
-       @(if [ -x $(PYTHON) ] ; then \
-           PYTHONPATH=$(top_builddir)/python:$(top_builddir)/python/.libs:$$PYTHONPATH ; \
-           export PYTHONPATH; \
-           LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
-           export LD_LIBRARY_PATH; \
-           echo "## Relax-NG Python based test suite 1" ; \
-           $(CHECKER) $(PYTHON) $(srcdir)/check-relaxng-test-suite.py ; \
-           echo "## Relax-NG Python based test suite 2" ; \
-           $(CHECKER) $(PYTHON) $(srcdir)/check-relaxng-test-suite2.py ; \
-         fi)
-
-SchemasPythonTests:
-       @(if [ -x $(PYTHON) ] ; then \
-           PYTHONPATH=$(top_builddir)/python:$(top_builddir)/python/.libs:$$PYTHONPATH; \
-           export PYTHONPATH; \
-           LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
-           export LD_LIBRARY_PATH; \
-           echo "## XML Schemas datatypes Python based test suite" ; \
-           echo "## It is normal to see 11 errors reported" ; \
-           $(CHECKER) $(PYTHON) $(srcdir)/check-xsddata-test-suite.py ; \
-         fi)
-       @(if [ -x $(PYTHON) -a -d xstc ] ; then cd xstc ; $(MAKE) CHECKER="$(CHECKER)" pytests ; fi)
-
-Patterntests: xmllint$(EXEEXT)
-       @(echo > .memdump)
-       @echo "## Pattern regression tests"
-       -@(for i in $(srcdir)/test/pattern/*.pat ; do \
-         name=`basename $$i .pat`; \
-         if [ -f $(srcdir)/test/pattern/$$name.xml ] ; then \
-         if [ ! -f $(srcdir)/result/pattern/$$name ] ; then \
-             rm -f result.$$name ; \
-             echo New test file $$name ; \
-             for pat in `cat $$i` ; do \
-             $(CHECKER) $(top_builddir)/xmllint --walker --pattern $$pat $(srcdir)/test/pattern/$$name.xml >> $(srcdir)/result/pattern/$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             done ;\
-         else \
-             rm -f result.$$name ; \
-             lst=`cat $$i` ; \
-             log=`for pat in $$lst ; do $(CHECKER) $(top_builddir)/xmllint --walker --pattern $$pat $(srcdir)/test/pattern/$$name.xml 2>&1 >> result.$$name ; \
-             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
-             done ;\
-             diff $(srcdir)/result/pattern/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
-             rm result.$$name ; \
-         fi ; fi ; done ;)
-
-ModuleTests: testModule$(EXEEXT) testdso.la
-       @echo "## Module tests"
-       @(./testModule$(EXEEXT))
-
-cleanup:
-       -@(find . -name .\#\* -exec rm {} \;)
-       -@(find . -name \*.gcda -o -name \*.gcno -exec rm -f {} \;)
-       -@(find . -name \*.orig -o -name \*.rej -o -name \*.old -exec rm -f {} \;)
-
-dist-hook: cleanup libxml2.spec
-       -cp libxml2.spec $(distdir)
-       (cd $(srcdir) ; tar -cf - --exclude CVS --exclude .svn --exclude .git win32 macos vms VxWorks bakefile test result) | (cd $(distdir); tar xf -)
-
-dist-source: distdir
-       $(AMTAR) -chof - --exclude Tests --exclude test --exclude result $(distdir) | GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-sources+"`.tar.gz
-
-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)/testapi.c $(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:
-       @(rm -f libxml*.tar.gz COPYING.LIB)
-
-rpm: cleanup cleantar
-       @(unset CDPATH ; $(MAKE) dist-source dist && rpmbuild -ta $(distdir).tar.gz)
-
-xml2Conf.sh: xml2Conf.sh.in Makefile
-       sed -e 's?\@XML_LIBDIR\@?$(XML_LIBDIR)?g' \
-           -e 's?\@XML_INCLUDEDIR\@?$(XML_INCLUDEDIR)?g' \
-           -e 's?\@VERSION\@?$(VERSION)?g' \
-           -e 's?\@XML_LIBS\@?$(XML_LIBS)?g' \
-              < $(srcdir)/xml2Conf.sh.in > xml2Conf.tmp \
-       && mv xml2Conf.tmp xml2Conf.sh
-
-install-data-local: 
-       $(MKDIR_P) $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)
-       -$(INSTALL) -m 0644 $(srcdir)/Copyright $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)
-       $(MKDIR_P) $(DESTDIR)$(EXAMPLES_DIR)
-       -$(INSTALL) -m 0644 $(srcdir)/xmllint.c $(DESTDIR)$(EXAMPLES_DIR)
-       -$(INSTALL) -m 0644 $(srcdir)/testSAX.c $(DESTDIR)$(EXAMPLES_DIR)
-       -$(INSTALL) -m 0644 $(srcdir)/testHTML.c $(DESTDIR)$(EXAMPLES_DIR)
-       -$(INSTALL) -m 0644 $(srcdir)/testXPath.c $(DESTDIR)$(EXAMPLES_DIR)
-
-uninstall-local:
-       rm -f $(DESTDIR)$(EXAMPLES_DIR)/testXPath.c
-       rm -f $(DESTDIR)$(EXAMPLES_DIR)/testHTML.c
-       rm -f $(DESTDIR)$(EXAMPLES_DIR)/testSAX.c
-       rm -f $(DESTDIR)$(EXAMPLES_DIR)/xmllint.c
-       rm -rf $(DESTDIR)$(EXAMPLES_DIR)
-       rm -f $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)/Copyright
-       rm -rf $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)
-
-tst: tst.c
-       $(CC) $(CFLAGS) -Iinclude -o tst tst.c .libs/libxml2.a -lpthread -lm -lz -llzma
-
-sparse: clean
-       $(MAKE) CC=cgcc
-
-cov: clean-cov
-       if [ "`echo $(LDFLAGS) | grep coverage`" = "" ] ; then \
-           echo not configured with coverage; exit 1 ; fi
-       if [ ! -x $(LCOV) -o ! -x $(GENHTML) ] ; then \
-           echo Need $(LCOV) and $(GENHTML) excecutables; exit 1 ; fi
-       -@($(MAKE) check)
-       -@(./runsuite$(EXEEXT))
-       mkdir $(top_builddir)/coverage
-       $(LCOV) -c -o $(top_builddir)/coverage/libxml2.info.tmp -d $(top_srcdir)
-       $(LCOV) -r $(top_builddir)/coverage/libxml2.info.tmp -o $(top_builddir)/coverage/libxml2.info *usr*
-       rm $(top_builddir)/coverage/libxml2.info.tmp
-       $(GENHTML) -s -t "libxml2" -o $(top_builddir)/coverage --legend $(top_builddir)/coverage/libxml2.info
-       echo "Coverage report is in $(top_builddir)/coverage/index.html"
-
-clean-cov:
-       rm -rf $(top_builddir)/coverage
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/reactos/lib/3rdparty/libxml2/Makefile.tests b/reactos/lib/3rdparty/libxml2/Makefile.tests
deleted file mode 100644 (file)
index 619cbfb..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# You may have to ajust to call the right compiler, or other oprions
-# for compiling and linking
-#
-
-CFLAGS=`xml2-config --cflags`
-LIBS=`xml2-config --libs`
-THREADLIB= -lpthread
-EXEEXT=
-
-all: runtest$(EXEEXT) runsuite$(EXEEXT) testapi$(EXEEXT) testchar$(EXEEXT)
-
-clean:
-       $(RM) runtest$(EXEEXT) runsuite$(EXEEXT) testapi$(EXEEXT)
-
-check: do_runtest do_testchar do_testapi do_runsuite
-
-runtest$(EXEEXT): runtest.c
-       $(CC) -o runtest$(EXEEXT) $(CFLAGS) runtest.c $(LIBS) $(THREADLIB)
-
-do_runtest: runtest$(EXEEXT)
-       ./runtest
-
-runsuite$(EXEEXT): runsuite.c
-       $(CC) -o runsuite$(EXEEXT) $(CFLAGS) runsuite.c $(LIBS)
-
-do_runsuite: runsuite$(EXEEXT)
-       ./runsuite
-
-testapi$(EXEEXT): testapi.c
-       $(CC) -o testapi$(EXEEXT) $(CFLAGS) testapi.c $(LIBS)
-
-do_testapi: testapi$(EXEEXT)
-       ./testapi
-
-testchar$(EXEEXT): testchar.c
-       $(CC) -o testchar$(EXEEXT) $(CFLAGS) testchar.c $(LIBS)
-
-do_testchar: testchar$(EXEEXT)
-       ./testchar
-
diff --git a/reactos/lib/3rdparty/libxml2/README.tests b/reactos/lib/3rdparty/libxml2/README.tests
deleted file mode 100644 (file)
index 8d86f2a..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-                       README.tests
-
-   Instructions for standalone test regressions of libxml2
-
-libxml2-tests-$version.tar.gz contains 3 standalone C programs as well
-as a large amount of tests and results coming from libxml2 itself and
-from W3C, NIST, Sun Microsystems, Microsoft and James Clark. Each C
-program has a different testing purpose:
-
-  runtest.c : runs libxml2 basic internal regression tests
-  runsuite.c: runs libxml2 against external regression tests
-  testapi.c : exercises the library public entry points
-  testchar.c: exercise the check of character ranges and UTF-8 validation
-
-The command:
-
-  make check
-or
-  make -f Makefile.tests check
-
-should be sufficient on an Unix system to build and exercise the tests
-for the version of the library installed on the system. Note however
-that there isn't backward compatibility provided so if the installed
-version is older than the testsuite one, failing to compile or run the tests
-is likely. In any event this won't work with an installed libxml2 older
-than 2.6.20.
-
-Building on other platforms should be a matter of compiling the C files
-like any other program using libxml2, running the test should be done
-simply by launching the resulting executables.
-
-Also note the availability of a "make valgrind" target which will run the
-above tests under valgrind to check for memory errors (but this relies
-on the availability of the valgrind command and take far more time to
-complete).
-
-Daniel Veillard
-Mon May  7 2012
-
index a24abc8..4adf202 100644 (file)
@@ -411,6 +411,7 @@ xmlSAX2ExternalSubset(void *ctx, const xmlChar *name,
        xmlParserInputPtr input = NULL;
        xmlCharEncoding enc;
        int oldcharset;
+       const xmlChar *oldencoding;
 
        /*
         * Ask the Entity resolver to load the damn thing
@@ -432,6 +433,8 @@ xmlSAX2ExternalSubset(void *ctx, const xmlChar *name,
        oldinputMax = ctxt->inputMax;
        oldinputTab = ctxt->inputTab;
        oldcharset = ctxt->charset;
+       oldencoding = ctxt->encoding;
+       ctxt->encoding = NULL;
 
        ctxt->inputTab = (xmlParserInputPtr *)
                         xmlMalloc(5 * sizeof(xmlParserInputPtr));
@@ -442,6 +445,7 @@ xmlSAX2ExternalSubset(void *ctx, const xmlChar *name,
            ctxt->inputMax = oldinputMax;
            ctxt->inputTab = oldinputTab;
            ctxt->charset = oldcharset;
+           ctxt->encoding = oldencoding;
            return;
        }
        ctxt->inputNr = 0;
@@ -487,6 +491,11 @@ xmlSAX2ExternalSubset(void *ctx, const xmlChar *name,
        ctxt->inputMax = oldinputMax;
        ctxt->inputTab = oldinputTab;
        ctxt->charset = oldcharset;
+       if ((ctxt->encoding != NULL) &&
+           ((ctxt->dict == NULL) ||
+            (!xmlDictOwns(ctxt->dict, ctxt->encoding))))
+           xmlFree((xmlChar *) ctxt->encoding);
+       ctxt->encoding = oldencoding;
        /* ctxt->wellFormed = oldwellFormed; */
     }
 }
@@ -591,6 +600,7 @@ xmlSAX2GetEntity(void *ctx, const xmlChar *name)
         * parse the external entity
         */
        xmlNodePtr children;
+       unsigned long oldnbent = ctxt->nbentities;
 
         val = xmlParseCtxtExternalEntity(ctxt, ret->URI,
                                         ret->ExternalID, &children);
@@ -603,8 +613,11 @@ xmlSAX2GetEntity(void *ctx, const xmlChar *name)
            return(NULL);
        }
        ret->owner = 1;
-       if (ret->checked == 0)
-           ret->checked = 1;
+       if (ret->checked == 0) {
+           ret->checked = (ctxt->nbentities - oldnbent + 1) * 2;
+           if ((ret->content != NULL) && (xmlStrchr(ret->content, '<')))
+               ret->checked |= 1;
+       }
     }
     return(ret);
 }
@@ -2202,7 +2215,7 @@ xmlSAX2StartElementNs(void *ctx,
          (ctxt->myDoc->intSubset->elements == NULL) &&
          (ctxt->myDoc->intSubset->attributes == NULL) &&
          (ctxt->myDoc->intSubset->entities == NULL)))) {
-       xmlErrValid(ctxt, XML_ERR_NO_DTD,
+       xmlErrValid(ctxt, XML_DTD_NO_DTD,
          "Validation failed: no DTD found !", NULL, NULL);
        ctxt->validate = 0;
     }
diff --git a/reactos/lib/3rdparty/libxml2/acinclude.m4 b/reactos/lib/3rdparty/libxml2/acinclude.m4
deleted file mode 100644 (file)
index 7ad8630..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-dnl Like AC_TRY_EVAL but also errors out if the compiler generates
-dnl _any_ output. Some compilers might issue warnings which we want
-dnl to catch.
-AC_DEFUN([AC_TRY_EVAL2],
-[{ (eval echo configure:__oline__: \"[$]$1\") 1>&AS_MESSAGE_LOG_FD; dnl
-(eval [$]$1) 2>&AS_MESSAGE_LOG_FD; _out=`eval [$]$1 2>&1` && test "x$_out" = x; }])
-
-dnl Like AC_TRY_COMPILE but calls AC_TRY_EVAL2 instead of AC_TRY_EVAL
-AC_DEFUN([AC_TRY_COMPILE2],
-[cat > conftest.$ac_ext <<EOF
-[#]line __oline__ "configure"
-#include "confdefs.h"
-[$1]
-int main(void) {
-[$2]
-; return 0; }
-EOF
-if AC_TRY_EVAL2(ac_compile); then
-  ifelse([$3], , :, [rm -rf conftest*
-  $3])
-else
-  echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
-  cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
-ifelse([$4], , , [  rm -rf conftest*
-  $4
-])dnl
-fi
-rm -f conftest*])
diff --git a/reactos/lib/3rdparty/libxml2/aclocal.m4 b/reactos/lib/3rdparty/libxml2/aclocal.m4
deleted file mode 100644 (file)
index 78c9ca9..0000000
+++ /dev/null
@@ -1,1034 +0,0 @@
-# generated automatically by aclocal 1.11.3 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
-[m4_warning([this file was generated for autoconf 2.68.
-You have another version of autoconf.  It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
-# Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.3], [],
-      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too.  Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.3])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory.  The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run.  This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-#    fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-#    fails if $ac_aux_dir is absolute,
-#    fails when called from a subdirectory in a VPATH build with
-#          a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
-#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-#   MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH.  The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL                                            -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
-# 2010, 2011 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 12
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
-               [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_$1_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
-  fi
-  am__universal=false
-  m4_case([$1], [CC],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac],
-    [CXX],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac])
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_$1_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-  am__nodep='_no'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-AC_SUBST([am__nodep])dnl
-_AM_SUBST_NOTMAKE([am__nodep])dnl
-])
-
-# Generate code to set up dependency tracking.              -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`AS_DIRNAME("$mf")`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`AS_DIRNAME(["$file"])`
-      AS_MKDIR_P([$dirpart/$fdir])
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
-     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake.                             -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 16
-
-# This macro actually does too much.  Some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out.  PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition.  After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names.  We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
-  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-             [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-                            [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
-                 [_AM_DEPENDENCIES(CC)],
-                 [define([AC_PROG_CC],
-                         defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                 [_AM_DEPENDENCIES(CXX)],
-                 [define([AC_PROG_CXX],
-                         defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                 [_AM_DEPENDENCIES(OBJC)],
-                 [define([AC_PROG_OBJC],
-                         defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
-  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated.  The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
-# Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot.  For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes.                 -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
-# Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling.                     -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
-# Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# --------------------
-# Set option NAME.  Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[[\\\"\#\$\&\'\`$am_lf]]*)
-    AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
-  *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
-   test "$[2]" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2009, 2011  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# AM_SILENT_RULES([DEFAULT])
-# --------------------------
-# Enable less verbose build rules; with the default set to DEFAULT
-# (`yes' being less verbose, `no' or empty being verbose).
-AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules],
-[  --enable-silent-rules          less verbose build output (undo: `make V=1')
-  --disable-silent-rules         verbose build output (undo: `make V=0')])
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no)  AM_DEFAULT_VERBOSITY=1;;
-*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
-dnl
-dnl A few `make' implementations (e.g., NonStop OS and NextStep)
-dnl do not support nested variable expansions.
-dnl See automake bug#9928 and bug#10237.
-am_make=${MAKE-make}
-AC_CACHE_CHECK([whether $am_make supports nested variables],
-   [am_cv_make_support_nested_variables],
-   [if AS_ECHO([['TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
-       @$(TRUE)
-.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
-  am_cv_make_support_nested_variables=yes
-else
-  am_cv_make_support_nested_variables=no
-fi])
-if test $am_cv_make_support_nested_variables = yes; then
-  dnl Using `$V' instead of `$(V)' breaks IRIX make.
-  AM_V='$(V)'
-  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
-  AM_V=$AM_DEFAULT_VERBOSITY
-  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AC_SUBST([AM_V])dnl
-AM_SUBST_NOTMAKE([AM_V])dnl
-AC_SUBST([AM_DEFAULT_V])dnl
-AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
-
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries.  This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
-  AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# --------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball.                            -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-#     tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-#     $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.  Yes, it's still used
-# in the wild :-(  We should find a proper way to deprecate it ...
-AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
-     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
-
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
-
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-  rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/libtool.m4])
-m4_include([m4/ltoptions.m4])
-m4_include([m4/ltsugar.m4])
-m4_include([m4/ltversion.m4])
-m4_include([m4/lt~obsolete.m4])
-m4_include([acinclude.m4])
index fa0c3f6..d1756c4 100644 (file)
@@ -1299,3 +1299,6 @@ xmlBufSetInputBaseCur(xmlBufPtr buf, xmlParserInputPtr input,
     input->end = &buf->content[buf->use];
     return(0);
 }
+
+#define bottom_buf
+#include "elfgcchack.h"
index 61cce03..8e34cd2 100644 (file)
@@ -84,10 +84,12 @@ static char XML_XML_DEFAULT_CATALOG[256] = "file:///etc/xml/catalog";
 #define GetModuleHandleA GetModuleHandle
 #define GetModuleFileNameA GetModuleFileName
 #else
+#if !defined(_WINDOWS_)
 void* __stdcall GetModuleHandleA(const char*);
 unsigned long __stdcall GetModuleFileNameA(void*, char*, unsigned long);
 #endif
 #endif
+#endif
 
 static xmlChar *xmlCatalogNormalizePublic(const xmlChar *pubID);
 static int xmlExpandCatalog(xmlCatalogPtr catal, const char *filename);
@@ -989,7 +991,7 @@ xmlLoadFileContent(const char *filename)
         return (NULL);
     }
 #endif
-    content = xmlMallocAtomic(size + 10);
+    content = (xmlChar*)xmlMallocAtomic(size + 10);
     if (content == NULL) {
         xmlCatalogErrMemory("allocating catalog data");
         return (NULL);
@@ -1547,7 +1549,7 @@ xmlAddXMLCatalog(xmlCatalogEntryPtr catal, const xmlChar *type,
                                       NULL, catal->prefer, NULL);
     if (doregister) {
         catal->type = XML_CATA_CATALOG;
-       cur = xmlHashLookup(xmlCatalogXMLFiles, catal->URL);
+       cur = (xmlCatalogEntryPtr)xmlHashLookup(xmlCatalogXMLFiles, catal->URL);
        if (cur != NULL)
            cur->children = catal->children;
     }
@@ -3129,7 +3131,7 @@ xmlInitializeCatalog(void) {
                                if (p != buf) {
                                        xmlChar* uri;
                                        strncpy(p, "\\..\\etc\\catalog", 255 - (p - buf));
-                                       uri = xmlCanonicPath(buf);
+                                       uri = xmlCanonicPath((const xmlChar*)buf);
                                        if (uri != NULL) {
                                                strncpy(XML_XML_DEFAULT_CATALOG, uri, 255);
                                                xmlFree(uri);
@@ -3244,7 +3246,7 @@ xmlLoadCatalogs(const char *pathss) {
                cur++;
            path = xmlStrndup((const xmlChar *)paths, cur - paths);
 #ifdef _WIN32
-        iLen = strlen(path);
+        iLen = strlen((const char*)path);
         for(i = 0; i < iLen; i++) {
             if(path[i] == '\\') {
                 path[i] = '/';
diff --git a/reactos/lib/3rdparty/libxml2/check-relaxng-test-suite.py b/reactos/lib/3rdparty/libxml2/check-relaxng-test-suite.py
deleted file mode 100644 (file)
index f4a5a69..0000000
+++ /dev/null
@@ -1,394 +0,0 @@
-#!/usr/bin/python
-import sys
-import time
-import os
-import string
-import StringIO
-sys.path.insert(0, "python")
-import libxml2
-
-# Memory debug specific
-libxml2.debugMemory(1)
-debug = 0
-verbose = 0
-quiet = 1
-
-#
-# the testsuite description
-#
-CONF=os.path.join(os.path.dirname(__file__), "test/relaxng/OASIS/spectest.xml")
-LOG="check-relaxng-test-suite.log"
-RES="relaxng-test-results.xml"
-
-log = open(LOG, "w")
-nb_schemas_tests = 0
-nb_schemas_success = 0
-nb_schemas_failed = 0
-nb_instances_tests = 0
-nb_instances_success = 0
-nb_instances_failed = 0
-
-libxml2.lineNumbersDefault(1)
-#
-# Error and warnng callbacks
-#
-def callback(ctx, str):
-    global log
-    log.write("%s%s" % (ctx, str))
-
-libxml2.registerErrorHandler(callback, "")
-
-#
-# Resolver callback
-#
-resources = {}
-def resolver(URL, ID, ctxt):
-    global resources
-
-    if string.find(URL, '#') != -1:
-        URL = URL[0:string.find(URL, '#')]
-    if resources.has_key(URL):
-        return(StringIO.StringIO(resources[URL]))
-    log.write("Resolver failure: asked %s\n" % (URL))
-    log.write("resources: %s\n" % (resources))
-    return None
-
-#
-# Load the previous results
-#
-#results = {}
-#previous = {}
-#
-#try:
-#    res = libxml2.parseFile(RES)
-#except:
-#    log.write("Could not parse %s" % (RES))
-    
-#
-# handle a valid instance
-#
-def handle_valid(node, schema):
-    global log
-    global nb_instances_success
-    global nb_instances_failed
-
-    instance = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           instance = instance + child.serialize()
-       child = child.next
-
-    try:
-       doc = libxml2.parseDoc(instance)
-    except:
-        doc = None
-
-    if doc == None:
-        log.write("\nFailed to parse correct instance:\n-----\n")
-       log.write(instance)
-        log.write("\n-----\n")
-       nb_instances_failed = nb_instances_failed + 1
-       return
-
-    try:
-        ctxt = schema.relaxNGNewValidCtxt()
-       ret = doc.relaxNGValidateDoc(ctxt)
-    except:
-        ret = -1
-    if ret != 0:
-        log.write("\nFailed to validate correct instance:\n-----\n")
-       log.write(instance)
-        log.write("\n-----\n")
-       nb_instances_failed = nb_instances_failed + 1
-    else:
-       nb_instances_success = nb_instances_success + 1
-    doc.freeDoc()
-
-#
-# handle an invalid instance
-#
-def handle_invalid(node, schema):
-    global log
-    global nb_instances_success
-    global nb_instances_failed
-
-    instance = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           instance = instance + child.serialize()
-       child = child.next
-
-    try:
-       doc = libxml2.parseDoc(instance)
-    except:
-        doc = None
-
-    if doc == None:
-        log.write("\nStrange: failed to parse incorrect instance:\n-----\n")
-       log.write(instance)
-        log.write("\n-----\n")
-       return
-
-    try:
-        ctxt = schema.relaxNGNewValidCtxt()
-       ret = doc.relaxNGValidateDoc(ctxt)
-    except:
-        ret = -1
-    if ret == 0:
-        log.write("\nFailed to detect validation problem in instance:\n-----\n")
-       log.write(instance)
-        log.write("\n-----\n")
-       nb_instances_failed = nb_instances_failed + 1
-    else:
-       nb_instances_success = nb_instances_success + 1
-    doc.freeDoc()
-
-#
-# handle an incorrect test
-#
-def handle_correct(node):
-    global log
-    global nb_schemas_success
-    global nb_schemas_failed
-
-    schema = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           schema = schema + child.serialize()
-       child = child.next
-
-    try:
-       rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
-       rngs = rngp.relaxNGParse()
-    except:
-        rngs = None
-    if rngs == None:
-        log.write("\nFailed to compile correct schema:\n-----\n")
-       log.write(schema)
-        log.write("\n-----\n")
-       nb_schemas_failed = nb_schemas_failed + 1
-    else:
-       nb_schemas_success = nb_schemas_success + 1
-    return rngs
-        
-def handle_incorrect(node):
-    global log
-    global nb_schemas_success
-    global nb_schemas_failed
-
-    schema = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           schema = schema + child.serialize()
-       child = child.next
-
-    try:
-       rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
-       rngs = rngp.relaxNGParse()
-    except:
-        rngs = None
-    if rngs != None:
-        log.write("\nFailed to detect schema error in:\n-----\n")
-       log.write(schema)
-        log.write("\n-----\n")
-       nb_schemas_failed = nb_schemas_failed + 1
-    else:
-#      log.write("\nSuccess detecting schema error in:\n-----\n")
-#      log.write(schema)
-#      log.write("\n-----\n")
-       nb_schemas_success = nb_schemas_success + 1
-    return None
-
-#
-# resource handling: keep a dictionary of URL->string mappings
-#
-def handle_resource(node, dir):
-    global resources
-
-    try:
-       name = node.prop('name')
-    except:
-        name = None
-
-    if name == None or name == '':
-        log.write("resource has no name")
-       return;
-        
-    if dir != None:
-#        name = libxml2.buildURI(name, dir)
-        name = dir + '/' + name
-
-    res = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           res = res + child.serialize()
-       child = child.next
-    resources[name] = res
-
-#
-# dir handling: pseudo directory resources
-#
-def handle_dir(node, dir):
-    try:
-       name = node.prop('name')
-    except:
-        name = None
-
-    if name == None or name == '':
-        log.write("resource has no name")
-       return;
-        
-    if dir != None:
-#        name = libxml2.buildURI(name, dir)
-        name = dir + '/' + name
-
-    dirs = node.xpathEval('dir')
-    for dir in dirs:
-        handle_dir(dir, name)
-    res = node.xpathEval('resource')
-    for r in res:
-        handle_resource(r, name)
-
-#
-# handle a testCase element
-#
-def handle_testCase(node):
-    global nb_schemas_tests
-    global nb_instances_tests
-    global resources
-
-    sections = node.xpathEval('string(section)')
-    log.write("\n    ======== test %d line %d section %s ==========\n" % (
-
-              nb_schemas_tests, node.lineNo(), sections))
-    resources = {}
-    if debug:
-        print "test %d line %d" % (nb_schemas_tests, node.lineNo())
-
-    dirs = node.xpathEval('dir')
-    for dir in dirs:
-        handle_dir(dir, None)
-    res = node.xpathEval('resource')
-    for r in res:
-        handle_resource(r, None)
-
-    tsts = node.xpathEval('incorrect')
-    if tsts != []:
-        if len(tsts) != 1:
-           print "warning test line %d has more than one <incorrect> example" %(node.lineNo())
-       schema = handle_incorrect(tsts[0])
-    else:
-        tsts = node.xpathEval('correct')
-       if tsts != []:
-           if len(tsts) != 1:
-               print "warning test line %d has more than one <correct> example"% (node.lineNo())
-           schema = handle_correct(tsts[0])
-       else:
-           print "warning <testCase> line %d has no <correct> nor <incorrect> child" % (node.lineNo())
-
-    nb_schemas_tests = nb_schemas_tests + 1;
-    
-    valids = node.xpathEval('valid')
-    invalids = node.xpathEval('invalid')
-    nb_instances_tests = nb_instances_tests + len(valids) + len(invalids)
-    if schema != None:
-        for valid in valids:
-           handle_valid(valid, schema)
-        for invalid in invalids:
-           handle_invalid(invalid, schema)
-
-
-#
-# handle a testSuite element
-#
-def handle_testSuite(node, level = 0):
-    global nb_schemas_tests, nb_schemas_success, nb_schemas_failed
-    global nb_instances_tests, nb_instances_success, nb_instances_failed
-    global quiet
-    if level >= 1:
-       old_schemas_tests = nb_schemas_tests
-       old_schemas_success = nb_schemas_success
-       old_schemas_failed = nb_schemas_failed
-       old_instances_tests = nb_instances_tests
-       old_instances_success = nb_instances_success
-       old_instances_failed = nb_instances_failed
-
-    docs = node.xpathEval('documentation')
-    authors = node.xpathEval('author')
-    if docs != []:
-        msg = ""
-        for doc in docs:
-           msg = msg + doc.content + " "
-       if authors != []:
-           msg = msg + "written by "
-           for author in authors:
-               msg = msg + author.content + " "
-       if quiet == 0:
-           print msg
-    sections = node.xpathEval('section')
-    if sections != [] and level <= 0:
-        msg = ""
-        for section in sections:
-           msg = msg + section.content + " "
-       if quiet == 0:
-           print "Tests for section %s" % (msg)
-    for test in node.xpathEval('testCase'):
-        handle_testCase(test)
-    for test in node.xpathEval('testSuite'):
-        handle_testSuite(test, level + 1)
-               
-
-    if verbose and level >= 1 and sections != []:
-        msg = ""
-        for section in sections:
-           msg = msg + section.content + " "
-        print "Result of tests for section %s" % (msg)
-        if nb_schemas_tests != old_schemas_tests:
-           print "found %d test schemas: %d success %d failures" % (
-                 nb_schemas_tests - old_schemas_tests,
-                 nb_schemas_success - old_schemas_success,
-                 nb_schemas_failed - old_schemas_failed)
-       if nb_instances_tests != old_instances_tests:
-           print "found %d test instances: %d success %d failures" % (
-                 nb_instances_tests - old_instances_tests,
-                 nb_instances_success - old_instances_success,
-                 nb_instances_failed - old_instances_failed)
-#
-# Parse the conf file
-#
-libxml2.substituteEntitiesDefault(1);
-testsuite = libxml2.parseFile(CONF)
-libxml2.setEntityLoader(resolver)
-root = testsuite.getRootElement()
-if root.name != 'testSuite':
-    print "%s doesn't start with a testSuite element, aborting" % (CONF)
-    sys.exit(1)
-if quiet == 0:
-    print "Running Relax NG testsuite"
-handle_testSuite(root)
-
-if quiet == 0:
-    print "\nTOTAL:\n"
-if quiet == 0 or nb_schemas_failed != 0:
-    print "found %d test schemas: %d success %d failures" % (
-      nb_schemas_tests, nb_schemas_success, nb_schemas_failed)
-if quiet == 0 or nb_instances_failed != 0:
-    print "found %d test instances: %d success %d failures" % (
-      nb_instances_tests, nb_instances_success, nb_instances_failed)
-
-testsuite.freeDoc()
-
-# Memory debug specific
-libxml2.relaxNGCleanupTypes()
-libxml2.cleanupParser()
-if libxml2.debugMemory(1) == 0:
-    if quiet == 0:
-       print "OK"
-else:
-    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
-    libxml2.dumpMemory()
diff --git a/reactos/lib/3rdparty/libxml2/check-relaxng-test-suite2.py b/reactos/lib/3rdparty/libxml2/check-relaxng-test-suite2.py
deleted file mode 100644 (file)
index 8618db7..0000000
+++ /dev/null
@@ -1,418 +0,0 @@
-#!/usr/bin/python
-import sys
-import time
-import os
-import string
-import StringIO
-sys.path.insert(0, "python")
-import libxml2
-
-# Memory debug specific
-libxml2.debugMemory(1)
-debug = 0
-quiet = 1
-
-#
-# the testsuite description
-#
-CONF=os.path.join(os.path.dirname(__file__), "test/relaxng/testsuite.xml")
-LOG="check-relaxng-test-suite2.log"
-
-log = open(LOG, "w")
-nb_schemas_tests = 0
-nb_schemas_success = 0
-nb_schemas_failed = 0
-nb_instances_tests = 0
-nb_instances_success = 0
-nb_instances_failed = 0
-
-libxml2.lineNumbersDefault(1)
-#
-# Resolver callback
-#
-resources = {}
-def resolver(URL, ID, ctxt):
-    global resources
-
-    if resources.has_key(URL):
-        return(StringIO.StringIO(resources[URL]))
-    log.write("Resolver failure: asked %s\n" % (URL))
-    log.write("resources: %s\n" % (resources))
-    return None
-
-#
-# Load the previous results
-#
-#results = {}
-#previous = {}
-#
-#try:
-#    res = libxml2.parseFile(RES)
-#except:
-#    log.write("Could not parse %s" % (RES))
-    
-#
-# handle a valid instance
-#
-def handle_valid(node, schema):
-    global log
-    global nb_instances_success
-    global nb_instances_failed
-
-    instance = node.prop("dtd")
-    if instance == None:
-        instance = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           instance = instance + child.serialize()
-       child = child.next
-
-#    mem = libxml2.debugMemory(1);
-    try:
-       doc = libxml2.parseDoc(instance)
-    except:
-        doc = None
-
-    if doc == None:
-        log.write("\nFailed to parse correct instance:\n-----\n")
-       log.write(instance)
-        log.write("\n-----\n")
-       nb_instances_failed = nb_instances_failed + 1
-       return
-
-    if debug:
-        print "instance line %d" % (node.lineNo())
-       
-    try:
-        ctxt = schema.relaxNGNewValidCtxt()
-       ret = doc.relaxNGValidateDoc(ctxt)
-       del ctxt
-    except:
-        ret = -1
-
-    doc.freeDoc()
-#    if mem != libxml2.debugMemory(1):
-#      print "validating instance %d line %d leaks" % (
-#                nb_instances_tests, node.lineNo())
-
-    if ret != 0:
-        log.write("\nFailed to validate correct instance:\n-----\n")
-       log.write(instance)
-        log.write("\n-----\n")
-       nb_instances_failed = nb_instances_failed + 1
-    else:
-       nb_instances_success = nb_instances_success + 1
-
-#
-# handle an invalid instance
-#
-def handle_invalid(node, schema):
-    global log
-    global nb_instances_success
-    global nb_instances_failed
-
-    instance = node.prop("dtd")
-    if instance == None:
-        instance = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           instance = instance + child.serialize()
-       child = child.next
-
-#    mem = libxml2.debugMemory(1);
-
-    try:
-       doc = libxml2.parseDoc(instance)
-    except:
-        doc = None
-
-    if doc == None:
-        log.write("\nStrange: failed to parse incorrect instance:\n-----\n")
-       log.write(instance)
-        log.write("\n-----\n")
-       return
-
-    if debug:
-        print "instance line %d" % (node.lineNo())
-       
-    try:
-        ctxt = schema.relaxNGNewValidCtxt()
-       ret = doc.relaxNGValidateDoc(ctxt)
-       del ctxt
-
-    except:
-        ret = -1
-
-    doc.freeDoc()
-#    mem2 = libxml2.debugMemory(1)
-#    if mem != mem2:
-#      print "validating instance %d line %d leaks %d bytes" % (
-#                nb_instances_tests, node.lineNo(), mem2 - mem)
-    
-    if ret == 0:
-        log.write("\nFailed to detect validation problem in instance:\n-----\n")
-       log.write(instance)
-        log.write("\n-----\n")
-       nb_instances_failed = nb_instances_failed + 1
-    else:
-       nb_instances_success = nb_instances_success + 1
-
-#
-# handle an incorrect test
-#
-def handle_correct(node):
-    global log
-    global nb_schemas_success
-    global nb_schemas_failed
-
-    schema = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           schema = schema + child.serialize()
-       child = child.next
-
-    try:
-       rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
-       rngs = rngp.relaxNGParse()
-    except:
-        rngs = None
-    if rngs == None:
-        log.write("\nFailed to compile correct schema:\n-----\n")
-       log.write(schema)
-        log.write("\n-----\n")
-       nb_schemas_failed = nb_schemas_failed + 1
-    else:
-       nb_schemas_success = nb_schemas_success + 1
-    return rngs
-        
-def handle_incorrect(node):
-    global log
-    global nb_schemas_success
-    global nb_schemas_failed
-
-    schema = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           schema = schema + child.serialize()
-       child = child.next
-
-    try:
-       rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
-       rngs = rngp.relaxNGParse()
-    except:
-        rngs = None
-    if rngs != None:
-        log.write("\nFailed to detect schema error in:\n-----\n")
-       log.write(schema)
-        log.write("\n-----\n")
-       nb_schemas_failed = nb_schemas_failed + 1
-    else:
-#      log.write("\nSuccess detecting schema error in:\n-----\n")
-#      log.write(schema)
-#      log.write("\n-----\n")
-       nb_schemas_success = nb_schemas_success + 1
-    return None
-
-#
-# resource handling: keep a dictionary of URL->string mappings
-#
-def handle_resource(node, dir):
-    global resources
-
-    try:
-       name = node.prop('name')
-    except:
-        name = None
-
-    if name == None or name == '':
-        log.write("resource has no name")
-       return;
-        
-    if dir != None:
-#        name = libxml2.buildURI(name, dir)
-        name = dir + '/' + name
-
-    res = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           res = res + child.serialize()
-       child = child.next
-    resources[name] = res
-
-#
-# dir handling: pseudo directory resources
-#
-def handle_dir(node, dir):
-    try:
-       name = node.prop('name')
-    except:
-        name = None
-
-    if name == None or name == '':
-        log.write("resource has no name")
-       return;
-        
-    if dir != None:
-#        name = libxml2.buildURI(name, dir)
-        name = dir + '/' + name
-
-    dirs = node.xpathEval('dir')
-    for dir in dirs:
-        handle_dir(dir, name)
-    res = node.xpathEval('resource')
-    for r in res:
-        handle_resource(r, name)
-
-#
-# handle a testCase element
-#
-def handle_testCase(node):
-    global nb_schemas_tests
-    global nb_instances_tests
-    global resources
-
-    sections = node.xpathEval('string(section)')
-    log.write("\n    ======== test %d line %d section %s ==========\n" % (
-
-              nb_schemas_tests, node.lineNo(), sections))
-    resources = {}
-    if debug:
-        print "test %d line %d" % (nb_schemas_tests, node.lineNo())
-
-    dirs = node.xpathEval('dir')
-    for dir in dirs:
-        handle_dir(dir, None)
-    res = node.xpathEval('resource')
-    for r in res:
-        handle_resource(r, None)
-
-    tsts = node.xpathEval('incorrect')
-    if tsts != []:
-        if len(tsts) != 1:
-           print "warning test line %d has more than one <incorrect> example" %(node.lineNo())
-       schema = handle_incorrect(tsts[0])
-    else:
-        tsts = node.xpathEval('correct')
-       if tsts != []:
-           if len(tsts) != 1:
-               print "warning test line %d has more than one <correct> example"% (node.lineNo())
-           schema = handle_correct(tsts[0])
-       else:
-           print "warning <testCase> line %d has no <correct> nor <incorrect> child" % (node.lineNo())
-
-    nb_schemas_tests = nb_schemas_tests + 1;
-    
-    valids = node.xpathEval('valid')
-    invalids = node.xpathEval('invalid')
-    nb_instances_tests = nb_instances_tests + len(valids) + len(invalids)
-    if schema != None:
-        for valid in valids:
-           handle_valid(valid, schema)
-        for invalid in invalids:
-           handle_invalid(invalid, schema)
-
-
-#
-# handle a testSuite element
-#
-def handle_testSuite(node, level = 0):
-    global nb_schemas_tests, nb_schemas_success, nb_schemas_failed
-    global nb_instances_tests, nb_instances_success, nb_instances_failed
-    if level >= 1:
-       old_schemas_tests = nb_schemas_tests
-       old_schemas_success = nb_schemas_success
-       old_schemas_failed = nb_schemas_failed
-       old_instances_tests = nb_instances_tests
-       old_instances_success = nb_instances_success
-       old_instances_failed = nb_instances_failed
-
-    docs = node.xpathEval('documentation')
-    authors = node.xpathEval('author')
-    if docs != []:
-        msg = ""
-        for doc in docs:
-           msg = msg + doc.content + " "
-       if authors != []:
-           msg = msg + "written by "
-           for author in authors:
-               msg = msg + author.content + " "
-       if quiet == 0:
-           print msg
-    sections = node.xpathEval('section')
-    if sections != [] and level <= 0:
-        msg = ""
-        for section in sections:
-           msg = msg + section.content + " "
-       if quiet == 0:
-           print "Tests for section %s" % (msg)
-    for test in node.xpathEval('testCase'):
-        handle_testCase(test)
-    for test in node.xpathEval('testSuite'):
-        handle_testSuite(test, level + 1)
-               
-
-    if level >= 1 and sections != []:
-        msg = ""
-        for section in sections:
-           msg = msg + section.content + " "
-        print "Result of tests for section %s" % (msg)
-        if nb_schemas_tests != old_schemas_tests:
-           print "found %d test schemas: %d success %d failures" % (
-                 nb_schemas_tests - old_schemas_tests,
-                 nb_schemas_success - old_schemas_success,
-                 nb_schemas_failed - old_schemas_failed)
-       if nb_instances_tests != old_instances_tests:
-           print "found %d test instances: %d success %d failures" % (
-                 nb_instances_tests - old_instances_tests,
-                 nb_instances_success - old_instances_success,
-                 nb_instances_failed - old_instances_failed)
-#
-# Parse the conf file
-#
-libxml2.substituteEntitiesDefault(1);
-testsuite = libxml2.parseFile(CONF)
-
-#
-# Error and warnng callbacks
-#
-def callback(ctx, str):
-    global log
-    log.write("%s%s" % (ctx, str))
-
-libxml2.registerErrorHandler(callback, "")
-
-libxml2.setEntityLoader(resolver)
-root = testsuite.getRootElement()
-if root.name != 'testSuite':
-    print "%s doesn't start with a testSuite element, aborting" % (CONF)
-    sys.exit(1)
-if quiet == 0:
-    print "Running Relax NG testsuite"
-handle_testSuite(root)
-
-if quiet == 0:
-    print "\nTOTAL:\n"
-if quiet == 0 or nb_schemas_failed != 0:
-    print "found %d test schemas: %d success %d failures" % (
-      nb_schemas_tests, nb_schemas_success, nb_schemas_failed)
-if quiet == 0 or nb_instances_failed != 0:
-    print "found %d test instances: %d success %d failures" % (
-      nb_instances_tests, nb_instances_success, nb_instances_failed)
-
-
-testsuite.freeDoc()
-
-# Memory debug specific
-libxml2.relaxNGCleanupTypes()
-libxml2.cleanupParser()
-if libxml2.debugMemory(1) == 0:
-    if quiet == 0:
-       print "OK"
-else:
-    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
-    libxml2.dumpMemory()
diff --git a/reactos/lib/3rdparty/libxml2/check-xinclude-test-suite.py b/reactos/lib/3rdparty/libxml2/check-xinclude-test-suite.py
deleted file mode 100644 (file)
index f470011..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-#!/usr/bin/python
-import sys
-import time
-import os
-import string
-sys.path.insert(0, "python")
-import libxml2
-
-#
-# the testsuite description
-#
-DIR="xinclude-test-suite"
-CONF="testdescr.xml"
-LOG="check-xinclude-test-suite.log"
-
-log = open(LOG, "w")
-
-os.chdir(DIR)
-
-test_nr = 0
-test_succeed = 0
-test_failed = 0
-test_error = 0
-#
-# Error and warning handlers
-#
-error_nr = 0
-error_msg = ''
-
-def errorHandler(ctx, str):
-    global error_nr
-    global error_msg
-
-    if string.find(str, "error:") >= 0:
-       error_nr = error_nr + 1
-    if len(error_msg) < 300:
-        if len(error_msg) == 0 or error_msg[-1] == '\n':
-           error_msg = error_msg + "   >>" + str
-       else:
-           error_msg = error_msg + str
-
-libxml2.registerErrorHandler(errorHandler, None)
-
-def testXInclude(filename, id):
-    global error_nr
-    global error_msg
-    global log
-
-    error_nr = 0
-    error_msg = ''
-
-    print "testXInclude(%s, %s)" % (filename, id)
-    return 1
-
-def runTest(test, basedir):
-    global test_nr
-    global test_failed
-    global test_error
-    global test_succeed
-    global error_msg
-    global log
-
-    fatal_error = 0
-    uri = test.prop('href')
-    id = test.prop('id')
-    type = test.prop('type')
-    if uri == None:
-        print "Test without ID:", uri
-       return -1
-    if id == None:
-        print "Test without URI:", id
-       return -1
-    if type == None:
-        print "Test without URI:", id
-       return -1
-    if basedir != None:
-       URI = basedir + "/" + uri
-    else:
-        URI = uri
-    if os.access(URI, os.R_OK) == 0:
-        print "Test %s missing: base %s uri %s" % (URI, basedir, uri)
-       return -1
-
-    expected = None
-    outputfile = None
-    diff = None
-    if type != 'error':
-       output = test.xpathEval('string(output)')
-       if output == 'No output file.':
-           output = None
-       if output == '':
-           output = None
-       if output != None:
-           if basedir != None:
-               output = basedir + "/" + output
-           if os.access(output, os.R_OK) == 0:
-               print "Result for %s missing: %s" % (id, output)
-               output = None
-           else:
-               try:
-                   f = open(output)
-                   expected = f.read()
-                   outputfile = output
-               except:
-                   print "Result for %s unreadable: %s" % (id, output)
-
-    try:
-        # print "testing %s" % (URI)
-       doc = libxml2.parseFile(URI)
-    except:
-        doc = None
-    if doc != None:
-        res = doc.xincludeProcess()
-       if res >= 0 and expected != None:
-           result = doc.serialize()
-           if result != expected:
-               print "Result for %s differs" % (id)
-               open("xinclude.res", "w").write(result)
-               diff = os.popen("diff %s xinclude.res" % outputfile).read()
-
-       doc.freeDoc()
-    else:
-        print "Failed to parse %s" % (URI)
-       res = -1
-
-    
-
-    test_nr = test_nr + 1
-    if type == 'success':
-       if res > 0:
-           test_succeed = test_succeed + 1
-       elif res == 0:
-           test_failed = test_failed + 1
-           print "Test %s: no substitution done ???" % (id)
-       elif res < 0:
-           test_error = test_error + 1
-           print "Test %s: failed valid XInclude processing" % (id)
-    elif type == 'error':
-       if res > 0:
-           test_error = test_error + 1
-           print "Test %s: failed to detect invalid XInclude processing" % (id)
-       elif res == 0:
-           test_failed = test_failed + 1
-           print "Test %s: Invalid but no substitution done" % (id)
-       elif res < 0:
-           test_succeed = test_succeed + 1
-    elif type == 'optional':
-       if res > 0:
-           test_succeed = test_succeed + 1
-       else:
-           print "Test %s: failed optional test" % (id)
-
-    # Log the ontext
-    if res != 1:
-       log.write("Test ID %s\n" % (id))
-       log.write("   File: %s\n" % (URI))
-       content = string.strip(test.content)
-       while content[-1] == '\n':
-           content = content[0:-1]
-       log.write("   %s:%s\n\n" % (type, content))
-       if error_msg != '':
-           log.write("   ----\n%s   ----\n" % (error_msg))
-           error_msg = ''
-       log.write("\n")
-    if diff != None:
-        log.write("diff from test %s:\n" %(id))
-       log.write("   -----------\n%s\n   -----------\n" % (diff));
-
-    return 0
-           
-
-def runTestCases(case):
-    creator = case.prop('creator')
-    if creator != None:
-       print "=>", creator
-    base = case.getBase(None)
-    basedir = case.prop('basedir')
-    if basedir != None:
-       base = libxml2.buildURI(basedir, base)
-    test = case.children
-    while test != None:
-        if test.name == 'testcase':
-           runTest(test, base)
-       if test.name == 'testcases':
-           runTestCases(test)
-        test = test.next
-        
-conf = libxml2.parseFile(CONF)
-if conf == None:
-    print "Unable to load %s" % CONF
-    sys.exit(1)
-
-testsuite = conf.getRootElement()
-if testsuite.name != 'testsuite':
-    print "Expecting TESTSUITE root element: aborting"
-    sys.exit(1)
-
-profile = testsuite.prop('PROFILE')
-if profile != None:
-    print profile
-
-start = time.time()
-
-case = testsuite.children
-while case != None:
-    if case.name == 'testcases':
-       old_test_nr = test_nr
-       old_test_succeed = test_succeed
-       old_test_failed = test_failed
-       old_test_error = test_error
-        runTestCases(case)
-       print "   Ran %d tests: %d suceeded, %d failed and %d generated an error" % (
-              test_nr - old_test_nr, test_succeed - old_test_succeed,
-              test_failed - old_test_failed, test_error - old_test_error)
-    case = case.next
-
-conf.freeDoc()
-log.close()
-
-print "Ran %d tests: %d suceeded, %d failed and %d generated an error in %.2f s." % (
-      test_nr, test_succeed, test_failed, test_error, time.time() - start)
diff --git a/reactos/lib/3rdparty/libxml2/check-xml-test-suite.py b/reactos/lib/3rdparty/libxml2/check-xml-test-suite.py
deleted file mode 100644 (file)
index 2de07b1..0000000
+++ /dev/null
@@ -1,409 +0,0 @@
-#!/usr/bin/python
-import sys
-import time
-import os
-import string
-sys.path.insert(0, "python")
-import libxml2
-
-test_nr = 0
-test_succeed = 0
-test_failed = 0
-test_error = 0
-
-#
-# the testsuite description
-#
-CONF="xml-test-suite/xmlconf/xmlconf.xml"
-LOG="check-xml-test-suite.log"
-
-log = open(LOG, "w")
-
-#
-# Error and warning handlers
-#
-error_nr = 0
-error_msg = ''
-def errorHandler(ctx, str):
-    global error_nr
-    global error_msg
-
-    error_nr = error_nr + 1
-    if len(error_msg) < 300:
-        if len(error_msg) == 0 or error_msg[-1] == '\n':
-           error_msg = error_msg + "   >>" + str
-       else:
-           error_msg = error_msg + str
-
-libxml2.registerErrorHandler(errorHandler, None)
-
-#warning_nr = 0
-#warning = ''
-#def warningHandler(ctx, str):
-#    global warning_nr
-#    global warning
-#
-#    warning_nr = warning_nr + 1
-#    warning = warning + str
-#
-#libxml2.registerWarningHandler(warningHandler, None)
-
-#
-# Used to load the XML testsuite description
-#
-def loadNoentDoc(filename):
-    ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
-        return None
-    ctxt.replaceEntities(1)
-    ctxt.parseDocument()
-    try:
-       doc = ctxt.doc()
-    except:
-        doc = None
-    if ctxt.wellFormed() != 1:
-        doc.freeDoc()
-       return None
-    return doc
-
-#
-# The conformance testing routines
-#
-
-def testNotWf(filename, id):
-    global error_nr
-    global error_msg
-    global log
-
-    error_nr = 0
-    error_msg = ''
-
-    ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
-        return -1
-    ret = ctxt.parseDocument()
-
-    try:
-       doc = ctxt.doc()
-    except:
-        doc = None
-    if doc != None:
-       doc.freeDoc()
-    if ret == 0 or ctxt.wellFormed() != 0:
-        print "%s: error: Well Formedness error not detected" % (id)
-       log.write("%s: error: Well Formedness error not detected\n" % (id))
-       return 0
-    return 1
-
-def testNotWfEnt(filename, id):
-    global error_nr
-    global error_msg
-    global log
-
-    error_nr = 0
-    error_msg = ''
-
-    ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
-        return -1
-    ctxt.replaceEntities(1)
-    ret = ctxt.parseDocument()
-
-    try:
-       doc = ctxt.doc()
-    except:
-        doc = None
-    if doc != None:
-       doc.freeDoc()
-    if ret == 0 or ctxt.wellFormed() != 0:
-        print "%s: error: Well Formedness error not detected" % (id)
-       log.write("%s: error: Well Formedness error not detected\n" % (id))
-       return 0
-    return 1
-
-def testNotWfEntDtd(filename, id):
-    global error_nr
-    global error_msg
-    global log
-
-    error_nr = 0
-    error_msg = ''
-
-    ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
-        return -1
-    ctxt.replaceEntities(1)
-    ctxt.loadSubset(1)
-    ret = ctxt.parseDocument()
-
-    try:
-       doc = ctxt.doc()
-    except:
-        doc = None
-    if doc != None:
-       doc.freeDoc()
-    if ret == 0 or ctxt.wellFormed() != 0:
-        print "%s: error: Well Formedness error not detected" % (id)
-       log.write("%s: error: Well Formedness error not detected\n" % (id))
-       return 0
-    return 1
-
-def testWfEntDtd(filename, id):
-    global error_nr
-    global error_msg
-    global log
-
-    error_nr = 0
-    error_msg = ''
-
-    ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
-        return -1
-    ctxt.replaceEntities(1)
-    ctxt.loadSubset(1)
-    ret = ctxt.parseDocument()
-
-    try:
-       doc = ctxt.doc()
-    except:
-        doc = None
-    if doc == None or ret != 0 or ctxt.wellFormed() == 0:
-        print "%s: error: wrongly failed to parse the document" % (id)
-       log.write("%s: error: wrongly failed to parse the document\n" % (id))
-       if doc != None:
-           doc.freeDoc()
-       return 0
-    if error_nr != 0:
-        print "%s: warning: WF document generated an error msg" % (id)
-       log.write("%s: error: WF document generated an error msg\n" % (id))
-       doc.freeDoc()
-       return 2
-    doc.freeDoc()
-    return 1
-
-def testError(filename, id):
-    global error_nr
-    global error_msg
-    global log
-
-    error_nr = 0
-    error_msg = ''
-
-    ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
-        return -1
-    ctxt.replaceEntities(1)
-    ctxt.loadSubset(1)
-    ret = ctxt.parseDocument()
-
-    try:
-       doc = ctxt.doc()
-    except:
-        doc = None
-    if doc != None:
-       doc.freeDoc()
-    if ctxt.wellFormed() == 0:
-        print "%s: warning: failed to parse the document but accepted" % (id)
-       log.write("%s: warning: failed to parse the document but accepte\n" % (id))
-       return 2
-    if error_nr != 0:
-        print "%s: warning: WF document generated an error msg" % (id)
-       log.write("%s: error: WF document generated an error msg\n" % (id))
-       return 2
-    return 1
-
-def testInvalid(filename, id):
-    global error_nr
-    global error_msg
-    global log
-
-    error_nr = 0
-    error_msg = ''
-
-    ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
-        return -1
-    ctxt.validate(1)
-    ret = ctxt.parseDocument()
-
-    try:
-       doc = ctxt.doc()
-    except:
-        doc = None
-    valid = ctxt.isValid()
-    if doc == None:
-        print "%s: error: wrongly failed to parse the document" % (id)
-       log.write("%s: error: wrongly failed to parse the document\n" % (id))
-       return 0
-    if valid == 1:
-        print "%s: error: Validity error not detected" % (id)
-       log.write("%s: error: Validity error not detected\n" % (id))
-       doc.freeDoc()
-       return 0
-    if error_nr == 0:
-        print "%s: warning: Validity error not reported" % (id)
-       log.write("%s: warning: Validity error not reported\n" % (id))
-       doc.freeDoc()
-       return 2
-        
-    doc.freeDoc()
-    return 1
-
-def testValid(filename, id):
-    global error_nr
-    global error_msg
-
-    error_nr = 0
-    error_msg = ''
-
-    ctxt = libxml2.createFileParserCtxt(filename)
-    if ctxt == None:
-        return -1
-    ctxt.validate(1)
-    ctxt.parseDocument()
-
-    try:
-       doc = ctxt.doc()
-    except:
-        doc = None
-    valid = ctxt.isValid()
-    if doc == None:
-        print "%s: error: wrongly failed to parse the document" % (id)
-       log.write("%s: error: wrongly failed to parse the document\n" % (id))
-       return 0
-    if valid != 1:
-        print "%s: error: Validity check failed" % (id)
-       log.write("%s: error: Validity check failed\n" % (id))
-       doc.freeDoc()
-       return 0
-    if error_nr != 0 or valid != 1:
-        print "%s: warning: valid document reported an error" % (id)
-       log.write("%s: warning: valid document reported an error\n" % (id))
-       doc.freeDoc()
-       return 2
-    doc.freeDoc()
-    return 1
-
-def runTest(test):
-    global test_nr
-    global test_succeed
-    global test_failed
-    global error_msg
-    global log
-
-    uri = test.prop('URI')
-    id = test.prop('ID')
-    if uri == None:
-        print "Test without ID:", uri
-       return -1
-    if id == None:
-        print "Test without URI:", id
-       return -1
-    base = test.getBase(None)
-    URI = libxml2.buildURI(uri, base)
-    if os.access(URI, os.R_OK) == 0:
-        print "Test %s missing: base %s uri %s" % (URI, base, uri)
-       return -1
-    type = test.prop('TYPE')
-    if type == None:
-        print "Test %s missing TYPE" % (id)
-       return -1
-
-    extra = None
-    if type == "invalid":
-        res = testInvalid(URI, id)
-    elif type == "valid":
-        res = testValid(URI, id)
-    elif type == "not-wf":
-        extra =  test.prop('ENTITIES')
-       # print URI
-       #if extra == None:
-       #    res = testNotWfEntDtd(URI, id)
-       #elif extra == 'none':
-       #    res = testNotWf(URI, id)
-       #elif extra == 'general':
-       #    res = testNotWfEnt(URI, id)
-       #elif extra == 'both' or extra == 'parameter':
-       res = testNotWfEntDtd(URI, id)
-       #else:
-       #    print "Unknow value %s for an ENTITIES test value" % (extra)
-       #    return -1
-    elif type == "error":
-       res = testError(URI, id)
-    else:
-        # TODO skipped for now
-       return -1
-
-    test_nr = test_nr + 1
-    if res > 0:
-       test_succeed = test_succeed + 1
-    elif res == 0:
-       test_failed = test_failed + 1
-    elif res < 0:
-       test_error = test_error + 1
-
-    # Log the ontext
-    if res != 1:
-       log.write("   File: %s\n" % (URI))
-       content = string.strip(test.content)
-       while content[-1] == '\n':
-           content = content[0:-1]
-       if extra != None:
-           log.write("   %s:%s:%s\n" % (type, extra, content))
-       else:
-           log.write("   %s:%s\n\n" % (type, content))
-       if error_msg != '':
-           log.write("   ----\n%s   ----\n" % (error_msg))
-           error_msg = ''
-       log.write("\n")
-
-    return 0
-           
-
-def runTestCases(case):
-    profile = case.prop('PROFILE')
-    if profile != None and \
-       string.find(profile, "IBM XML Conformance Test Suite - Production") < 0:
-       print "=>", profile
-    test = case.children
-    while test != None:
-        if test.name == 'TEST':
-           runTest(test)
-       if test.name == 'TESTCASES':
-           runTestCases(test)
-        test = test.next
-        
-conf = loadNoentDoc(CONF)
-if conf == None:
-    print "Unable to load %s" % CONF
-    sys.exit(1)
-
-testsuite = conf.getRootElement()
-if testsuite.name != 'TESTSUITE':
-    print "Expecting TESTSUITE root element: aborting"
-    sys.exit(1)
-
-profile = testsuite.prop('PROFILE')
-if profile != None:
-    print profile
-
-start = time.time()
-
-case = testsuite.children
-while case != None:
-    if case.name == 'TESTCASES':
-       old_test_nr = test_nr
-       old_test_succeed = test_succeed
-       old_test_failed = test_failed
-       old_test_error = test_error
-        runTestCases(case)
-       print "   Ran %d tests: %d suceeded, %d failed and %d generated an error" % (
-              test_nr - old_test_nr, test_succeed - old_test_succeed,
-              test_failed - old_test_failed, test_error - old_test_error)
-    case = case.next
-
-conf.freeDoc()
-log.close()
-
-print "Ran %d tests: %d suceeded, %d failed and %d generated an error in %.2f s." % (
-      test_nr, test_succeed, test_failed, test_error, time.time() - start)
diff --git a/reactos/lib/3rdparty/libxml2/check-xsddata-test-suite.py b/reactos/lib/3rdparty/libxml2/check-xsddata-test-suite.py
deleted file mode 100644 (file)
index c946129..0000000
+++ /dev/null
@@ -1,420 +0,0 @@
-#!/usr/bin/python
-import sys
-import time
-import os
-import string
-import StringIO
-sys.path.insert(0, "python")
-import libxml2
-
-# Memory debug specific
-libxml2.debugMemory(1)
-debug = 0
-verbose = 0
-quiet = 1
-
-#
-# the testsuite description
-#
-CONF=os.path.join(os.path.dirname(__file__), "test/xsdtest/xsdtestsuite.xml")
-LOG="check-xsddata-test-suite.log"
-
-log = open(LOG, "w")
-nb_schemas_tests = 0
-nb_schemas_success = 0
-nb_schemas_failed = 0
-nb_instances_tests = 0
-nb_instances_success = 0
-nb_instances_failed = 0
-
-libxml2.lineNumbersDefault(1)
-#
-# Error and warnng callbacks
-#
-def callback(ctx, str):
-    global log
-    log.write("%s%s" % (ctx, str))
-
-libxml2.registerErrorHandler(callback, "")
-
-#
-# Resolver callback
-#
-resources = {}
-def resolver(URL, ID, ctxt):
-    global resources
-
-    if resources.has_key(URL):
-        return(StringIO.StringIO(resources[URL]))
-    log.write("Resolver failure: asked %s\n" % (URL))
-    log.write("resources: %s\n" % (resources))
-    return None
-
-#
-# handle a valid instance
-#
-def handle_valid(node, schema):
-    global log
-    global nb_instances_success
-    global nb_instances_failed
-
-    instance = node.prop("dtd")
-    if instance == None:
-        instance = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           instance = instance + child.serialize()
-       child = child.next
-
-    mem = libxml2.debugMemory(1);
-    try:
-       doc = libxml2.parseDoc(instance)
-    except:
-        doc = None
-
-    if doc == None:
-        log.write("\nFailed to parse correct instance:\n-----\n")
-       log.write(instance)
-        log.write("\n-----\n")
-       nb_instances_failed = nb_instances_failed + 1
-       return
-
-    if debug:
-        print "instance line %d" % (node.lineNo())
-       
-    try:
-        ctxt = schema.relaxNGNewValidCtxt()
-       ret = doc.relaxNGValidateDoc(ctxt)
-       del ctxt
-    except:
-        ret = -1
-
-    doc.freeDoc()
-    if mem != libxml2.debugMemory(1):
-       print "validating instance %d line %d leaks" % (
-                 nb_instances_tests, node.lineNo())
-
-    if ret != 0:
-        log.write("\nFailed to validate correct instance:\n-----\n")
-       log.write(instance)
-        log.write("\n-----\n")
-       nb_instances_failed = nb_instances_failed + 1
-    else:
-       nb_instances_success = nb_instances_success + 1
-
-#
-# handle an invalid instance
-#
-def handle_invalid(node, schema):
-    global log
-    global nb_instances_success
-    global nb_instances_failed
-
-    instance = node.prop("dtd")
-    if instance == None:
-        instance = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           instance = instance + child.serialize()
-       child = child.next
-
-#    mem = libxml2.debugMemory(1);
-
-    try:
-       doc = libxml2.parseDoc(instance)
-    except:
-        doc = None
-
-    if doc == None:
-        log.write("\nStrange: failed to parse incorrect instance:\n-----\n")
-       log.write(instance)
-        log.write("\n-----\n")
-       return
-
-    if debug:
-        print "instance line %d" % (node.lineNo())
-       
-    try:
-        ctxt = schema.relaxNGNewValidCtxt()
-       ret = doc.relaxNGValidateDoc(ctxt)
-       del ctxt
-
-    except:
-        ret = -1
-
-    doc.freeDoc()
-#    if mem != libxml2.debugMemory(1):
-#      print "validating instance %d line %d leaks" % (
-#                nb_instances_tests, node.lineNo())
-    
-    if ret == 0:
-        log.write("\nFailed to detect validation problem in instance:\n-----\n")
-       log.write(instance)
-        log.write("\n-----\n")
-       nb_instances_failed = nb_instances_failed + 1
-    else:
-       nb_instances_success = nb_instances_success + 1
-
-#
-# handle an incorrect test
-#
-def handle_correct(node):
-    global log
-    global nb_schemas_success
-    global nb_schemas_failed
-
-    schema = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           schema = schema + child.serialize()
-       child = child.next
-
-    try:
-       rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
-       rngs = rngp.relaxNGParse()
-    except:
-        rngs = None
-    if rngs == None:
-        log.write("\nFailed to compile correct schema:\n-----\n")
-       log.write(schema)
-        log.write("\n-----\n")
-       nb_schemas_failed = nb_schemas_failed + 1
-    else:
-       nb_schemas_success = nb_schemas_success + 1
-    return rngs
-        
-def handle_incorrect(node):
-    global log
-    global nb_schemas_success
-    global nb_schemas_failed
-
-    schema = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           schema = schema + child.serialize()
-       child = child.next
-
-    try:
-       rngp = libxml2.relaxNGNewMemParserCtxt(schema, len(schema))
-       rngs = rngp.relaxNGParse()
-    except:
-        rngs = None
-    if rngs != None:
-        log.write("\nFailed to detect schema error in:\n-----\n")
-       log.write(schema)
-        log.write("\n-----\n")
-       nb_schemas_failed = nb_schemas_failed + 1
-    else:
-#      log.write("\nSuccess detecting schema error in:\n-----\n")
-#      log.write(schema)
-#      log.write("\n-----\n")
-       nb_schemas_success = nb_schemas_success + 1
-    return None
-
-#
-# resource handling: keep a dictionary of URL->string mappings
-#
-def handle_resource(node, dir):
-    global resources
-
-    try:
-       name = node.prop('name')
-    except:
-        name = None
-
-    if name == None or name == '':
-        log.write("resource has no name")
-       return;
-        
-    if dir != None:
-#        name = libxml2.buildURI(name, dir)
-        name = dir + '/' + name
-
-    res = ""
-    child = node.children
-    while child != None:
-        if child.type != 'text':
-           res = res + child.serialize()
-       child = child.next
-    resources[name] = res
-
-#
-# dir handling: pseudo directory resources
-#
-def handle_dir(node, dir):
-    try:
-       name = node.prop('name')
-    except:
-        name = None
-
-    if name == None or name == '':
-        log.write("resource has no name")
-       return;
-        
-    if dir != None:
-#        name = libxml2.buildURI(name, dir)
-        name = dir + '/' + name
-
-    dirs = node.xpathEval('dir')
-    for dir in dirs:
-        handle_dir(dir, name)
-    res = node.xpathEval('resource')
-    for r in res:
-        handle_resource(r, name)
-
-#
-# handle a testCase element
-#
-def handle_testCase(node):
-    global nb_schemas_tests
-    global nb_instances_tests
-    global resources
-
-    sections = node.xpathEval('string(section)')
-    log.write("\n    ======== test %d line %d section %s ==========\n" % (
-
-              nb_schemas_tests, node.lineNo(), sections))
-    resources = {}
-    if debug:
-        print "test %d line %d" % (nb_schemas_tests, node.lineNo())
-
-    dirs = node.xpathEval('dir')
-    for dir in dirs:
-        handle_dir(dir, None)
-    res = node.xpathEval('resource')
-    for r in res:
-        handle_resource(r, None)
-
-    tsts = node.xpathEval('incorrect')
-    if tsts != []:
-        if len(tsts) != 1:
-           print "warning test line %d has more than one <incorrect> example" %(node.lineNo())
-       schema = handle_incorrect(tsts[0])
-    else:
-        tsts = node.xpathEval('correct')
-       if tsts != []:
-           if len(tsts) != 1:
-               print "warning test line %d has more than one <correct> example"% (node.lineNo())
-           schema = handle_correct(tsts[0])
-       else:
-           print "warning <testCase> line %d has no <correct> nor <incorrect> child" % (node.lineNo())
-
-    nb_schemas_tests = nb_schemas_tests + 1;
-    
-    valids = node.xpathEval('valid')
-    invalids = node.xpathEval('invalid')
-    nb_instances_tests = nb_instances_tests + len(valids) + len(invalids)
-    if schema != None:
-        for valid in valids:
-           handle_valid(valid, schema)
-        for invalid in invalids:
-           handle_invalid(invalid, schema)
-
-
-#
-# handle a testSuite element
-#
-def handle_testSuite(node, level = 0):
-    global nb_schemas_tests, nb_schemas_success, nb_schemas_failed
-    global nb_instances_tests, nb_instances_success, nb_instances_failed
-    if verbose and level >= 0:
-       old_schemas_tests = nb_schemas_tests
-       old_schemas_success = nb_schemas_success
-       old_schemas_failed = nb_schemas_failed
-       old_instances_tests = nb_instances_tests
-       old_instances_success = nb_instances_success
-       old_instances_failed = nb_instances_failed
-
-    docs = node.xpathEval('documentation')
-    authors = node.xpathEval('author')
-    if docs != []:
-        msg = ""
-        for doc in docs:
-           msg = msg + doc.content + " "
-       if authors != []:
-           msg = msg + "written by "
-           for author in authors:
-               msg = msg + author.content + " "
-       if quiet == 0:
-           print msg
-    sections = node.xpathEval('section')
-    if verbose and sections != [] and level <= 0:
-        msg = ""
-        for section in sections:
-           msg = msg + section.content + " "
-       if quiet == 0:
-           print "Tests for section %s" % (msg)
-    for test in node.xpathEval('testCase'):
-        handle_testCase(test)
-    for test in node.xpathEval('testSuite'):
-        handle_testSuite(test, level + 1)
-               
-
-    if verbose and level >= 0 :
-        if sections != []:
-           msg = ""
-           for section in sections:
-               msg = msg + section.content + " "
-           print "Result of tests for section %s" % (msg)
-       elif docs != []:
-           msg = ""
-           for doc in docs:
-               msg = msg + doc.content + " "
-           print "Result of tests for %s" % (msg)
-
-        if nb_schemas_tests != old_schemas_tests:
-           print "found %d test schemas: %d success %d failures" % (
-                 nb_schemas_tests - old_schemas_tests,
-                 nb_schemas_success - old_schemas_success,
-                 nb_schemas_failed - old_schemas_failed)
-       if nb_instances_tests != old_instances_tests:
-           print "found %d test instances: %d success %d failures" % (
-                 nb_instances_tests - old_instances_tests,
-                 nb_instances_success - old_instances_success,
-                 nb_instances_failed - old_instances_failed)
-#
-# Parse the conf file
-#
-libxml2.substituteEntitiesDefault(1);
-testsuite = libxml2.parseFile(CONF)
-
-#
-# Error and warnng callbacks
-#
-def callback(ctx, str):
-    global log
-    log.write("%s%s" % (ctx, str))
-
-libxml2.registerErrorHandler(callback, "")
-
-libxml2.setEntityLoader(resolver)
-root = testsuite.getRootElement()
-if root.name != 'testSuite':
-    print "%s doesn't start with a testSuite element, aborting" % (CONF)
-    sys.exit(1)
-if quiet == 0:
-    print "Running Relax NG testsuite"
-handle_testSuite(root)
-
-if quiet == 0 or nb_schemas_failed != 0:
-    print "\nTOTAL:\nfound %d test schemas: %d success %d failures" % (
-      nb_schemas_tests, nb_schemas_success, nb_schemas_failed)
-if quiet == 0 or nb_instances_failed != 0:
-    print "found %d test instances: %d success %d failures" % (
-      nb_instances_tests, nb_instances_success, nb_instances_failed)
-
-testsuite.freeDoc()
-
-# Memory debug specific
-libxml2.relaxNGCleanupTypes()
-libxml2.cleanupParser()
-if libxml2.debugMemory(1) == 0:
-    if quiet == 0:
-       print "OK"
-else:
-    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
-    libxml2.dumpMemory()
diff --git a/reactos/lib/3rdparty/libxml2/config.guess b/reactos/lib/3rdparty/libxml2/config.guess
deleted file mode 100644 (file)
index 49ba16f..0000000
+++ /dev/null
@@ -1,1522 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012 Free Software Foundation, Inc.
-
-timestamp='2012-01-01'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner.  Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
-#
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )        # Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help" >&2
-       exit 1 ;;
-    * )
-       break ;;
-  esac
-done
-
-if test $# != 0; then
-  echo "$me: too many arguments$help" >&2
-  exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-       for c in cc gcc c89 c99 ; do
-         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-            CC_FOR_BUILD="$c"; break ;
-         fi ;
-       done ;
-       if test x"$CC_FOR_BUILD" = x ; then
-         CC_FOR_BUILD=no_compiler_found ;
-       fi
-       ;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-       PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    *:NetBSD:*:*)
-       # NetBSD (nbsd) targets should (where applicable) match one or
-       # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
-       # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-       # switched to ELF, *-*-netbsd* would select the old
-       # object file format.  This provides both forward
-       # compatibility and a consistent mechanism for selecting the
-       # object file format.
-       #
-       # Note: NetBSD doesn't particularly care about the vendor
-       # portion of the name.  We always set it to "unknown".
-       sysctl="sysctl -n hw.machine_arch"
-       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-       case "${UNAME_MACHINE_ARCH}" in
-           armeb) machine=armeb-unknown ;;
-           arm*) machine=arm-unknown ;;
-           sh3el) machine=shl-unknown ;;
-           sh3eb) machine=sh-unknown ;;
-           sh5el) machine=sh5le-unknown ;;
-           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
-       esac
-       # The Operating System including object format, if it has switched
-       # to ELF recently, or will in the future.
-       case "${UNAME_MACHINE_ARCH}" in
-           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-               eval $set_cc_for_build
-               if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-                       | grep -q __ELF__
-               then
-                   # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-                   # Return netbsd for either.  FIX?
-                   os=netbsd
-               else
-                   os=netbsdelf
-               fi
-               ;;
-           *)
-               os=netbsd
-               ;;
-       esac
-       # The OS release
-       # Debian GNU/NetBSD machines have a different userland, and
-       # thus, need a distinct triplet. However, they do not need
-       # kernel version information, so it can be replaced with a
-       # suitable tag, in the style of linux-gnu.
-       case "${UNAME_VERSION}" in
-           Debian*)
-               release='-gnu'
-               ;;
-           *)
-               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-               ;;
-       esac
-       # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-       # contains redundant information, the shorter form:
-       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-       echo "${machine}-${os}${release}"
-       exit ;;
-    *:OpenBSD:*:*)
-       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    *:ekkoBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-       exit ;;
-    *:SolidBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
-       exit ;;
-    macppc:MirBSD:*:*)
-       echo powerpc-unknown-mirbsd${UNAME_RELEASE}
-       exit ;;
-    *:MirBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-       exit ;;
-    alpha:OSF1:*:*)
-       case $UNAME_RELEASE in
-       *4.0)
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-               ;;
-       *5.*)
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-               ;;
-       esac
-       # According to Compaq, /usr/sbin/psrinfo has been available on
-       # OSF/1 and Tru64 systems produced since 1995.  I hope that
-       # covers most systems running today.  This code pipes the CPU
-       # types through head -n 1, so we only detect the type of CPU 0.
-       ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-       case "$ALPHA_CPU_TYPE" in
-           "EV4 (21064)")
-               UNAME_MACHINE="alpha" ;;
-           "EV4.5 (21064)")
-               UNAME_MACHINE="alpha" ;;
-           "LCA4 (21066/21068)")
-               UNAME_MACHINE="alpha" ;;
-           "EV5 (21164)")
-               UNAME_MACHINE="alphaev5" ;;
-           "EV5.6 (21164A)")
-               UNAME_MACHINE="alphaev56" ;;
-           "EV5.6 (21164PC)")
-               UNAME_MACHINE="alphapca56" ;;
-           "EV5.7 (21164PC)")
-               UNAME_MACHINE="alphapca57" ;;
-           "EV6 (21264)")
-               UNAME_MACHINE="alphaev6" ;;
-           "EV6.7 (21264A)")
-               UNAME_MACHINE="alphaev67" ;;
-           "EV6.8CB (21264C)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.8AL (21264B)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.8CX (21264D)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.9A (21264/EV69A)")
-               UNAME_MACHINE="alphaev69" ;;
-           "EV7 (21364)")
-               UNAME_MACHINE="alphaev7" ;;
-           "EV7.9 (21364A)")
-               UNAME_MACHINE="alphaev79" ;;
-       esac
-       # A Pn.n version is a patched version.
-       # A Vn.n version is a released version.
-       # A Tn.n version is a released field test version.
-       # A Xn.n version is an unreleased experimental baselevel.
-       # 1.2 uses "1.2" for uname -r.
-       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
-       exitcode=$?
-       trap '' 0
-       exit $exitcode ;;
-    Alpha\ *:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # Should we change UNAME_MACHINE based on the output of uname instead
-       # of the specific Alpha model?
-       echo alpha-pc-interix
-       exit ;;
-    21064:Windows_NT:50:3)
-       echo alpha-dec-winnt3.5
-       exit ;;
-    Amiga*:UNIX_System_V:4.0:*)
-       echo m68k-unknown-sysv4
-       exit ;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-amigaos
-       exit ;;
-    *:[Mm]orph[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-morphos
-       exit ;;
-    *:OS/390:*:*)
-       echo i370-ibm-openedition
-       exit ;;
-    *:z/VM:*:*)
-       echo s390-ibm-zvmoe
-       exit ;;
-    *:OS400:*:*)
-       echo powerpc-ibm-os400
-       exit ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-       echo arm-acorn-riscix${UNAME_RELEASE}
-       exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
-       echo arm-unknown-riscos
-       exit ;;
-    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-       echo hppa1.1-hitachi-hiuxmpp
-       exit ;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-       # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-       if test "`(/bin/universe) 2>/dev/null`" = att ; then
-               echo pyramid-pyramid-sysv3
-       else
-               echo pyramid-pyramid-bsd
-       fi
-       exit ;;
-    NILE*:*:*:dcosx)
-       echo pyramid-pyramid-svr4
-       exit ;;
-    DRS?6000:unix:4.0:6*)
-       echo sparc-icl-nx6
-       exit ;;
-    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
-       case `/usr/bin/uname -p` in
-           sparc) echo sparc-icl-nx7; exit ;;
-       esac ;;
-    s390x:SunOS:*:*)
-       echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    sun4H:SunOS:5.*:*)
-       echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-       echo i386-pc-auroraux${UNAME_RELEASE}
-       exit ;;
-    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-       eval $set_cc_for_build
-       SUN_ARCH="i386"
-       # If there is a compiler, see if it is configured for 64-bit objects.
-       # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
-       # This test works for both compilers.
-       if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-           if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-               (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-               grep IS_64BIT_ARCH >/dev/null
-           then
-               SUN_ARCH="x86_64"
-           fi
-       fi
-       echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    sun4*:SunOS:6*:*)
-       # According to config.sub, this is the proper way to canonicalize
-       # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-       # it's likely to be more like Solaris than SunOS4.
-       echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    sun4*:SunOS:*:*)
-       case "`/usr/bin/arch -k`" in
-           Series*|S4*)
-               UNAME_RELEASE=`uname -v`
-               ;;
-       esac
-       # Japanese Language versions have a version number like `4.1.3-JL'.
-       echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-       exit ;;
-    sun3*:SunOS:*:*)
-       echo m68k-sun-sunos${UNAME_RELEASE}
-       exit ;;
-    sun*:*:4.2BSD:*)
-       UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-       case "`/bin/arch`" in
-           sun3)
-               echo m68k-sun-sunos${UNAME_RELEASE}
-               ;;
-           sun4)
-               echo sparc-sun-sunos${UNAME_RELEASE}
-               ;;
-       esac
-       exit ;;
-    aushp:SunOS:*:*)
-       echo sparc-auspex-sunos${UNAME_RELEASE}
-       exit ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-       echo m68k-milan-mint${UNAME_RELEASE}
-       exit ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-       echo m68k-hades-mint${UNAME_RELEASE}
-       exit ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-       echo m68k-unknown-mint${UNAME_RELEASE}
-       exit ;;
-    m68k:machten:*:*)
-       echo m68k-apple-machten${UNAME_RELEASE}
-       exit ;;
-    powerpc:machten:*:*)
-       echo powerpc-apple-machten${UNAME_RELEASE}
-       exit ;;
-    RISC*:Mach:*:*)
-       echo mips-dec-mach_bsd4.3
-       exit ;;
-    RISC*:ULTRIX:*:*)
-       echo mips-dec-ultrix${UNAME_RELEASE}
-       exit ;;
-    VAX*:ULTRIX*:*:*)
-       echo vax-dec-ultrix${UNAME_RELEASE}
-       exit ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-       echo clipper-intergraph-clix${UNAME_RELEASE}
-       exit ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-       int main (int argc, char *argv[]) {
-#else
-       int main (argc, argv) int argc; char *argv[]; {
-#endif
-       #if defined (host_mips) && defined (MIPSEB)
-       #if defined (SYSTYPE_SYSV)
-         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-       #endif
-       #if defined (SYSTYPE_SVR4)
-         printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-       #endif
-       #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-         printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-       #endif
-       #endif
-         exit (-1);
-       }
-EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c &&
-         dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-         SYSTEM_NAME=`$dummy $dummyarg` &&
-           { echo "$SYSTEM_NAME"; exit; }
-       echo mips-mips-riscos${UNAME_RELEASE}
-       exit ;;
-    Motorola:PowerMAX_OS:*:*)
-       echo powerpc-motorola-powermax
-       exit ;;
-    Motorola:*:4.3:PL8-*)
-       echo powerpc-harris-powermax
-       exit ;;
-    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-       echo powerpc-harris-powermax
-       exit ;;
-    Night_Hawk:Power_UNIX:*:*)
-       echo powerpc-harris-powerunix
-       exit ;;
-    m88k:CX/UX:7*:*)
-       echo m88k-harris-cxux7
-       exit ;;
-    m88k:*:4*:R4*)
-       echo m88k-motorola-sysv4
-       exit ;;
-    m88k:*:3*:R3*)
-       echo m88k-motorola-sysv3
-       exit ;;
-    AViiON:dgux:*:*)
-       # DG/UX returns AViiON for all architectures
-       UNAME_PROCESSOR=`/usr/bin/uname -p`
-       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-       then
-           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-              [ ${TARGET_BINARY_INTERFACE}x = x ]
-           then
-               echo m88k-dg-dgux${UNAME_RELEASE}
-           else
-               echo m88k-dg-dguxbcs${UNAME_RELEASE}
-           fi
-       else
-           echo i586-dg-dgux${UNAME_RELEASE}
-       fi
-       exit ;;
-    M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
-       echo m88k-dolphin-sysv3
-       exit ;;
-    M88*:*:R3*:*)
-       # Delta 88k system running SVR3
-       echo m88k-motorola-sysv3
-       exit ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-       echo m88k-tektronix-sysv3
-       exit ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-       echo m68k-tektronix-bsd
-       exit ;;
-    *:IRIX*:*:*)
-       echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-       exit ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-       echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
-       exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
-    i*86:AIX:*:*)
-       echo i386-ibm-aix
-       exit ;;
-    ia64:AIX:*:*)
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
-       else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-       fi
-       echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-       exit ;;
-    *:AIX:2:3)
-       if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-               eval $set_cc_for_build
-               sed 's/^                //' << EOF >$dummy.c
-               #include <sys/systemcfg.h>
-
-               main()
-                       {
-                       if (!__power_pc())
-                               exit(1);
-                       puts("powerpc-ibm-aix3.2.5");
-                       exit(0);
-                       }
-EOF
-               if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
-               then
-                       echo "$SYSTEM_NAME"
-               else
-                       echo rs6000-ibm-aix3.2.5
-               fi
-       elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-               echo rs6000-ibm-aix3.2.4
-       else
-               echo rs6000-ibm-aix3.2
-       fi
-       exit ;;
-    *:AIX:*:[4567])
-       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-               IBM_ARCH=rs6000
-       else
-               IBM_ARCH=powerpc
-       fi
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
-       else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-       fi
-       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-       exit ;;
-    *:AIX:*:*)
-       echo rs6000-ibm-aix
-       exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-       echo romp-ibm-bsd4.4
-       exit ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-       exit ;;                             # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-       echo rs6000-bull-bosx
-       exit ;;
-    DPX/2?00:B.O.S.:*:*)
-       echo m68k-bull-sysv3
-       exit ;;
-    9000/[34]??:4.3bsd:1.*:*)
-       echo m68k-hp-bsd
-       exit ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-       echo m68k-hp-bsd4.4
-       exit ;;
-    9000/[34678]??:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       case "${UNAME_MACHINE}" in
-           9000/31? )            HP_ARCH=m68000 ;;
-           9000/[34]?? )         HP_ARCH=m68k ;;
-           9000/[678][0-9][0-9])
-               if [ -x /usr/bin/getconf ]; then
-                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                   sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                   case "${sc_cpu_version}" in
-                     523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                     528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-                     532)                      # CPU_PA_RISC2_0
-                       case "${sc_kernel_bits}" in
-                         32) HP_ARCH="hppa2.0n" ;;
-                         64) HP_ARCH="hppa2.0w" ;;
-                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-                       esac ;;
-                   esac
-               fi
-               if [ "${HP_ARCH}" = "" ]; then
-                   eval $set_cc_for_build
-                   sed 's/^            //' << EOF >$dummy.c
-
-               #define _HPUX_SOURCE
-               #include <stdlib.h>
-               #include <unistd.h>
-
-               int main ()
-               {
-               #if defined(_SC_KERNEL_BITS)
-                   long bits = sysconf(_SC_KERNEL_BITS);
-               #endif
-                   long cpu  = sysconf (_SC_CPU_VERSION);
-
-                   switch (cpu)
-                       {
-                       case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-                       case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-                       case CPU_PA_RISC2_0:
-               #if defined(_SC_KERNEL_BITS)
-                           switch (bits)
-                               {
-                               case 64: puts ("hppa2.0w"); break;
-                               case 32: puts ("hppa2.0n"); break;
-                               default: puts ("hppa2.0"); break;
-                               } break;
-               #else  /* !defined(_SC_KERNEL_BITS) */
-                           puts ("hppa2.0"); break;
-               #endif
-                       default: puts ("hppa1.0"); break;
-                       }
-                   exit (0);
-               }
-EOF
-                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-                   test -z "$HP_ARCH" && HP_ARCH=hppa
-               fi ;;
-       esac
-       if [ ${HP_ARCH} = "hppa2.0w" ]
-       then
-           eval $set_cc_for_build
-
-           # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
-           # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
-           # generating 64-bit code.  GNU and HP use different nomenclature:
-           #
-           # $ CC_FOR_BUILD=cc ./config.guess
-           # => hppa2.0w-hp-hpux11.23
-           # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
-           # => hppa64-hp-hpux11.23
-
-           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-               grep -q __LP64__
-           then
-               HP_ARCH="hppa2.0w"
-           else
-               HP_ARCH="hppa64"
-           fi
-       fi
-       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-       exit ;;
-    ia64:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       echo ia64-hp-hpux${HPUX_REV}
-       exit ;;
-    3050*:HI-UX:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #include <unistd.h>
-       int
-       main ()
-       {
-         long cpu = sysconf (_SC_CPU_VERSION);
-         /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-            true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-            results, however.  */
-         if (CPU_IS_PA_RISC (cpu))
-           {
-             switch (cpu)
-               {
-                 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-                 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-                 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-                 default: puts ("hppa-hitachi-hiuxwe2"); break;
-               }
-           }
-         else if (CPU_IS_HP_MC68K (cpu))
-           puts ("m68k-hitachi-hiuxwe2");
-         else puts ("unknown-hitachi-hiuxwe2");
-         exit (0);
-       }
-EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
-               { echo "$SYSTEM_NAME"; exit; }
-       echo unknown-hitachi-hiuxwe2
-       exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-       echo hppa1.1-hp-bsd
-       exit ;;
-    9000/8??:4.3bsd:*:*)
-       echo hppa1.0-hp-bsd
-       exit ;;
-    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-       echo hppa1.0-hp-mpeix
-       exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-       echo hppa1.1-hp-osf
-       exit ;;
-    hp8??:OSF1:*:*)
-       echo hppa1.0-hp-osf
-       exit ;;
-    i*86:OSF1:*:*)
-       if [ -x /usr/sbin/sysversion ] ; then
-           echo ${UNAME_MACHINE}-unknown-osf1mk
-       else
-           echo ${UNAME_MACHINE}-unknown-osf1
-       fi
-       exit ;;
-    parisc*:Lites*:*:*)
-       echo hppa1.1-hp-lites
-       exit ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-       echo c1-convex-bsd
-       exit ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-       exit ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-       echo c34-convex-bsd
-       exit ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-       echo c38-convex-bsd
-       exit ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-       echo c4-convex-bsd
-       exit ;;
-    CRAY*Y-MP:*:*:*)
-       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*[A-Z]90:*:*:*)
-       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-       | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-             -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-             -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*TS:*:*:*)
-       echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*T3E:*:*:*)
-       echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*SV1:*:*:*)
-       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    *:UNICOS/mp:*:*)
-       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-       FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-       echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-       exit ;;
-    5000:UNIX_System_V:4.*:*)
-       FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-       FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-       echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-       exit ;;
-    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-       exit ;;
-    sparc*:BSD/OS:*:*)
-       echo sparc-unknown-bsdi${UNAME_RELEASE}
-       exit ;;
-    *:BSD/OS:*:*)
-       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-       exit ;;
-    *:FreeBSD:*:*)
-       UNAME_PROCESSOR=`/usr/bin/uname -p`
-       case ${UNAME_PROCESSOR} in
-           amd64)
-               echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-           *)
-               echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-       esac
-       exit ;;
-    i*:CYGWIN*:*)
-       echo ${UNAME_MACHINE}-pc-cygwin
-       exit ;;
-    *:MINGW*:*)
-       echo ${UNAME_MACHINE}-pc-mingw32
-       exit ;;
-    i*:MSYS*:*)
-       echo ${UNAME_MACHINE}-pc-msys
-       exit ;;
-    i*:windows32*:*)
-       # uname -m includes "-pc" on this system.
-       echo ${UNAME_MACHINE}-mingw32
-       exit ;;
-    i*:PW*:*)
-       echo ${UNAME_MACHINE}-pc-pw32
-       exit ;;
-    *:Interix*:*)
-       case ${UNAME_MACHINE} in
-           x86)
-               echo i586-pc-interix${UNAME_RELEASE}
-               exit ;;
-           authenticamd | genuineintel | EM64T)
-               echo x86_64-unknown-interix${UNAME_RELEASE}
-               exit ;;
-           IA64)
-               echo ia64-unknown-interix${UNAME_RELEASE}
-               exit ;;
-       esac ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-       echo i${UNAME_MACHINE}-pc-mks
-       exit ;;
-    8664:Windows_NT:*)
-       echo x86_64-pc-mks
-       exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-       # UNAME_MACHINE based on the output of uname instead of i386?
-       echo i586-pc-interix
-       exit ;;
-    i*:UWIN*:*)
-       echo ${UNAME_MACHINE}-pc-uwin
-       exit ;;
-    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-       echo x86_64-unknown-cygwin
-       exit ;;
-    p*:CYGWIN*:*)
-       echo powerpcle-unknown-cygwin
-       exit ;;
-    prep*:SunOS:5.*:*)
-       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    *:GNU:*:*)
-       # the GNU system
-       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-       exit ;;
-    *:GNU/*:*:*)
-       # other systems with GNU libc and userland
-       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
-       exit ;;
-    i*86:Minix:*:*)
-       echo ${UNAME_MACHINE}-pc-minix
-       exit ;;
-    alpha:Linux:*:*)
-       case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-         EV5)   UNAME_MACHINE=alphaev5 ;;
-         EV56)  UNAME_MACHINE=alphaev56 ;;
-         PCA56) UNAME_MACHINE=alphapca56 ;;
-         PCA57) UNAME_MACHINE=alphapca56 ;;
-         EV6)   UNAME_MACHINE=alphaev6 ;;
-         EV67)  UNAME_MACHINE=alphaev67 ;;
-         EV68*) UNAME_MACHINE=alphaev68 ;;
-       esac
-       objdump --private-headers /bin/sh | grep -q ld.so.1
-       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-       exit ;;
-    arm*:Linux:*:*)
-       eval $set_cc_for_build
-       if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
-           | grep -q __ARM_EABI__
-       then
-           echo ${UNAME_MACHINE}-unknown-linux-gnu
-       else
-           if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
-               | grep -q __ARM_PCS_VFP
-           then
-               echo ${UNAME_MACHINE}-unknown-linux-gnueabi
-           else
-               echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
-           fi
-       fi
-       exit ;;
-    avr32*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    cris:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-gnu
-       exit ;;
-    crisv32:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-gnu
-       exit ;;
-    frv:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    hexagon:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    i*86:Linux:*:*)
-       LIBC=gnu
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #ifdef __dietlibc__
-       LIBC=dietlibc
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-       echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-       exit ;;
-    ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    m32r*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    m68*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    mips:Linux:*:* | mips64:Linux:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #undef CPU
-       #undef ${UNAME_MACHINE}
-       #undef ${UNAME_MACHINE}el
-       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-       CPU=${UNAME_MACHINE}el
-       #else
-       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-       CPU=${UNAME_MACHINE}
-       #else
-       CPU=
-       #endif
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-       ;;
-    or32:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    padre:Linux:*:*)
-       echo sparc-unknown-linux-gnu
-       exit ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-       echo hppa64-unknown-linux-gnu
-       exit ;;
-    parisc:Linux:*:* | hppa:Linux:*:*)
-       # Look for CPU level
-       case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-         PA7*) echo hppa1.1-unknown-linux-gnu ;;
-         PA8*) echo hppa2.0-unknown-linux-gnu ;;
-         *)    echo hppa-unknown-linux-gnu ;;
-       esac
-       exit ;;
-    ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-gnu
-       exit ;;
-    ppc:Linux:*:*)
-       echo powerpc-unknown-linux-gnu
-       exit ;;
-    s390:Linux:*:* | s390x:Linux:*:*)
-       echo ${UNAME_MACHINE}-ibm-linux
-       exit ;;
-    sh64*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    sh*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    tile*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    vax:Linux:*:*)
-       echo ${UNAME_MACHINE}-dec-linux-gnu
-       exit ;;
-    x86_64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    xtensa*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    i*86:DYNIX/ptx:4*:*)
-       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-       # earlier versions are messed up and put the nodename in both
-       # sysname and nodename.
-       echo i386-sequent-sysv4
-       exit ;;
-    i*86:UNIX_SV:4.2MP:2.*)
-       # Unixware is an offshoot of SVR4, but it has its own version
-       # number series starting with 2...
-       # I am not positive that other SVR4 systems won't match this,
-       # I just have to hope.  -- rms.
-       # Use sysv4.2uw... so that sysv4* matches it.
-       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-       exit ;;
-    i*86:OS/2:*:*)
-       # If we were able to find `uname', then EMX Unix compatibility
-       # is probably installed.
-       echo ${UNAME_MACHINE}-pc-os2-emx
-       exit ;;
-    i*86:XTS-300:*:STOP)
-       echo ${UNAME_MACHINE}-unknown-stop
-       exit ;;
-    i*86:atheos:*:*)
-       echo ${UNAME_MACHINE}-unknown-atheos
-       exit ;;
-    i*86:syllable:*:*)
-       echo ${UNAME_MACHINE}-pc-syllable
-       exit ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-       echo i386-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    i*86:*DOS:*:*)
-       echo ${UNAME_MACHINE}-pc-msdosdjgpp
-       exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-       UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-       if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-               echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-       else
-               echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-       fi
-       exit ;;
-    i*86:*:5:[678]*)
-       # UnixWare 7.x, OpenUNIX and OpenServer 6.
-       case `/bin/uname -X | grep "^Machine"` in
-           *486*)           UNAME_MACHINE=i486 ;;
-           *Pentium)        UNAME_MACHINE=i586 ;;
-           *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-       esac
-       echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-       exit ;;
-    i*86:*:3.2:*)
-       if test -f /usr/options/cb.name; then
-               UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-       elif /bin/uname -X 2>/dev/null >/dev/null ; then
-               UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-               (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-               (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
-                       && UNAME_MACHINE=i586
-               (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
-                       && UNAME_MACHINE=i686
-               (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
-                       && UNAME_MACHINE=i686
-               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-       else
-               echo ${UNAME_MACHINE}-pc-sysv32
-       fi
-       exit ;;
-    pc:*:*:*)
-       # Left here for compatibility:
-       # uname -m prints for DJGPP always 'pc', but it prints nothing about
-       # the processor, so we play safe by assuming i586.
-       # Note: whatever this is, it MUST be the same as what config.sub
-       # prints for the "djgpp" host, or else GDB configury will decide that
-       # this is a cross-build.
-       echo i586-pc-msdosdjgpp
-       exit ;;
-    Intel:Mach:3*:*)
-       echo i386-pc-mach3
-       exit ;;
-    paragon:*:*:*)
-       echo i860-intel-osf1
-       exit ;;
-    i860:*:4.*:*) # i860-SVR4
-       if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-         echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-       else # Add other i860-SVR4 vendors below as they are discovered.
-         echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-       fi
-       exit ;;
-    mini*:CTIX:SYS*5:*)
-       # "miniframe"
-       echo m68010-convergent-sysv
-       exit ;;
-    mc68k:UNIX:SYSTEM5:3.51m)
-       echo m68k-convergent-sysv
-       exit ;;
-    M680?0:D-NIX:5.3:*)
-       echo m68k-diab-dnix
-       exit ;;
-    M68*:*:R3V[5678]*:*)
-       test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
-       OS_REL=''
-       test -r /etc/.relid \
-       && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-         && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-         && { echo i486-ncr-sysv4; exit; } ;;
-    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
-       OS_REL='.3'
-       test -r /etc/.relid \
-           && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-           && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
-       /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
-           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-       echo m68k-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    mc68030:UNIX_System_V:4.*:*)
-       echo m68k-atari-sysv4
-       exit ;;
-    TSUNAMI:LynxOS:2.*:*)
-       echo sparc-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    rs6000:LynxOS:2.*:*)
-       echo rs6000-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-       echo powerpc-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    SM[BE]S:UNIX_SV:*:*)
-       echo mips-dde-sysv${UNAME_RELEASE}
-       exit ;;
-    RM*:ReliantUNIX-*:*:*)
-       echo mips-sni-sysv4
-       exit ;;
-    RM*:SINIX-*:*:*)
-       echo mips-sni-sysv4
-       exit ;;
-    *:SINIX-*:*:*)
-       if uname -p 2>/dev/null >/dev/null ; then
-               UNAME_MACHINE=`(uname -p) 2>/dev/null`
-               echo ${UNAME_MACHINE}-sni-sysv4
-       else
-               echo ns32k-sni-sysv
-       fi
-       exit ;;
-    PENTIUM:*:4.0*:*)  # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                       # says <Richard.M.Bartel@ccMail.Census.GOV>
-       echo i586-unisys-sysv4
-       exit ;;
-    *:UNIX_System_V:4*:FTX*)
-       # From Gerald Hewes <hewes@openmarket.com>.
-       # How about differentiating between stratus architectures? -djm
-       echo hppa1.1-stratus-sysv4
-       exit ;;
-    *:*:*:FTX*)
-       # From seanf@swdc.stratus.com.
-       echo i860-stratus-sysv4
-       exit ;;
-    i*86:VOS:*:*)
-       # From Paul.Green@stratus.com.
-       echo ${UNAME_MACHINE}-stratus-vos
-       exit ;;
-    *:VOS:*:*)
-       # From Paul.Green@stratus.com.
-       echo hppa1.1-stratus-vos
-       exit ;;
-    mc68*:A/UX:*:*)
-       echo m68k-apple-aux${UNAME_RELEASE}
-       exit ;;
-    news*:NEWS-OS:6*:*)
-       echo mips-sony-newsos6
-       exit ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-       if [ -d /usr/nec ]; then
-               echo mips-nec-sysv${UNAME_RELEASE}
-       else
-               echo mips-unknown-sysv${UNAME_RELEASE}
-       fi
-       exit ;;
-    BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
-       echo powerpc-be-beos
-       exit ;;
-    BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
-       echo powerpc-apple-beos
-       exit ;;
-    BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
-       echo i586-pc-beos
-       exit ;;
-    BePC:Haiku:*:*)    # Haiku running on Intel PC compatible.
-       echo i586-pc-haiku
-       exit ;;
-    SX-4:SUPER-UX:*:*)
-       echo sx4-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-5:SUPER-UX:*:*)
-       echo sx5-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-6:SUPER-UX:*:*)
-       echo sx6-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-7:SUPER-UX:*:*)
-       echo sx7-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-8:SUPER-UX:*:*)
-       echo sx8-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-8R:SUPER-UX:*:*)
-       echo sx8r-nec-superux${UNAME_RELEASE}
-       exit ;;
-    Power*:Rhapsody:*:*)
-       echo powerpc-apple-rhapsody${UNAME_RELEASE}
-       exit ;;
-    *:Rhapsody:*:*)
-       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-       exit ;;
-    *:Darwin:*:*)
-       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-       case $UNAME_PROCESSOR in
-           i386)
-               eval $set_cc_for_build
-               if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-                 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-                     (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-                     grep IS_64BIT_ARCH >/dev/null
-                 then
-                     UNAME_PROCESSOR="x86_64"
-                 fi
-               fi ;;
-           unknown) UNAME_PROCESSOR=powerpc ;;
-       esac
-       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-       exit ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-       UNAME_PROCESSOR=`uname -p`
-       if test "$UNAME_PROCESSOR" = "x86"; then
-               UNAME_PROCESSOR=i386
-               UNAME_MACHINE=pc
-       fi
-       echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-       exit ;;
-    *:QNX:*:4*)
-       echo i386-pc-qnx
-       exit ;;
-    NEO-?:NONSTOP_KERNEL:*:*)
-       echo neo-tandem-nsk${UNAME_RELEASE}
-       exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
-       echo nse-tandem-nsk${UNAME_RELEASE}
-       exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
-       echo nsr-tandem-nsk${UNAME_RELEASE}
-       exit ;;
-    *:NonStop-UX:*:*)
-       echo mips-compaq-nonstopux
-       exit ;;
-    BS2000:POSIX*:*:*)
-       echo bs2000-siemens-sysv
-       exit ;;
-    DS/*:UNIX_System_V:*:*)
-       echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-       exit ;;
-    *:Plan9:*:*)
-       # "uname -m" is not consistent, so use $cputype instead. 386
-       # is converted to i386 for consistency with other x86
-       # operating systems.
-       if test "$cputype" = "386"; then
-           UNAME_MACHINE=i386
-       else
-           UNAME_MACHINE="$cputype"
-       fi
-       echo ${UNAME_MACHINE}-unknown-plan9
-       exit ;;
-    *:TOPS-10:*:*)
-       echo pdp10-unknown-tops10
-       exit ;;
-    *:TENEX:*:*)
-       echo pdp10-unknown-tenex
-       exit ;;
-    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-       echo pdp10-dec-tops20
-       exit ;;
-    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-       echo pdp10-xkl-tops20
-       exit ;;
-    *:TOPS-20:*:*)
-       echo pdp10-unknown-tops20
-       exit ;;
-    *:ITS:*:*)
-       echo pdp10-unknown-its
-       exit ;;
-    SEI:*:*:SEIUX)
-       echo mips-sei-seiux${UNAME_RELEASE}
-       exit ;;
-    *:DragonFly:*:*)
-       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-       exit ;;
-    *:*VMS:*:*)
-       UNAME_MACHINE=`(uname -p) 2>/dev/null`
-       case "${UNAME_MACHINE}" in
-           A*) echo alpha-dec-vms ; exit ;;
-           I*) echo ia64-dec-vms ; exit ;;
-           V*) echo vax-dec-vms ; exit ;;
-       esac ;;
-    *:XENIX:*:SysV)
-       echo i386-pc-xenix
-       exit ;;
-    i*86:skyos:*:*)
-       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
-       exit ;;
-    i*86:rdos:*:*)
-       echo ${UNAME_MACHINE}-pc-rdos
-       exit ;;
-    i*86:AROS:*:*)
-       echo ${UNAME_MACHINE}-pc-aros
-       exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-       "4"
-#else
-       ""
-#endif
-       ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-       printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-       printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-       { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-       echo c1-convex-bsd
-       exit ;;
-    c2*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-       exit ;;
-    c34*)
-       echo c34-convex-bsd
-       exit ;;
-    c38*)
-       echo c38-convex-bsd
-       exit ;;
-    c4*)
-       echo c4-convex-bsd
-       exit ;;
-    esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo               = `(hostinfo) 2>/dev/null`
-/bin/universe          = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch              = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
index 10b9b16..b96114a 100644 (file)
 #define HAVE_VSPRINTF 1
 
 /* Define to 1 if you have the <zlib.h> header file. */
-/* #undef HAVE_ZLIB_H */
+#define HAVE_ZLIB_H
 
 /* Define to 1 if you have the `_stat' function. */
 #define HAVE__STAT 1
diff --git a/reactos/lib/3rdparty/libxml2/config.h.in b/reactos/lib/3rdparty/libxml2/config.h.in
deleted file mode 100644 (file)
index a564b6c..0000000
+++ /dev/null
@@ -1,324 +0,0 @@
-/* config.h.in.  Generated from configure.in by autoheader.  */
-
-/* Define to 1 if you have the <ansidecl.h> header file. */
-#undef HAVE_ANSIDECL_H
-
-/* Define to 1 if you have the <arpa/inet.h> header file. */
-#undef HAVE_ARPA_INET_H
-
-/* Define to 1 if you have the <arpa/nameser.h> header file. */
-#undef HAVE_ARPA_NAMESER_H
-
-/* Whether struct sockaddr::__ss_family exists */
-#undef HAVE_BROKEN_SS_FAMILY
-
-/* Define to 1 if you have the `class' function. */
-#undef HAVE_CLASS
-
-/* Define to 1 if you have the <ctype.h> header file. */
-#undef HAVE_CTYPE_H
-
-/* Define to 1 if you have the <dirent.h> header file. */
-#undef HAVE_DIRENT_H
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Have dlopen based dso */
-#undef HAVE_DLOPEN
-
-/* Define to 1 if you have the <dl.h> header file. */
-#undef HAVE_DL_H
-
-/* Define to 1 if you have the <errno.h> header file. */
-#undef HAVE_ERRNO_H
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-
-/* Define to 1 if you have the `finite' function. */
-#undef HAVE_FINITE
-
-/* Define to 1 if you have the <float.h> header file. */
-#undef HAVE_FLOAT_H
-
-/* Define to 1 if you have the `fpclass' function. */
-#undef HAVE_FPCLASS
-
-/* Define to 1 if you have the `fprintf' function. */
-#undef HAVE_FPRINTF
-
-/* Define to 1 if you have the `fp_class' function. */
-#undef HAVE_FP_CLASS
-
-/* Define to 1 if you have the <fp_class.h> header file. */
-#undef HAVE_FP_CLASS_H
-
-/* Define to 1 if you have the `ftime' function. */
-#undef HAVE_FTIME
-
-/* Define if getaddrinfo is there */
-#undef HAVE_GETADDRINFO
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#undef HAVE_GETTIMEOFDAY
-
-/* Define to 1 if you have the <ieeefp.h> header file. */
-#undef HAVE_IEEEFP_H
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the `isascii' function. */
-#undef HAVE_ISASCII
-
-/* Define if isinf is there */
-#undef HAVE_ISINF
-
-/* Define if isnan is there */
-#undef HAVE_ISNAN
-
-/* Define to 1 if you have the `isnand' function. */
-#undef HAVE_ISNAND
-
-/* Define if history library is there (-lhistory) */
-#undef HAVE_LIBHISTORY
-
-/* Have compression library */
-#undef HAVE_LIBLZMA
-
-/* Define if pthread library is there (-lpthread) */
-#undef HAVE_LIBPTHREAD
-
-/* Define if readline library is there (-lreadline) */
-#undef HAVE_LIBREADLINE
-
-/* Have compression library */
-#undef HAVE_LIBZ
-
-/* Define to 1 if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
-/* Define to 1 if you have the `localtime' function. */
-#undef HAVE_LOCALTIME
-
-/* Define to 1 if you have the <lzma.h> header file. */
-#undef HAVE_LZMA_H
-
-/* Define to 1 if you have the <malloc.h> header file. */
-#undef HAVE_MALLOC_H
-
-/* Define to 1 if you have the <math.h> header file. */
-#undef HAVE_MATH_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `mmap' function. */
-#undef HAVE_MMAP
-
-/* Define to 1 if you have the `munmap' function. */
-#undef HAVE_MUNMAP
-
-/* mmap() is no good without munmap() */
-#if defined(HAVE_MMAP) && !defined(HAVE_MUNMAP)
-#  undef /**/ HAVE_MMAP
-#endif
-
-/* Define to 1 if you have the <nan.h> header file. */
-#undef HAVE_NAN_H
-
-/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
-#undef HAVE_NDIR_H
-
-/* Define to 1 if you have the <netdb.h> header file. */
-#undef HAVE_NETDB_H
-
-/* Define to 1 if you have the <netinet/in.h> header file. */
-#undef HAVE_NETINET_IN_H
-
-/* Define to 1 if you have the <poll.h> header file. */
-#undef HAVE_POLL_H
-
-/* Define to 1 if you have the `printf' function. */
-#undef HAVE_PRINTF
-
-/* Define if <pthread.h> is there */
-#undef HAVE_PTHREAD_H
-
-/* Define to 1 if you have the `putenv' function. */
-#undef HAVE_PUTENV
-
-/* Define to 1 if you have the `rand' function. */
-#undef HAVE_RAND
-
-/* Define to 1 if you have the `rand_r' function. */
-#undef HAVE_RAND_R
-
-/* Define to 1 if you have the <resolv.h> header file. */
-#undef HAVE_RESOLV_H
-
-/* Have shl_load based dso */
-#undef HAVE_SHLLOAD
-
-/* Define to 1 if you have the `signal' function. */
-#undef HAVE_SIGNAL
-
-/* Define to 1 if you have the <signal.h> header file. */
-#undef HAVE_SIGNAL_H
-
-/* Define to 1 if you have the `snprintf' function. */
-#undef HAVE_SNPRINTF
-
-/* Define to 1 if you have the `sprintf' function. */
-#undef HAVE_SPRINTF
-
-/* Define to 1 if you have the `srand' function. */
-#undef HAVE_SRAND
-
-/* Define to 1 if you have the `sscanf' function. */
-#undef HAVE_SSCANF
-
-/* Define to 1 if you have the `stat' function. */
-#undef HAVE_STAT
-
-/* Define to 1 if you have the <stdarg.h> header file. */
-#undef HAVE_STDARG_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strdup' function. */
-#undef HAVE_STRDUP
-
-/* Define to 1 if you have the `strerror' function. */
-#undef HAVE_STRERROR
-
-/* Define to 1 if you have the `strftime' function. */
-#undef HAVE_STRFTIME
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the `strndup' function. */
-#undef HAVE_STRNDUP
-
-/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
-   */
-#undef HAVE_SYS_DIR_H
-
-/* Define to 1 if you have the <sys/mman.h> header file. */
-#undef HAVE_SYS_MMAN_H
-
-/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
-   */
-#undef HAVE_SYS_NDIR_H
-
-/* Define to 1 if you have the <sys/select.h> header file. */
-#undef HAVE_SYS_SELECT_H
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/timeb.h> header file. */
-#undef HAVE_SYS_TIMEB_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the `time' function. */
-#undef HAVE_TIME
-
-/* Define to 1 if you have the <time.h> header file. */
-#undef HAVE_TIME_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Whether va_copy() is available */
-#undef HAVE_VA_COPY
-
-/* Define to 1 if you have the `vfprintf' function. */
-#undef HAVE_VFPRINTF
-
-/* Define to 1 if you have the `vsnprintf' function. */
-#undef HAVE_VSNPRINTF
-
-/* Define to 1 if you have the `vsprintf' function. */
-#undef HAVE_VSPRINTF
-
-/* Define to 1 if you have the <zlib.h> header file. */
-#undef HAVE_ZLIB_H
-
-/* Define to 1 if you have the `_stat' function. */
-#undef HAVE__STAT
-
-/* Whether __va_copy() is available */
-#undef HAVE___VA_COPY
-
-/* Define as const if the declaration of iconv() needs const. */
-#undef ICONV_CONST
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
-#undef LT_OBJDIR
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Support for IPv6 */
-#undef SUPPORT_IP6
-
-/* Version number of package */
-#undef VERSION
-
-/* Determine what socket length (socklen_t) data type is */
-#undef XML_SOCKLEN_T
-
-/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
-   <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
-   #define below would cause a syntax error. */
-#undef _UINT32_T
-
-/* Using the Win32 Socket implementation */
-#undef _WINSOCKAPI_
-
-/* ss_family is not defined here, use __ss_family instead */
-#undef ss_family
-
-/* Define to the type of an unsigned integer type of width exactly 32 bits if
-   such a type exists and the standard includes do not define it. */
-#undef uint32_t
diff --git a/reactos/lib/3rdparty/libxml2/config.sub b/reactos/lib/3rdparty/libxml2/config.sub
deleted file mode 100644 (file)
index d6b6b3c..0000000
+++ /dev/null
@@ -1,1766 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012 Free Software Foundation, Inc.
-
-timestamp='2012-01-01'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )        # Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help"
-       exit 1 ;;
-
-    *local*)
-       # First pass through any local machine types.
-       echo $1
-       exit ;;
-
-    * )
-       break ;;
-  esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
-    exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
-    exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
-  kopensolaris*-gnu* | \
-  storm-chaos* | os2-emx* | rtmk-nova*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-       -sun*os*)
-               # Prevent following clause from handling this invalid input.
-               ;;
-       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis | -knuth | -cray | -microblaze)
-               os=
-               basic_machine=$1
-               ;;
-       -bluegene*)
-               os=-cnk
-               ;;
-       -sim | -cisco | -oki | -wec | -winbond)
-               os=
-               basic_machine=$1
-               ;;
-       -scout)
-               ;;
-       -wrs)
-               os=-vxworks
-               basic_machine=$1
-               ;;
-       -chorusos*)
-               os=-chorusos
-               basic_machine=$1
-               ;;
-       -chorusrdb)
-               os=-chorusrdb
-               basic_machine=$1
-               ;;
-       -hiux*)
-               os=-hiuxwe2
-               ;;
-       -sco6)
-               os=-sco5v6
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco5)
-               os=-sco3.2v5
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco4)
-               os=-sco3.2v4
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2.[4-9]*)
-               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2v[4-9]*)
-               # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco5v6*)
-               # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco*)
-               os=-sco3.2v2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -udk*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -isc)
-               os=-isc2.2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -clix*)
-               basic_machine=clipper-intergraph
-               ;;
-       -isc*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -lynx*)
-               os=-lynxos
-               ;;
-       -ptx*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-               ;;
-       -windowsnt*)
-               os=`echo $os | sed -e 's/windowsnt/winnt/'`
-               ;;
-       -psos*)
-               os=-psos
-               ;;
-       -mint | -mint[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
-               ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-       # Recognize the basic CPU types without company name.
-       # Some are omitted here because they have special meanings below.
-       1750a | 580 \
-       | a29k \
-       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-       | am33_2.0 \
-       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-        | be32 | be64 \
-       | bfin \
-       | c4x | clipper \
-       | d10v | d30v | dlx | dsp16xx \
-       | epiphany \
-       | fido | fr30 | frv \
-       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-       | hexagon \
-       | i370 | i860 | i960 | ia64 \
-       | ip2k | iq2000 \
-       | le32 | le64 \
-       | lm32 \
-       | m32c | m32r | m32rle | m68000 | m68k | m88k \
-       | maxq | mb | microblaze | mcore | mep | metag \
-       | mips | mipsbe | mipseb | mipsel | mipsle \
-       | mips16 \
-       | mips64 | mips64el \
-       | mips64octeon | mips64octeonel \
-       | mips64orion | mips64orionel \
-       | mips64r5900 | mips64r5900el \
-       | mips64vr | mips64vrel \
-       | mips64vr4100 | mips64vr4100el \
-       | mips64vr4300 | mips64vr4300el \
-       | mips64vr5000 | mips64vr5000el \
-       | mips64vr5900 | mips64vr5900el \
-       | mipsisa32 | mipsisa32el \
-       | mipsisa32r2 | mipsisa32r2el \
-       | mipsisa64 | mipsisa64el \
-       | mipsisa64r2 | mipsisa64r2el \
-       | mipsisa64sb1 | mipsisa64sb1el \
-       | mipsisa64sr71k | mipsisa64sr71kel \
-       | mipstx39 | mipstx39el \
-       | mn10200 | mn10300 \
-       | moxie \
-       | mt \
-       | msp430 \
-       | nds32 | nds32le | nds32be \
-       | nios | nios2 \
-       | ns16k | ns32k \
-       | open8 \
-       | or32 \
-       | pdp10 | pdp11 | pj | pjl \
-       | powerpc | powerpc64 | powerpc64le | powerpcle \
-       | pyramid \
-       | rl78 | rx \
-       | score \
-       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-       | sh64 | sh64le \
-       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
-       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-       | spu \
-       | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
-       | ubicom32 \
-       | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
-       | we32k \
-       | x86 | xc16x | xstormy16 | xtensa \
-       | z8k | z80)
-               basic_machine=$basic_machine-unknown
-               ;;
-       c54x)
-               basic_machine=tic54x-unknown
-               ;;
-       c55x)
-               basic_machine=tic55x-unknown
-               ;;
-       c6x)
-               basic_machine=tic6x-unknown
-               ;;
-       m6811 | m68hc11 | m6812 | m68hc12 | picochip)
-               basic_machine=$basic_machine-unknown
-               os=-none
-               ;;
-       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-               ;;
-       ms1)
-               basic_machine=mt-unknown
-               ;;
-
-       strongarm | thumb | xscale)
-               basic_machine=arm-unknown
-               ;;
-
-       xscaleeb)
-               basic_machine=armeb-unknown
-               ;;
-
-       xscaleel)
-               basic_machine=armel-unknown
-               ;;
-
-       # We use `pc' rather than `unknown'
-       # because (1) that's what they normally are, and
-       # (2) the word "unknown" tends to confuse beginning users.
-       i*86 | x86_64)
-         basic_machine=$basic_machine-pc
-         ;;
-       # Object if more than one company name word.
-       *-*-*)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-               exit 1
-               ;;
-       # Recognize the basic CPU types with company name.
-       580-* \
-       | a29k-* \
-       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-       | avr-* | avr32-* \
-       | be32-* | be64-* \
-       | bfin-* | bs2000-* \
-       | c[123]* | c30-* | [cjt]90-* | c4x-* \
-       | clipper-* | craynv-* | cydra-* \
-       | d10v-* | d30v-* | dlx-* \
-       | elxsi-* \
-       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
-       | h8300-* | h8500-* \
-       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-       | hexagon-* \
-       | i*86-* | i860-* | i960-* | ia64-* \
-       | ip2k-* | iq2000-* \
-       | le32-* | le64-* \
-       | lm32-* \
-       | m32c-* | m32r-* | m32rle-* \
-       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
-       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-       | mips16-* \
-       | mips64-* | mips64el-* \
-       | mips64octeon-* | mips64octeonel-* \
-       | mips64orion-* | mips64orionel-* \
-       | mips64r5900-* | mips64r5900el-* \
-       | mips64vr-* | mips64vrel-* \
-       | mips64vr4100-* | mips64vr4100el-* \
-       | mips64vr4300-* | mips64vr4300el-* \
-       | mips64vr5000-* | mips64vr5000el-* \
-       | mips64vr5900-* | mips64vr5900el-* \
-       | mipsisa32-* | mipsisa32el-* \
-       | mipsisa32r2-* | mipsisa32r2el-* \
-       | mipsisa64-* | mipsisa64el-* \
-       | mipsisa64r2-* | mipsisa64r2el-* \
-       | mipsisa64sb1-* | mipsisa64sb1el-* \
-       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
-       | mipstx39-* | mipstx39el-* \
-       | mmix-* \
-       | mt-* \
-       | msp430-* \
-       | nds32-* | nds32le-* | nds32be-* \
-       | nios-* | nios2-* \
-       | none-* | np1-* | ns16k-* | ns32k-* \
-       | open8-* \
-       | orion-* \
-       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
-       | pyramid-* \
-       | rl78-* | romp-* | rs6000-* | rx-* \
-       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
-       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
-       | sparclite-* \
-       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
-       | tahoe-* \
-       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-       | tile*-* \
-       | tron-* \
-       | ubicom32-* \
-       | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
-       | vax-* \
-       | we32k-* \
-       | x86-* | x86_64-* | xc16x-* | xps100-* \
-       | xstormy16-* | xtensa*-* \
-       | ymp-* \
-       | z8k-* | z80-*)
-               ;;
-       # Recognize the basic CPU types without company name, with glob match.
-       xtensa*)
-               basic_machine=$basic_machine-unknown
-               ;;
-       # Recognize the various machine names and aliases which stand
-       # for a CPU type and a company and sometimes even an OS.
-       386bsd)
-               basic_machine=i386-unknown
-               os=-bsd
-               ;;
-       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-               basic_machine=m68000-att
-               ;;
-       3b*)
-               basic_machine=we32k-att
-               ;;
-       a29khif)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       abacus)
-               basic_machine=abacus-unknown
-               ;;
-       adobe68k)
-               basic_machine=m68010-adobe
-               os=-scout
-               ;;
-       alliant | fx80)
-               basic_machine=fx80-alliant
-               ;;
-       altos | altos3068)
-               basic_machine=m68k-altos
-               ;;
-       am29k)
-               basic_machine=a29k-none
-               os=-bsd
-               ;;
-       amd64)
-               basic_machine=x86_64-pc
-               ;;
-       amd64-*)
-               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       amdahl)
-               basic_machine=580-amdahl
-               os=-sysv
-               ;;
-       amiga | amiga-*)
-               basic_machine=m68k-unknown
-               ;;
-       amigaos | amigados)
-               basic_machine=m68k-unknown
-               os=-amigaos
-               ;;
-       amigaunix | amix)
-               basic_machine=m68k-unknown
-               os=-sysv4
-               ;;
-       apollo68)
-               basic_machine=m68k-apollo
-               os=-sysv
-               ;;
-       apollo68bsd)
-               basic_machine=m68k-apollo
-               os=-bsd
-               ;;
-       aros)
-               basic_machine=i386-pc
-               os=-aros
-               ;;
-       aux)
-               basic_machine=m68k-apple
-               os=-aux
-               ;;
-       balance)
-               basic_machine=ns32k-sequent
-               os=-dynix
-               ;;
-       blackfin)
-               basic_machine=bfin-unknown
-               os=-linux
-               ;;
-       blackfin-*)
-               basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
-               os=-linux
-               ;;
-       bluegene*)
-               basic_machine=powerpc-ibm
-               os=-cnk
-               ;;
-       c54x-*)
-               basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       c55x-*)
-               basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       c6x-*)
-               basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       c90)
-               basic_machine=c90-cray
-               os=-unicos
-               ;;
-       cegcc)
-               basic_machine=arm-unknown
-               os=-cegcc
-               ;;
-       convex-c1)
-               basic_machine=c1-convex
-               os=-bsd
-               ;;
-       convex-c2)
-               basic_machine=c2-convex
-               os=-bsd
-               ;;
-       convex-c32)
-               basic_machine=c32-convex
-               os=-bsd
-               ;;
-       convex-c34)
-               basic_machine=c34-convex
-               os=-bsd
-               ;;
-       convex-c38)
-               basic_machine=c38-convex
-               os=-bsd
-               ;;
-       cray | j90)
-               basic_machine=j90-cray
-               os=-unicos
-               ;;
-       craynv)
-               basic_machine=craynv-cray
-               os=-unicosmp
-               ;;
-       cr16 | cr16-*)
-               basic_machine=cr16-unknown
-               os=-elf
-               ;;
-       crds | unos)
-               basic_machine=m68k-crds
-               ;;
-       crisv32 | crisv32-* | etraxfs*)
-               basic_machine=crisv32-axis
-               ;;
-       cris | cris-* | etrax*)
-               basic_machine=cris-axis
-               ;;
-       crx)
-               basic_machine=crx-unknown
-               os=-elf
-               ;;
-       da30 | da30-*)
-               basic_machine=m68k-da30
-               ;;
-       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-               basic_machine=mips-dec
-               ;;
-       decsystem10* | dec10*)
-               basic_machine=pdp10-dec
-               os=-tops10
-               ;;
-       decsystem20* | dec20*)
-               basic_machine=pdp10-dec
-               os=-tops20
-               ;;
-       delta | 3300 | motorola-3300 | motorola-delta \
-             | 3300-motorola | delta-motorola)
-               basic_machine=m68k-motorola
-               ;;
-       delta88)
-               basic_machine=m88k-motorola
-               os=-sysv3
-               ;;
-       dicos)
-               basic_machine=i686-pc
-               os=-dicos
-               ;;
-       djgpp)
-               basic_machine=i586-pc
-               os=-msdosdjgpp
-               ;;
-       dpx20 | dpx20-*)
-               basic_machine=rs6000-bull
-               os=-bosx
-               ;;
-       dpx2* | dpx2*-bull)
-               basic_machine=m68k-bull
-               os=-sysv3
-               ;;
-       ebmon29k)
-               basic_machine=a29k-amd
-               os=-ebmon
-               ;;
-       elxsi)
-               basic_machine=elxsi-elxsi
-               os=-bsd
-               ;;
-       encore | umax | mmax)
-               basic_machine=ns32k-encore
-               ;;
-       es1800 | OSE68k | ose68k | ose | OSE)
-               basic_machine=m68k-ericsson
-               os=-ose
-               ;;
-       fx2800)
-               basic_machine=i860-alliant
-               ;;
-       genix)
-               basic_machine=ns32k-ns
-               ;;
-       gmicro)
-               basic_machine=tron-gmicro
-               os=-sysv
-               ;;
-       go32)
-               basic_machine=i386-pc
-               os=-go32
-               ;;
-       h3050r* | hiux*)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       h8300hms)
-               basic_machine=h8300-hitachi
-               os=-hms
-               ;;
-       h8300xray)
-               basic_machine=h8300-hitachi
-               os=-xray
-               ;;
-       h8500hms)
-               basic_machine=h8500-hitachi
-               os=-hms
-               ;;
-       harris)
-               basic_machine=m88k-harris
-               os=-sysv3
-               ;;
-       hp300-*)
-               basic_machine=m68k-hp
-               ;;
-       hp300bsd)
-               basic_machine=m68k-hp
-               os=-bsd
-               ;;
-       hp300hpux)
-               basic_machine=m68k-hp
-               os=-hpux
-               ;;
-       hp3k9[0-9][0-9] | hp9[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hp9k2[0-9][0-9] | hp9k31[0-9])
-               basic_machine=m68000-hp
-               ;;
-       hp9k3[2-9][0-9])
-               basic_machine=m68k-hp
-               ;;
-       hp9k6[0-9][0-9] | hp6[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hp9k7[0-79][0-9] | hp7[0-79][0-9])
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k78[0-9] | hp78[0-9])
-               # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-               # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[0-9][13679] | hp8[0-9][13679])
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[0-9][0-9] | hp8[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hppa-next)
-               os=-nextstep3
-               ;;
-       hppaosf)
-               basic_machine=hppa1.1-hp
-               os=-osf
-               ;;
-       hppro)
-               basic_machine=hppa1.1-hp
-               os=-proelf
-               ;;
-       i370-ibm* | ibm*)
-               basic_machine=i370-ibm
-               ;;
-       i*86v32)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv32
-               ;;
-       i*86v4*)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv4
-               ;;
-       i*86v)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv
-               ;;
-       i*86sol2)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-solaris2
-               ;;
-       i386mach)
-               basic_machine=i386-mach
-               os=-mach
-               ;;
-       i386-vsta | vsta)
-               basic_machine=i386-unknown
-               os=-vsta
-               ;;
-       iris | iris4d)
-               basic_machine=mips-sgi
-               case $os in
-                   -irix*)
-                       ;;
-                   *)
-                       os=-irix4
-                       ;;
-               esac
-               ;;
-       isi68 | isi)
-               basic_machine=m68k-isi
-               os=-sysv
-               ;;
-       m68knommu)
-               basic_machine=m68k-unknown
-               os=-linux
-               ;;
-       m68knommu-*)
-               basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
-               os=-linux
-               ;;
-       m88k-omron*)
-               basic_machine=m88k-omron
-               ;;
-       magnum | m3230)
-               basic_machine=mips-mips
-               os=-sysv
-               ;;
-       merlin)
-               basic_machine=ns32k-utek
-               os=-sysv
-               ;;
-       microblaze)
-               basic_machine=microblaze-xilinx
-               ;;
-       mingw32)
-               basic_machine=i386-pc
-               os=-mingw32
-               ;;
-       mingw32ce)
-               basic_machine=arm-unknown
-               os=-mingw32ce
-               ;;
-       miniframe)
-               basic_machine=m68000-convergent
-               ;;
-       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
-               ;;
-       mips3*-*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-               ;;
-       mips3*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-               ;;
-       monitor)
-               basic_machine=m68k-rom68k
-               os=-coff
-               ;;
-       morphos)
-               basic_machine=powerpc-unknown
-               os=-morphos
-               ;;
-       msdos)
-               basic_machine=i386-pc
-               os=-msdos
-               ;;
-       ms1-*)
-               basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
-               ;;
-       msys)
-               basic_machine=i386-pc
-               os=-msys
-               ;;
-       mvs)
-               basic_machine=i370-ibm
-               os=-mvs
-               ;;
-       nacl)
-               basic_machine=le32-unknown
-               os=-nacl
-               ;;
-       ncr3000)
-               basic_machine=i486-ncr
-               os=-sysv4
-               ;;
-       netbsd386)
-               basic_machine=i386-unknown
-               os=-netbsd
-               ;;
-       netwinder)
-               basic_machine=armv4l-rebel
-               os=-linux
-               ;;
-       news | news700 | news800 | news900)
-               basic_machine=m68k-sony
-               os=-newsos
-               ;;
-       news1000)
-               basic_machine=m68030-sony
-               os=-newsos
-               ;;
-       news-3600 | risc-news)
-               basic_machine=mips-sony
-               os=-newsos
-               ;;
-       necv70)
-               basic_machine=v70-nec
-               os=-sysv
-               ;;
-       next | m*-next )
-               basic_machine=m68k-next
-               case $os in
-                   -nextstep* )
-                       ;;
-                   -ns2*)
-                     os=-nextstep2
-                       ;;
-                   *)
-                     os=-nextstep3
-                       ;;
-               esac
-               ;;
-       nh3000)
-               basic_machine=m68k-harris
-               os=-cxux
-               ;;
-       nh[45]000)
-               basic_machine=m88k-harris
-               os=-cxux
-               ;;
-       nindy960)
-               basic_machine=i960-intel
-               os=-nindy
-               ;;
-       mon960)
-               basic_machine=i960-intel
-               os=-mon960
-               ;;
-       nonstopux)
-               basic_machine=mips-compaq
-               os=-nonstopux
-               ;;
-       np1)
-               basic_machine=np1-gould
-               ;;
-       neo-tandem)
-               basic_machine=neo-tandem
-               ;;
-       nse-tandem)
-               basic_machine=nse-tandem
-               ;;
-       nsr-tandem)
-               basic_machine=nsr-tandem
-               ;;
-       op50n-* | op60c-*)
-               basic_machine=hppa1.1-oki
-               os=-proelf
-               ;;
-       openrisc | openrisc-*)
-               basic_machine=or32-unknown
-               ;;
-       os400)
-               basic_machine=powerpc-ibm
-               os=-os400
-               ;;
-       OSE68000 | ose68000)
-               basic_machine=m68000-ericsson
-               os=-ose
-               ;;
-       os68k)
-               basic_machine=m68k-none
-               os=-os68k
-               ;;
-       pa-hitachi)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       paragon)
-               basic_machine=i860-intel
-               os=-osf
-               ;;
-       parisc)
-               basic_machine=hppa-unknown
-               os=-linux
-               ;;
-       parisc-*)
-               basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
-               os=-linux
-               ;;
-       pbd)
-               basic_machine=sparc-tti
-               ;;
-       pbb)
-               basic_machine=m68k-tti
-               ;;
-       pc532 | pc532-*)
-               basic_machine=ns32k-pc532
-               ;;
-       pc98)
-               basic_machine=i386-pc
-               ;;
-       pc98-*)
-               basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentium | p5 | k5 | k6 | nexgen | viac3)
-               basic_machine=i586-pc
-               ;;
-       pentiumpro | p6 | 6x86 | athlon | athlon_*)
-               basic_machine=i686-pc
-               ;;
-       pentiumii | pentium2 | pentiumiii | pentium3)
-               basic_machine=i686-pc
-               ;;
-       pentium4)
-               basic_machine=i786-pc
-               ;;
-       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentiumpro-* | p6-* | 6x86-* | athlon-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentium4-*)
-               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pn)
-               basic_machine=pn-gould
-               ;;
-       power)  basic_machine=power-ibm
-               ;;
-       ppc | ppcbe)    basic_machine=powerpc-unknown
-               ;;
-       ppc-* | ppcbe-*)
-               basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppcle | powerpclittle | ppc-le | powerpc-little)
-               basic_machine=powerpcle-unknown
-               ;;
-       ppcle-* | powerpclittle-*)
-               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppc64)  basic_machine=powerpc64-unknown
-               ;;
-       ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-               basic_machine=powerpc64le-unknown
-               ;;
-       ppc64le-* | powerpc64little-*)
-               basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ps2)
-               basic_machine=i386-ibm
-               ;;
-       pw32)
-               basic_machine=i586-unknown
-               os=-pw32
-               ;;
-       rdos)
-               basic_machine=i386-pc
-               os=-rdos
-               ;;
-       rom68k)
-               basic_machine=m68k-rom68k
-               os=-coff
-               ;;
-       rm[46]00)
-               basic_machine=mips-siemens
-               ;;
-       rtpc | rtpc-*)
-               basic_machine=romp-ibm
-               ;;
-       s390 | s390-*)
-               basic_machine=s390-ibm
-               ;;
-       s390x | s390x-*)
-               basic_machine=s390x-ibm
-               ;;
-       sa29200)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       sb1)
-               basic_machine=mipsisa64sb1-unknown
-               ;;
-       sb1el)
-               basic_machine=mipsisa64sb1el-unknown
-               ;;
-       sde)
-               basic_machine=mipsisa32-sde
-               os=-elf
-               ;;
-       sei)
-               basic_machine=mips-sei
-               os=-seiux
-               ;;
-       sequent)
-               basic_machine=i386-sequent
-               ;;
-       sh)
-               basic_machine=sh-hitachi
-               os=-hms
-               ;;
-       sh5el)
-               basic_machine=sh5le-unknown
-               ;;
-       sh64)
-               basic_machine=sh64-unknown
-               ;;
-       sparclite-wrs | simso-wrs)
-               basic_machine=sparclite-wrs
-               os=-vxworks
-               ;;
-       sps7)
-               basic_machine=m68k-bull
-               os=-sysv2
-               ;;
-       spur)
-               basic_machine=spur-unknown
-               ;;
-       st2000)
-               basic_machine=m68k-tandem
-               ;;
-       stratus)
-               basic_machine=i860-stratus
-               os=-sysv4
-               ;;
-       strongarm-* | thumb-*)
-               basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       sun2)
-               basic_machine=m68000-sun
-               ;;
-       sun2os3)
-               basic_machine=m68000-sun
-               os=-sunos3
-               ;;
-       sun2os4)
-               basic_machine=m68000-sun
-               os=-sunos4
-               ;;
-       sun3os3)
-               basic_machine=m68k-sun
-               os=-sunos3
-               ;;
-       sun3os4)
-               basic_machine=m68k-sun
-               os=-sunos4
-               ;;
-       sun4os3)
-               basic_machine=sparc-sun
-               os=-sunos3
-               ;;
-       sun4os4)
-               basic_machine=sparc-sun
-               os=-sunos4
-               ;;
-       sun4sol2)
-               basic_machine=sparc-sun
-               os=-solaris2
-               ;;
-       sun3 | sun3-*)
-               basic_machine=m68k-sun
-               ;;
-       sun4)
-               basic_machine=sparc-sun
-               ;;
-       sun386 | sun386i | roadrunner)
-               basic_machine=i386-sun
-               ;;
-       sv1)
-               basic_machine=sv1-cray
-               os=-unicos
-               ;;
-       symmetry)
-               basic_machine=i386-sequent
-               os=-dynix
-               ;;
-       t3e)
-               basic_machine=alphaev5-cray
-               os=-unicos
-               ;;
-       t90)
-               basic_machine=t90-cray
-               os=-unicos
-               ;;
-       tile*)
-               basic_machine=$basic_machine-unknown
-               os=-linux-gnu
-               ;;
-       tx39)
-               basic_machine=mipstx39-unknown
-               ;;
-       tx39el)
-               basic_machine=mipstx39el-unknown
-               ;;
-       toad1)
-               basic_machine=pdp10-xkl
-               os=-tops20
-               ;;
-       tower | tower-32)
-               basic_machine=m68k-ncr
-               ;;
-       tpf)
-               basic_machine=s390x-ibm
-               os=-tpf
-               ;;
-       udi29k)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       ultra3)
-               basic_machine=a29k-nyu
-               os=-sym1
-               ;;
-       v810 | necv810)
-               basic_machine=v810-nec
-               os=-none
-               ;;
-       vaxv)
-               basic_machine=vax-dec
-               os=-sysv
-               ;;
-       vms)
-               basic_machine=vax-dec
-               os=-vms
-               ;;
-       vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
-               ;;
-       vxworks960)
-               basic_machine=i960-wrs
-               os=-vxworks
-               ;;
-       vxworks68)
-               basic_machine=m68k-wrs
-               os=-vxworks
-               ;;
-       vxworks29k)
-               basic_machine=a29k-wrs
-               os=-vxworks
-               ;;
-       w65*)
-               basic_machine=w65-wdc
-               os=-none
-               ;;
-       w89k-*)
-               basic_machine=hppa1.1-winbond
-               os=-proelf
-               ;;
-       xbox)
-               basic_machine=i686-pc
-               os=-mingw32
-               ;;
-       xps | xps100)
-               basic_machine=xps100-honeywell
-               ;;
-       xscale-* | xscalee[bl]-*)
-               basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
-               ;;
-       ymp)
-               basic_machine=ymp-cray
-               os=-unicos
-               ;;
-       z8k-*-coff)
-               basic_machine=z8k-unknown
-               os=-sim
-               ;;
-       z80-*-coff)
-               basic_machine=z80-unknown
-               os=-sim
-               ;;
-       none)
-               basic_machine=none-none
-               os=-none
-               ;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-       w89k)
-               basic_machine=hppa1.1-winbond
-               ;;
-       op50n)
-               basic_machine=hppa1.1-oki
-               ;;
-       op60c)
-               basic_machine=hppa1.1-oki
-               ;;
-       romp)
-               basic_machine=romp-ibm
-               ;;
-       mmix)
-               basic_machine=mmix-knuth
-               ;;
-       rs6000)
-               basic_machine=rs6000-ibm
-               ;;
-       vax)
-               basic_machine=vax-dec
-               ;;
-       pdp10)
-               # there are many clones, so DEC is not a safe bet
-               basic_machine=pdp10-unknown
-               ;;
-       pdp11)
-               basic_machine=pdp11-dec
-               ;;
-       we32k)
-               basic_machine=we32k-att
-               ;;
-       sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
-               basic_machine=sh-unknown
-               ;;
-       sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-               basic_machine=sparc-sun
-               ;;
-       cydra)
-               basic_machine=cydra-cydrome
-               ;;
-       orion)
-               basic_machine=orion-highlevel
-               ;;
-       orion105)
-               basic_machine=clipper-highlevel
-               ;;
-       mac | mpw | mac-mpw)
-               basic_machine=m68k-apple
-               ;;
-       pmac | pmac-mpw)
-               basic_machine=powerpc-apple
-               ;;
-       *-unknown)
-               # Make sure to match an already-canonicalized machine name.
-               ;;
-       *)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-               exit 1
-               ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-       *-digital*)
-               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-               ;;
-       *-commodore*)
-               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-               ;;
-       *)
-               ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-       # First match some system type aliases
-       # that might get confused with valid system types.
-       # -solaris* is a basic system type, with this one exception.
-       -auroraux)
-               os=-auroraux
-               ;;
-       -solaris1 | -solaris1.*)
-               os=`echo $os | sed -e 's|solaris1|sunos4|'`
-               ;;
-       -solaris)
-               os=-solaris2
-               ;;
-       -svr4*)
-               os=-sysv4
-               ;;
-       -unixware*)
-               os=-sysv4.2uw
-               ;;
-       -gnu/linux*)
-               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-               ;;
-       # First accept the basic system types.
-       # The portable systems comes first.
-       # Each alternative MUST END IN A *, to match a version number.
-       # -sysv* is not here because it comes later, after sysvr4.
-       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-             | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
-             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-             | -sym* | -kopensolaris* \
-             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* | -aros* \
-             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-             | -openbsd* | -solidbsd* \
-             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-             | -chorusos* | -chorusrdb* | -cegcc* \
-             | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -linux-android* \
-             | -linux-newlib* | -linux-uclibc* \
-             | -uxpv* | -beos* | -mpeix* | -udk* \
-             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-             | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
-       # Remember, each alternative MUST END IN *, to match a version number.
-               ;;
-       -qnx*)
-               case $basic_machine in
-                   x86-* | i*86-*)
-                       ;;
-                   *)
-                       os=-nto$os
-                       ;;
-               esac
-               ;;
-       -nto-qnx*)
-               ;;
-       -nto*)
-               os=`echo $os | sed -e 's|nto|nto-qnx|'`
-               ;;
-       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-             | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-               ;;
-       -mac*)
-               os=`echo $os | sed -e 's|mac|macos|'`
-               ;;
-       -linux-dietlibc)
-               os=-linux-dietlibc
-               ;;
-       -linux*)
-               os=`echo $os | sed -e 's|linux|linux-gnu|'`
-               ;;
-       -sunos5*)
-               os=`echo $os | sed -e 's|sunos5|solaris2|'`
-               ;;
-       -sunos6*)
-               os=`echo $os | sed -e 's|sunos6|solaris3|'`
-               ;;
-       -opened*)
-               os=-openedition
-               ;;
-       -os400*)
-               os=-os400
-               ;;
-       -wince*)
-               os=-wince
-               ;;
-       -osfrose*)
-               os=-osfrose
-               ;;
-       -osf*)
-               os=-osf
-               ;;
-       -utek*)
-               os=-bsd
-               ;;
-       -dynix*)
-               os=-bsd
-               ;;
-       -acis*)
-               os=-aos
-               ;;
-       -atheos*)
-               os=-atheos
-               ;;
-       -syllable*)
-               os=-syllable
-               ;;
-       -386bsd)
-               os=-bsd
-               ;;
-       -ctix* | -uts*)
-               os=-sysv
-               ;;
-       -nova*)
-               os=-rtmk-nova
-               ;;
-       -ns2 )
-               os=-nextstep2
-               ;;
-       -nsk*)
-               os=-nsk
-               ;;
-       # Preserve the version number of sinix5.
-       -sinix5.*)
-               os=`echo $os | sed -e 's|sinix|sysv|'`
-               ;;
-       -sinix*)
-               os=-sysv4
-               ;;
-       -tpf*)
-               os=-tpf
-               ;;
-       -triton*)
-               os=-sysv3
-               ;;
-       -oss*)
-               os=-sysv3
-               ;;
-       -svr4)
-               os=-sysv4
-               ;;
-       -svr3)
-               os=-sysv3
-               ;;
-       -sysvr4)
-               os=-sysv4
-               ;;
-       # This must come after -sysvr4.
-       -sysv*)
-               ;;
-       -ose*)
-               os=-ose
-               ;;
-       -es1800*)
-               os=-ose
-               ;;
-       -xenix)
-               os=-xenix
-               ;;
-       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-               os=-mint
-               ;;
-       -aros*)
-               os=-aros
-               ;;
-       -kaos*)
-               os=-kaos
-               ;;
-       -zvmoe)
-               os=-zvmoe
-               ;;
-       -dicos*)
-               os=-dicos
-               ;;
-       -nacl*)
-               ;;
-       -none)
-               ;;
-       *)
-               # Get rid of the `-' at the beginning of $os.
-               os=`echo $os | sed 's/[^-]*-//'`
-               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-               exit 1
-               ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-       score-*)
-               os=-elf
-               ;;
-       spu-*)
-               os=-elf
-               ;;
-       *-acorn)
-               os=-riscix1.2
-               ;;
-       arm*-rebel)
-               os=-linux
-               ;;
-       arm*-semi)
-               os=-aout
-               ;;
-       c4x-* | tic4x-*)
-               os=-coff
-               ;;
-       tic54x-*)
-               os=-coff
-               ;;
-       tic55x-*)
-               os=-coff
-               ;;
-       tic6x-*)
-               os=-coff
-               ;;
-       # This must come before the *-dec entry.
-       pdp10-*)
-               os=-tops20
-               ;;
-       pdp11-*)
-               os=-none
-               ;;
-       *-dec | vax-*)
-               os=-ultrix4.2
-               ;;
-       m68*-apollo)
-               os=-domain
-               ;;
-       i386-sun)
-               os=-sunos4.0.2
-               ;;
-       m68000-sun)
-               os=-sunos3
-               ;;
-       m68*-cisco)
-               os=-aout
-               ;;
-       mep-*)
-               os=-elf
-               ;;
-       mips*-cisco)
-               os=-elf
-               ;;
-       mips*-*)
-               os=-elf
-               ;;
-       or32-*)
-               os=-coff
-               ;;
-       *-tti)  # must be before sparc entry or we get the wrong os.
-               os=-sysv3
-               ;;
-       sparc-* | *-sun)
-               os=-sunos4.1.1
-               ;;
-       *-be)
-               os=-beos
-               ;;
-       *-haiku)
-               os=-haiku
-               ;;
-       *-ibm)
-               os=-aix
-               ;;
-       *-knuth)
-               os=-mmixware
-               ;;
-       *-wec)
-               os=-proelf
-               ;;
-       *-winbond)
-               os=-proelf
-               ;;
-       *-oki)
-               os=-proelf
-               ;;
-       *-hp)
-               os=-hpux
-               ;;
-       *-hitachi)
-               os=-hiux
-               ;;
-       i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-               os=-sysv
-               ;;
-       *-cbm)
-               os=-amigaos
-               ;;
-       *-dg)
-               os=-dgux
-               ;;
-       *-dolphin)
-               os=-sysv3
-               ;;
-       m68k-ccur)
-               os=-rtu
-               ;;
-       m88k-omron*)
-               os=-luna
-               ;;
-       *-next )
-               os=-nextstep
-               ;;
-       *-sequent)
-               os=-ptx
-               ;;
-       *-crds)
-               os=-unos
-               ;;
-       *-ns)
-               os=-genix
-               ;;
-       i370-*)
-               os=-mvs
-               ;;
-       *-next)
-               os=-nextstep3
-               ;;
-       *-gould)
-               os=-sysv
-               ;;
-       *-highlevel)
-               os=-bsd
-               ;;
-       *-encore)
-               os=-bsd
-               ;;
-       *-sgi)
-               os=-irix
-               ;;
-       *-siemens)
-               os=-sysv4
-               ;;
-       *-masscomp)
-               os=-rtu
-               ;;
-       f30[01]-fujitsu | f700-fujitsu)
-               os=-uxpv
-               ;;
-       *-rom68k)
-               os=-coff
-               ;;
-       *-*bug)
-               os=-coff
-               ;;
-       *-apple)
-               os=-macos
-               ;;
-       *-atari*)
-               os=-mint
-               ;;
-       *)
-               os=-none
-               ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-       *-unknown)
-               case $os in
-                       -riscix*)
-                               vendor=acorn
-                               ;;
-                       -sunos*)
-                               vendor=sun
-                               ;;
-                       -cnk*|-aix*)
-                               vendor=ibm
-                               ;;
-                       -beos*)
-                               vendor=be
-                               ;;
-                       -hpux*)
-                               vendor=hp
-                               ;;
-                       -mpeix*)
-                               vendor=hp
-                               ;;
-                       -hiux*)
-                               vendor=hitachi
-                               ;;
-                       -unos*)
-                               vendor=crds
-                               ;;
-                       -dgux*)
-                               vendor=dg
-                               ;;
-                       -luna*)
-                               vendor=omron
-                               ;;
-                       -genix*)
-                               vendor=ns
-                               ;;
-                       -mvs* | -opened*)
-                               vendor=ibm
-                               ;;
-                       -os400*)
-                               vendor=ibm
-                               ;;
-                       -ptx*)
-                               vendor=sequent
-                               ;;
-                       -tpf*)
-                               vendor=ibm
-                               ;;
-                       -vxsim* | -vxworks* | -windiss*)
-                               vendor=wrs
-                               ;;
-                       -aux*)
-                               vendor=apple
-                               ;;
-                       -hms*)
-                               vendor=hitachi
-                               ;;
-                       -mpw* | -macos*)
-                               vendor=apple
-                               ;;
-                       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-                               vendor=atari
-                               ;;
-                       -vos*)
-                               vendor=stratus
-                               ;;
-               esac
-               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-               ;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/reactos/lib/3rdparty/libxml2/configure b/reactos/lib/3rdparty/libxml2/configure
deleted file mode 100644 (file)
index dab3f3a..0000000
+++ /dev/null
@@ -1,17695 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-PACKAGE_URL=
-
-ac_unique_file="entities.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-PYTHON_TESTS
-RELDATE
-RDL_LIBS
-M_LIBS
-PYTHON_SITE_PACKAGES
-PYTHON_INCLUDES
-PYTHON_VERSION
-HAVE_ISINF
-HAVE_ISNAN
-XML_INCLUDEDIR
-ICONV_LIBS
-XML_LIBTOOLLIBS
-XML_LIBS
-XML_LIBDIR
-XML_CFLAGS
-CYGWIN_EXTRA_PYTHON_LIBADD
-CYGWIN_EXTRA_LDFLAGS
-WIN32_EXTRA_PYTHON_LIBADD
-WIN32_EXTRA_LDFLAGS
-WIN32_EXTRA_LIBADD
-WITH_RUN_DEBUG
-WITH_MEM_DEBUG
-TEST_DEBUG
-DEBUG_OBJ
-WITH_DEBUG
-TEST_REGEXPS
-WITH_REGEXPS
-TEST_SCHEMAS
-WITH_SCHEMAS
-TEST_SCHEMATRON
-WITH_SCHEMATRON
-WITH_ISO8859X
-ICU_LIBS
-WITH_ICU
-WITH_ICONV
-WITH_OUTPUT
-TEST_XPATH
-XPATH_OBJ
-WITH_XPATH
-TEST_XINCLUDE
-XINCLUDE_OBJ
-WITH_XINCLUDE
-TEST_C14N
-C14N_OBJ
-WITH_C14N
-TEST_XPTR
-XPTR_OBJ
-WITH_XPTR
-DOCB_OBJ
-WITH_DOCB
-TEST_CATALOG
-CATALOG_OBJ
-WITH_CATALOG
-TEST_VTIME
-TEST_VALID
-WITH_VALID
-TEST_PHTML
-TEST_HTML
-HTML_OBJ
-WITH_HTML
-TEST_PUSH
-WITH_PUSH
-TEST_SAX
-WITH_SAX1_SOURCES_FALSE
-WITH_SAX1_SOURCES_TRUE
-WITH_SAX1
-TEST_PATTERN
-WITH_PATTERN
-WITH_WRITER
-READER_TEST
-WITH_READER
-WITH_LEGACY
-HTTP_OBJ
-WITH_HTTP
-FTP_OBJ
-WITH_FTP
-WITH_TREE
-THREADS_W32_FALSE
-THREADS_W32_TRUE
-TEST_THREADS
-THREAD_CFLAGS
-WITH_THREADS
-BASE_THREAD_LIBS
-THREAD_LIBS
-WITH_TRIO
-WITH_TRIO_SOURCES_FALSE
-WITH_TRIO_SOURCES_TRUE
-STATIC_BINARIES
-TEST_MODULES
-MODULE_EXTENSION
-MODULE_PLATFORM_LIBS
-WITH_MODULES
-PYTHON_LIBS
-PYTHON_SUBDIR
-pythondir
-WITH_PYTHON_FALSE
-WITH_PYTHON_TRUE
-PYTHON
-WITH_LZMA
-LZMA_LIBS
-LZMA_CFLAGS
-WITH_ZLIB
-Z_LIBS
-Z_CFLAGS
-REBUILD_DOCS_FALSE
-REBUILD_DOCS_TRUE
-HTML_DIR
-USE_VERSION_SCRIPT_FALSE
-USE_VERSION_SCRIPT_TRUE
-VERSION_SCRIPT_FLAGS
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-XSLTPROC
-XMLLINT
-WGET
-PERL
-TAR
-MV
-RM
-CPP
-LN_S
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-AM_DEFAULT_V
-AM_V
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-LIBXML_VERSION_EXTRA
-LIBXML_VERSION_NUMBER
-LIBXML_VERSION_INFO
-LIBXML_VERSION
-LIBXML_MICRO_VERSION
-LIBXML_MINOR_VERSION
-LIBXML_MAJOR_VERSION
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_silent_rules
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-with_c14n
-with_catalog
-with_debug
-with_docbook
-with_fexceptions
-with_ftp
-with_history
-with_html
-with_html_dir
-with_html_subdir
-with_http
-with_iconv
-with_icu
-with_iso8859x
-with_legacy
-with_mem_debug
-with_minimum
-with_output
-with_pattern
-with_push
-with_python
-with_reader
-with_readline
-with_regexps
-with_run_debug
-with_sax1
-with_schemas
-with_schematron
-with_threads
-with_thread_alloc
-with_tree
-with_valid
-with_writer
-with_xinclude
-with_xpath
-with_xptr
-with_modules
-with_zlib
-with_lzma
-with_coverage
-enable_rebuild_docs
-enable_ipv6
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-silent-rules          less verbose build output (undo: `make V=1')
-  --disable-silent-rules         verbose build output (undo: `make V=0')
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-  --enable-rebuild-docs[=yes/no]  rebuild some generated docs [default=no]
-  --enable-ipv6[=yes/no]  enables compilation of IPv6 code [default=yes]
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot=DIR Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).
-  --with-c14n             add the Canonicalization support (on)
-  --with-catalog          add the Catalog support (on)
-  --with-debug            add the debugging module (on)
-  --with-docbook          add Docbook SGML support (on)
-  --with-fexceptions      add GCC flag -fexceptions for C++ exceptions (off)
-  --with-ftp              add the FTP support (on)
-  --with-history          add history support to xmllint shell(off)
-  --with-html             add the HTML support (on)
-  --with-html-dir=path    path to base html directory, default
-                          $datadir/doc/html
-  --with-html-subdir=path directory used under html-dir, default
-                          $PACKAGE-$VERSION/html
-  --with-http             add the HTTP support (on)
-  --with-iconv[=DIR]      add ICONV support (on)
-  --with-icu                add ICU support (off)
-  --with-iso8859x         add ISO8859X support if no iconv (on)
-  --with-legacy           add deprecated APIs for compatibility (on)
-  --with-mem-debug        add the memory debugging module (off)
-  --with-minimum          build a minimally sized library (off)
-  --with-output           add the serialization support (on)
-  --with-pattern          add the xmlPattern selection interface (on)
-  --with-push             add the PUSH parser interfaces (on)
-  --with-python[=DIR]     build Python bindings if found
-  --with-reader           add the xmlReader parsing interface (on)
-  --with-readline=DIR     use readline in DIR
-  --with-regexps          add Regular Expressions support (on)
-  --with-run-debug        add the runtime debugging module (off)
-  --with-sax1             add the older SAX1 interface (on)
-  --with-schemas          add Relax-NG and Schemas support (on)
-  --with-schematron       add Schematron support (on)
-  --with-threads          add multithread support(on)
-  --with-thread-alloc     add per-thread memory(off)
-  --with-tree             add the DOM like tree manipulation APIs (on)
-  --with-valid            add the DTD validation support (on)
-  --with-writer           add the xmlWriter saving interface (on)
-  --with-xinclude         add the XInclude support (on)
-  --with-xpath            add the XPATH support (on)
-  --with-xptr             add the XPointer support (on)
-  --with-modules          add the dynamic modules support (on)
-  --with-zlib[=DIR]       use libz in DIR
-  --with-lzma[=DIR]       use liblzma in DIR
-  --with-coverage         build for code coverage with GCC (off)
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-configure
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_find_uintX_t LINENO BITS VAR
-# ------------------------------------
-# Finds an unsigned integer type with width BITS, setting cache variable VAR
-# accordingly.
-ac_fn_c_find_uintX_t ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
-$as_echo_n "checking for uint$2_t... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-     # Order is important - never check a type that is potentially smaller
-     # than half of the expected target width.
-     for ac_type in uint$2_t 'unsigned int' 'unsigned long int' \
-        'unsigned long long int' 'unsigned short int' 'unsigned char'; do
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  case $ac_type in #(
-  uint$2_t) :
-    eval "$3=yes" ;; #(
-  *) :
-    eval "$3=\$ac_type" ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-       if eval test \"x\$"$3"\" = x"no"; then :
-
-else
-  break
-fi
-     done
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_find_uintX_t
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by $as_me, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-ac_config_headers="$ac_config_headers config.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-
-LIBXML_MAJOR_VERSION=2
-LIBXML_MINOR_VERSION=9
-LIBXML_MICRO_VERSION=0
-LIBXML_MICRO_VERSION_SUFFIX=
-LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX
-LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
-
-LIBXML_VERSION_NUMBER=`expr $LIBXML_MAJOR_VERSION \* 10000 + $LIBXML_MINOR_VERSION \* 100 + $LIBXML_MICRO_VERSION`
-
-if test -f CVS/Entries ; then
-  extra=`grep ChangeLog CVS/Entries | grep -v LIBXML | sed -e s\%/ChangeLog/1\.%% -e s\%/.*$%%`
-  echo extra=$extra
-  if test "$extra" != ""
-  then
-      LIBXML_VERSION_EXTRA="-CVS$extra"
-  fi
-else if test -d .svn ; then
-  extra=`svn info | grep Revision | sed 's+Revision: ++'`
-  echo extra=$extra
-  if test "$extra" != ""
-  then
-      LIBXML_VERSION_EXTRA="-SVN$extra"
-  fi
-else if test -d .git ; then
-  extra=`git describe 2>/dev/null | sed 's+LIBXML[0-9.]*-++'`
-  echo extra=$extra
-  if test "$extra" != ""
-  then
-      LIBXML_VERSION_EXTRA="-GIT$extra"
-  fi
-fi
-fi
-fi
-
-
-
-
-
-
-
-
-VERSION=${LIBXML_VERSION}
-
-am__api_version='1.11'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if ${ac_cv_path_mkdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE=libxml2
- VERSION=$VERSION
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.  Yes, it's still used
-# in the wild :-(  We should find a proper way to deprecate it ...
-AMTAR='$${TAR-tar}'
-
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
-
-
-
-
-
-
-# Support silent build rules, requires at least automake-1.11. Disable
-# by either passing --disable-silent-rules to configure or passing V=1
-# to make
-# Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then :
-  enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no)  AM_DEFAULT_VERBOSITY=1;;
-*)   AM_DEFAULT_VERBOSITY=0;;
-esac
-am_make=${MAKE-make}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
-$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
-if ${am_cv_make_support_nested_variables+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if $as_echo 'TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
-       @$(TRUE)
-.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
-  am_cv_make_support_nested_variables=yes
-else
-  am_cv_make_support_nested_variables=no
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
-$as_echo "$am_cv_make_support_nested_variables" >&6; }
-if test $am_cv_make_support_nested_variables = yes; then
-    AM_V='$(V)'
-  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
-  AM_V=$AM_DEFAULT_VERBOSITY
-  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AM_BACKSLASH='\'
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-  am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-# Extract the first word of "rm", so it can be a program name with args.
-set dummy rm; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_RM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $RM in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_RM="$RM" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_RM="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_RM" && ac_cv_path_RM="/bin/rm"
-  ;;
-esac
-fi
-RM=$ac_cv_path_RM
-if test -n "$RM"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RM" >&5
-$as_echo "$RM" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "mv", so it can be a program name with args.
-set dummy mv; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MV+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MV in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_MV="$MV" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_MV="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_MV" && ac_cv_path_MV="/bin/mv"
-  ;;
-esac
-fi
-MV=$ac_cv_path_MV
-if test -n "$MV"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MV" >&5
-$as_echo "$MV" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "tar", so it can be a program name with args.
-set dummy tar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_TAR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $TAR in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_TAR="$TAR" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_TAR="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_TAR" && ac_cv_path_TAR="/bin/tar"
-  ;;
-esac
-fi
-TAR=$ac_cv_path_TAR
-if test -n "$TAR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5
-$as_echo "$TAR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PERL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PERL in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="/usr/bin/perl"
-  ;;
-esac
-fi
-PERL=$ac_cv_path_PERL
-if test -n "$PERL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
-$as_echo "$PERL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "wget", so it can be a program name with args.
-set dummy wget; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_WGET+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $WGET in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_WGET="$WGET" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_WGET="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_WGET" && ac_cv_path_WGET="/usr/bin/wget"
-  ;;
-esac
-fi
-WGET=$ac_cv_path_WGET
-if test -n "$WGET"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5
-$as_echo "$WGET" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "xmllint", so it can be a program name with args.
-set dummy xmllint; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_XMLLINT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $XMLLINT in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_XMLLINT="$XMLLINT" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_XMLLINT="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_XMLLINT" && ac_cv_path_XMLLINT="/usr/bin/xmllint"
-  ;;
-esac
-fi
-XMLLINT=$ac_cv_path_XMLLINT
-if test -n "$XMLLINT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLLINT" >&5
-$as_echo "$XMLLINT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "xsltproc", so it can be a program name with args.
-set dummy xsltproc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_XSLTPROC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $XSLTPROC in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_XSLTPROC="$XSLTPROC" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_XSLTPROC" && ac_cv_path_XSLTPROC="/usr/bin/xsltproc"
-  ;;
-esac
-fi
-XSLTPROC=$ac_cv_path_XSLTPROC
-if test -n "$XSLTPROC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XSLTPROC" >&5
-$as_echo "$XSLTPROC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4.2'
-macro_revision='1.3337'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,b/c, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test "$GCC" != yes; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh
-  # decide which to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$AR" && break
-  done
-fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_AR" && break
-done
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test "$ac_status" -eq 0; then
-       # Ensure the archiver fails upon bogus file names.
-       rm -f conftest.$ac_objext libconftest.a
-       { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-       if test "$ac_status" -ne 0; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_globsym_save_LIBS=$LIBS
-         lt_globsym_save_CFLAGS=$CFLAGS
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS=$lt_globsym_save_LIBS
-         CFLAGS=$lt_globsym_save_CFLAGS
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
-else
-  with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
-   if test "$GCC" = yes; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_i386"
-           ;;
-         ppc64-*linux*|powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         ppc*-*linux*|powerpc*-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD="${LD-ld}_sol2"
-        fi
-        ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-  fi
-else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       # If there is a non-empty error log, and "single_module"
-       # appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-         cat conftest.err >&5
-       # Otherwise, if the output was created with a 0 exit code from
-       # the compiler, it worked.
-       elif test -f libconftest.dylib && test $_lt_result -eq 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -s conftest.err && $GREP force_load conftest.err; then
-       cat conftest.err >&5
-      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
-        enable_dlopen=no
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for lt_pkg in $withval; do
-       IFS="$lt_save_ifs"
-       if test "X$lt_pkg" = "X$lt_p"; then
-         pic_mode=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      if test -n "$lt_prog_compiler_pic"; then
-        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
-      fi
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      nagfor*)
-       # NAG Fortran compiler
-       lt_prog_compiler_wl='-Wl,-Wl,,'
-       lt_prog_compiler_pic='-PIC'
-       lt_prog_compiler_static='-Bstatic'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ F* | *Sun*Fortran*)
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Qoption ld '
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-        *Intel*\ [CF]*Compiler*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fPIC'
-         lt_prog_compiler_static='-static'
-         ;;
-       *Portland\ Group*)
-         lt_prog_compiler_wl='-Wl,'
-         lt_prog_compiler_pic='-fpic'
-         lt_prog_compiler_static='-Bstatic'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-         /^0/ {
-             s/^0  *\([^ ]*\) *$/\1/
-             p
-         }
-      }'
-  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  # Check for a 64-bit object if we didn't find anything.
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_="/usr/lib:/lib"
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      case $cc_basename in
-      cl*)
-       # Native MSVC
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       always_export_symbols=yes
-       file_list_spec='@'
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-           sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-         else
-           sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-         fi~
-         $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-         linknames='
-       # The linker will not automatically build a static lib if we build a DLL.
-       # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-       enable_shared_with_static_runtimes=yes
-       exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-       export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-       # Don't use ranlib
-       old_postinstall_cmds='chmod 644 $oldlib'
-       postlink_cmds='lt_outputfile="@OUTPUT@"~
-         lt_tool_outputfile="@TOOL_OUTPUT@"~
-         case $lt_outputfile in
-           *.exe|*.EXE) ;;
-           *)
-             lt_outputfile="$lt_outputfile.exe"
-             lt_tool_outputfile="$lt_tool_outputfile.exe"
-             ;;
-         esac~
-         if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-           $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-           $RM "$lt_outputfile.manifest";
-         fi'
-       ;;
-      *)
-       # Assume MSVC wrapper
-       hardcode_libdir_flag_spec=' '
-       allow_undefined_flag=unsupported
-       # Tell ltmain to make .lib files, not .a files.
-       libext=lib
-       # Tell ltmain to make .dll files, not .so files.
-       shrext_cmds=".dll"
-       # FIXME: Setting linknames here is a bad hack.
-       archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-       # The linker will automatically build a .lib file if we build a DLL.
-       old_archive_from_new_cmds='true'
-       # FIXME: Should let the user specify the lib program.
-       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-       enable_shared_with_static_runtimes=yes
-       ;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-       # This should be the same for all languages, so no per-tag cache variable.
-       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS="$LDFLAGS"
-          LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-       if test "$lt_cv_irix_exported_symbol" = yes; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-       fi
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
-         else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$cc_basename in
-  yes,*)
-    # gcc
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-    library_names_spec='${libname}.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec="$LIB"
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[23].*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2.*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux # correct to gnu/linux during the next big refactor
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Add ABI-specific directories to the system library path.
-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux # correct to gnu/linux during the next big refactor
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-VERSION_SCRIPT_FLAGS=
-# lt_cv_prog_gnu_ld is from libtool 2.+
-if test "$lt_cv_prog_gnu_ld" = yes; then
-  VERSION_SCRIPT_FLAGS=-Wl,--version-script=
-else
-  case $host in
-  *-*-sunos*) VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,";;
-  esac
-fi
-
- if test -n "$VERSION_SCRIPT_FLAGS"; then
-  USE_VERSION_SCRIPT_TRUE=
-  USE_VERSION_SCRIPT_FALSE='#'
-else
-  USE_VERSION_SCRIPT_TRUE='#'
-  USE_VERSION_SCRIPT_FALSE=
-fi
-
-
-
-_cppflags="${CPPFLAGS}"
-_libs="${LIBS}"
-
-
-# Check whether --with-c14n was given.
-if test "${with_c14n+set}" = set; then :
-  withval=$with_c14n;
-fi
-
-
-# Check whether --with-catalog was given.
-if test "${with_catalog+set}" = set; then :
-  withval=$with_catalog;
-fi
-
-
-# Check whether --with-debug was given.
-if test "${with_debug+set}" = set; then :
-  withval=$with_debug;
-fi
-
-
-# Check whether --with-docbook was given.
-if test "${with_docbook+set}" = set; then :
-  withval=$with_docbook;
-fi
-
-
-# Check whether --with-fexceptions was given.
-if test "${with_fexceptions+set}" = set; then :
-  withval=$with_fexceptions;
-fi
-
-
-# Check whether --with-ftp was given.
-if test "${with_ftp+set}" = set; then :
-  withval=$with_ftp;
-fi
-
-
-# Check whether --with-history was given.
-if test "${with_history+set}" = set; then :
-  withval=$with_history;
-fi
-
-
-# Check whether --with-html was given.
-if test "${with_html+set}" = set; then :
-  withval=$with_html;
-fi
-
-
-# Check whether --with-html-dir was given.
-if test "${with_html_dir+set}" = set; then :
-  withval=$with_html_dir; HTML_DIR=$withval
-else
-  HTML_DIR='$(datadir)/doc'
-fi
-
-
-
-# Check whether --with-html-subdir was given.
-if test "${with_html_subdir+set}" = set; then :
-  withval=$with_html_subdir; test "x$withval" != "x" && HTML_DIR="$HTML_DIR/$withval"
-else
-  HTML_DIR="$HTML_DIR/\$(PACKAGE)-\$(VERSION)/html"
-fi
-
-
-
-# Check whether --with-http was given.
-if test "${with_http+set}" = set; then :
-  withval=$with_http;
-fi
-
-
-# Check whether --with-iconv was given.
-if test "${with_iconv+set}" = set; then :
-  withval=$with_iconv;
-fi
-
-
-# Check whether --with-icu was given.
-if test "${with_icu+set}" = set; then :
-  withval=$with_icu;
-fi
-
-
-# Check whether --with-iso8859x was given.
-if test "${with_iso8859x+set}" = set; then :
-  withval=$with_iso8859x;
-fi
-
-
-# Check whether --with-legacy was given.
-if test "${with_legacy+set}" = set; then :
-  withval=$with_legacy;
-fi
-
-
-# Check whether --with-mem_debug was given.
-if test "${with_mem_debug+set}" = set; then :
-  withval=$with_mem_debug;
-fi
-
-
-# Check whether --with-minimum was given.
-if test "${with_minimum+set}" = set; then :
-  withval=$with_minimum;
-fi
-
-
-# Check whether --with-output was given.
-if test "${with_output+set}" = set; then :
-  withval=$with_output;
-fi
-
-
-# Check whether --with-pattern was given.
-if test "${with_pattern+set}" = set; then :
-  withval=$with_pattern;
-fi
-
-
-# Check whether --with-push was given.
-if test "${with_push+set}" = set; then :
-  withval=$with_push;
-fi
-
-
-# Check whether --with-python was given.
-if test "${with_python+set}" = set; then :
-  withval=$with_python;
-fi
-
-
-# Check whether --with-reader was given.
-if test "${with_reader+set}" = set; then :
-  withval=$with_reader;
-fi
-
-
-# Check whether --with-readline was given.
-if test "${with_readline+set}" = set; then :
-  withval=$with_readline;
-  if test "$withval" != "no" -a "$withval" != "yes"; then
-    RDL_DIR=$withval
-    CPPFLAGS="${CPPFLAGS} -I$withval/include"
-    LIBS="${LIBS} -L$withval/lib"
-  fi
-
-fi
-
-
-# Check whether --with-regexps was given.
-if test "${with_regexps+set}" = set; then :
-  withval=$with_regexps;
-fi
-
-
-# Check whether --with-run_debug was given.
-if test "${with_run_debug+set}" = set; then :
-  withval=$with_run_debug;
-fi
-
-
-# Check whether --with-sax1 was given.
-if test "${with_sax1+set}" = set; then :
-  withval=$with_sax1;
-fi
-
-
-# Check whether --with-schemas was given.
-if test "${with_schemas+set}" = set; then :
-  withval=$with_schemas;
-fi
-
-
-# Check whether --with-schematron was given.
-if test "${with_schematron+set}" = set; then :
-  withval=$with_schematron;
-fi
-
-
-# Check whether --with-threads was given.
-if test "${with_threads+set}" = set; then :
-  withval=$with_threads;
-fi
-
-
-# Check whether --with-thread-alloc was given.
-if test "${with_thread_alloc+set}" = set; then :
-  withval=$with_thread_alloc;
-fi
-
-
-# Check whether --with-tree was given.
-if test "${with_tree+set}" = set; then :
-  withval=$with_tree;
-fi
-
-
-# Check whether --with-valid was given.
-if test "${with_valid+set}" = set; then :
-  withval=$with_valid;
-fi
-
-
-# Check whether --with-writer was given.
-if test "${with_writer+set}" = set; then :
-  withval=$with_writer;
-fi
-
-
-# Check whether --with-xinclude was given.
-if test "${with_xinclude+set}" = set; then :
-  withval=$with_xinclude;
-fi
-
-
-# Check whether --with-xpath was given.
-if test "${with_xpath+set}" = set; then :
-  withval=$with_xpath;
-fi
-
-
-# Check whether --with-xptr was given.
-if test "${with_xptr+set}" = set; then :
-  withval=$with_xptr;
-fi
-
-
-# Check whether --with-modules was given.
-if test "${with_modules+set}" = set; then :
-  withval=$with_modules;
-fi
-
-
-# Check whether --with-zlib was given.
-if test "${with_zlib+set}" = set; then :
-  withval=$with_zlib;
-  if test "$withval" != "no" -a "$withval" != "yes"; then
-    Z_DIR=$withval
-    CPPFLAGS="${CPPFLAGS} -I$withval/include"
-    LIBS="${LIBS} -L$withval/lib"
-  fi
-
-fi
-
-
-# Check whether --with-lzma was given.
-if test "${with_lzma+set}" = set; then :
-  withval=$with_lzma;
-  if test "$withval" != "no" -a "$withval" != "yes"; then
-    LZMA_DIR=$withval
-    CPPFLAGS="${CPPFLAGS} -I$withval/include"
-    LIBS="${LIBS} -L$withval/lib"
-  fi
-
-fi
-
-
-# Check whether --with-coverage was given.
-if test "${with_coverage+set}" = set; then :
-  withval=$with_coverage;
-fi
-
-
-# Check whether --enable-rebuild-docs was given.
-if test "${enable_rebuild_docs+set}" = set; then :
-  enableval=$enable_rebuild_docs;
-fi
-
-if test "$enable_rebuild_docs" = "yes" -a "$srcdir" != "."; then
-  as_fn_error $? "cannot rebuild docs when builddir != srcdir" "$LINENO" 5
-fi
- if test "$enable_rebuild_docs" = "yes" -o "$USER" = "veillard"; then
-  REBUILD_DOCS_TRUE=
-  REBUILD_DOCS_FALSE='#'
-else
-  REBUILD_DOCS_TRUE='#'
-  REBUILD_DOCS_FALSE=
-fi
-
-
-if test "$with_schemas" = "yes"
-then
-    with_pattern=yes
-    with_regexps=yes
-fi
-if test "$with_schematron" = "yes"
-then
-    with_pattern=yes
-    with_xpath=yes
-fi
-if test "$with_reader" = "yes"
-then
-    with_push=yes
-fi
-if test "$with_xptr" = "yes"
-then
-    with_xpath=yes
-fi
-if test "$with_minimum" = "yes"
-then
-    echo "Configuring for a minimal library"
-    if test "$with_c14n" = ""
-    then
-      with_c14n=no
-    fi
-    if test "$with_catalog" = ""
-    then
-      with_catalog=no
-    fi
-    echo So far so good!
-    if test "$with_debug" = ""
-    then
-      with_debug=no
-    fi
-    if test "$with_docbook" = ""
-    then
-      with_docbook=no
-    fi
-    if test "$with_fexceptions" = ""
-    then
-      with_fexceptions=no
-    fi
-    if test "$with_ftp" = ""
-    then
-      with_ftp=no
-    fi
-    if test "$with_history" = ""
-    then
-      with_history=no
-    fi
-    if test "$with_html" = ""
-    then
-      with_html=no
-    fi
-    if test "$with_http" = ""
-    then
-      with_http=no
-    fi
-    if test "$with_iconv" = ""
-    then
-      with_iconv=no
-    fi
-    if test "$with_iso8859x" = ""
-    then
-      with_iso8859x=no
-    fi
-    if test "$with_legacy" = ""
-    then
-      with_legacy=no
-    fi
-    if test "$with_mem_debug" = ""
-    then
-      with_mem_debug=no
-    fi
-    if test "$with_output" = ""
-    then
-      with_output=no
-    fi
-    if test "$with_pattern" = ""
-    then
-      with_pattern=no
-    fi
-    if test "$with_push" = ""
-    then
-      with_push=no
-    fi
-    if test "$with_python" = ""
-    then
-      with_python=no
-    fi
-    if test "$with_reader" = ""
-    then
-      with_reader=no
-    fi
-    if test "$with_readline" = ""
-    then
-      with_readline=no
-    fi
-    if test "$with_regexps" = ""
-    then
-      with_regexps=no
-    fi
-    if test "$with_run_debug" = ""
-    then
-      with_run_debug=no
-    fi
-    if test "$with_sax1" = ""
-    then
-      with_sax1=no
-    fi
-    if test "$with_schemas" = ""
-    then
-      with_schemas=no
-    fi
-    if test "$with_schematron" = ""
-    then
-      with_schematron=no
-    fi
-    if test "$with_threads" = ""
-    then
-      with_threads=no
-    fi
-    if test "$with_thread_alloc" = ""
-    then
-      with_thread_alloc=no
-   fi
-    if test "$with_tree" = ""
-    then
-      with_tree=no
-    fi
-    if test "$with_valid" = ""
-    then
-      with_valid=no
-    fi
-    if test "$with_writer" = ""
-    then
-      with_writer=no
-    fi
-    if test "$with_xinclude" = ""
-    then
-      with_xinclude=no
-    fi
-    if test "$with_xpath" = ""
-    then
-      with_xpath=no
-    fi
-    if test "$with_xptr" = ""
-    then
-      with_xptr=no
-    fi
-    if test "$with_zlib" = ""
-    then
-      with_zlib=no
-    fi
-    if test "$with_modules" = ""
-    then
-      with_modules=no
-    fi
-fi
-
-echo Checking zlib
-
-
-WITH_ZLIB=0
-if test "$with_zlib" = "no"; then
-    echo "Disabling compression support"
-else
-    for ac_header in zlib.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_zlib_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_ZLIB_H 1
-_ACEOF
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gzread in -lz" >&5
-$as_echo_n "checking for gzread in -lz... " >&6; }
-if ${ac_cv_lib_z_gzread+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lz  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gzread ();
-int
-main ()
-{
-return gzread ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_z_gzread=yes
-else
-  ac_cv_lib_z_gzread=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_gzread" >&5
-$as_echo "$ac_cv_lib_z_gzread" >&6; }
-if test "x$ac_cv_lib_z_gzread" = xyes; then :
-
-
-$as_echo "#define HAVE_LIBZ 1" >>confdefs.h
-
-           WITH_ZLIB=1
-           if test "x${Z_DIR}" != "x"; then
-               Z_CFLAGS="-I${Z_DIR}/include"
-               Z_LIBS="-L${Z_DIR}/lib -lz"
-               case ${host} in
-                   *-*-solaris*)
-                       Z_LIBS="-L${Z_DIR}/lib -R${Z_DIR}/lib -lz"
-                       ;;
-               esac
-           else
-               Z_LIBS="-lz"
-           fi
-fi
-
-fi
-
-done
-
-fi
-
-
-
-
-
-echo Checking lzma
-
-
-WITH_LZMA=0
-if test "$with_lzma" = "no"; then
-    echo "Disabling compression support"
-else
-    for ac_header in lzma.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "lzma.h" "ac_cv_header_lzma_h" "$ac_includes_default"
-if test "x$ac_cv_header_lzma_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LZMA_H 1
-_ACEOF
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzma_code in -llzma" >&5
-$as_echo_n "checking for lzma_code in -llzma... " >&6; }
-if ${ac_cv_lib_lzma_lzma_code+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-llzma  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char lzma_code ();
-int
-main ()
-{
-return lzma_code ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_lzma_lzma_code=yes
-else
-  ac_cv_lib_lzma_lzma_code=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzma_lzma_code" >&5
-$as_echo "$ac_cv_lib_lzma_lzma_code" >&6; }
-if test "x$ac_cv_lib_lzma_lzma_code" = xyes; then :
-
-
-$as_echo "#define HAVE_LIBLZMA 1" >>confdefs.h
-
-           WITH_LZMA=1
-           if test "x${LZMA_DIR}" != "x"; then
-               LZMA_CFLAGS="-I${LZMA_DIR}/include"
-               LZMA_LIBS="-L${LZMA_DIR}/lib -llzma"
-           else
-               LZMA_LIBS="-llzma"
-           fi
-fi
-
-fi
-
-done
-
-fi
-
-
-
-
-
-CPPFLAGS=${_cppflags}
-LIBS=${_libs}
-
-echo Checking headers
-
-ac_header_dirent=no
-for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
-  as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
-$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-if eval \${$as_ac_Header+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <$ac_hdr>
-
-int
-main ()
-{
-if ((DIR *) 0)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$as_ac_Header=yes"
-else
-  eval "$as_ac_Header=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_ac_Header
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
-_ACEOF
-
-ac_header_dirent=$ac_hdr; break
-fi
-
-done
-# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
-if test $ac_header_dirent = dirent.h; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-$as_echo_n "checking for library containing opendir... " >&6; }
-if ${ac_cv_search_opendir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char opendir ();
-int
-main ()
-{
-return opendir ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' dir; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_opendir=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_opendir+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_opendir+:} false; then :
-
-else
-  ac_cv_search_opendir=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
-$as_echo "$ac_cv_search_opendir" >&6; }
-ac_res=$ac_cv_search_opendir
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-$as_echo_n "checking for library containing opendir... " >&6; }
-if ${ac_cv_search_opendir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char opendir ();
-int
-main ()
-{
-return opendir ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' x; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_opendir=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_opendir+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_opendir+:} false; then :
-
-else
-  ac_cv_search_opendir=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
-$as_echo "$ac_cv_search_opendir" >&6; }
-ac_res=$ac_cv_search_opendir
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_header in fcntl.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "$ac_includes_default"
-if test "x$ac_cv_header_fcntl_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_FCNTL_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in unistd.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default"
-if test "x$ac_cv_header_unistd_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_UNISTD_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in ctype.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "ctype.h" "ac_cv_header_ctype_h" "$ac_includes_default"
-if test "x$ac_cv_header_ctype_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_CTYPE_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in dirent.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "dirent.h" "ac_cv_header_dirent_h" "$ac_includes_default"
-if test "x$ac_cv_header_dirent_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DIRENT_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in errno.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "errno.h" "ac_cv_header_errno_h" "$ac_includes_default"
-if test "x$ac_cv_header_errno_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_ERRNO_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in malloc.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "malloc.h" "ac_cv_header_malloc_h" "$ac_includes_default"
-if test "x$ac_cv_header_malloc_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MALLOC_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in stdarg.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdarg.h" "ac_cv_header_stdarg_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdarg_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDARG_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in sys/stat.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/stat.h" "ac_cv_header_sys_stat_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_stat_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_STAT_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in sys/types.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_types_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_TYPES_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in stdint.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdint_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDINT_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in inttypes.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default"
-if test "x$ac_cv_header_inttypes_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_INTTYPES_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in time.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default"
-if test "x$ac_cv_header_time_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_TIME_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in ansidecl.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "ansidecl.h" "ac_cv_header_ansidecl_h" "$ac_includes_default"
-if test "x$ac_cv_header_ansidecl_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_ANSIDECL_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in ieeefp.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "ieeefp.h" "ac_cv_header_ieeefp_h" "$ac_includes_default"
-if test "x$ac_cv_header_ieeefp_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_IEEEFP_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in nan.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "nan.h" "ac_cv_header_nan_h" "$ac_includes_default"
-if test "x$ac_cv_header_nan_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_NAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in math.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "math.h" "ac_cv_header_math_h" "$ac_includes_default"
-if test "x$ac_cv_header_math_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_MATH_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in limits.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default"
-if test "x$ac_cv_header_limits_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIMITS_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in fp_class.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "fp_class.h" "ac_cv_header_fp_class_h" "$ac_includes_default"
-if test "x$ac_cv_header_fp_class_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_FP_CLASS_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in float.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default"
-if test "x$ac_cv_header_float_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_FLOAT_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in stdlib.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdlib_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDLIB_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in sys/socket.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-
-"
-if test "x$ac_cv_header_sys_socket_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_SOCKET_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in netinet/in.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-
-"
-if test "x$ac_cv_header_netinet_in_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_NETINET_IN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in arpa/inet.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-#if HAVE_ARPA_INET_H
-# include <arpa/inet.h>
-# endif
-
-"
-if test "x$ac_cv_header_arpa_inet_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_ARPA_INET_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in netdb.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default"
-if test "x$ac_cv_header_netdb_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_NETDB_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in sys/time.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_time_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_TIME_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in sys/select.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/select.h" "ac_cv_header_sys_select_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_select_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_SELECT_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in poll.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "poll.h" "ac_cv_header_poll_h" "$ac_includes_default"
-if test "x$ac_cv_header_poll_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_POLL_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in sys/mman.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in sys/timeb.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_timeb_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_TIMEB_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in signal.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "signal.h" "ac_cv_header_signal_h" "$ac_includes_default"
-if test "x$ac_cv_header_signal_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SIGNAL_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in arpa/nameser.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "arpa/nameser.h" "ac_cv_header_arpa_nameser_h" "#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-
-"
-if test "x$ac_cv_header_arpa_nameser_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_ARPA_NAMESER_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in resolv.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "resolv.h" "ac_cv_header_resolv_h" "#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-#if HAVE_NETINET_IN_H
-# include <netinet/in.h>
-# endif
-#if HAVE_ARPA_NAMESER_H
-# include <arpa/nameser.h>
-# endif
-
-"
-if test "x$ac_cv_header_resolv_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_RESOLV_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in dl.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "dl.h" "ac_cv_header_dl_h" "$ac_includes_default"
-if test "x$ac_cv_header_dl_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DL_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-echo Checking types
-
-ac_fn_c_find_uintX_t "$LINENO" "32" "ac_cv_c_uint32_t"
-case $ac_cv_c_uint32_t in #(
-  no|yes) ;; #(
-  *)
-
-$as_echo "#define _UINT32_T 1" >>confdefs.h
-
-
-cat >>confdefs.h <<_ACEOF
-#define uint32_t $ac_cv_c_uint32_t
-_ACEOF
-;;
-  esac
-
-
-
-echo Checking libraries
-
-for ac_func in strftime
-do :
-  ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime"
-if test "x$ac_cv_func_strftime" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STRFTIME 1
-_ACEOF
-
-else
-  # strftime is in -lintl on SCO UNIX.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for strftime in -lintl" >&5
-$as_echo_n "checking for strftime in -lintl... " >&6; }
-if ${ac_cv_lib_intl_strftime+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lintl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char strftime ();
-int
-main ()
-{
-return strftime ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_intl_strftime=yes
-else
-  ac_cv_lib_intl_strftime=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_strftime" >&5
-$as_echo "$ac_cv_lib_intl_strftime" >&6; }
-if test "x$ac_cv_lib_intl_strftime" = xyes; then :
-  $as_echo "#define HAVE_STRFTIME 1" >>confdefs.h
-
-LIBS="-lintl $LIBS"
-fi
-
-fi
-done
-
-for ac_func in strdup strndup strerror
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in finite isnand fp_class class fpclass
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in strftime localtime gettimeofday ftime
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in stat _stat signal
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in rand rand_r srand time
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in isascii mmap munmap putenv
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5
-$as_echo_n "checking for va_copy... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-va_list ap1,ap2;
-int
-main ()
-{
-va_copy(ap1,ap2);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  have_va_copy=yes
-else
-  have_va_copy=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_va_copy" >&5
-$as_echo "$have_va_copy" >&6; }
-if test x"$have_va_copy" = x"yes"; then
-
-$as_echo "#define HAVE_VA_COPY 1" >>confdefs.h
-
-else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __va_copy" >&5
-$as_echo_n "checking for __va_copy... " >&6; }
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-    va_list ap1,ap2;
-int
-main ()
-{
-__va_copy(ap1,ap2);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  have___va_copy=yes
-else
-  have___va_copy=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have___va_copy" >&5
-$as_echo "$have___va_copy" >&6; }
-    if test x"$have___va_copy" = x"yes"; then
-
-$as_echo "#define HAVE___VA_COPY 1" >>confdefs.h
-
-    fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostent" >&5
-$as_echo_n "checking for library containing gethostent... " >&6; }
-if ${ac_cv_search_gethostent+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostent ();
-int
-main ()
-{
-return gethostent ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' nsl; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_gethostent=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_gethostent+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_gethostent+:} false; then :
-
-else
-  ac_cv_search_gethostent=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostent" >&5
-$as_echo "$ac_cv_search_gethostent" >&6; }
-ac_res=$ac_cv_search_gethostent
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5
-$as_echo_n "checking for library containing setsockopt... " >&6; }
-if ${ac_cv_search_setsockopt+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char setsockopt ();
-int
-main ()
-{
-return setsockopt ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' socket net network; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_setsockopt=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_setsockopt+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_setsockopt+:} false; then :
-
-else
-  ac_cv_search_setsockopt=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setsockopt" >&5
-$as_echo "$ac_cv_search_setsockopt" >&6; }
-ac_res=$ac_cv_search_setsockopt
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing connect" >&5
-$as_echo_n "checking for library containing connect... " >&6; }
-if ${ac_cv_search_connect+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char connect ();
-int
-main ()
-{
-return connect ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' inet; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_connect=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_connect+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_connect+:} false; then :
-
-else
-  ac_cv_search_connect=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_connect" >&5
-$as_echo "$ac_cv_search_connect" >&6; }
-ac_res=$ac_cv_search_connect
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for type of socket length (socklen_t)" >&5
-$as_echo_n "checking for type of socket length (socklen_t)... " >&6; }
-cat > conftest.$ac_ext <<EOF
-#line 13608 "configure"
-#include "confdefs.h"
-
-#include <stddef.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-int main(void) {
-
-(void)getsockopt (1, 1, 1, NULL, (socklen_t *)NULL)
-; return 0; }
-EOF
-if { (eval echo configure:13619: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
-  rm -rf conftest*
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: socklen_t *" >&5
-$as_echo "socklen_t *" >&6; }
-  XML_SOCKLEN_T=socklen_t
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-
-  cat > conftest.$ac_ext <<EOF
-#line 13631 "configure"
-#include "confdefs.h"
-
-#include <stddef.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-int main(void) {
-
-(void)getsockopt (1, 1, 1, NULL, (size_t *)NULL)
-; return 0; }
-EOF
-if { (eval echo configure:13642: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
-  rm -rf conftest*
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: size_t *" >&5
-$as_echo "size_t *" >&6; }
-    XML_SOCKLEN_T=size_t
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-
-    cat > conftest.$ac_ext <<EOF
-#line 13654 "configure"
-#include "confdefs.h"
-
-#include <stddef.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-int main(void) {
-
-(void)getsockopt (1, 1, 1, NULL, (int *)NULL)
-; return 0; }
-EOF
-if { (eval echo configure:13665: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; _out=`eval $ac_compile 2>&1` && test "x$_out" = x; }; then
-  rm -rf conftest*
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: int *" >&5
-$as_echo "int *" >&6; }
-      XML_SOCKLEN_T=int
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: could not determine" >&5
-$as_echo "$as_me: WARNING: could not determine" >&2;}
-      XML_SOCKLEN_T="int"
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-
-cat >>confdefs.h <<_ACEOF
-#define XML_SOCKLEN_T $XML_SOCKLEN_T
-_ACEOF
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable IPv6" >&5
-$as_echo_n "checking whether to enable IPv6... " >&6; }
-# Check whether --enable-ipv6 was given.
-if test "${enable_ipv6+set}" = set; then :
-  enableval=$enable_ipv6;
-else
-  enable_ipv6=yes
-fi
-
-if test "$with_minimum" = "yes"
-then
-    enable_ipv6=no
-fi
-if test $enable_ipv6 = yes; then
-  have_ipv6=no
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#   include <sys/types.h>
-#   include <sys/socket.h>
-
-int
-main ()
-{
-
-    struct sockaddr_storage ss;
-    socket(AF_INET6, SOCK_STREAM, 0)
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  have_ipv6=yes
-else
-  have_ipv6=no
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_ipv6" >&5
-$as_echo "$have_ipv6" >&6; }
-
-  if test $have_ipv6 = yes; then
-
-$as_echo "#define SUPPORT_IP6 /**/" >>confdefs.h
-
-    have_broken_ss_family=no
-
-                                { $as_echo "$as_me:${as_lineno-$LINENO}: checking struct sockaddr::ss_family" >&5
-$as_echo_n "checking struct sockaddr::ss_family... " >&6; }
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#     include <sys/types.h>
-#     include <sys/socket.h>
-
-int
-main ()
-{
-
-      struct sockaddr_storage ss ;
-      ss.ss_family = 0 ;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  have_ss_family=yes
-else
-  have_ss_family=no
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_ss_family" >&5
-$as_echo "$have_ss_family" >&6; }
-    if test x$have_ss_family = xno ; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking broken struct sockaddr::ss_family" >&5
-$as_echo_n "checking broken struct sockaddr::ss_family... " >&6; }
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#       include <sys/types.h>
-#       include <sys/socket.h>
-
-int
-main ()
-{
-
-        struct sockaddr_storage ss ;
-        ss.__ss_family = 0 ;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  have_broken_ss_family=yes
-else
-  have_broken_ss_family=no
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_broken_ss_family" >&5
-$as_echo "$have_broken_ss_family" >&6; }
-      if test x$have_broken_ss_family = xyes ; then
-
-$as_echo "#define HAVE_BROKEN_SS_FAMILY /**/" >>confdefs.h
-
-
-$as_echo "#define ss_family __ss_family" >>confdefs.h
-
-      else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ss_family and __ss_family not found" >&5
-$as_echo "$as_me: WARNING: ss_family and __ss_family not found" >&2;}
-      fi
-    fi
-
-    have_getaddrinfo=no
-    ac_fn_c_check_func "$LINENO" "getaddrinfo" "ac_cv_func_getaddrinfo"
-if test "x$ac_cv_func_getaddrinfo" = xyes; then :
-  have_getaddrinfo=yes
-fi
-
-    if test $have_getaddrinfo != yes; then
-      for lib in bsd socket inet; do
-        as_ac_Lib=`$as_echo "ac_cv_lib_$lib''_getaddrinfo" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo in -l$lib" >&5
-$as_echo_n "checking for getaddrinfo in -l$lib... " >&6; }
-if eval \${$as_ac_Lib+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-l$lib  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char getaddrinfo ();
-int
-main ()
-{
-return getaddrinfo ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$as_ac_Lib=yes"
-else
-  eval "$as_ac_Lib=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-eval ac_res=\$$as_ac_Lib
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
-  LIBS="$LIBS -l$lib";have_getaddrinfo=yes;break
-fi
-
-      done
-    fi
-
-    if test $have_getaddrinfo = yes; then
-
-$as_echo "#define HAVE_GETADDRINFO /**/" >>confdefs.h
-
-    fi
-  fi
-fi
-
-
-ac_fn_c_check_func "$LINENO" "isnan" "ac_cv_func_isnan"
-if test "x$ac_cv_func_isnan" = xyes; then :
-
-$as_echo "#define HAVE_ISNAN /**/" >>confdefs.h
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan in -lm" >&5
-$as_echo_n "checking for isnan in -lm... " >&6; }
-if ${ac_cv_lib_m_isnan+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char isnan ();
-int
-main ()
-{
-return isnan ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_m_isnan=yes
-else
-  ac_cv_lib_m_isnan=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_isnan" >&5
-$as_echo "$ac_cv_lib_m_isnan" >&6; }
-if test "x$ac_cv_lib_m_isnan" = xyes; then :
-
-$as_echo "#define HAVE_ISNAN /**/" >>confdefs.h
-
-fi
-
-fi
-
-
-ac_fn_c_check_func "$LINENO" "isinf" "ac_cv_func_isinf"
-if test "x$ac_cv_func_isinf" = xyes; then :
-
-$as_echo "#define HAVE_ISINF /**/" >>confdefs.h
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf in -lm" >&5
-$as_echo_n "checking for isinf in -lm... " >&6; }
-if ${ac_cv_lib_m_isinf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char isinf ();
-int
-main ()
-{
-return isinf ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_m_isinf=yes
-else
-  ac_cv_lib_m_isinf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_isinf" >&5
-$as_echo "$ac_cv_lib_m_isinf" >&6; }
-if test "x$ac_cv_lib_m_isinf" = xyes; then :
-
-$as_echo "#define HAVE_ISINF /**/" >>confdefs.h
-
-fi
-
-fi
-
-
-XML_LIBDIR='-L${libdir}'
-XML_INCLUDEDIR='-I${includedir}/libxml2'
-
-XML_CFLAGS=""
-RDL_LIBS=""
-
-if test "${GCC}" != "yes" ; then
-    case "${host}" in
-          hppa*-*-hpux* )
-              CFLAGS="${CFLAGS} -Wp,-H30000"
-              ;;
-          *-dec-osf* )
-               CFLAGS="${CFLAGS} -ieee"
-               ;;
-         alpha*-*-linux* )
-              CFLAGS="${CFLAGS} -ieee"
-              ;;
-    esac
-else
-    if test "$with_fexceptions" = "yes"
-    then
-        #
-       # Not activated by default because this inflates the code size
-       # Used to allow propagation of C++ exceptions through the library
-       #
-       CFLAGS="${CFLAGS} -fexceptions"
-    fi
-
-    # warnings we'd like to see
-    CFLAGS="${CFLAGS} -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls"
-    # warnings we'd like to supress
-    CFLAGS="${CFLAGS} -Wno-long-long"
-    case "${host}" in
-          alpha*-*-linux* )
-              CFLAGS="${CFLAGS} -mieee"
-              ;;
-         alpha*-*-osf* )
-              CFLAGS="${CFLAGS} -mieee"
-              ;;
-    esac
-fi
-case ${host} in
-    *-*-solaris*)
-        XML_LIBDIR="${XML_LIBDIR} -R${libdir}"
-        ;;
-    hppa*-hp-mpeix)
-        NEED_TRIO=1
-       ;;
-    *-*-mingw* | *-*-cygwin* | *-*-msvc* )
-        # If the host is Windows, and shared libraries are disabled, we
-        # need to add -DLIBXML_STATIC to CFLAGS in order for linking to
-        # work properly (without it, xmlexports.h would force the use of
-        # DLL imports, which obviously aren't present in a static
-        # library).
-        if test "x$enable_shared" = "xno"; then
-            XML_CFLAGS="$XML_CFLAGS -DLIBXML_STATIC"
-            CFLAGS="$CFLAGS -DLIBXML_STATIC"
-        fi
-        ;;
-esac
-
-
-
-PYTHON_VERSION=
-PYTHON_INCLUDES=
-PYTHON_SITE_PACKAGES=
-PYTHON_TESTS=
-pythondir=
-if test "$with_python" != "no" ; then
-    if test -x "$with_python/bin/python"
-    then
-        echo Found python in $with_python/bin/python
-        PYTHON="$with_python/bin/python"
-    else
-        if test -x "$with_python/python.exe"
-        then
-            echo Found python in $with_python/python.exe
-            PYTHON="$with_python/python.exe"
-        else
-            if test -x "$with_python"
-            then
-                echo Found python in $with_python
-                PYTHON="$with_python"
-            else
-                if test -x "$PYTHON"
-                then
-                    echo Found python in environment PYTHON=$PYTHON
-                    with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
-                else
-                    # Extract the first word of "python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5", so it can be a program name with args.
-set dummy python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PYTHON+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PYTHON in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PYTHON=$ac_cv_path_PYTHON
-if test -n "$PYTHON"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
-$as_echo "$PYTHON" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-               fi
-           fi
-       fi
-    fi
-    if test "$PYTHON" != ""
-    then
-        PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[0:3]"`
-       echo Found Python version $PYTHON_VERSION
-    fi
-    if test "$PYTHON_VERSION" != ""
-    then
-       if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
-          -d $with_python/lib/python$PYTHON_VERSION/site-packages
-       then
-           PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
-           PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
-       else
-           if test -r $prefix/include/python$PYTHON_VERSION/Python.h
-           then
-               PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
-               PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
-           else
-               if test -r /usr/include/python$PYTHON_VERSION/Python.h
-               then
-                   PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
-                   PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
-               else
-                   if test -r $with_python/include/Python.h -a \
-                      -d $with_python/lib/site-packages
-                   then
-                       PYTHON_INCLUDES=$with_python/include
-                       PYTHON_SITE_PACKAGES=$with_python/lib/site-packages
-                   else
-                       echo could not find python$PYTHON_VERSION/Python.h or $with_python/include/Python.h
-                   fi
-               fi
-           fi
-           if test ! -d "$PYTHON_SITE_PACKAGES"
-           then
-                   PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
-           fi
-       fi
-       PYTHON_LIBS=`python$PYTHON_VERSION-config --ldflags`
-    fi
-    if test "$with_python" != ""
-    then
-        pythondir='$(PYTHON_SITE_PACKAGES)'
-    else
-        pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
-    fi
-else
-    PYTHON=
-fi
- if test "$PYTHON_INCLUDES" != ""; then
-  WITH_PYTHON_TRUE=
-  WITH_PYTHON_FALSE='#'
-else
-  WITH_PYTHON_TRUE='#'
-  WITH_PYTHON_FALSE=
-fi
-
-if test "$PYTHON_INCLUDES" != ""
-then
-    PYTHON_SUBDIR=python
-else
-    PYTHON_SUBDIR=
-fi
-
-
-
-
-WITH_MODULES=0
-TEST_MODULES=
-
-if test "$with_modules" != "no" ; then
- case "$host" in
-  *-*-cygwin*)
-  MODULE_EXTENSION=".dll"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lcygwin" >&5
-$as_echo_n "checking for dlopen in -lcygwin... " >&6; }
-if ${ac_cv_lib_cygwin_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcygwin  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_cygwin_dlopen=yes
-else
-  ac_cv_lib_cygwin_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cygwin_dlopen" >&5
-$as_echo "$ac_cv_lib_cygwin_dlopen" >&6; }
-if test "x$ac_cv_lib_cygwin_dlopen" = xyes; then :
-
-    WITH_MODULES=1
-    MODULE_PLATFORM_LIBS=
-
-$as_echo "#define HAVE_DLOPEN /**/" >>confdefs.h
-
-
-fi
-
-  ;;
-  *-*-mingw*)
-  MODULE_EXTENSION=".dll"
-  WITH_MODULES=1
-  ;;
-  *)
-  ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  libxml_have_shl_load=yes
-else
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-
-      MODULE_PLATFORM_LIBS="-ldld"
-      libxml_have_shl_load=yes
-else
-
-      ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  libxml_have_dlopen=yes
-else
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-
-          MODULE_PLATFORM_LIBS="-ldl"
-          libxml_have_dlopen=yes
-fi
-
-fi
-
-fi
-
-fi
-
-
-  if test "${libxml_have_shl_load}" = "yes"; then
-    MODULE_EXTENSION=".sl"
-    WITH_MODULES=1
-
-$as_echo "#define HAVE_SHLLOAD /**/" >>confdefs.h
-
-  fi
-
-  if test "${libxml_have_dlopen}" = "yes"; then
-    case "${host}" in
-      *-*-hpux* )
-       MODULE_EXTENSION=".sl"
-       ;;
-      * )
-       MODULE_EXTENSION=".so"
-       ;;
-    esac
-
-    WITH_MODULES=1
-
-$as_echo "#define HAVE_DLOPEN /**/" >>confdefs.h
-
-  fi
- ;;
- esac
-fi
-
-if test "${WITH_MODULES}" = "1"; then
-  TEST_MODULES="ModuleTests"
-fi
-
-
-
-
-
-
-
-if [ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XML" ] || \
-   [ "${LOGNAME}" = "veillard" -a "`pwd`" = "/home/veillard/libxml2" ] || \
-   [ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomesvn/libxml2" ]
-   then
-    if test "$with_minimum" != "yes"
-    then
-       if test "${with_mem_debug}" = "" ; then
-           echo Activating memory debugging
-           with_mem_debug="yes"
-           with_run_debug="yes"
-       fi
-       if test "${with_docbook}" = "" ; then
-           with_docbook="yes"
-       fi
-    fi
-    if test "${GCC}" = "yes" ; then
-    CFLAGS="-g -O -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wall"
-    fi
-    STATIC_BINARIES="-static"
-else
-    STATIC_BINARIES=
-fi
-
-
-
-if test "${NEED_TRIO}" = "1" ; then
-    echo Adding trio library for string functions
-    WITH_TRIO=1
-else
-    WITH_TRIO=0
-fi
- if test "${NEED_TRIO}" = "1"; then
-  WITH_TRIO_SOURCES_TRUE=
-  WITH_TRIO_SOURCES_FALSE='#'
-else
-  WITH_TRIO_SOURCES_TRUE='#'
-  WITH_TRIO_SOURCES_FALSE=
-fi
-
-
-
-echo Checking configuration requirements
-
-THREAD_LIBS=""
-BASE_THREAD_LIBS=""
-WITH_THREADS=0
-THREAD_CFLAGS=""
-TEST_THREADS=""
-THREADS_W32=""
-
-if test "$with_threads" = "no" ; then
-    echo Disabling multithreaded support
-else
-    echo Enabling multithreaded support
-
-        case $host_os in
-       *mingw32*) if test "$with_threads" != "pthread" && test "$with_threads" != "no"; then
-               WITH_THREADS="1"
-               THREADS_W32="1"
-               THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_WIN32_THREADS"
-           fi
-       ;;
-    esac
-
-        if test -z "$THREADS_W32"; then
-        if test "$with_threads" = "pthread" || test "$with_threads" = "" || test "$with_threads" = "yes" ; then
-            ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default"
-if test "x$ac_cv_header_pthread_h" = xyes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in -lpthread" >&5
-$as_echo_n "checking for pthread_join in -lpthread... " >&6; }
-if ${ac_cv_lib_pthread_pthread_join+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpthread  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char pthread_join ();
-int
-main ()
-{
-return pthread_join ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_pthread_pthread_join=yes
-else
-  ac_cv_lib_pthread_pthread_join=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_join" >&5
-$as_echo "$ac_cv_lib_pthread_pthread_join" >&6; }
-if test "x$ac_cv_lib_pthread_pthread_join" = xyes; then :
-
-                THREAD_LIBS="-lpthread"
-
-$as_echo "#define HAVE_LIBPTHREAD /**/" >>confdefs.h
-
-
-$as_echo "#define HAVE_PTHREAD_H /**/" >>confdefs.h
-
-                WITH_THREADS="1"
-fi
-
-fi
-
-
-        fi
-    fi
-
-    case $host_os in
-       *cygwin*) THREAD_LIBS=""
-       ;;
-       *beos*) WITH_THREADS="1"
-          THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_BEOS_THREADS"
-       ;;
-       *linux*)
-           if test "${GCC}" = "yes" ; then
-              GCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'`
-              GCC_MAJOR=`echo ${GCC_VERSION} | sed 's+\..*++'`
-              GCC_MEDIUM=`echo ${GCC_VERSION} | sed 's+[0-9]*\.++' | sed 's+\..*++'`
-              if test "${THREAD_LIBS}" = "-lpthread" ; then
-                  if expr ${GCC_MEDIUM} \> 2 \& ${GCC_MAJOR} = 3 > /dev/null
-                  then
-                      THREAD_LIBS=""
-                      BASE_THREAD_LIBS="-lpthread"
-                  else
-                  if expr ${GCC_MAJOR} \> 3 > /dev/null
-                  then
-                      THREAD_LIBS=""
-                      BASE_THREAD_LIBS="-lpthread"
-                  else
-                      echo old GCC disabling weak symbols for pthread
-                  fi
-                  fi
-              fi
-          fi
-       ;;
-    esac
-    if test "$WITH_THREADS" = "1" ; then
-       THREAD_CFLAGS="$THREAD_CFLAGS -D_REENTRANT"
-       TEST_THREADS="Threadtests"
-    fi
-fi
-if test "$with_thread_alloc" = "yes" -a "$WITH_THREADS" = "1" ; then
-    THREAD_CFLAGS="$THREAD_CFLAGS -DLIBXML_THREAD_ALLOC_ENABLED"
-fi
-
-
-
-
-
-
- if test -n "$THREADS_W32"; then
-  THREADS_W32_TRUE=
-  THREADS_W32_FALSE='#'
-else
-  THREADS_W32_TRUE='#'
-  THREADS_W32_FALSE=
-fi
-
-
-if test "$with_history" = "yes" ; then
-    echo Enabling xmllint shell history
-            unset tcap
-    for termlib in ncurses curses termcap terminfo termlib; do
-       as_ac_Lib=`$as_echo "ac_cv_lib_${termlib}''_tputs" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tputs in -l${termlib}" >&5
-$as_echo_n "checking for tputs in -l${termlib}... " >&6; }
-if eval \${$as_ac_Lib+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-l${termlib}  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char tputs ();
-int
-main ()
-{
-return tputs ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$as_ac_Lib=yes"
-else
-  eval "$as_ac_Lib=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-eval ac_res=\$$as_ac_Lib
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
-  tcap="-l$termlib"
-fi
-
-       test -n "$tcap" && break
-    done
-
-    ac_fn_c_check_header_mongrel "$LINENO" "readline/history.h" "ac_cv_header_readline_history_h" "$ac_includes_default"
-if test "x$ac_cv_header_readline_history_h" = xyes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for append_history in -lhistory" >&5
-$as_echo_n "checking for append_history in -lhistory... " >&6; }
-if ${ac_cv_lib_history_append_history+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lhistory  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char append_history ();
-int
-main ()
-{
-return append_history ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_history_append_history=yes
-else
-  ac_cv_lib_history_append_history=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_history_append_history" >&5
-$as_echo "$ac_cv_lib_history_append_history" >&6; }
-if test "x$ac_cv_lib_history_append_history" = xyes; then :
-
-          RDL_LIBS="-lhistory"
-
-$as_echo "#define HAVE_LIBHISTORY /**/" >>confdefs.h
-
-fi
-
-fi
-
-
-    ac_fn_c_check_header_mongrel "$LINENO" "readline/readline.h" "ac_cv_header_readline_readline_h" "$ac_includes_default"
-if test "x$ac_cv_header_readline_readline_h" = xyes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for readline in -lreadline" >&5
-$as_echo_n "checking for readline in -lreadline... " >&6; }
-if ${ac_cv_lib_readline_readline+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lreadline $tcap $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char readline ();
-int
-main ()
-{
-return readline ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_readline_readline=yes
-else
-  ac_cv_lib_readline_readline=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_readline" >&5
-$as_echo "$ac_cv_lib_readline_readline" >&6; }
-if test "x$ac_cv_lib_readline_readline" = xyes; then :
-
-          RDL_LIBS="-lreadline $RDL_LIBS $tcap"
-
-$as_echo "#define HAVE_LIBREADLINE /**/" >>confdefs.h
-
-fi
-
-fi
-
-
-    if test -n "$RDL_DIR" -a -n "$RDL_LIBS"; then
-       CPPFLAGS="$CPPFLAGS -I${RDL_DIR}/include"
-       RDL_LIBS="-L${RDL_DIR}/lib $RDL_LIBS"
-    fi
-fi
-
-if test "$with_tree" = "no" ; then
-    echo Disabling DOM like tree manipulation APIs
-    WITH_TREE=0
-else
-    WITH_TREE=1
-fi
-
-
-if test "$with_ftp" = "no" ; then
-    echo Disabling FTP support
-    WITH_FTP=0
-    FTP_OBJ=
-else
-    WITH_FTP=1
-    FTP_OBJ=nanoftp.o
-fi
-
-
-
-if test "$with_http" = "no" ; then
-    echo Disabling HTTP support
-    WITH_HTTP=0
-    HTTP_OBJ=
-else
-    WITH_HTTP=1
-    HTTP_OBJ=nanohttp.o
-fi
-
-
-
-if test "$with_legacy" = "no" ; then
-    echo Disabling deprecated APIs
-    WITH_LEGACY=0
-else
-    WITH_LEGACY=1
-fi
-
-
-if test "$with_reader" = "no" ; then
-    echo Disabling the xmlReader parsing interface
-    WITH_READER=0
-    READER_TEST=
-else
-    WITH_READER=1
-    READER_TEST=Readertests
-    if test "$with_push" = "no" ; then
-        echo xmlReader requires Push interface - enabling it
-       with_push=yes
-    fi
-fi
-
-
-
-if test "$with_writer" = "no" ; then
-    echo Disabling the xmlWriter saving interface
-    WITH_WRITER=0
-#    WRITER_TEST=
-else
-    WITH_WRITER=1
-#    WRITER_TEST=Writertests
-    if test "$with_push" = "no" ; then
-        echo xmlWriter requires Push interface - enabling it
-       with_push=yes
-    fi
-    if test "$with_output" = "no" ; then
-        echo xmlWriter requires Output interface - enabling it
-       with_output=yes
-    fi
-fi
-
-#AC_SUBST(WRITER_TEST)
-
-if test "$with_pattern" = "no" ; then
-    echo Disabling the xmlPattern parsing interface
-    WITH_PATTERN=0
-    TEST_PATTERN=
-else
-    WITH_PATTERN=1
-    TEST_PATTERN=Patterntests
-fi
-
-
-
-if test "$with_sax1" = "no" ; then
-    echo Disabling the older SAX1 interface
-    WITH_SAX1=0
-    TEST_SAX=
-else
-    WITH_SAX1=1
-    TEST_SAX=SAXtests
-fi
-
- if test "${WITH_TRIO}" = "1"; then
-  WITH_SAX1_SOURCES_TRUE=
-  WITH_SAX1_SOURCES_FALSE='#'
-else
-  WITH_SAX1_SOURCES_TRUE='#'
-  WITH_SAX1_SOURCES_FALSE=
-fi
-
-
-
-if test "$with_push" = "no" ; then
-    echo Disabling the PUSH parser interfaces
-    WITH_PUSH=0
-    TEST_PUSH=
-else
-    WITH_PUSH=1
-    TEST_PUSH="XMLPushtests"
-fi
-
-
-
-if test "$with_html" = "no" ; then
-    echo Disabling HTML support
-    WITH_HTML=0
-    HTML_OBJ=
-    TEST_HTML=
-else
-    WITH_HTML=1
-    HTML_OBJ="HTMLparser.o HTMLtree.o"
-    TEST_HTML=HTMLtests
-    if test "$with_push" != "no" ; then
-        TEST_PHTML=HTMLPushtests
-    else
-        TEST_PHTML=
-    fi
-fi
-
-
-
-
-
-if test "$with_valid" = "no" ; then
-    echo Disabling DTD validation support
-    WITH_VALID=0
-    TEST_VALID=
-    TEST_VTIME=
-else
-    WITH_VALID=1
-    TEST_VALID=Validtests
-    TEST_VTIME=VTimingtests
-fi
-
-
-
-
-if test "$with_catalog" = "no" ; then
-    echo Disabling Catalog support
-    WITH_CATALOG=0
-    CATALOG_OBJ=
-    TEST_CATALOG=
-else
-    WITH_CATALOG=1
-    CATALOG_OBJ="catalog.o"
-    TEST_CATALOG=Catatests
-fi
-
-
-
-
-if test "$with_docbook" = "no" ; then
-    echo Disabling Docbook support
-    WITH_DOCB=0
-    DOCB_OBJ=
-else
-    WITH_DOCB=1
-    DOCB_OBJ="DOCBparser.o"
-fi
-
-
-
-
-if test "$with_xptr" = "no" ; then
-    echo Disabling XPointer support
-    WITH_XPTR=0
-    XPTR_OBJ=
-    TEST_XPTR=
-else
-    WITH_XPTR=1
-    XPTR_OBJ=xpointer.o
-    TEST_XPTR=XPtrtests
-    if test "$with_xpath" = "no" ; then
-        echo XPointer requires XPath support - enabling it
-       with_xpath=yes
-    fi
-fi
-
-
-
-
-if test "$with_c14n" = "no" ; then
-    echo Disabling C14N support
-    WITH_C14N=0
-    C14N_OBJ=
-    TEST_C14N=
-else
-    WITH_C14N=1
-    C14N_OBJ="c14n.c"
-    TEST_C14N=C14Ntests
-    if test "$with_xpath" = "no" ; then
-        echo C14N requires XPath support - enabling it
-       with_xpath=yes
-    fi
-fi
-
-
-
-
-if test "$with_xinclude" = "no" ; then
-    echo Disabling XInclude support
-    WITH_XINCLUDE=0
-    XINCLUDE_OBJ=
-    with_xinclude="no"
-    TEST_XINCLUDE=
-else
-    WITH_XINCLUDE=1
-    XINCLUDE_OBJ=xinclude.o
-    TEST_XINCLUDE=XIncludetests
-    if test "$with_xpath" = "no" ; then
-        echo XInclude requires XPath support - enabling it
-       with_xpath=yes
-    fi
-fi
-
-
-
-
-if test "$with_xpath" = "no" ; then
-    echo Disabling XPATH support
-    WITH_XPATH=0
-    XPATH_OBJ=
-    TEST_XPATH=
-else
-    WITH_XPATH=1
-    XPATH_OBJ=xpath.o
-    TEST_XPATH=XPathtests
-fi
-
-
-
-
-if test "$with_output" = "no" ; then
-    echo Disabling serialization/saving support
-    WITH_OUTPUT=0
-else
-    WITH_OUTPUT=1
-fi
-
-
-WITH_ICONV=0
-if test "$with_iconv" = "no" ; then
-    echo Disabling ICONV support
-else
-    if test "$with_iconv" != "yes" -a "$with_iconv" != "" ; then
-       CPPFLAGS="${CPPFLAGS} -I$with_iconv/include"
-       # Export this since our headers include iconv.h
-       XML_INCLUDEDIR="${XML_INCLUDEDIR} -I$with_iconv/include"
-       ICONV_LIBS="-L$with_iconv/lib"
-    fi
-
-    ac_fn_c_check_header_mongrel "$LINENO" "iconv.h" "ac_cv_header_iconv_h" "$ac_includes_default"
-if test "x$ac_cv_header_iconv_h" = xyes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
-$as_echo_n "checking for iconv... " >&6; }
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <iconv.h>
-int
-main ()
-{
-
-iconv_t cd = iconv_open ("","");
-iconv (cd, NULL, NULL, NULL, NULL);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-           { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-           WITH_ICONV=1
-else
-
-           { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-           { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv in -liconv" >&5
-$as_echo_n "checking for iconv in -liconv... " >&6; }
-
-           _ldflags="${LDFLAGS}"
-           _libs="${LIBS}"
-           LDFLAGS="${LDFLAGS} ${ICONV_LIBS}"
-           LIBS="${LIBS} -liconv"
-
-           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <iconv.h>
-int
-main ()
-{
-
-iconv_t cd = iconv_open ("","");
-iconv (cd, NULL, NULL, NULL, NULL);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-               WITH_ICONV=1
-               ICONV_LIBS="${ICONV_LIBS} -liconv"
-               LIBS="${_libs}"
-               LDFLAGS="${_ldflags}"
-else
-
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-               LIBS="${_libs}"
-               LDFLAGS="${_ldflags}"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-
-
-
-       if test "$WITH_ICONV" = "1" ; then
-               { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
-$as_echo_n "checking for iconv declaration... " >&6; }
-               if ${xml_cv_iconv_arg2+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-                       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  xml_cv_iconv_arg2=""
-else
-  xml_cv_iconv_arg2="const"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-               xml_cv_iconv_decl="extern size_t iconv (iconv_t cd, $xml_cv_iconv_arg2 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${xml_xxx:-
-       }$xml_cv_iconv_decl" >&5
-$as_echo "${xml_xxx:-
-       }$xml_cv_iconv_decl" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define ICONV_CONST $xml_cv_iconv_arg2
-_ACEOF
-
-       fi
-fi
-case "$host" in
-       *mingw*) M_LIBS=""
-       ;;
-       *beos*) M_LIBS=""
-       ;;
-        *haiku*) M_LIBS=""
-        ;;
-       *) M_LIBS="-lm"
-       ;;
-esac
-XML_LIBS="-lxml2 $Z_LIBS $THREAD_LIBS $ICONV_LIBS $M_LIBS $LIBS"
-XML_LIBTOOLLIBS="libxml2.la"
-
-
-WITH_ICU=0
-ICU_LIBS=""
-if test "$with_icu" != "yes" ; then
-    echo Disabling ICU support
-else
-    ICU_CONFIG=icu-config
-    if ${ICU_CONFIG} --cflags >/dev/null 2>&1
-    then
-        ICU_LIBS=`${ICU_CONFIG} --ldflags`
-        WITH_ICU=1
-        echo Enabling ICU support
-    else
-        as_fn_error $? "libicu config program icu-config not found" "$LINENO" 5
-    fi
-fi
-
-
-
-WITH_ISO8859X=1
-if test "$WITH_ICONV" != "1" ; then
-if test "$with_iso8859x" = "no" ; then
-    echo Disabling ISO8859X support
-    WITH_ISO8859X=0
-fi
-fi
-
-
-if test "$with_schematron" = "no" ; then
-    echo "Disabling Schematron support"
-    WITH_SCHEMATRON=0
-    TEST_SCHEMATRON=
-else
-    echo "Enabled Schematron support"
-    WITH_SCHEMATRON=1
-    TEST_SCHEMATRON="Schematrontests"
-    with_xpath=yes
-    with_pattern=yes
-fi
-
-
-
-if test "$with_schemas" = "no" ; then
-    echo "Disabling Schemas/Relax-NG support"
-    WITH_SCHEMAS=0
-    TEST_SCHEMAS=
-else
-    echo "Enabled Schemas/Relax-NG support"
-    WITH_SCHEMAS=1
-    TEST_SCHEMAS="Schemastests Relaxtests"
-    if test "$PYTHON_INCLUDES" != "" ; then
-        PYTHON_TESTS="$PYTHON_TESTS RelaxNGPythonTests SchemasPythonTests"
-    fi
-    with_regexps=yes
-fi
-
-
-
-if test "$with_regexps" = "no" ; then
-    echo Disabling Regexps support
-    WITH_REGEXPS=0
-    TEST_REGEXPS=
-else
-    WITH_REGEXPS=1
-    TEST_REGEXPS="Regexptests Automatatests"
-fi
-
-
-
-if test "$with_debug" = "no" ; then
-    echo Disabling DEBUG support
-    WITH_DEBUG=0
-    DEBUG_OBJ=
-    TEST_DEBUG=
-else
-    WITH_DEBUG=1
-    DEBUG_OBJ=debugXML.o
-    TEST_DEBUG=Scripttests
-fi
-
-
-
-
-if test "$with_mem_debug" = "yes" ; then
-    if test "$with_thread_alloc" = "yes" ; then
-        echo Disabling memory debug - cannot use mem-debug with thread-alloc!
-       WITH_MEM_DEBUG=0
-    else
-        echo Enabling memory debug support
-        WITH_MEM_DEBUG=1
-    fi
-else
-    WITH_MEM_DEBUG=0
-fi
-
-
-if test "$with_run_debug" = "yes" ; then
-    echo Enabling runtime debug support
-    WITH_RUN_DEBUG=1
-else
-    WITH_RUN_DEBUG=0
-fi
-
-
-WIN32_EXTRA_LIBADD=
-WIN32_EXTRA_LDFLAGS=
-CYGWIN_EXTRA_LDFLAGS=
-CYGWIN_EXTRA_PYTHON_LIBADD=
-WIN32_EXTRA_PYTHON_LIBADD=
-case "$host" in
- *-*-mingw*)
- CPPFLAGS="$CPPFLAGS -DWIN32"
- WIN32_EXTRA_LIBADD="-lws2_32"
- WIN32_EXTRA_LDFLAGS="-no-undefined"
-
-$as_echo "#define _WINSOCKAPI_ 1" >>confdefs.h
-
- if test "${PYTHON}" != ""
- then
-   WIN32_EXTRA_PYTHON_LIBADD="-L${pythondir}/../../libs -lpython$(echo ${PYTHON_VERSION} | tr -d .)"
- fi
- ;;
- *-*-cygwin*)
- CYGWIN_EXTRA_LDFLAGS="-no-undefined"
- if test "${PYTHON}" != ""
- then
-   CYGWIN_EXTRA_PYTHON_LIBADD="-L/usr/lib/python${PYTHON_VERSION}/config -lpython${PYTHON_VERSION}"
- fi
- ;;
-esac
-
-
-
-
-
-
-for ac_func in printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
-  NEED_TRIO=1
-fi
-done
-
-
-if test "$with_coverage" = "yes" -a "${GCC}" = "yes"
-then
-    echo Enabling code coverage for GCC
-    CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
-    LDFLAGS="$LDFLAGS -fprofile-arcs -ftest-coverage"
-else
-    echo Disabling code coverage for GCC
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-RELDATE=`date +'%a %b %e %Y'`
-
-
-
-rm -f COPYING.LIB COPYING
-ln -s $srcdir/Copyright COPYING
-
-# keep on one line for cygwin c.f. #130896
-ac_config_files="$ac_config_files libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile doc/devhelp/Makefile example/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h xml2-config libxml-2.0.pc libxml-2.0-uninstalled.pc python/setup.py"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${USE_VERSION_SCRIPT_TRUE}" && test -z "${USE_VERSION_SCRIPT_FALSE}"; then
-  as_fn_error $? "conditional \"USE_VERSION_SCRIPT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${REBUILD_DOCS_TRUE}" && test -z "${REBUILD_DOCS_FALSE}"; then
-  as_fn_error $? "conditional \"REBUILD_DOCS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${WITH_PYTHON_TRUE}" && test -z "${WITH_PYTHON_FALSE}"; then
-  as_fn_error $? "conditional \"WITH_PYTHON\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${WITH_TRIO_SOURCES_TRUE}" && test -z "${WITH_TRIO_SOURCES_FALSE}"; then
-  as_fn_error $? "conditional \"WITH_TRIO_SOURCES\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${THREADS_W32_TRUE}" && test -z "${THREADS_W32_FALSE}"; then
-  as_fn_error $? "conditional \"THREADS_W32\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${WITH_SAX1_SOURCES_TRUE}" && test -z "${WITH_SAX1_SOURCES_FALSE}"; then
-  as_fn_error $? "conditional \"WITH_SAX1_SOURCES\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to the package provider."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.68,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-PATH_SEPARATOR \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "libxml2.spec") CONFIG_FILES="$CONFIG_FILES libxml2.spec:libxml.spec.in" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
-    "include/libxml/Makefile") CONFIG_FILES="$CONFIG_FILES include/libxml/Makefile" ;;
-    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
-    "doc/examples/Makefile") CONFIG_FILES="$CONFIG_FILES doc/examples/Makefile" ;;
-    "doc/devhelp/Makefile") CONFIG_FILES="$CONFIG_FILES doc/devhelp/Makefile" ;;
-    "example/Makefile") CONFIG_FILES="$CONFIG_FILES example/Makefile" ;;
-    "python/Makefile") CONFIG_FILES="$CONFIG_FILES python/Makefile" ;;
-    "python/tests/Makefile") CONFIG_FILES="$CONFIG_FILES python/tests/Makefile" ;;
-    "xstc/Makefile") CONFIG_FILES="$CONFIG_FILES xstc/Makefile" ;;
-    "include/libxml/xmlversion.h") CONFIG_FILES="$CONFIG_FILES include/libxml/xmlversion.h" ;;
-    "xml2-config") CONFIG_FILES="$CONFIG_FILES xml2-config" ;;
-    "libxml-2.0.pc") CONFIG_FILES="$CONFIG_FILES libxml-2.0.pc" ;;
-    "libxml-2.0-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES libxml-2.0-uninstalled.pc" ;;
-    "python/setup.py") CONFIG_FILES="$CONFIG_FILES python/setup.py" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-#                 Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The PATH separator for the build system.
-PATH_SEPARATOR=$lt_PATH_SEPARATOR
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" \
-     || (rm -f "$cfgfile"; exit 1)
-
-  if test x"$xsi_shell" = xyes; then
-  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\    case ${1} in\
-\      */*) func_dirname_result="${1%/*}${2}" ;;\
-\      *  ) func_dirname_result="${3}" ;;\
-\    esac\
-\    func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\    # positional parameters, so assign one to ordinary parameter first.\
-\    func_stripname_result=${3}\
-\    func_stripname_result=${func_stripname_result#"${1}"}\
-\    func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\    func_split_long_opt_name=${1%%=*}\
-\    func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\    func_split_short_opt_arg=${1#??}\
-\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\    case ${1} in\
-\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\      *)    func_lo2o_result=${1} ;;\
-\    esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
-    func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
-    func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
-    func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
-    eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\    func_quote_for_eval "${2}"\
-\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-  && mv -f "$cfgfile.tmp" "$cfgfile" \
-    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
-  # Save a `func_append' function call where possible by direct use of '+='
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-else
-  # Save a `func_append' function call even when '+=' is not available
-  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-    && mv -f "$cfgfile.tmp" "$cfgfile" \
-      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-  test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
-
-chmod +x xml2-config python/setup.py
-echo Done configuring
diff --git a/reactos/lib/3rdparty/libxml2/configure.in b/reactos/lib/3rdparty/libxml2/configure.in
deleted file mode 100644 (file)
index 3d5f48b..0000000
+++ /dev/null
@@ -1,1577 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ([2.68])
-AC_INIT
-AC_CONFIG_SRCDIR([entities.c])
-AC_CONFIG_HEADERS([config.h])
-AC_CONFIG_MACRO_DIR([m4])
-AC_CANONICAL_HOST
-
-LIBXML_MAJOR_VERSION=2
-LIBXML_MINOR_VERSION=9
-LIBXML_MICRO_VERSION=0
-LIBXML_MICRO_VERSION_SUFFIX=
-LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX
-LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
-
-LIBXML_VERSION_NUMBER=`expr $LIBXML_MAJOR_VERSION \* 10000 + $LIBXML_MINOR_VERSION \* 100 + $LIBXML_MICRO_VERSION`
-
-if test -f CVS/Entries ; then
-  extra=`grep ChangeLog CVS/Entries | grep -v LIBXML | sed -e s\%/ChangeLog/1\.%% -e s\%/.*$%%`
-  echo extra=$extra
-  if test "$extra" != ""
-  then
-      LIBXML_VERSION_EXTRA="-CVS$extra"
-  fi
-else if test -d .svn ; then
-  extra=`svn info | grep Revision | sed 's+Revision: ++'`
-  echo extra=$extra
-  if test "$extra" != ""
-  then
-      LIBXML_VERSION_EXTRA="-SVN$extra"
-  fi
-else if test -d .git ; then
-  extra=`git describe 2>/dev/null | sed 's+LIBXML[[0-9.]]*-++'`
-  echo extra=$extra
-  if test "$extra" != ""
-  then
-      LIBXML_VERSION_EXTRA="-GIT$extra"
-  fi
-fi
-fi
-fi
-AC_SUBST(LIBXML_MAJOR_VERSION)
-AC_SUBST(LIBXML_MINOR_VERSION)
-AC_SUBST(LIBXML_MICRO_VERSION)
-AC_SUBST(LIBXML_VERSION)
-AC_SUBST(LIBXML_VERSION_INFO)
-AC_SUBST(LIBXML_VERSION_NUMBER)
-AC_SUBST(LIBXML_VERSION_EXTRA)
-
-VERSION=${LIBXML_VERSION}
-
-AM_INIT_AUTOMAKE(libxml2, $VERSION)
-
-# Support silent build rules, requires at least automake-1.11. Disable
-# by either passing --disable-silent-rules to configure or passing V=1
-# to make
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
-dnl Checks for programs.
-AC_PROG_CC
-AC_PROG_INSTALL
-AC_PROG_LN_S
-AC_PROG_MKDIR_P
-AC_PROG_CPP
-AC_PATH_PROG(RM, rm, /bin/rm)
-AC_PATH_PROG(MV, mv, /bin/mv)
-AC_PATH_PROG(TAR, tar, /bin/tar)
-AC_PATH_PROG(PERL, perl, /usr/bin/perl)
-AC_PATH_PROG(WGET, wget, /usr/bin/wget)
-AC_PATH_PROG(XMLLINT, xmllint, /usr/bin/xmllint)
-AC_PATH_PROG(XSLTPROC, xsltproc, /usr/bin/xsltproc)
-
-LT_INIT
-
-dnl
-dnl if the system support linker version scripts for symbol versioning
-dnl then add it
-dnl
-VERSION_SCRIPT_FLAGS=
-# lt_cv_prog_gnu_ld is from libtool 2.+
-if test "$lt_cv_prog_gnu_ld" = yes; then
-  VERSION_SCRIPT_FLAGS=-Wl,--version-script=
-else
-  case $host in
-  *-*-sunos*) VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,";;
-  esac
-fi
-AC_SUBST(VERSION_SCRIPT_FLAGS)
-AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -n "$VERSION_SCRIPT_FLAGS"])
-
-dnl
-dnl We process the AC_ARG_WITH first so that later we can modify
-dnl some of them to try to prevent impossible combinations.  This
-dnl also allows up so alphabetize the choices
-dnl
-
-dnl
-dnl zlib option might change flags, so we save them initially
-dnl
-_cppflags="${CPPFLAGS}"
-_libs="${LIBS}"
-
-AC_ARG_WITH(c14n,
-[  --with-c14n             add the Canonicalization support (on)])
-AC_ARG_WITH(catalog,
-[  --with-catalog          add the Catalog support (on)])
-AC_ARG_WITH(debug,
-[  --with-debug            add the debugging module (on)])
-AC_ARG_WITH(docbook,
-[  --with-docbook          add Docbook SGML support (on)])
-AC_ARG_WITH(fexceptions,
-[  --with-fexceptions      add GCC flag -fexceptions for C++ exceptions (off)])
-AC_ARG_WITH(ftp,
-[  --with-ftp              add the FTP support (on)])
-AC_ARG_WITH(history,
-[  --with-history          add history support to xmllint shell(off)])
-AC_ARG_WITH(html,
-[  --with-html             add the HTML support (on)])
-dnl Specific dir for HTML output ?
-AC_ARG_WITH(html-dir, AS_HELP_STRING([--with-html-dir=path],
-            [path to base html directory, default $datadir/doc/html]),
-            [HTML_DIR=$withval], [HTML_DIR='$(datadir)/doc'])
-
-AC_ARG_WITH(html-subdir, AS_HELP_STRING([--with-html-subdir=path],
-            [directory used under html-dir, default $PACKAGE-$VERSION/html]),
-            [test "x$withval" != "x" && HTML_DIR="$HTML_DIR/$withval"],
-            [HTML_DIR="$HTML_DIR/\$(PACKAGE)-\$(VERSION)/html"])
-AC_SUBST(HTML_DIR)
-AC_ARG_WITH(http,
-[  --with-http             add the HTTP support (on)])
-AC_ARG_WITH(iconv,
-[  --with-iconv[[=DIR]]      add ICONV support (on)])
-AC_ARG_WITH(icu,
-[  --with-icu                add ICU support (off)])
-AC_ARG_WITH(iso8859x,
-[  --with-iso8859x         add ISO8859X support if no iconv (on)])
-AC_ARG_WITH(legacy,
-[  --with-legacy           add deprecated APIs for compatibility (on)])
-AC_ARG_WITH(mem_debug,
-[  --with-mem-debug        add the memory debugging module (off)])
-AC_ARG_WITH(minimum,
-[  --with-minimum          build a minimally sized library (off)])
-AC_ARG_WITH(output,
-[  --with-output           add the serialization support (on)])
-AC_ARG_WITH(pattern,
-[  --with-pattern          add the xmlPattern selection interface (on)])
-AC_ARG_WITH(push,
-[  --with-push             add the PUSH parser interfaces (on)])
-AC_ARG_WITH(python,
-[  --with-python[[=DIR]]     build Python bindings if found])
-AC_ARG_WITH(reader,
-[  --with-reader           add the xmlReader parsing interface (on)])
-AC_ARG_WITH(readline,
-[  --with-readline=DIR     use readline in DIR],[
-  if test "$withval" != "no" -a "$withval" != "yes"; then
-    RDL_DIR=$withval
-    CPPFLAGS="${CPPFLAGS} -I$withval/include"
-    LIBS="${LIBS} -L$withval/lib"
-  fi
-])
-AC_ARG_WITH(regexps,
-[  --with-regexps          add Regular Expressions support (on)])
-AC_ARG_WITH(run_debug,
-[  --with-run-debug        add the runtime debugging module (off)])
-AC_ARG_WITH(sax1,
-[  --with-sax1             add the older SAX1 interface (on)])
-AC_ARG_WITH(schemas,
-[  --with-schemas          add Relax-NG and Schemas support (on)])
-AC_ARG_WITH(schematron,
-[  --with-schematron       add Schematron support (on)])
-AC_ARG_WITH(threads,
-[  --with-threads          add multithread support(on)])
-AC_ARG_WITH(thread-alloc,
-[  --with-thread-alloc     add per-thread memory(off)])
-AC_ARG_WITH(tree,
-[  --with-tree             add the DOM like tree manipulation APIs (on)])
-AC_ARG_WITH(valid,
-[  --with-valid            add the DTD validation support (on)])
-AC_ARG_WITH(writer,
-[  --with-writer           add the xmlWriter saving interface (on)])
-AC_ARG_WITH(xinclude,
-[  --with-xinclude         add the XInclude support (on)])
-AC_ARG_WITH(xpath,
-[  --with-xpath            add the XPATH support (on)])
-AC_ARG_WITH(xptr,
-[  --with-xptr             add the XPointer support (on)])
-AC_ARG_WITH(modules,
-[  --with-modules          add the dynamic modules support (on)])
-AC_ARG_WITH(zlib,
-[  --with-zlib[[=DIR]]       use libz in DIR],[
-  if test "$withval" != "no" -a "$withval" != "yes"; then
-    Z_DIR=$withval
-    CPPFLAGS="${CPPFLAGS} -I$withval/include"
-    LIBS="${LIBS} -L$withval/lib"
-  fi
-])
-AC_ARG_WITH(lzma,
-[  --with-lzma[[=DIR]]       use liblzma in DIR],[
-  if test "$withval" != "no" -a "$withval" != "yes"; then
-    LZMA_DIR=$withval
-    CPPFLAGS="${CPPFLAGS} -I$withval/include"
-    LIBS="${LIBS} -L$withval/lib"
-  fi
-])
-AC_ARG_WITH(coverage,
-[  --with-coverage         build for code coverage with GCC (off)])
-
-AC_ARG_ENABLE(rebuild-docs,
-[  --enable-rebuild-docs[[=yes/no]]  rebuild some generated docs [[default=no]]])
-if test "$enable_rebuild_docs" = "yes" -a "$srcdir" != "."; then
-  AC_MSG_ERROR([cannot rebuild docs when builddir != srcdir])
-fi
-AM_CONDITIONAL([REBUILD_DOCS], [test "$enable_rebuild_docs" = "yes" -o "$USER" = "veillard"])
-
-dnl
-dnl hard dependancies on options
-dnl
-if test "$with_schemas" = "yes"
-then
-    with_pattern=yes
-    with_regexps=yes
-fi
-if test "$with_schematron" = "yes"
-then
-    with_pattern=yes
-    with_xpath=yes
-fi
-if test "$with_reader" = "yes"
-then
-    with_push=yes
-fi
-if test "$with_xptr" = "yes"
-then
-    with_xpath=yes
-fi
-dnl
-dnl option to build a minimal libxml2 library
-dnl
-if test "$with_minimum" = "yes"
-then
-    echo "Configuring for a minimal library"
-    if test "$with_c14n" = ""
-    then
-      with_c14n=no
-    fi
-    if test "$with_catalog" = ""
-    then
-      with_catalog=no
-    fi
-    echo So far so good!
-    if test "$with_debug" = ""
-    then
-      with_debug=no
-    fi
-    if test "$with_docbook" = ""
-    then
-      with_docbook=no
-    fi
-    if test "$with_fexceptions" = ""
-    then
-      with_fexceptions=no
-    fi
-    if test "$with_ftp" = ""
-    then
-      with_ftp=no 
-    fi
-    if test "$with_history" = ""
-    then
-      with_history=no
-    fi
-    if test "$with_html" = ""
-    then
-      with_html=no
-    fi
-    if test "$with_http" = ""
-    then
-      with_http=no 
-    fi
-    if test "$with_iconv" = ""
-    then
-      with_iconv=no
-    fi
-    if test "$with_iso8859x" = ""
-    then
-      with_iso8859x=no
-    fi
-    if test "$with_legacy" = ""
-    then
-      with_legacy=no
-    fi
-    if test "$with_mem_debug" = ""
-    then 
-      with_mem_debug=no
-    fi
-    if test "$with_output" = ""
-    then
-      with_output=no
-    fi
-    if test "$with_pattern" = ""
-    then
-      with_pattern=no
-    fi
-    if test "$with_push" = ""
-    then
-      with_push=no
-    fi
-    if test "$with_python" = ""
-    then
-      with_python=no
-    fi
-    if test "$with_reader" = ""
-    then
-      with_reader=no
-    fi
-    if test "$with_readline" = ""
-    then
-      with_readline=no
-    fi
-    if test "$with_regexps" = ""
-    then
-      with_regexps=no
-    fi
-    if test "$with_run_debug" = ""
-    then
-      with_run_debug=no
-    fi
-    if test "$with_sax1" = ""
-    then
-      with_sax1=no
-    fi
-    if test "$with_schemas" = ""
-    then
-      with_schemas=no
-    fi
-    if test "$with_schematron" = ""
-    then
-      with_schematron=no
-    fi
-    if test "$with_threads" = ""
-    then
-      with_threads=no
-    fi
-    if test "$with_thread_alloc" = ""
-    then
-      with_thread_alloc=no
-   fi
-    if test "$with_tree" = ""
-    then
-      with_tree=no
-    fi
-    if test "$with_valid" = ""
-    then
-      with_valid=no
-    fi
-    if test "$with_writer" = ""
-    then
-      with_writer=no
-    fi
-    if test "$with_xinclude" = ""
-    then
-      with_xinclude=no
-    fi
-    if test "$with_xpath" = ""
-    then
-      with_xpath=no
-    fi
-    if test "$with_xptr" = ""
-    then
-      with_xptr=no
-    fi
-    if test "$with_zlib" = ""
-    then
-      with_zlib=no
-    fi
-    if test "$with_modules" = ""
-    then
-      with_modules=no
-    fi
-fi
-
-echo Checking zlib
-
-dnl Checks for zlib library.
-
-WITH_ZLIB=0
-if test "$with_zlib" = "no"; then
-    echo "Disabling compression support"
-else
-    AC_CHECK_HEADERS(zlib.h,
-       AC_CHECK_LIB(z, gzread,[
-           AC_DEFINE([HAVE_LIBZ], [1], [Have compression library])
-           WITH_ZLIB=1
-           if test "x${Z_DIR}" != "x"; then
-               Z_CFLAGS="-I${Z_DIR}/include"
-               Z_LIBS="-L${Z_DIR}/lib -lz"
-               [case ${host} in
-                   *-*-solaris*)
-                       Z_LIBS="-L${Z_DIR}/lib -R${Z_DIR}/lib -lz"
-                       ;;
-               esac]
-           else
-               Z_LIBS="-lz"
-           fi]))
-fi
-
-AC_SUBST(Z_CFLAGS)
-AC_SUBST(Z_LIBS)
-AC_SUBST(WITH_ZLIB)
-
-echo Checking lzma
-
-dnl Checks for lzma library.
-
-WITH_LZMA=0
-if test "$with_lzma" = "no"; then
-    echo "Disabling compression support"
-else
-    AC_CHECK_HEADERS(lzma.h,
-       AC_CHECK_LIB(lzma, lzma_code,[
-           AC_DEFINE([HAVE_LIBLZMA], [1], [Have compression library])
-           WITH_LZMA=1
-           if test "x${LZMA_DIR}" != "x"; then
-               LZMA_CFLAGS="-I${LZMA_DIR}/include"
-               LZMA_LIBS="-L${LZMA_DIR}/lib -llzma"
-           else
-               LZMA_LIBS="-llzma"
-           fi]))
-fi
-
-AC_SUBST(LZMA_CFLAGS)
-AC_SUBST(LZMA_LIBS)
-AC_SUBST(WITH_LZMA)
-
-CPPFLAGS=${_cppflags}
-LIBS=${_libs}
-
-echo Checking headers
-
-dnl Checks for header files.
-AC_HEADER_DIRENT
-AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h])
-AC_CHECK_HEADERS([unistd.h])
-AC_CHECK_HEADERS([ctype.h])
-AC_CHECK_HEADERS([dirent.h])
-AC_CHECK_HEADERS([errno.h])
-AC_CHECK_HEADERS([malloc.h])
-AC_CHECK_HEADERS([stdarg.h])
-AC_CHECK_HEADERS([sys/stat.h])
-AC_CHECK_HEADERS([sys/types.h])
-AC_CHECK_HEADERS([stdint.h])
-AC_CHECK_HEADERS([inttypes.h])
-AC_CHECK_HEADERS([time.h])
-AC_CHECK_HEADERS([ansidecl.h])
-AC_CHECK_HEADERS([ieeefp.h])
-AC_CHECK_HEADERS([nan.h])
-AC_CHECK_HEADERS([math.h])
-AC_CHECK_HEADERS([limits.h])
-AC_CHECK_HEADERS([fp_class.h])
-AC_CHECK_HEADERS([float.h])
-AC_CHECK_HEADERS([stdlib.h])
-AC_CHECK_HEADERS([sys/socket.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-])
-AC_CHECK_HEADERS([netinet/in.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-])
-AC_CHECK_HEADERS([arpa/inet.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-#if HAVE_ARPA_INET_H
-# include <arpa/inet.h>
-# endif
-])
-AC_CHECK_HEADERS([netdb.h])
-AC_CHECK_HEADERS([sys/time.h])
-AC_CHECK_HEADERS([sys/select.h])
-AC_CHECK_HEADERS([poll.h])
-AC_CHECK_HEADERS([sys/mman.h])
-AC_CHECK_HEADERS([sys/timeb.h])
-AC_CHECK_HEADERS([signal.h])
-AC_CHECK_HEADERS([arpa/nameser.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-])
-AC_CHECK_HEADERS([resolv.h], [], [],
-[#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-#if HAVE_NETINET_IN_H
-# include <netinet/in.h>
-# endif
-#if HAVE_ARPA_NAMESER_H
-# include <arpa/nameser.h>
-# endif
-])
-AC_CHECK_HEADERS([dl.h])
-AC_CHECK_HEADERS([dlfcn.h])
-
-
-echo Checking types
-
-AC_TYPE_UINT32_T
-
-
-echo Checking libraries
-
-dnl Checks for library functions.
-AC_FUNC_STRFTIME
-AC_CHECK_FUNCS(strdup strndup strerror)
-AC_CHECK_FUNCS(finite isnand fp_class class fpclass)
-AC_CHECK_FUNCS(strftime localtime gettimeofday ftime)
-AC_CHECK_FUNCS(stat _stat signal)
-AC_CHECK_FUNCS(rand rand_r srand time)
-AC_CHECK_FUNCS(isascii mmap munmap putenv)
-
-AH_VERBATIM([HAVE_MUNMAP_AFTER],[/* mmap() is no good without munmap() */
-#if defined(HAVE_MMAP) && !defined(HAVE_MUNMAP)
-#  undef /**/ HAVE_MMAP
-#endif])
-
-dnl Checking for va_copy availability
-AC_MSG_CHECKING([for va_copy])
-AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h>
-va_list ap1,ap2;]], [[va_copy(ap1,ap2);]])],
-have_va_copy=yes,
-have_va_copy=no)
-AC_MSG_RESULT($have_va_copy)
-if test x"$have_va_copy" = x"yes"; then
-    AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available])
-else
-    AC_MSG_CHECKING([for __va_copy])
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h>
-    va_list ap1,ap2;]], [[__va_copy(ap1,ap2);]])],
-    have___va_copy=yes,
-    have___va_copy=no)
-    AC_MSG_RESULT($have___va_copy)
-    if test x"$have___va_copy" = x"yes"; then
-        AC_DEFINE(HAVE___VA_COPY,1,[Whether __va_copy() is available])
-    fi
-fi
-
-dnl Checks for inet libraries:
-AC_SEARCH_LIBS(gethostent, [nsl])
-AC_SEARCH_LIBS(setsockopt, [socket net network])
-AC_SEARCH_LIBS(connect, [inet])
-
-dnl Determine what socket length (socklen_t) data type is
-AC_MSG_CHECKING([for type of socket length (socklen_t)])
-AC_TRY_COMPILE2([
-#include <stddef.h>
-#include <sys/types.h>
-#include <sys/socket.h>],[
-(void)getsockopt (1, 1, 1, NULL, (socklen_t *)NULL)],[
-  AC_MSG_RESULT(socklen_t *)
-  XML_SOCKLEN_T=socklen_t],[
-  AC_TRY_COMPILE2([
-#include <stddef.h>
-#include <sys/types.h>
-#include <sys/socket.h>],[
-(void)getsockopt (1, 1, 1, NULL, (size_t *)NULL)],[
-    AC_MSG_RESULT(size_t *)
-    XML_SOCKLEN_T=size_t],[
-    AC_TRY_COMPILE2([
-#include <stddef.h>
-#include <sys/types.h>
-#include <sys/socket.h>],[
-(void)getsockopt (1, 1, 1, NULL, (int *)NULL)],[
-      AC_MSG_RESULT(int *)
-      XML_SOCKLEN_T=int],[
-      AC_MSG_WARN(could not determine)
-      XML_SOCKLEN_T="int"])])])
-AC_DEFINE_UNQUOTED(XML_SOCKLEN_T, $XML_SOCKLEN_T, [Determine what socket length (socklen_t) data type is])
-
-dnl ***********************Checking for availability of IPv6*******************
-
-AC_MSG_CHECKING([whether to enable IPv6])
-AC_ARG_ENABLE(ipv6, [  --enable-ipv6[[=yes/no]]  enables compilation of IPv6 code [[default=yes]]],, enable_ipv6=yes)
-if test "$with_minimum" = "yes"
-then
-    enable_ipv6=no
-fi
-if test $enable_ipv6 = yes; then
-  have_ipv6=no
-  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#   include <sys/types.h>
-#   include <sys/socket.h>
-    ]], [[
-    struct sockaddr_storage ss;
-    socket(AF_INET6, SOCK_STREAM, 0)
-    ]])],
-    have_ipv6=yes,
-    have_ipv6=no
-  )
-  AC_MSG_RESULT($have_ipv6)
-
-  if test $have_ipv6 = yes; then
-    AC_DEFINE([SUPPORT_IP6], [], [Support for IPv6])
-    have_broken_ss_family=no
-
-    dnl *********************************************************************
-    dnl on some platforms (like AIX 5L), the structure sockaddr doesn't have
-    dnl a ss_family member, but rather __ss_family. Let's detect that
-    dnl and define the HAVE_BROKEN_SS_FAMILY when we are on one of these
-    dnl platforms.  However, we should only do this if ss_family is not
-    dnl present.
-    dnl ********************************************************************
-    AC_MSG_CHECKING([struct sockaddr::ss_family])
-    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#     include <sys/types.h>
-#     include <sys/socket.h>
-      ]], [[
-      struct sockaddr_storage ss ;
-      ss.ss_family = 0 ;
-      ]])],
-      have_ss_family=yes,
-      have_ss_family=no
-    )
-    AC_MSG_RESULT($have_ss_family)
-    if test x$have_ss_family = xno ; then
-      AC_MSG_CHECKING([broken struct sockaddr::ss_family])
-      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#       include <sys/types.h>
-#       include <sys/socket.h>
-        ]], [[
-        struct sockaddr_storage ss ;
-        ss.__ss_family = 0 ;
-        ]])],
-        have_broken_ss_family=yes,
-        have_broken_ss_family=no
-      )
-      AC_MSG_RESULT($have_broken_ss_family)
-      if test x$have_broken_ss_family = xyes ; then
-        AC_DEFINE(HAVE_BROKEN_SS_FAMILY, [],
-         [Whether struct sockaddr::__ss_family exists]) 
-        AC_DEFINE(ss_family, __ss_family,
-         [ss_family is not defined here, use __ss_family instead])
-      else
-        AC_MSG_WARN(ss_family and __ss_family not found)
-      fi
-    fi
-
-    have_getaddrinfo=no
-    AC_CHECK_FUNC(getaddrinfo, have_getaddrinfo=yes)
-    if test $have_getaddrinfo != yes; then
-      for lib in bsd socket inet; do
-        AC_CHECK_LIB($lib, getaddrinfo, [LIBS="$LIBS -l$lib";have_getaddrinfo=yes;break])
-      done
-    fi
-
-    if test $have_getaddrinfo = yes; then
-      AC_DEFINE([HAVE_GETADDRINFO], [], [Define if getaddrinfo is there])
-    fi
-  fi
-fi 
-
-dnl ******************************End IPv6 checks******************************
-
-dnl Checks for isnan in libm if not in libc
-AC_CHECK_FUNC(isnan, AC_DEFINE([HAVE_ISNAN],[], [Define if isnan is there]) , AC_CHECK_LIB(m, isnan,
-  [AC_DEFINE([HAVE_ISNAN],[], [Define if isnan is there])]))
-
-AC_CHECK_FUNC(isinf, AC_DEFINE([HAVE_ISINF], [], [Define if isinf is there]) , AC_CHECK_LIB(m, isinf,
-  [AC_DEFINE([HAVE_ISINF], [], [Define if isinf is there])]))
-
-XML_LIBDIR='-L${libdir}'
-XML_INCLUDEDIR='-I${includedir}/libxml2'
-
-dnl
-dnl Extra flags
-dnl
-XML_CFLAGS=""
-RDL_LIBS=""
-
-dnl
-dnl Workaround for native compilers
-dnl  HP  : http://bugs.gnome.org/db/31/3163.html
-dnl  DEC : Enable NaN/Inf
-dnl
-if test "${GCC}" != "yes" ; then
-    case "${host}" in
-          hppa*-*-hpux* )
-              CFLAGS="${CFLAGS} -Wp,-H30000"
-              ;;
-          *-dec-osf* )
-               CFLAGS="${CFLAGS} -ieee"
-               ;;
-         alpha*-*-linux* )
-              CFLAGS="${CFLAGS} -ieee"
-              ;;
-    esac
-else
-    if test "$with_fexceptions" = "yes"
-    then
-        #
-       # Not activated by default because this inflates the code size
-       # Used to allow propagation of C++ exceptions through the library
-       #
-       CFLAGS="${CFLAGS} -fexceptions"
-    fi
-
-    # warnings we'd like to see
-    CFLAGS="${CFLAGS} -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls"
-    # warnings we'd like to supress
-    CFLAGS="${CFLAGS} -Wno-long-long"
-    case "${host}" in
-          alpha*-*-linux* )
-              CFLAGS="${CFLAGS} -mieee"
-              ;;
-         alpha*-*-osf* )
-              CFLAGS="${CFLAGS} -mieee"
-              ;;
-    esac
-fi
-case ${host} in
-    *-*-solaris*)
-        XML_LIBDIR="${XML_LIBDIR} -R${libdir}"
-        ;;
-    hppa*-hp-mpeix)
-        NEED_TRIO=1
-       ;;
-    *-*-mingw* | *-*-cygwin* | *-*-msvc* )
-        # If the host is Windows, and shared libraries are disabled, we
-        # need to add -DLIBXML_STATIC to CFLAGS in order for linking to
-        # work properly (without it, xmlexports.h would force the use of
-        # DLL imports, which obviously aren't present in a static
-        # library).
-        if test "x$enable_shared" = "xno"; then
-            XML_CFLAGS="$XML_CFLAGS -DLIBXML_STATIC"
-            CFLAGS="$CFLAGS -DLIBXML_STATIC"
-        fi
-        ;;
-esac
-
-
-dnl
-dnl check for python
-dnl
-
-PYTHON_VERSION=
-PYTHON_INCLUDES=
-PYTHON_SITE_PACKAGES=
-PYTHON_TESTS=
-pythondir=
-if test "$with_python" != "no" ; then
-    if test -x "$with_python/bin/python"
-    then
-        echo Found python in $with_python/bin/python
-        PYTHON="$with_python/bin/python"
-    else
-        if test -x "$with_python/python.exe"
-        then
-            echo Found python in $with_python/python.exe
-            PYTHON="$with_python/python.exe"
-        else
-            if test -x "$with_python"
-            then
-                echo Found python in $with_python
-                PYTHON="$with_python"
-            else
-                if test -x "$PYTHON"
-                then
-                    echo Found python in environment PYTHON=$PYTHON
-                    with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
-                else
-                    AC_PATH_PROG(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
-               fi
-           fi
-       fi
-    fi
-    if test "$PYTHON" != ""
-    then
-        PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
-       echo Found Python version $PYTHON_VERSION
-    fi
-    if test "$PYTHON_VERSION" != ""
-    then
-       if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
-          -d $with_python/lib/python$PYTHON_VERSION/site-packages
-       then
-           PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
-           PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
-       else
-           if test -r $prefix/include/python$PYTHON_VERSION/Python.h
-           then
-               PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
-               PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
-           else
-               if test -r /usr/include/python$PYTHON_VERSION/Python.h
-               then
-                   PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
-                   PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
-               else
-                   if test -r $with_python/include/Python.h -a \
-                      -d $with_python/lib/site-packages
-                   then
-                       PYTHON_INCLUDES=$with_python/include
-                       PYTHON_SITE_PACKAGES=$with_python/lib/site-packages
-                   else
-                       echo could not find python$PYTHON_VERSION/Python.h or $with_python/include/Python.h
-                   fi
-               fi
-           fi
-           if test ! -d "$PYTHON_SITE_PACKAGES"
-           then
-                   PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
-           fi
-       fi
-       PYTHON_LIBS=`python$PYTHON_VERSION-config --ldflags`
-    fi
-    if test "$with_python" != ""
-    then
-        pythondir='$(PYTHON_SITE_PACKAGES)'
-    else
-        pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
-    fi
-else
-    PYTHON=
-fi
-AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
-if test "$PYTHON_INCLUDES" != ""
-then
-    PYTHON_SUBDIR=python
-else
-    PYTHON_SUBDIR=
-fi
-AC_SUBST(pythondir)
-AC_SUBST(PYTHON_SUBDIR)
-AC_SUBST(PYTHON_LIBS)
-
-dnl check for dso support
-WITH_MODULES=0
-TEST_MODULES=
-
-if test "$with_modules" != "no" ; then
- case "$host" in
-  *-*-cygwin*)
-  MODULE_EXTENSION=".dll"
-  AC_CHECK_LIB(cygwin, dlopen, [
-    WITH_MODULES=1
-    MODULE_PLATFORM_LIBS=
-    AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso])
-  ])
-  ;;
-  *-*-mingw*)
-  MODULE_EXTENSION=".dll"
-  WITH_MODULES=1
-  ;;
-  *)
-  AC_CHECK_FUNC(shl_load, libxml_have_shl_load=yes, [
-    AC_CHECK_LIB(dld, shl_load, [
-      MODULE_PLATFORM_LIBS="-ldld"
-      libxml_have_shl_load=yes], [
-      AC_CHECK_FUNC(dlopen, libxml_have_dlopen=yes, [
-        AC_CHECK_LIB(dl, dlopen, [
-          MODULE_PLATFORM_LIBS="-ldl"
-          libxml_have_dlopen=yes])])])])
-
-  if test "${libxml_have_shl_load}" = "yes"; then
-    MODULE_EXTENSION=".sl"
-    WITH_MODULES=1
-    AC_DEFINE([HAVE_SHLLOAD], [], [Have shl_load based dso])
-  fi
-  if test "${libxml_have_dlopen}" = "yes"; then
-    case "${host}" in
-      *-*-hpux* )
-       MODULE_EXTENSION=".sl"
-       ;;
-      * )
-       MODULE_EXTENSION=".so"
-       ;;
-    esac
-
-    WITH_MODULES=1
-    AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso])
-  fi
- ;;
- esac
-fi
-
-if test "${WITH_MODULES}" = "1"; then
-  TEST_MODULES="ModuleTests"
-fi  
-
-AC_SUBST(WITH_MODULES)
-AC_SUBST(MODULE_PLATFORM_LIBS)
-AC_SUBST(MODULE_EXTENSION)
-AC_SUBST(TEST_MODULES)
-
-dnl
-dnl Tester makes use of readline if present
-dnl
-
-dnl
-dnl specific tests to setup DV and Bill's devel environments with debug etc ...
-dnl (-Wunreachable-code)
-dnl
-if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XML" ]] || \
-   [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/home/veillard/libxml2" ]] || \
-   [[ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomesvn/libxml2" ]]
-   then
-    if test "$with_minimum" != "yes"
-    then
-       if test "${with_mem_debug}" = "" ; then
-           echo Activating memory debugging
-           with_mem_debug="yes"
-           with_run_debug="yes"
-       fi
-       if test "${with_docbook}" = "" ; then
-           with_docbook="yes"
-       fi
-    fi
-    if test "${GCC}" = "yes" ; then
-    CFLAGS="-g -O -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wall"
-    fi
-    STATIC_BINARIES="-static"
-dnl -Wcast-qual -ansi
-else
-    STATIC_BINARIES=
-fi
-AC_SUBST(STATIC_BINARIES)
-
-dnl
-dnl Check for trio string functions
-dnl
-
-if test "${NEED_TRIO}" = "1" ; then
-    echo Adding trio library for string functions
-    WITH_TRIO=1
-else    
-    WITH_TRIO=0
-fi
-AM_CONDITIONAL(WITH_TRIO_SOURCES, test "${NEED_TRIO}" = "1")
-AC_SUBST(WITH_TRIO)
-
-dnl
-dnl Allow to enable/disable various pieces
-dnl
-echo Checking configuration requirements
-
-dnl
-dnl Thread-related stuff
-dnl
-THREAD_LIBS=""
-BASE_THREAD_LIBS=""
-WITH_THREADS=0
-THREAD_CFLAGS=""
-TEST_THREADS=""
-THREADS_W32=""
-
-if test "$with_threads" = "no" ; then
-    echo Disabling multithreaded support
-else
-    echo Enabling multithreaded support
-
-    dnl Default to native threads on Win32
-    case $host_os in
-       *mingw32*) if test "$with_threads" != "pthread" && test "$with_threads" != "no"; then
-               WITH_THREADS="1"
-               THREADS_W32="1"
-               THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_WIN32_THREADS"
-           fi
-       ;;
-    esac
-
-    dnl Use pthread by default in other cases
-    if test -z "$THREADS_W32"; then
-        if test "$with_threads" = "pthread" || test "$with_threads" = "" || test "$with_threads" = "yes" ; then
-            AC_CHECK_HEADER(pthread.h,
-                AC_CHECK_LIB(pthread, pthread_join,[
-                THREAD_LIBS="-lpthread"
-                AC_DEFINE([HAVE_LIBPTHREAD], [], [Define if pthread library is there (-lpthread)])
-                AC_DEFINE([HAVE_PTHREAD_H], [], [Define if <pthread.h> is there])
-                WITH_THREADS="1"]))
-        fi
-    fi
-
-    case $host_os in
-       *cygwin*) THREAD_LIBS=""
-       ;;
-       *beos*) WITH_THREADS="1"
-          THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_BEOS_THREADS"
-       ;;
-       *linux*)
-           if test "${GCC}" = "yes" ; then
-              GCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'`
-              GCC_MAJOR=`echo ${GCC_VERSION} | sed 's+\..*++'`
-              GCC_MEDIUM=`echo ${GCC_VERSION} | sed 's+[[0-9]]*\.++' | sed 's+\..*++'`
-              if test "${THREAD_LIBS}" = "-lpthread" ; then
-                  if expr ${GCC_MEDIUM} \> 2 \& ${GCC_MAJOR} = 3 > /dev/null
-                  then
-                      THREAD_LIBS=""
-                      BASE_THREAD_LIBS="-lpthread"
-                  else
-                  if expr ${GCC_MAJOR} \> 3 > /dev/null
-                  then
-                      THREAD_LIBS=""
-                      BASE_THREAD_LIBS="-lpthread"
-                  else
-                      echo old GCC disabling weak symbols for pthread
-                  fi
-                  fi
-              fi
-          fi
-       ;;
-    esac
-    if test "$WITH_THREADS" = "1" ; then
-       THREAD_CFLAGS="$THREAD_CFLAGS -D_REENTRANT"
-       TEST_THREADS="Threadtests"
-    fi
-fi
-if test "$with_thread_alloc" = "yes" -a "$WITH_THREADS" = "1" ; then
-    THREAD_CFLAGS="$THREAD_CFLAGS -DLIBXML_THREAD_ALLOC_ENABLED"
-fi
-
-AC_SUBST(THREAD_LIBS)
-AC_SUBST(BASE_THREAD_LIBS)
-AC_SUBST(WITH_THREADS)
-AC_SUBST(THREAD_CFLAGS)
-AC_SUBST(TEST_THREADS)
-AM_CONDITIONAL([THREADS_W32],[test -n "$THREADS_W32"])
-
-dnl
-dnl xmllint shell history
-dnl
-if test "$with_history" = "yes" ; then
-    echo Enabling xmllint shell history
-    dnl check for terminal library. this is a very cool solution
-    dnl from octave's configure.in
-    unset tcap
-    for termlib in ncurses curses termcap terminfo termlib; do
-       AC_CHECK_LIB(${termlib}, tputs, [tcap="-l$termlib"])
-       test -n "$tcap" && break
-    done
-
-    AC_CHECK_HEADER(readline/history.h,
-       AC_CHECK_LIB(history, append_history,[
-          RDL_LIBS="-lhistory"
-          AC_DEFINE([HAVE_LIBHISTORY], [], [Define if history library is there (-lhistory)])]))
-    AC_CHECK_HEADER(readline/readline.h,
-       AC_CHECK_LIB(readline, readline,[
-          RDL_LIBS="-lreadline $RDL_LIBS $tcap"
-          AC_DEFINE([HAVE_LIBREADLINE], [], [Define if readline library is there (-lreadline)])], , $tcap))
-    if test -n "$RDL_DIR" -a -n "$RDL_LIBS"; then
-       CPPFLAGS="$CPPFLAGS -I${RDL_DIR}/include"
-       RDL_LIBS="-L${RDL_DIR}/lib $RDL_LIBS"
-    fi
-fi
-
-dnl
-dnl Tree functions
-dnl
-if test "$with_tree" = "no" ; then
-    echo Disabling DOM like tree manipulation APIs
-    WITH_TREE=0
-else    
-    WITH_TREE=1
-fi
-AC_SUBST(WITH_TREE)
-
-if test "$with_ftp" = "no" ; then
-    echo Disabling FTP support
-    WITH_FTP=0
-    FTP_OBJ=
-else    
-    WITH_FTP=1
-    FTP_OBJ=nanoftp.o
-fi
-AC_SUBST(WITH_FTP)
-AC_SUBST(FTP_OBJ)
-
-if test "$with_http" = "no" ; then
-    echo Disabling HTTP support
-    WITH_HTTP=0
-    HTTP_OBJ=
-else    
-    WITH_HTTP=1
-    HTTP_OBJ=nanohttp.o
-fi
-AC_SUBST(WITH_HTTP)
-AC_SUBST(HTTP_OBJ)
-
-if test "$with_legacy" = "no" ; then
-    echo Disabling deprecated APIs
-    WITH_LEGACY=0
-else    
-    WITH_LEGACY=1
-fi
-AC_SUBST(WITH_LEGACY)
-
-if test "$with_reader" = "no" ; then
-    echo Disabling the xmlReader parsing interface
-    WITH_READER=0
-    READER_TEST=
-else    
-    WITH_READER=1
-    READER_TEST=Readertests
-    if test "$with_push" = "no" ; then
-        echo xmlReader requires Push interface - enabling it
-       with_push=yes
-    fi
-fi
-AC_SUBST(WITH_READER)
-AC_SUBST(READER_TEST)
-
-if test "$with_writer" = "no" ; then
-    echo Disabling the xmlWriter saving interface
-    WITH_WRITER=0
-#    WRITER_TEST=
-else    
-    WITH_WRITER=1
-#    WRITER_TEST=Writertests
-    if test "$with_push" = "no" ; then
-        echo xmlWriter requires Push interface - enabling it
-       with_push=yes
-    fi
-    if test "$with_output" = "no" ; then
-        echo xmlWriter requires Output interface - enabling it
-       with_output=yes
-    fi
-fi
-AC_SUBST(WITH_WRITER)
-#AC_SUBST(WRITER_TEST)
-
-if test "$with_pattern" = "no" ; then
-    echo Disabling the xmlPattern parsing interface
-    WITH_PATTERN=0
-    TEST_PATTERN=
-else    
-    WITH_PATTERN=1
-    TEST_PATTERN=Patterntests
-fi
-AC_SUBST(WITH_PATTERN)
-AC_SUBST(TEST_PATTERN)
-
-if test "$with_sax1" = "no" ; then
-    echo Disabling the older SAX1 interface
-    WITH_SAX1=0
-    TEST_SAX=
-else    
-    WITH_SAX1=1
-    TEST_SAX=SAXtests
-fi
-AC_SUBST(WITH_SAX1)
-AM_CONDITIONAL(WITH_SAX1_SOURCES, test "${WITH_TRIO}" = "1")
-AC_SUBST(TEST_SAX)
-
-if test "$with_push" = "no" ; then
-    echo Disabling the PUSH parser interfaces
-    WITH_PUSH=0
-    TEST_PUSH=
-else    
-    WITH_PUSH=1
-    TEST_PUSH="XMLPushtests"
-fi
-AC_SUBST(WITH_PUSH)
-AC_SUBST(TEST_PUSH)
-
-if test "$with_html" = "no" ; then
-    echo Disabling HTML support
-    WITH_HTML=0
-    HTML_OBJ=
-    TEST_HTML=
-else    
-    WITH_HTML=1
-    HTML_OBJ="HTMLparser.o HTMLtree.o"
-    TEST_HTML=HTMLtests
-    if test "$with_push" != "no" ; then
-        TEST_PHTML=HTMLPushtests
-    else
-        TEST_PHTML=
-    fi
-fi
-AC_SUBST(WITH_HTML)
-AC_SUBST(HTML_OBJ)
-AC_SUBST(TEST_HTML)
-AC_SUBST(TEST_PHTML)
-
-if test "$with_valid" = "no" ; then
-    echo Disabling DTD validation support
-    WITH_VALID=0
-    TEST_VALID=
-    TEST_VTIME=
-else    
-    WITH_VALID=1
-    TEST_VALID=Validtests
-    TEST_VTIME=VTimingtests
-fi
-AC_SUBST(WITH_VALID)
-AC_SUBST(TEST_VALID)
-AC_SUBST(TEST_VTIME)
-
-if test "$with_catalog" = "no" ; then
-    echo Disabling Catalog support
-    WITH_CATALOG=0
-    CATALOG_OBJ=
-    TEST_CATALOG=
-else    
-    WITH_CATALOG=1
-    CATALOG_OBJ="catalog.o"
-    TEST_CATALOG=Catatests
-fi
-AC_SUBST(WITH_CATALOG)
-AC_SUBST(CATALOG_OBJ)
-AC_SUBST(TEST_CATALOG)
-
-if test "$with_docbook" = "no" ; then
-    echo Disabling Docbook support
-    WITH_DOCB=0
-    DOCB_OBJ=
-else    
-    WITH_DOCB=1
-    DOCB_OBJ="DOCBparser.o"
-fi
-AC_SUBST(WITH_DOCB)
-AC_SUBST(DOCB_OBJ)
-
-
-if test "$with_xptr" = "no" ; then
-    echo Disabling XPointer support
-    WITH_XPTR=0
-    XPTR_OBJ=
-    TEST_XPTR=
-else    
-    WITH_XPTR=1
-    XPTR_OBJ=xpointer.o
-    TEST_XPTR=XPtrtests
-    if test "$with_xpath" = "no" ; then
-        echo XPointer requires XPath support - enabling it
-       with_xpath=yes
-    fi
-fi
-AC_SUBST(WITH_XPTR)
-AC_SUBST(XPTR_OBJ)
-AC_SUBST(TEST_XPTR)
-
-if test "$with_c14n" = "no" ; then
-    echo Disabling C14N support
-    WITH_C14N=0
-    C14N_OBJ=
-    TEST_C14N=
-else    
-    WITH_C14N=1
-    C14N_OBJ="c14n.c"
-    TEST_C14N=C14Ntests
-    if test "$with_xpath" = "no" ; then
-        echo C14N requires XPath support - enabling it
-       with_xpath=yes
-    fi
-fi
-AC_SUBST(WITH_C14N)
-AC_SUBST(C14N_OBJ)
-AC_SUBST(TEST_C14N)
-
-if test "$with_xinclude" = "no" ; then
-    echo Disabling XInclude support
-    WITH_XINCLUDE=0
-    XINCLUDE_OBJ=
-    with_xinclude="no"
-    TEST_XINCLUDE=
-else    
-    WITH_XINCLUDE=1
-    XINCLUDE_OBJ=xinclude.o
-    TEST_XINCLUDE=XIncludetests
-    if test "$with_xpath" = "no" ; then
-        echo XInclude requires XPath support - enabling it
-       with_xpath=yes
-    fi
-fi
-AC_SUBST(WITH_XINCLUDE)
-AC_SUBST(XINCLUDE_OBJ)
-AC_SUBST(TEST_XINCLUDE)
-
-if test "$with_xpath" = "no" ; then
-    echo Disabling XPATH support
-    WITH_XPATH=0
-    XPATH_OBJ=
-    TEST_XPATH=
-else    
-    WITH_XPATH=1
-    XPATH_OBJ=xpath.o
-    TEST_XPATH=XPathtests
-fi
-AC_SUBST(WITH_XPATH)
-AC_SUBST(XPATH_OBJ)
-AC_SUBST(TEST_XPATH)
-
-dnl
-dnl output functions
-dnl
-if test "$with_output" = "no" ; then
-    echo Disabling serialization/saving support
-    WITH_OUTPUT=0
-else    
-    WITH_OUTPUT=1
-fi
-AC_SUBST(WITH_OUTPUT)
-
-WITH_ICONV=0
-if test "$with_iconv" = "no" ; then
-    echo Disabling ICONV support
-else
-    if test "$with_iconv" != "yes" -a "$with_iconv" != "" ; then
-       CPPFLAGS="${CPPFLAGS} -I$with_iconv/include"
-       # Export this since our headers include iconv.h
-       XML_INCLUDEDIR="${XML_INCLUDEDIR} -I$with_iconv/include"
-       ICONV_LIBS="-L$with_iconv/lib"
-    fi
-
-    AC_CHECK_HEADER(iconv.h,
-       AC_MSG_CHECKING(for iconv)
-       AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
-#include <iconv.h>]],[[
-iconv_t cd = iconv_open ("","");
-iconv (cd, NULL, NULL, NULL, NULL);]])],[
-           AC_MSG_RESULT(yes)
-           WITH_ICONV=1],[
-           AC_MSG_RESULT(no)
-           AC_MSG_CHECKING(for iconv in -liconv)
-
-           _ldflags="${LDFLAGS}"
-           _libs="${LIBS}"
-           LDFLAGS="${LDFLAGS} ${ICONV_LIBS}"
-           LIBS="${LIBS} -liconv"
-
-           AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
-#include <iconv.h>]],[[
-iconv_t cd = iconv_open ("","");
-iconv (cd, NULL, NULL, NULL, NULL);]])],[
-               AC_MSG_RESULT(yes)
-               WITH_ICONV=1
-               ICONV_LIBS="${ICONV_LIBS} -liconv"
-               LIBS="${_libs}"
-               LDFLAGS="${_ldflags}"],[
-               AC_MSG_RESULT(no)
-               LIBS="${_libs}"
-               LDFLAGS="${_ldflags}"])]))
-
-       if test "$WITH_ICONV" = "1" ; then
-               AC_MSG_CHECKING([for iconv declaration])
-               AC_CACHE_VAL(xml_cv_iconv_arg2, [
-                       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-]], [])], xml_cv_iconv_arg2="", xml_cv_iconv_arg2="const")])
-
-               xml_cv_iconv_decl="extern size_t iconv (iconv_t cd, $xml_cv_iconv_arg2 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
-               AC_MSG_RESULT([${xml_xxx:-
-       }$xml_cv_iconv_decl])
-               AC_DEFINE_UNQUOTED(ICONV_CONST, $xml_cv_iconv_arg2,
-                       [Define as const if the declaration of iconv() needs const.])
-       fi
-fi
-case "$host" in
-       *mingw*) M_LIBS=""
-       ;;
-       *beos*) M_LIBS=""
-       ;;
-        *haiku*) M_LIBS=""
-        ;;
-       *) M_LIBS="-lm"
-       ;;
-esac
-XML_LIBS="-lxml2 $Z_LIBS $THREAD_LIBS $ICONV_LIBS $M_LIBS $LIBS"
-XML_LIBTOOLLIBS="libxml2.la"
-AC_SUBST(WITH_ICONV)
-
-WITH_ICU=0
-ICU_LIBS=""
-if test "$with_icu" != "yes" ; then
-    echo Disabling ICU support
-else
-    ICU_CONFIG=icu-config
-    if ${ICU_CONFIG} --cflags >/dev/null 2>&1
-    then
-        ICU_LIBS=`${ICU_CONFIG} --ldflags`
-        WITH_ICU=1
-        echo Enabling ICU support
-    else
-        AC_MSG_ERROR([libicu config program icu-config not found])
-    fi
-fi
-AC_SUBST(WITH_ICU)
-AC_SUBST(ICU_LIBS)
-
-WITH_ISO8859X=1
-if test "$WITH_ICONV" != "1" ; then
-if test "$with_iso8859x" = "no" ; then
-    echo Disabling ISO8859X support
-    WITH_ISO8859X=0
-fi
-fi
-AC_SUBST(WITH_ISO8859X)
-
-if test "$with_schematron" = "no" ; then
-    echo "Disabling Schematron support"
-    WITH_SCHEMATRON=0
-    TEST_SCHEMATRON=
-else    
-    echo "Enabled Schematron support"
-    WITH_SCHEMATRON=1
-    TEST_SCHEMATRON="Schematrontests"
-    with_xpath=yes
-    with_pattern=yes
-fi
-AC_SUBST(WITH_SCHEMATRON)
-AC_SUBST(TEST_SCHEMATRON)
-
-if test "$with_schemas" = "no" ; then
-    echo "Disabling Schemas/Relax-NG support"
-    WITH_SCHEMAS=0
-    TEST_SCHEMAS=
-else    
-    echo "Enabled Schemas/Relax-NG support"
-    WITH_SCHEMAS=1
-    TEST_SCHEMAS="Schemastests Relaxtests"
-    if test "$PYTHON_INCLUDES" != "" ; then
-        PYTHON_TESTS="$PYTHON_TESTS RelaxNGPythonTests SchemasPythonTests"
-    fi
-    with_regexps=yes
-fi
-AC_SUBST(WITH_SCHEMAS)
-AC_SUBST(TEST_SCHEMAS)
-
-if test "$with_regexps" = "no" ; then
-    echo Disabling Regexps support
-    WITH_REGEXPS=0
-    TEST_REGEXPS=
-else    
-    WITH_REGEXPS=1
-    TEST_REGEXPS="Regexptests Automatatests"
-fi
-AC_SUBST(WITH_REGEXPS)
-AC_SUBST(TEST_REGEXPS)
-
-if test "$with_debug" = "no" ; then
-    echo Disabling DEBUG support
-    WITH_DEBUG=0
-    DEBUG_OBJ=
-    TEST_DEBUG=
-else    
-    WITH_DEBUG=1
-    DEBUG_OBJ=debugXML.o
-    TEST_DEBUG=Scripttests
-fi
-AC_SUBST(WITH_DEBUG)
-AC_SUBST(DEBUG_OBJ)
-AC_SUBST(TEST_DEBUG)
-
-if test "$with_mem_debug" = "yes" ; then
-    if test "$with_thread_alloc" = "yes" ; then
-        echo Disabling memory debug - cannot use mem-debug with thread-alloc!
-       WITH_MEM_DEBUG=0
-    else
-        echo Enabling memory debug support
-        WITH_MEM_DEBUG=1
-    fi
-else    
-    WITH_MEM_DEBUG=0
-fi
-AC_SUBST(WITH_MEM_DEBUG)
-
-if test "$with_run_debug" = "yes" ; then
-    echo Enabling runtime debug support
-    WITH_RUN_DEBUG=1
-else    
-    WITH_RUN_DEBUG=0
-fi
-AC_SUBST(WITH_RUN_DEBUG)
-
-WIN32_EXTRA_LIBADD=
-WIN32_EXTRA_LDFLAGS=
-CYGWIN_EXTRA_LDFLAGS=
-CYGWIN_EXTRA_PYTHON_LIBADD=
-WIN32_EXTRA_PYTHON_LIBADD=
-case "$host" in
- *-*-mingw*)
- CPPFLAGS="$CPPFLAGS -DWIN32"
- WIN32_EXTRA_LIBADD="-lws2_32"
- WIN32_EXTRA_LDFLAGS="-no-undefined"
- AC_DEFINE([_WINSOCKAPI_],1,[Using the Win32 Socket implementation])
- if test "${PYTHON}" != ""
- then
-   WIN32_EXTRA_PYTHON_LIBADD="-L${pythondir}/../../libs -lpython$(echo ${PYTHON_VERSION} | tr -d .)"
- fi
- ;;
- *-*-cygwin*)
- CYGWIN_EXTRA_LDFLAGS="-no-undefined"
- if test "${PYTHON}" != ""
- then
-   CYGWIN_EXTRA_PYTHON_LIBADD="-L/usr/lib/python${PYTHON_VERSION}/config -lpython${PYTHON_VERSION}"
- fi
- ;;
-esac
-AC_SUBST(WIN32_EXTRA_LIBADD)
-AC_SUBST(WIN32_EXTRA_LDFLAGS)
-AC_SUBST(WIN32_EXTRA_PYTHON_LIBADD)
-AC_SUBST(CYGWIN_EXTRA_LDFLAGS)
-AC_SUBST(CYGWIN_EXTRA_PYTHON_LIBADD)
-
-dnl Checking the standard string functions availability
-dnl
-dnl Note mingw* has C99 implementation that produce expected xml numbers
-dnl if code use {v}snprintf functions.
-dnl If you like to activate at run-time C99 compatible number output
-dnl see release note for mingw runtime 3.15:
-dnl  http://sourceforge.net/project/shownotes.php?release_id=24832
-dnl
-dnl Also *win32*config.h files redefine them for various MSC compilers.
-dnl
-dnl So do not redefine {v}snprintf to _{v}snprintf like follwing:
-dnl  AC_DEFINE([snprintf],[_snprintf],[Win32 Std C name mangling work-around])
-dnl  AC_DEFINE([vsnprintf],[_vsnprintf],[Win32 Std C name mangling work-around])
-dnl and do not redefine those functions is C-source files.
-dnl
-AC_CHECK_FUNCS(printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf,,
-       NEED_TRIO=1)
-
-if test "$with_coverage" = "yes" -a "${GCC}" = "yes"
-then
-    echo Enabling code coverage for GCC
-    CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
-    LDFLAGS="$LDFLAGS -fprofile-arcs -ftest-coverage"
-else
-    echo Disabling code coverage for GCC
-fi
-
-AC_SUBST(CPPFLAGS)
-AC_SUBST(CFLAGS)
-AC_SUBST(LDFLAGS)
-AC_SUBST(XML_CFLAGS)
-
-AC_SUBST(XML_LIBDIR)
-AC_SUBST(XML_LIBS)
-AC_SUBST(XML_LIBTOOLLIBS)
-AC_SUBST(ICONV_LIBS)
-AC_SUBST(XML_INCLUDEDIR)
-AC_SUBST(HTML_DIR)
-AC_SUBST(HAVE_ISNAN)
-AC_SUBST(HAVE_ISINF)
-AC_SUBST(PYTHON)
-AC_SUBST(PYTHON_VERSION)
-AC_SUBST(PYTHON_INCLUDES)
-AC_SUBST(PYTHON_SITE_PACKAGES)
-
-AC_SUBST(M_LIBS)
-AC_SUBST(RDL_LIBS)
-
-dnl for the spec file
-RELDATE=`date +'%a %b %e %Y'`
-AC_SUBST(RELDATE)
-AC_SUBST(PYTHON_TESTS)
-
-rm -f COPYING.LIB COPYING
-ln -s $srcdir/Copyright COPYING
-
-# keep on one line for cygwin c.f. #130896
-AC_CONFIG_FILES([libxml2.spec:libxml.spec.in Makefile include/Makefile include/libxml/Makefile doc/Makefile doc/examples/Makefile doc/devhelp/Makefile example/Makefile python/Makefile python/tests/Makefile xstc/Makefile include/libxml/xmlversion.h xml2-config libxml-2.0.pc libxml-2.0-uninstalled.pc python/setup.py])
-AC_OUTPUT
-
-chmod +x xml2-config python/setup.py
-echo Done configuring
diff --git a/reactos/lib/3rdparty/libxml2/dbgen.pl b/reactos/lib/3rdparty/libxml2/dbgen.pl
deleted file mode 100644 (file)
index 1383d6e..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/perl
-
-$size = shift;
-
-if ($size eq "") 
-{
-    die "usage:  dbgen.pl [size]\n";
-}
-
-@firstnames = ("Al", "Bob", "Charles", "David", "Egon", "Farbood", 
-               "George", "Hank", "Inki", "James");
-@lastnames = ("Aranow", "Barker", "Corsetti", "Dershowitz", "Engleman", 
-              "Franklin", "Grice", "Haverford", "Ilvedson", "Jones");
-@states = ("AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA", 
-           "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", 
-           "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", 
-           "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", 
-           "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY");
-
-print "<?xml version=\"1.0\"?>\n";
-print "\n";
-print "<table>\n";
-
-for ($i=0; $i<$size; $i++)
-{
-    $first = $firstnames [$i % 10];
-    $last = $lastnames [($i / 10) % 10];
-    $state = $states [($i / 100) % 50];
-    $zip = 22000 + $i / 5000;
-
-    printf "  <row>\n";
-    printf "    <id>%04d</id>\n", $i;
-    printf "    <firstname>$first</firstname>\n", $i;
-    printf "    <lastname>$last</lastname>\n", $i;
-    printf "    <street>%d Any St.</street>\n", ($i % 100) + 1;
-    printf "    <city>Anytown</city>\n";
-    printf "    <state>$state</state>\n";
-    printf "    <zip>%d</zip>\n", $zip;
-    printf "  </row>\n";
-}
-
-print "</table>\n";
-
diff --git a/reactos/lib/3rdparty/libxml2/dbgenattr.pl b/reactos/lib/3rdparty/libxml2/dbgenattr.pl
deleted file mode 100644 (file)
index dce11cd..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/perl
-
-$size = shift;
-
-if ($size eq "") 
-{
-    die "usage:  dbgen.pl [size]\n";
-}
-
-@firstnames = ("Al", "Bob", "Charles", "David", "Egon", "Farbood", 
-               "George", "Hank", "Inki", "James");
-@lastnames = ("Aranow", "Barker", "Corsetti", "Dershowitz", "Engleman", 
-              "Franklin", "Grice", "Haverford", "Ilvedson", "Jones");
-@states = ("AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA", 
-           "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", 
-           "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", 
-           "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", 
-           "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY");
-
-print "<?xml version=\"1.0\"?>\n";
-print "\n";
-print "<table>\n";
-
-for ($i=0; $i<$size; $i++)
-{
-    $first = $firstnames [$i % 10];
-    $last = $lastnames [($i / 10) % 10];
-    $state = $states [($i / 100) % 50];
-    $zip = 22000 + $i / 5000;
-
-    printf "  <row\n";
-    printf "    id='%04d'\n", $i;
-    printf "    firstname='$first'\n", $i;
-    printf "    lastname='$last'\n", $i;
-    printf "    street='%d Any St.'\n", ($i % 100) + 1;
-    printf "    city='Anytown'\n";
-    printf "    state='$state'\n";
-    printf "    zip='%d'/>\n", $zip;
-}
-
-print "</table>\n";
-
index 3874b19..c8efe6a 100644 (file)
@@ -354,7 +354,6 @@ xmlCtxtGenericNodeCheck(xmlDebugCtxtPtr ctxt, xmlNodePtr node) {
        (node->type != XML_ELEMENT_DECL) &&
        (node->type != XML_ATTRIBUTE_DECL) &&
        (node->type != XML_DTD_NODE) &&
-       (node->type != XML_ELEMENT_DECL) &&
        (node->type != XML_HTML_DOCUMENT_NODE) &&
        (node->type != XML_DOCUMENT_NODE)) {
        if (node->content != NULL)
diff --git a/reactos/lib/3rdparty/libxml2/depcomp b/reactos/lib/3rdparty/libxml2/depcomp
deleted file mode 100644 (file)
index bd0ac08..0000000
+++ /dev/null
@@ -1,688 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2011-12-04.11; # UTC
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
-
-case $1 in
-  '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
-  -h | --h*)
-    cat <<\EOF
-Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-
-Run PROGRAMS ARGS to compile a file, generating dependencies
-as side-effects.
-
-Environment variables:
-  depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
-  DEPDIR      directory where to store dependencies.
-  depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputting dependencies.
-  libtool     Whether libtool is used (yes/no).
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "depcomp $scriptversion"
-    exit $?
-    ;;
-esac
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
-  echo "depcomp: Variables source, object and depmode must be set" 1>&2
-  exit 1
-fi
-
-# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
-depfile=${depfile-`echo "$object" |
-  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags.  We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write.  Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
-  # HP compiler uses -M and no extra arg.
-  gccflag=-M
-  depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
-fi
-
-cygpath_u="cygpath -u -f -"
-if test "$depmode" = msvcmsys; then
-   # This is just like msvisualcpp but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u='sed s,\\\\,/,g'
-   depmode=msvisualcpp
-fi
-
-if test "$depmode" = msvc7msys; then
-   # This is just like msvc7 but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u='sed s,\\\\,/,g'
-   depmode=msvc7
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff.  Hmm.
-## Unfortunately, FreeBSD c89 acceptance of flags depends upon
-## the command line argument order; so add the flags where they
-## appear in depend2.am.  Note that the slowdown incurred here
-## affects only configure: in makefiles, %FASTDEP% shortcuts this.
-  for arg
-  do
-    case $arg in
-    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
-    *)  set fnord "$@" "$arg" ;;
-    esac
-    shift # fnord
-    shift # $arg
-  done
-  "$@"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  mv "$tmpdepfile" "$depfile"
-  ;;
-
-gcc)
-## There are various ways to get dependency output from gcc.  Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-##   up in a subdir.  Having to rename by hand is ugly.
-##   (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-##   than renaming).
-  if test -z "$gccflag"; then
-    gccflag=-MD,
-  fi
-  "$@" -Wp,"$gccflag$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
-  sed -e 's/^[^:]*: / /' \
-      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header).  We avoid this by adding
-## dummy dependencies for each header file.  Too bad gcc doesn't do
-## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
-## that the space means something, we add a space to the output as
-## well.  hp depmode also adds that space, but also prefixes the VPATH
-## to the object.  Take care to not repeat it in the output.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
-      | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-sgi)
-  if test "$libtool" = yes; then
-    "$@" "-Wp,-MDupdate,$tmpdepfile"
-  else
-    "$@" -MDupdate "$tmpdepfile"
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-
-  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
-    echo "$object : \\" > "$depfile"
-
-    # Clip off the initial element (the dependent).  Don't try to be
-    # clever and replace this with sed code, as IRIX sed won't handle
-    # lines with more than a fixed number of characters (4096 in
-    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
-    # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> "$depfile"
-    echo >> "$depfile"
-
-    # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
-   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-aix)
-  # The C for AIX Compiler uses -M and outputs the dependencies
-  # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
-  # start of each line; $object doesn't have directory information.
-  # Version 6 uses the directory in both cases.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-  if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$base.u
-    tmpdepfile3=$dir.libs/$base.u
-    "$@" -Wc,-M
-  else
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$dir$base.u
-    tmpdepfile3=$dir$base.u
-    "$@" -M
-  fi
-  stat=$?
-
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-    exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
-    # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
-    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    # That's a tab and a space in the [].
-    sed -e 's,^.*\.[a-z]*:[     ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-  # ICC 7.0 will fill foo.d with something like
-  #    foo.o: sub/foo.c
-  #    foo.o: sub/foo.h
-  # which is wrong.  We want:
-  #    sub/foo.o: sub/foo.c
-  #    sub/foo.o: sub/foo.h
-  #    sub/foo.c:
-  #    sub/foo.h:
-  # ICC 7.1 will output
-  #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using \ :
-  #    foo.o: sub/foo.c ... \
-  #     sub/foo.h ... \
-  #     ...
-
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
-  # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp2)
-  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
-  # compilers, which have integrated preprocessors.  The correct option
-  # to use with these is +Maked; it writes dependencies to a file named
-  # 'foo.d', which lands next to the object file, wherever that
-  # happens to be.
-  # Much of this is similar to the tru64 case; see comments there.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-  if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir.libs/$base.d
-    "$@" -Wc,+Maked
-  else
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir$base.d
-    "$@" +Maked
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-     rm -f "$tmpdepfile1" "$tmpdepfile2"
-     exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
-    sed -ne '2,${
-              s/^ *//
-              s/ \\*$//
-              s/$/:/
-              p
-            }' "$tmpdepfile" >> "$depfile"
-  else
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile" "$tmpdepfile2"
-  ;;
-
-tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-   test "x$dir" = "x$object" && dir=
-   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
-   if test "$libtool" = yes; then
-      # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
-      # handle both shared and static libraries in a single compilation.
-      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
-      #
-      # With libtool 1.5 this exception was removed, and libtool now
-      # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
-      # in $dir$base.o.d.  We have to check for both files, because
-      # one of the two compilations can be disabled.  We should prefer
-      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-      # automatically cleaned when .libs/ is deleted, while ignoring
-      # the former would cause a distcleancheck panic.
-      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
-      tmpdepfile2=$dir$base.o.d          # libtool 1.5
-      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
-      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
-      "$@" -Wc,-MD
-   else
-      tmpdepfile1=$dir$base.o.d
-      tmpdepfile2=$dir$base.d
-      tmpdepfile3=$dir$base.d
-      tmpdepfile4=$dir$base.d
-      "$@" -MD
-   fi
-
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-      exit $stat
-   fi
-
-   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-   do
-     test -f "$tmpdepfile" && break
-   done
-   if test -f "$tmpdepfile"; then
-      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[   ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-   else
-      echo "#dummy" > "$depfile"
-   fi
-   rm -f "$tmpdepfile"
-   ;;
-
-msvc7)
-  if test "$libtool" = yes; then
-    showIncludes=-Wc,-showIncludes
-  else
-    showIncludes=-showIncludes
-  fi
-  "$@" $showIncludes > "$tmpdepfile"
-  stat=$?
-  grep -v '^Note: including file: ' "$tmpdepfile"
-  if test "$stat" = 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  # The first sed program below extracts the file names and escapes
-  # backslashes for cygpath.  The second sed program outputs the file
-  # name when reading, but also accumulates all include files in the
-  # hold buffer in order to output them again at the end.  This only
-  # works with sed implementations that can handle large buffers.
-  sed < "$tmpdepfile" -n '
-/^Note: including file:  *\(.*\)/ {
-  s//\1/
-  s/\\/\\\\/g
-  p
-}' | $cygpath_u | sort -u | sed -n '
-s/ /\\ /g
-s/\(.*\)/      \1 \\/p
-s/.\(.*\) \\/\1:/
-H
-$ {
-  s/.*/        /
-  G
-  p
-}' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvc7msys)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-#nosideeffect)
-  # This comment above is used by automake to tell side-effect
-  # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout, regardless of -o.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove `-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
-  # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
-  "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-dashXmstdout)
-  # This case only exists to satisfy depend.m4.  It is never actually
-  # run, as this mode is specially recognized in the preamble.
-  exit 1
-  ;;
-
-makedepend)
-  "$@" || exit $?
-  # Remove any Libtool call
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-  # X makedepend
-  shift
-  cleared=no eat=no
-  for arg
-  do
-    case $cleared in
-    no)
-      set ""; shift
-      cleared=yes ;;
-    esac
-    if test $eat = yes; then
-      eat=no
-      continue
-    fi
-    case "$arg" in
-    -D*|-I*)
-      set fnord "$@" "$arg"; shift ;;
-    # Strip any option that makedepend may not understand.  Remove
-    # the object too, otherwise makedepend will parse it as a source file.
-    -arch)
-      eat=yes ;;
-    -*|$object)
-      ;;
-    *)
-      set fnord "$@" "$arg"; shift ;;
-    esac
-  done
-  obj_suffix=`echo "$object" | sed 's/^.*\././'`
-  touch "$tmpdepfile"
-  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
-  rm -f "$depfile"
-  # makedepend may prepend the VPATH from the source file name to the object.
-  # No need to regex-escape $object, excess matching of '.' is harmless.
-  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile" "$tmpdepfile".bak
-  ;;
-
-cpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove `-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  "$@" -E |
-    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  cat < "$tmpdepfile" >> "$depfile"
-  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvisualcpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  IFS=" "
-  for arg
-  do
-    case "$arg" in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-       set fnord "$@"
-       shift
-       shift
-       ;;
-    *)
-       set fnord "$@" "$arg"
-       shift
-       shift
-       ;;
-    esac
-  done
-  "$@" -E 2>/dev/null |
-  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::     \1 \\:p' >> "$depfile"
-  echo "       " >> "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvcmsys)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-none)
-  exec "$@"
-  ;;
-
-*)
-  echo "Unknown depmode $depmode" 1>&2
-  exit 1
-  ;;
-esac
-
-exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
index 9935a25..5f71d55 100644 (file)
@@ -143,7 +143,7 @@ static int xmlDictInitialized = 0;
 /*
  * Internal data for random function, protected by xmlDictMutex
  */
-unsigned int rand_seed = 0;
+static unsigned int rand_seed = 0;
 #endif
 #endif
 
@@ -151,13 +151,28 @@ unsigned int rand_seed = 0;
  * xmlInitializeDict:
  *
  * Do the dictionary mutex initialization.
- * this function is not thread safe, initialization should
- * preferably be done once at startup
+ * this function is deprecated
  *
  * Returns 0 if initialization was already done, and 1 if that
  * call led to the initialization
  */
 int xmlInitializeDict(void) {
+    return(0);
+}
+
+/**
+ * __xmlInitializeDict:
+ *
+ * This function is not public
+ * Do the dictionary mutex initialization.
+ * this function is not thread safe, initialization should
+ * normally be done once at setup when called from xmlOnceInit()
+ * we may also land in this code if thread support is not compiled in
+ *
+ * Returns 0 if initialization was already done, and 1 if that
+ * call led to the initialization
+ */
+int __xmlInitializeDict(void) {
     if (xmlDictInitialized)
         return(1);
 
@@ -183,7 +198,7 @@ int __xmlRandom(void) {
     int ret;
 
     if (xmlDictInitialized == 0)
-        xmlInitializeDict();
+        __xmlInitializeDict();
 
     xmlRMutexLock(xmlDictMutex);
 #ifdef HAVE_RAND_R
@@ -522,7 +537,7 @@ xmlDictCreate(void) {
     xmlDictPtr dict;
 
     if (!xmlDictInitialized)
-        if (!xmlInitializeDict())
+        if (!__xmlInitializeDict())
             return(NULL);
 
 #ifdef DICT_DEBUG_PATTERNS
@@ -590,7 +605,7 @@ xmlDictCreateSub(xmlDictPtr sub) {
 int
 xmlDictReference(xmlDictPtr dict) {
     if (!xmlDictInitialized)
-        if (!xmlInitializeDict())
+        if (!__xmlInitializeDict())
             return(-1);
 
     if (dict == NULL) return -1;
@@ -754,7 +769,7 @@ xmlDictFree(xmlDictPtr dict) {
        return;
 
     if (!xmlDictInitialized)
-        if (!xmlInitializeDict())
+        if (!__xmlInitializeDict())
             return;
 
     /* decrement the counter, it may be shared by a parser and docs */
index 84e8151..85c49d6 100644 (file)
@@ -1343,6 +1343,68 @@ extern __typeof (xmlBoolToText) xmlBoolToText__internal_alias __attribute((visib
 #endif
 #endif
 
+#ifdef bottom_buf
+#undef xmlBufContent
+extern __typeof (xmlBufContent) xmlBufContent __attribute((alias("xmlBufContent__internal_alias")));
+#else
+#ifndef xmlBufContent
+extern __typeof (xmlBufContent) xmlBufContent__internal_alias __attribute((visibility("hidden")));
+#define xmlBufContent xmlBufContent__internal_alias
+#endif
+#endif
+
+#ifdef bottom_buf
+#undef xmlBufEnd
+extern __typeof (xmlBufEnd) xmlBufEnd __attribute((alias("xmlBufEnd__internal_alias")));
+#else
+#ifndef xmlBufEnd
+extern __typeof (xmlBufEnd) xmlBufEnd__internal_alias __attribute((visibility("hidden")));
+#define xmlBufEnd xmlBufEnd__internal_alias
+#endif
+#endif
+
+#ifdef bottom_tree
+#undef xmlBufGetNodeContent
+extern __typeof (xmlBufGetNodeContent) xmlBufGetNodeContent __attribute((alias("xmlBufGetNodeContent__internal_alias")));
+#else
+#ifndef xmlBufGetNodeContent
+extern __typeof (xmlBufGetNodeContent) xmlBufGetNodeContent__internal_alias __attribute((visibility("hidden")));
+#define xmlBufGetNodeContent xmlBufGetNodeContent__internal_alias
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlsave
+#undef xmlBufNodeDump
+extern __typeof (xmlBufNodeDump) xmlBufNodeDump __attribute((alias("xmlBufNodeDump__internal_alias")));
+#else
+#ifndef xmlBufNodeDump
+extern __typeof (xmlBufNodeDump) xmlBufNodeDump__internal_alias __attribute((visibility("hidden")));
+#define xmlBufNodeDump xmlBufNodeDump__internal_alias
+#endif
+#endif
+#endif
+
+#ifdef bottom_buf
+#undef xmlBufShrink
+extern __typeof (xmlBufShrink) xmlBufShrink __attribute((alias("xmlBufShrink__internal_alias")));
+#else
+#ifndef xmlBufShrink
+extern __typeof (xmlBufShrink) xmlBufShrink__internal_alias __attribute((visibility("hidden")));
+#define xmlBufShrink xmlBufShrink__internal_alias
+#endif
+#endif
+
+#ifdef bottom_buf
+#undef xmlBufUse
+extern __typeof (xmlBufUse) xmlBufUse __attribute((alias("xmlBufUse__internal_alias")));
+#else
+#ifndef xmlBufUse
+extern __typeof (xmlBufUse) xmlBufUse__internal_alias __attribute((visibility("hidden")));
+#define xmlBufUse xmlBufUse__internal_alias
+#endif
+#endif
+
 #ifdef bottom_tree
 #undef xmlBufferAdd
 extern __typeof (xmlBufferAdd) xmlBufferAdd __attribute((alias("xmlBufferAdd__internal_alias")));
@@ -1423,6 +1485,16 @@ extern __typeof (xmlBufferCreateStatic) xmlBufferCreateStatic__internal_alias __
 #endif
 #endif
 
+#ifdef bottom_tree
+#undef xmlBufferDetach
+extern __typeof (xmlBufferDetach) xmlBufferDetach __attribute((alias("xmlBufferDetach__internal_alias")));
+#else
+#ifndef xmlBufferDetach
+extern __typeof (xmlBufferDetach) xmlBufferDetach__internal_alias __attribute((visibility("hidden")));
+#define xmlBufferDetach xmlBufferDetach__internal_alias
+#endif
+#endif
+
 #ifdef bottom_tree
 #undef xmlBufferDump
 extern __typeof (xmlBufferDump) xmlBufferDump __attribute((alias("xmlBufferDump__internal_alias")));
@@ -2839,6 +2911,16 @@ extern __typeof (xmlDictFree) xmlDictFree__internal_alias __attribute((visibilit
 #endif
 #endif
 
+#ifdef bottom_dict
+#undef xmlDictGetUsage
+extern __typeof (xmlDictGetUsage) xmlDictGetUsage __attribute((alias("xmlDictGetUsage__internal_alias")));
+#else
+#ifndef xmlDictGetUsage
+extern __typeof (xmlDictGetUsage) xmlDictGetUsage__internal_alias __attribute((visibility("hidden")));
+#define xmlDictGetUsage xmlDictGetUsage__internal_alias
+#endif
+#endif
+
 #ifdef bottom_dict
 #undef xmlDictLookup
 extern __typeof (xmlDictLookup) xmlDictLookup __attribute((alias("xmlDictLookup__internal_alias")));
@@ -2879,6 +2961,16 @@ extern __typeof (xmlDictReference) xmlDictReference__internal_alias __attribute(
 #endif
 #endif
 
+#ifdef bottom_dict
+#undef xmlDictSetLimit
+extern __typeof (xmlDictSetLimit) xmlDictSetLimit __attribute((alias("xmlDictSetLimit__internal_alias")));
+#else
+#ifndef xmlDictSetLimit
+extern __typeof (xmlDictSetLimit) xmlDictSetLimit__internal_alias __attribute((visibility("hidden")));
+#define xmlDictSetLimit xmlDictSetLimit__internal_alias
+#endif
+#endif
+
 #ifdef bottom_dict
 #undef xmlDictSize
 extern __typeof (xmlDictSize) xmlDictSize __attribute((alias("xmlDictSize__internal_alias")));
@@ -4601,6 +4693,16 @@ extern __typeof (xmlInitializeCatalog) xmlInitializeCatalog__internal_alias __at
 #endif
 #endif
 
+#ifdef bottom_dict
+#undef xmlInitializeDict
+extern __typeof (xmlInitializeDict) xmlInitializeDict __attribute((alias("xmlInitializeDict__internal_alias")));
+#else
+#ifndef xmlInitializeDict
+extern __typeof (xmlInitializeDict) xmlInitializeDict__internal_alias __attribute((visibility("hidden")));
+#define xmlInitializeDict xmlInitializeDict__internal_alias
+#endif
+#endif
+
 #ifdef bottom_globals
 #undef xmlInitializeGlobalState
 extern __typeof (xmlInitializeGlobalState) xmlInitializeGlobalState __attribute((alias("xmlInitializeGlobalState__internal_alias")));
@@ -6755,6 +6857,30 @@ extern __typeof (xmlOutputBufferFlush) xmlOutputBufferFlush__internal_alias __at
 #endif
 #endif
 
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferGetContent
+extern __typeof (xmlOutputBufferGetContent) xmlOutputBufferGetContent __attribute((alias("xmlOutputBufferGetContent__internal_alias")));
+#else
+#ifndef xmlOutputBufferGetContent
+extern __typeof (xmlOutputBufferGetContent) xmlOutputBufferGetContent__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferGetContent xmlOutputBufferGetContent__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+#ifdef bottom_xmlIO
+#undef xmlOutputBufferGetSize
+extern __typeof (xmlOutputBufferGetSize) xmlOutputBufferGetSize __attribute((alias("xmlOutputBufferGetSize__internal_alias")));
+#else
+#ifndef xmlOutputBufferGetSize
+extern __typeof (xmlOutputBufferGetSize) xmlOutputBufferGetSize__internal_alias __attribute((visibility("hidden")));
+#define xmlOutputBufferGetSize xmlOutputBufferGetSize__internal_alias
+#endif
+#endif
+#endif
+
 #if defined(LIBXML_OUTPUT_ENABLED)
 #ifdef bottom_xmlIO
 #undef xmlOutputBufferWrite
@@ -10041,6 +10167,30 @@ extern __typeof (xmlSchemaValidatePredefinedType) xmlSchemaValidatePredefinedTyp
 #endif
 #endif
 
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaValidateSetFilename
+extern __typeof (xmlSchemaValidateSetFilename) xmlSchemaValidateSetFilename __attribute((alias("xmlSchemaValidateSetFilename__internal_alias")));
+#else
+#ifndef xmlSchemaValidateSetFilename
+extern __typeof (xmlSchemaValidateSetFilename) xmlSchemaValidateSetFilename__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidateSetFilename xmlSchemaValidateSetFilename__internal_alias
+#endif
+#endif
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlschemas
+#undef xmlSchemaValidateSetLocator
+extern __typeof (xmlSchemaValidateSetLocator) xmlSchemaValidateSetLocator __attribute((alias("xmlSchemaValidateSetLocator__internal_alias")));
+#else
+#ifndef xmlSchemaValidateSetLocator
+extern __typeof (xmlSchemaValidateSetLocator) xmlSchemaValidateSetLocator__internal_alias __attribute((visibility("hidden")));
+#define xmlSchemaValidateSetLocator xmlSchemaValidateSetLocator__internal_alias
+#endif
+#endif
+#endif
+
 #if defined(LIBXML_SCHEMAS_ENABLED)
 #ifdef bottom_xmlschemas
 #undef xmlSchemaValidateStream
@@ -11713,6 +11863,18 @@ extern __typeof (xmlTextReaderRelaxNGValidate) xmlTextReaderRelaxNGValidate__int
 #endif
 #endif
 
+#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
+#ifdef bottom_xmlreader
+#undef xmlTextReaderRelaxNGValidateCtxt
+extern __typeof (xmlTextReaderRelaxNGValidateCtxt) xmlTextReaderRelaxNGValidateCtxt __attribute((alias("xmlTextReaderRelaxNGValidateCtxt__internal_alias")));
+#else
+#ifndef xmlTextReaderRelaxNGValidateCtxt
+extern __typeof (xmlTextReaderRelaxNGValidateCtxt) xmlTextReaderRelaxNGValidateCtxt__internal_alias __attribute((visibility("hidden")));
+#define xmlTextReaderRelaxNGValidateCtxt xmlTextReaderRelaxNGValidateCtxt__internal_alias
+#endif
+#endif
+#endif
+
 #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
 #ifdef bottom_xmlreader
 #undef xmlTextReaderSchemaValidate
@@ -12001,6 +12163,18 @@ extern __typeof (xmlTextWriterSetIndentString) xmlTextWriterSetIndentString__int
 #endif
 #endif
 
+#if defined(LIBXML_WRITER_ENABLED)
+#ifdef bottom_xmlwriter
+#undef xmlTextWriterSetQuoteChar
+extern __typeof (xmlTextWriterSetQuoteChar) xmlTextWriterSetQuoteChar __attribute((alias("xmlTextWriterSetQuoteChar__internal_alias")));
+#else
+#ifndef xmlTextWriterSetQuoteChar
+extern __typeof (xmlTextWriterSetQuoteChar) xmlTextWriterSetQuoteChar__internal_alias __attribute((visibility("hidden")));
+#define xmlTextWriterSetQuoteChar xmlTextWriterSetQuoteChar__internal_alias
+#endif
+#endif
+#endif
+
 #if defined(LIBXML_WRITER_ENABLED)
 #ifdef bottom_xmlwriter
 #undef xmlTextWriterStartAttribute
index 9197760..057d206 100644 (file)
@@ -21,7 +21,7 @@ extern "C" {
 int xmlCharEncFirstLineInt(xmlCharEncodingHandler *handler, xmlBufferPtr out,
                            xmlBufferPtr in, int len);
 int xmlCharEncFirstLineInput(xmlParserInputBufferPtr input, int len);
-int xmlCharEncInput(xmlParserInputBufferPtr input);
+int xmlCharEncInput(xmlParserInputBufferPtr input, int flush);
 int xmlCharEncOutput(xmlOutputBufferPtr output, int init);
 
 #ifdef __cplusplus
index 87b1d9b..7330e90 100644 (file)
@@ -1517,6 +1517,8 @@ xmlGetCharEncodingHandler(xmlCharEncoding enc) {
             if (handler != NULL) return(handler);
             handler = xmlFindCharEncodingHandler("EBCDIC-US");
             if (handler != NULL) return(handler);
+            handler = xmlFindCharEncodingHandler("IBM-037");
+            if (handler != NULL) return(handler);
            break;
         case XML_CHAR_ENCODING_UCS4BE:
             handler = xmlFindCharEncodingHandler("ISO-10646-UCS-4");
@@ -2161,6 +2163,7 @@ xmlCharEncFirstLineInput(xmlParserInputBufferPtr input, int len)
 /**
  * xmlCharEncInput:
  * @input: a parser input buffer
+ * @flush: try to flush all the raw buffer
  *
  * Generic front-end for the encoding handler on parser input
  *
@@ -2170,7 +2173,7 @@ xmlCharEncFirstLineInput(xmlParserInputBufferPtr input, int len)
  *        the result of transformation can't fit into the encoding we want), or
  */
 int
-xmlCharEncInput(xmlParserInputBufferPtr input)
+xmlCharEncInput(xmlParserInputBufferPtr input, int flush)
 {
     int ret = -2;
     size_t written;
@@ -2189,7 +2192,7 @@ xmlCharEncInput(xmlParserInputBufferPtr input)
     toconv = xmlBufUse(in);
     if (toconv == 0)
         return (0);
-    if (toconv > 64 * 1024)
+    if ((toconv > 64 * 1024) && (flush == 0))
         toconv = 64 * 1024;
     written = xmlBufAvail(out);
     if (written > 0)
@@ -2200,7 +2203,7 @@ xmlCharEncInput(xmlParserInputBufferPtr input)
         if (written > 0)
             written--; /* count '\0' */
     }
-    if (written > 128 * 1024)
+    if ((written > 128 * 1024) && (flush == 0))
         written = 128 * 1024;
 
     c_in = toconv;
diff --git a/reactos/lib/3rdparty/libxml2/genUnicode.py b/reactos/lib/3rdparty/libxml2/genUnicode.py
deleted file mode 100644 (file)
index 56e4e9b..0000000
+++ /dev/null
@@ -1,478 +0,0 @@
-#!/usr/bin/python -u
-#
-# Original script modified in November 2003 to take advantage of
-# the character-validation range routines, and updated to the
-# current Unicode information (Version 4.0.1)
-#
-# NOTE: there is an 'alias' facility for blocks which are not present in
-#      the current release, but are needed for ABI compatibility.  This
-#      must be accomplished MANUALLY!  Please see the comments below under
-#     'blockAliases'
-#
-import sys
-import string
-import time
-
-webpage = "http://www.unicode.org/Public/4.0-Update1/UCD-4.0.1.html"
-sources = "Blocks-4.0.1.txt UnicodeData-4.0.1.txt"
-
-#
-# blockAliases is a small hack - it is used for mapping block names which
-# were were used in the 3.1 release, but are missing or changed in the current
-# release.  The format is "OldBlockName:NewBlockName1[,NewBlockName2[,...]]"
-blockAliases = []
-blockAliases.append("CombiningMarksforSymbols:CombiningDiacriticalMarksforSymbols")
-blockAliases.append("Greek:GreekandCoptic")
-blockAliases.append("PrivateUse:PrivateUseArea,SupplementaryPrivateUseArea-A," + 
-       "SupplementaryPrivateUseArea-B")
-
-# minTableSize gives the minimum number of ranges which must be present
-# before a range table is produced.  If there are less than this
-# number, inline comparisons are generated
-minTableSize = 8
-
-(blockfile, catfile) = string.split(sources)
-
-
-#
-# Now process the "blocks" file, reducing it to a dictionary
-# indexed by blockname, containing a tuple with the applicable
-# block range
-#
-BlockNames = {}
-try:
-    blocks = open(blockfile, "r")
-except:
-    print "Missing %s, aborting ..." % blockfile
-    sys.exit(1)
-
-for line in blocks.readlines():
-    if line[0] == '#':
-        continue
-    line = string.strip(line)
-    if line == '':
-        continue
-    try:
-        fields = string.split(line, ';')
-        range = string.strip(fields[0])
-        (start, end) = string.split(range, "..")
-        name = string.strip(fields[1])
-        name = string.replace(name, ' ', '')
-    except:
-        print "Failed to process line: %s" % (line)
-        continue
-    start = "0x" + start
-    end = "0x" + end
-    try:
-        BlockNames[name].append((start, end))
-    except:
-        BlockNames[name] = [(start, end)]
-blocks.close()
-print "Parsed %d blocks descriptions" % (len(BlockNames.keys()))
-
-for block in blockAliases:
-    alias = string.split(block,':')
-    alist = string.split(alias[1],',')
-    for comp in alist:
-        if BlockNames.has_key(comp):
-            if alias[0] not in BlockNames:
-                BlockNames[alias[0]] = []
-            for r in BlockNames[comp]:
-                BlockNames[alias[0]].append(r)
-        else:
-            print "Alias %s: %s not in Blocks" % (alias[0], comp)
-            continue
-
-#
-# Next process the Categories file. This is more complex, since
-# the file is in code sequence, and we need to invert it.  We use
-# a dictionary with index category-name, with each entry containing
-# all the ranges (codepoints) of that category.  Note that category
-# names comprise two parts - the general category, and the "subclass"
-# within that category.  Therefore, both "general category" (which is
-# the first character of the 2-character category-name) and the full
-# (2-character) name are entered into this dictionary.
-#
-try:
-    data = open(catfile, "r")
-except:
-    print "Missing %s, aborting ..." % catfile
-    sys.exit(1)
-
-nbchar = 0;
-Categories = {}
-for line in data.readlines():
-    if line[0] == '#':
-        continue
-    line = string.strip(line)
-    if line == '':
-        continue
-    try:
-        fields = string.split(line, ';')
-        point = string.strip(fields[0])
-        value = 0
-        while point != '':
-            value = value * 16
-            if point[0] >= '0' and point[0] <= '9':
-                value = value + ord(point[0]) - ord('0')
-            elif point[0] >= 'A' and point[0] <= 'F':
-                value = value + 10 + ord(point[0]) - ord('A')
-            elif point[0] >= 'a' and point[0] <= 'f':
-                value = value + 10 + ord(point[0]) - ord('a')
-            point = point[1:]
-        name = fields[2]
-    except:
-        print "Failed to process line: %s" % (line)
-        continue
-    
-    nbchar = nbchar + 1
-    # update entry for "full name"
-    try:
-        Categories[name].append(value)
-    except:
-        try:
-            Categories[name] = [value]
-        except:
-            print "Failed to process line: %s" % (line)
-    # update "general category" name
-    try:
-        Categories[name[0]].append(value)
-    except:
-        try:
-            Categories[name[0]] = [value]
-        except:
-            print "Failed to process line: %s" % (line)
-
-blocks.close()
-print "Parsed %d char generating %d categories" % (nbchar, len(Categories.keys()))
-
-#
-# The data is now all read.  Time to process it into a more useful form.
-#
-# reduce the number list into ranges
-for cat in Categories.keys():
-    list = Categories[cat]
-    start = -1
-    prev = -1
-    end = -1
-    ranges = []
-    for val in list:
-        if start == -1:
-            start = val
-            prev = val
-            continue
-        elif val == prev + 1:
-            prev = val
-            continue
-        elif prev == start:
-            ranges.append((prev, prev))
-            start = val
-            prev = val
-            continue
-        else:
-            ranges.append((start, prev))
-            start = val
-            prev = val
-            continue
-    if prev == start:
-        ranges.append((prev, prev))
-    else:
-        ranges.append((start, prev))
-    Categories[cat] = ranges
-
-#
-# Assure all data is in alphabetic order, since we will be doing binary
-# searches on the tables.
-#
-bkeys = BlockNames.keys()
-bkeys.sort()
-
-ckeys = Categories.keys()
-ckeys.sort()
-
-#
-# Generate the resulting files
-#
-try:
-    header = open("include/libxml/xmlunicode.h", "w")
-except:
-    print "Failed to open include/libxml/xmlunicode.h"
-    sys.exit(1)
-
-try:
-    output = open("xmlunicode.c", "w")
-except:
-    print "Failed to open xmlunicode.c"
-    sys.exit(1)
-
-date = time.asctime(time.localtime(time.time()))
-
-header.write(
-"""/*
- * Summary: Unicode character APIs
- * Description: API for the Unicode character APIs
- *
- * This file is automatically generated from the
- * UCS description files of the Unicode Character Database
- * %s
- * using the genUnicode.py Python script.
- *
- * Generation date: %s
- * Sources: %s
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_UNICODE_H__
-#define __XML_UNICODE_H__
-
-#include <libxml/xmlversion.h>
-
-#ifdef LIBXML_UNICODE_ENABLED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-""" % (webpage, date, sources));
-
-output.write(
-"""/*
- * xmlunicode.c: this module implements the Unicode character APIs
- *
- * This file is automatically generated from the
- * UCS description files of the Unicode Character Database
- * %s
- * using the genUnicode.py Python script.
- *
- * Generation date: %s
- * Sources: %s
- * Daniel Veillard <veillard@redhat.com>
- */
-
-#define IN_LIBXML
-#include "libxml.h"
-
-#ifdef LIBXML_UNICODE_ENABLED
-
-#include <string.h>
-#include <libxml/xmlversion.h>
-#include <libxml/xmlunicode.h>
-#include <libxml/chvalid.h>
-
-typedef int (xmlIntFunc)(int); /* just to keep one's mind untwisted */
-
-typedef struct {
-    const char *rangename;
-    xmlIntFunc *func;
-} xmlUnicodeRange;
-
-typedef struct {
-    xmlUnicodeRange *table;
-    int                    numentries;
-} xmlUnicodeNameTable;
-
-
-static xmlIntFunc *xmlUnicodeLookup(xmlUnicodeNameTable *tptr, const char *tname);
-
-static xmlUnicodeRange xmlUnicodeBlocks[] = {
-""" % (webpage, date, sources));
-
-flag = 0
-for block in bkeys:
-    name = string.replace(block, '-', '')
-    if flag:
-        output.write(',\n')
-    else:
-        flag = 1
-    output.write('  {"%s", xmlUCSIs%s}' % (block, name))
-output.write('};\n\n')
-
-output.write('static xmlUnicodeRange xmlUnicodeCats[] = {\n')
-flag = 0;
-for name in ckeys:
-    if flag:
-        output.write(',\n')
-    else:
-        flag = 1
-    output.write('  {"%s", xmlUCSIsCat%s}' % (name, name))
-output.write('};\n\n')
-
-#
-# For any categories with more than minTableSize ranges we generate
-# a range table suitable for xmlCharInRange
-#
-for name in ckeys:
-  if len(Categories[name]) > minTableSize:
-    numshort = 0
-    numlong = 0
-    ranges = Categories[name]
-    sptr = "NULL"
-    lptr = "NULL"
-    for range in ranges:
-      (low, high) = range
-      if high < 0x10000:
-        if numshort == 0:
-          pline = "static const xmlChSRange xml%sS[] = {" % name
-          sptr = "xml%sS" % name
-        else:
-          pline += ", "
-        numshort += 1
-      else:
-        if numlong == 0:
-          if numshort > 0:
-            output.write(pline + " };\n")
-          pline = "static const xmlChLRange xml%sL[] = {" % name
-          lptr = "xml%sL" % name
-        else:
-          pline += ", "
-        numlong += 1
-      if len(pline) > 60:
-        output.write(pline + "\n")
-        pline = "    "
-      pline += "{%s, %s}" % (hex(low), hex(high))
-    output.write(pline + " };\nstatic xmlChRangeGroup xml%sG = {%s,%s,%s,%s};\n\n"
-         % (name, numshort, numlong, sptr, lptr))
-
-
-output.write(
-"""static xmlUnicodeNameTable xmlUnicodeBlockTbl = {xmlUnicodeBlocks, %s};
-static xmlUnicodeNameTable xmlUnicodeCatTbl = {xmlUnicodeCats, %s};
-
-/**
- * xmlUnicodeLookup:
- * @tptr: pointer to the name table
- * @name: name to be found
- *
- * binary table lookup for user-supplied name
- *
- * Returns pointer to range function if found, otherwise NULL
- */
-static xmlIntFunc
-*xmlUnicodeLookup(xmlUnicodeNameTable *tptr, const char *tname) {
-    int low, high, mid, cmp;
-    xmlUnicodeRange *sptr;
-
-    if ((tptr == NULL) || (tname == NULL)) return(NULL);
-
-    low = 0;
-    high = tptr->numentries - 1;
-    sptr = tptr->table;
-    while (low <= high) {
-       mid = (low + high) / 2;
-       if ((cmp=strcmp(tname, sptr[mid].rangename)) == 0)
-           return (sptr[mid].func);
-       if (cmp < 0)
-           high = mid - 1;
-       else
-           low = mid + 1;
-    }
-    return (NULL);    
-}
-
-""" % (len(BlockNames), len(Categories)) )
-
-for block in bkeys:
-    name = string.replace(block, '-', '')
-    header.write("XMLPUBFUN int XMLCALL xmlUCSIs%s\t(int code);\n" % name)
-    output.write("/**\n * xmlUCSIs%s:\n * @code: UCS code point\n" % (name))
-    output.write(" *\n * Check whether the character is part of %s UCS Block\n"%
-                 (block))
-    output.write(" *\n * Returns 1 if true 0 otherwise\n */\n");
-    output.write("int\nxmlUCSIs%s(int code) {\n    return(" % name)
-    flag = 0
-    for (start, end) in BlockNames[block]:
-        if flag:
-            output.write(" ||\n           ")
-        else:
-            flag = 1
-        output.write("((code >= %s) && (code <= %s))" % (start, end))
-    output.write(");\n}\n\n")
-
-header.write("\nXMLPUBFUN int XMLCALL xmlUCSIsBlock\t(int code, const char *block);\n\n")
-output.write(
-"""/**
- * xmlUCSIsBlock:
- * @code: UCS code point
- * @block: UCS block name
- *
- * Check whether the character is part of the UCS Block
- *
- * Returns 1 if true, 0 if false and -1 on unknown block
- */
-int
-xmlUCSIsBlock(int code, const char *block) {
-    xmlIntFunc *func;
-
-    func = xmlUnicodeLookup(&xmlUnicodeBlockTbl, block);
-    if (func == NULL)
-       return (-1);
-    return (func(code));
-}
-
-""")
-
-for name in ckeys:
-    ranges = Categories[name]
-    header.write("XMLPUBFUN int XMLCALL xmlUCSIsCat%s\t(int code);\n" % name)
-    output.write("/**\n * xmlUCSIsCat%s:\n * @code: UCS code point\n" % (name))
-    output.write(" *\n * Check whether the character is part of %s UCS Category\n"%
-                 (name))
-    output.write(" *\n * Returns 1 if true 0 otherwise\n */\n");
-    output.write("int\nxmlUCSIsCat%s(int code) {\n" % name)
-    if len(Categories[name]) > minTableSize:
-        output.write("    return(xmlCharInRange((unsigned int)code, &xml%sG)"
-            % name)
-    else:
-        start = 1
-        for range in ranges:
-            (begin, end) = range;
-            if start:
-                output.write("    return(");
-                start = 0
-            else:
-                output.write(" ||\n           ");
-            if (begin == end):
-                output.write("(code == %s)" % (hex(begin)))
-            else:
-                output.write("((code >= %s) && (code <= %s))" % (
-                         hex(begin), hex(end)))
-    output.write(");\n}\n\n")
-
-header.write("\nXMLPUBFUN int XMLCALL xmlUCSIsCat\t(int code, const char *cat);\n")
-output.write(
-"""/**
- * xmlUCSIsCat:
- * @code: UCS code point
- * @cat: UCS Category name
- *
- * Check whether the character is part of the UCS Category
- *
- * Returns 1 if true, 0 if false and -1 on unknown category
- */
-int
-xmlUCSIsCat(int code, const char *cat) {
-    xmlIntFunc *func;
-
-    func = xmlUnicodeLookup(&xmlUnicodeCatTbl, cat);
-    if (func == NULL)
-       return (-1);
-    return (func(code));
-}
-
-#define bottom_xmlunicode
-#include "elfgcchack.h"
-#endif /* LIBXML_UNICODE_ENABLED */
-""")
-
-header.write("""
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* LIBXML_UNICODE_ENABLED */
-
-#endif /* __XML_UNICODE_H__ */
-""");
-
-header.close()
-output.close()
diff --git a/reactos/lib/3rdparty/libxml2/gentest.py b/reactos/lib/3rdparty/libxml2/gentest.py
deleted file mode 100644 (file)
index f178620..0000000
+++ /dev/null
@@ -1,963 +0,0 @@
-#!/usr/bin/python -u
-#
-# generate a tester program for the API
-#
-import sys
-import os
-import string
-try:
-    import libxml2
-except:
-    print "libxml2 python bindings not available, skipping testapi.c generation"
-    sys.exit(0)
-
-if len(sys.argv) > 1:
-    srcPref = sys.argv[1] + '/'
-else:
-    srcPref = ''
-
-#
-# Modules we want to skip in API test
-#
-skipped_modules = [ "SAX", "xlink", "threads", "globals",
-  "xmlmemory", "xmlversion", "xmlexports",
-  #deprecated
-  "DOCBparser",
-]
-
-#
-# defines for each module
-#
-modules_defines = {
-    "HTMLparser": "LIBXML_HTML_ENABLED",
-    "catalog": "LIBXML_CATALOG_ENABLED",
-    "xmlreader": "LIBXML_READER_ENABLED",
-    "relaxng": "LIBXML_SCHEMAS_ENABLED",
-    "schemasInternals": "LIBXML_SCHEMAS_ENABLED",
-    "xmlschemas": "LIBXML_SCHEMAS_ENABLED",
-    "xmlschemastypes": "LIBXML_SCHEMAS_ENABLED",
-    "xpath": "LIBXML_XPATH_ENABLED",
-    "xpathInternals": "LIBXML_XPATH_ENABLED",
-    "xinclude": "LIBXML_XINCLUDE_ENABLED",
-    "xpointer": "LIBXML_XPTR_ENABLED",
-    "xmlregexp" : "LIBXML_REGEXP_ENABLED",
-    "xmlautomata" : "LIBXML_AUTOMATA_ENABLED",
-    "xmlsave" : "LIBXML_OUTPUT_ENABLED",
-    "DOCBparser" : "LIBXML_DOCB_ENABLED",
-    "xmlmodule" : "LIBXML_MODULES_ENABLED",
-    "pattern" : "LIBXML_PATTERN_ENABLED",
-    "schematron" : "LIBXML_SCHEMATRON_ENABLED",
-}
-
-#
-# defines for specific functions
-#
-function_defines = {
-    "htmlDefaultSAXHandlerInit": "LIBXML_HTML_ENABLED",
-    "xmlSAX2EndElement" : "LIBXML_SAX1_ENABLED",
-    "xmlSAX2StartElement" : "LIBXML_SAX1_ENABLED",
-    "xmlSAXDefaultVersion" : "LIBXML_SAX1_ENABLED",
-    "UTF8Toisolat1" : "LIBXML_OUTPUT_ENABLED",
-    "xmlCleanupPredefinedEntities": "LIBXML_LEGACY_ENABLED",
-    "xmlInitializePredefinedEntities": "LIBXML_LEGACY_ENABLED",
-    "xmlSetFeature": "LIBXML_LEGACY_ENABLED",
-    "xmlGetFeature": "LIBXML_LEGACY_ENABLED",
-    "xmlGetFeaturesList": "LIBXML_LEGACY_ENABLED",
-    "xmlIOParseDTD": "LIBXML_VALID_ENABLED",
-    "xmlParseDTD": "LIBXML_VALID_ENABLED",
-    "xmlParseDoc": "LIBXML_SAX1_ENABLED",
-    "xmlParseMemory": "LIBXML_SAX1_ENABLED",
-    "xmlRecoverDoc": "LIBXML_SAX1_ENABLED",
-    "xmlParseFile": "LIBXML_SAX1_ENABLED",
-    "xmlRecoverFile": "LIBXML_SAX1_ENABLED",
-    "xmlRecoverMemory": "LIBXML_SAX1_ENABLED",
-    "xmlSAXParseFileWithData": "LIBXML_SAX1_ENABLED",
-    "xmlSAXParseMemory": "LIBXML_SAX1_ENABLED",
-    "xmlSAXUserParseMemory": "LIBXML_SAX1_ENABLED",
-    "xmlSAXParseDoc": "LIBXML_SAX1_ENABLED",
-    "xmlSAXParseDTD": "LIBXML_SAX1_ENABLED",
-    "xmlSAXUserParseFile": "LIBXML_SAX1_ENABLED",
-    "xmlParseEntity": "LIBXML_SAX1_ENABLED",
-    "xmlParseExternalEntity": "LIBXML_SAX1_ENABLED",
-    "xmlSAXParseMemoryWithData": "LIBXML_SAX1_ENABLED",
-    "xmlParseBalancedChunkMemory": "LIBXML_SAX1_ENABLED",
-    "xmlParseBalancedChunkMemoryRecover": "LIBXML_SAX1_ENABLED",
-    "xmlSetupParserForBuffer": "LIBXML_SAX1_ENABLED",
-    "xmlStopParser": "LIBXML_PUSH_ENABLED",
-    "xmlAttrSerializeTxtContent": "LIBXML_OUTPUT_ENABLED",
-    "xmlSAXParseFile": "LIBXML_SAX1_ENABLED",
-    "xmlSAXParseEntity": "LIBXML_SAX1_ENABLED",
-    "xmlNewTextChild": "LIBXML_TREE_ENABLED",
-    "xmlNewDocRawNode": "LIBXML_TREE_ENABLED",
-    "xmlNewProp": "LIBXML_TREE_ENABLED",
-    "xmlReconciliateNs": "LIBXML_TREE_ENABLED",
-    "xmlValidateNCName": "LIBXML_TREE_ENABLED",
-    "xmlValidateNMToken": "LIBXML_TREE_ENABLED",
-    "xmlValidateName": "LIBXML_TREE_ENABLED",
-    "xmlNewChild": "LIBXML_TREE_ENABLED",
-    "xmlValidateQName": "LIBXML_TREE_ENABLED",
-    "xmlSprintfElementContent": "LIBXML_OUTPUT_ENABLED",
-    "xmlValidGetPotentialChildren" : "LIBXML_VALID_ENABLED",
-    "xmlValidGetValidElements" : "LIBXML_VALID_ENABLED",
-    "docbDefaultSAXHandlerInit" : "LIBXML_DOCB_ENABLED",
-    "xmlTextReaderPreservePattern" : "LIBXML_PATTERN_ENABLED",
-}
-
-#
-# Some functions really need to be skipped for the tests.
-#
-skipped_functions = [
-# block on I/O
-"xmlFdRead", "xmlReadFd", "xmlCtxtReadFd",
-"htmlFdRead", "htmlReadFd", "htmlCtxtReadFd",
-"xmlReaderNewFd", "xmlReaderForFd",
-"xmlIORead", "xmlReadIO", "xmlCtxtReadIO",
-"htmlIORead", "htmlReadIO", "htmlCtxtReadIO",
-"xmlReaderNewIO", "xmlBufferDump", "xmlNanoFTPConnect",
-"xmlNanoFTPConnectTo", "xmlNanoHTTPMethod", "xmlNanoHTTPMethodRedir",
-# Complex I/O APIs
-"xmlCreateIOParserCtxt", "xmlParserInputBufferCreateIO",
-"xmlRegisterInputCallbacks", "xmlReaderForIO",
-"xmlOutputBufferCreateIO", "xmlRegisterOutputCallbacks",
-"xmlSaveToIO", "xmlIOHTTPOpenW",
-# library state cleanup, generate false leak informations and other
-# troubles, heavillyb tested otherwise.
-"xmlCleanupParser", "xmlRelaxNGCleanupTypes", "xmlSetListDoc",
-"xmlSetTreeDoc", "xmlUnlinkNode",
-# hard to avoid leaks in the tests
-"xmlStrcat", "xmlStrncat", "xmlCatalogAddLocal", "xmlNewTextWriterDoc",
-"xmlXPathNewValueTree", "xmlXPathWrapString",
-# unimplemented
-"xmlTextReaderReadInnerXml", "xmlTextReaderReadOuterXml",
-"xmlTextReaderReadString",
-# destructor
-"xmlListDelete", "xmlOutputBufferClose", "xmlNanoFTPClose", "xmlNanoHTTPClose",
-# deprecated
-"xmlCatalogGetPublic", "xmlCatalogGetSystem", "xmlEncodeEntities",
-"xmlNewGlobalNs", "xmlHandleEntity", "xmlNamespaceParseNCName",
-"xmlNamespaceParseNSDef", "xmlNamespaceParseQName",
-"xmlParseNamespace", "xmlParseQuotedString", "xmlParserHandleReference",
-"xmlScanName",
-"xmlDecodeEntities", 
-# allocators
-"xmlMemFree",
-# verbosity
-"xmlCatalogSetDebug", "xmlShellPrintXPathError", "xmlShellPrintNode",
-# Internal functions, no user space should really call them
-"xmlParseAttribute", "xmlParseAttributeListDecl", "xmlParseName",
-"xmlParseNmtoken", "xmlParseEntityValue", "xmlParseAttValue",
-"xmlParseSystemLiteral", "xmlParsePubidLiteral", "xmlParseCharData",
-"xmlParseExternalID", "xmlParseComment", "xmlParsePITarget", "xmlParsePI",
-"xmlParseNotationDecl", "xmlParseEntityDecl", "xmlParseDefaultDecl",
-"xmlParseNotationType", "xmlParseEnumerationType", "xmlParseEnumeratedType",
-"xmlParseAttributeType", "xmlParseAttributeListDecl",
-"xmlParseElementMixedContentDecl", "xmlParseElementChildrenContentDecl",
-"xmlParseElementContentDecl", "xmlParseElementDecl", "xmlParseMarkupDecl",
-"xmlParseCharRef", "xmlParseEntityRef", "xmlParseReference",
-"xmlParsePEReference", "xmlParseDocTypeDecl", "xmlParseAttribute",
-"xmlParseStartTag", "xmlParseEndTag", "xmlParseCDSect", "xmlParseContent",
-"xmlParseElement", "xmlParseVersionNum", "xmlParseVersionInfo",
-"xmlParseEncName", "xmlParseEncodingDecl", "xmlParseSDDecl",
-"xmlParseXMLDecl", "xmlParseTextDecl", "xmlParseMisc",
-"xmlParseExternalSubset", "xmlParserHandlePEReference",
-"xmlSkipBlankChars",
-]
-
-#
-# These functions have side effects on the global state
-# and hence generate errors on memory allocation tests
-#
-skipped_memcheck = [ "xmlLoadCatalog", "xmlAddEncodingAlias",
-   "xmlSchemaInitTypes", "xmlNanoFTPProxy", "xmlNanoFTPScanProxy",
-   "xmlNanoHTTPScanProxy", "xmlResetLastError", "xmlCatalogConvert",
-   "xmlCatalogRemove", "xmlLoadCatalogs", "xmlCleanupCharEncodingHandlers",
-   "xmlInitCharEncodingHandlers", "xmlCatalogCleanup",
-   "xmlSchemaGetBuiltInType",
-   "htmlParseFile", "htmlCtxtReadFile", # loads the catalogs
-   "xmlTextReaderSchemaValidate", "xmlSchemaCleanupTypes", # initialize the schemas type system
-   "xmlCatalogResolve", "xmlIOParseDTD" # loads the catalogs
-]
-
-#
-# Extra code needed for some test cases
-#
-extra_pre_call = {
-   "xmlSAXUserParseFile": """
-#ifdef LIBXML_SAX1_ENABLED
-        if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
-#endif
-""",
-   "xmlSAXUserParseMemory": """
-#ifdef LIBXML_SAX1_ENABLED
-        if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
-#endif
-""",
-   "xmlParseBalancedChunkMemory": """
-#ifdef LIBXML_SAX1_ENABLED
-        if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
-#endif
-""",
-   "xmlParseBalancedChunkMemoryRecover": """
-#ifdef LIBXML_SAX1_ENABLED
-        if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
-#endif
-""",
-   "xmlParserInputBufferCreateFd":
-       "if (fd >= 0) fd = -1;",
-}
-extra_post_call = {
-   "xmlAddChild": 
-       "if (ret_val == NULL) { xmlFreeNode(cur) ; cur = NULL ; }",
-   "xmlAddEntity":
-       "if (ret_val != NULL) { xmlFreeNode(ret_val) ; ret_val = NULL; }",
-   "xmlAddChildList": 
-       "if (ret_val == NULL) { xmlFreeNodeList(cur) ; cur = NULL ; }",
-   "xmlAddSibling":
-       "if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }",
-   "xmlAddNextSibling":
-       "if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }",
-   "xmlAddPrevSibling": 
-       "if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }",
-   "xmlDocSetRootElement": 
-       "if (doc == NULL) { xmlFreeNode(root) ; root = NULL ; }",
-   "xmlReplaceNode": 
-       """if (cur != NULL) {
-              xmlUnlinkNode(cur);
-              xmlFreeNode(cur) ; cur = NULL ; }
-          if (old != NULL) {
-              xmlUnlinkNode(old);
-              xmlFreeNode(old) ; old = NULL ; }
-         ret_val = NULL;""",
-   "xmlTextMerge": 
-       """if ((first != NULL) && (first->type != XML_TEXT_NODE)) {
-              xmlUnlinkNode(second);
-              xmlFreeNode(second) ; second = NULL ; }""",
-   "xmlBuildQName": 
-       """if ((ret_val != NULL) && (ret_val != ncname) &&
-              (ret_val != prefix) && (ret_val != memory))
-              xmlFree(ret_val);
-         ret_val = NULL;""",
-   "xmlNewDocElementContent":
-       """xmlFreeDocElementContent(doc, ret_val); ret_val = NULL;""",
-   "xmlDictReference": "xmlDictFree(dict);",
-   # Functions which deallocates one of their parameters
-   "xmlXPathConvertBoolean": """val = NULL;""",
-   "xmlXPathConvertNumber": """val = NULL;""",
-   "xmlXPathConvertString": """val = NULL;""",
-   "xmlSaveFileTo": """buf = NULL;""",
-   "xmlSaveFormatFileTo": """buf = NULL;""",
-   "xmlIOParseDTD": "input = NULL;",
-   "xmlRemoveProp": "cur = NULL;",
-   "xmlNewNs": "if ((node == NULL) && (ret_val != NULL)) xmlFreeNs(ret_val);",
-   "xmlCopyNamespace": "if (ret_val != NULL) xmlFreeNs(ret_val);",
-   "xmlCopyNamespaceList": "if (ret_val != NULL) xmlFreeNsList(ret_val);",
-   "xmlNewTextWriter": "if (ret_val != NULL) out = NULL;",
-   "xmlNewTextWriterPushParser": "if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;} if (ret_val != NULL) ctxt = NULL;",
-   "xmlNewIOInputStream": "if (ret_val != NULL) input = NULL;",
-   "htmlParseChunk": "if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}",
-   "htmlParseDocument": "if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}",
-   "xmlParseDocument": "if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}",
-   "xmlParseChunk": "if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}",
-   "xmlParseExtParsedEnt": "if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}",
-   "xmlDOMWrapAdoptNode": "if ((node != NULL) && (node->parent == NULL)) {xmlUnlinkNode(node);xmlFreeNode(node);node = NULL;}",
-   "xmlBufferSetAllocationScheme": "if ((buf != NULL) && (scheme == XML_BUFFER_ALLOC_IMMUTABLE) && (buf->content != NULL) && (buf->content != static_buf_content)) { xmlFree(buf->content); buf->content = NULL;}"
-}
-
-modules = []
-
-def is_skipped_module(name):
-    for mod in skipped_modules:
-        if mod == name:
-           return 1
-    return 0
-
-def is_skipped_function(name):
-    for fun in skipped_functions:
-        if fun == name:
-           return 1
-    # Do not test destructors
-    if string.find(name, 'Free') != -1:
-        return 1
-    return 0
-
-def is_skipped_memcheck(name):
-    for fun in skipped_memcheck:
-        if fun == name:
-           return 1
-    return 0
-
-missing_types = {}
-def add_missing_type(name, func):
-    try:
-        list = missing_types[name]
-       list.append(func)
-    except:
-        missing_types[name] = [func]
-
-generated_param_types = []
-def add_generated_param_type(name):
-    generated_param_types.append(name)
-
-generated_return_types = []
-def add_generated_return_type(name):
-    generated_return_types.append(name)
-
-missing_functions = {}
-missing_functions_nr = 0
-def add_missing_functions(name, module):
-    global missing_functions_nr
-
-    missing_functions_nr = missing_functions_nr + 1
-    try:
-        list = missing_functions[module]
-       list.append(name)
-    except:
-        missing_functions[module] = [name]
-
-#
-# Provide the type generators and destructors for the parameters
-#
-
-def type_convert(str, name, info, module, function, pos):
-#    res = string.replace(str, "    ", " ")
-#    res = string.replace(str, "   ", " ")
-#    res = string.replace(str, "  ", " ")
-    res = string.replace(str, " *", "_ptr")
-#    res = string.replace(str, "*", "_ptr")
-    res = string.replace(res, " ", "_")
-    if res == 'const_char_ptr':
-        if string.find(name, "file") != -1 or \
-           string.find(name, "uri") != -1 or \
-           string.find(name, "URI") != -1 or \
-           string.find(info, "filename") != -1 or \
-           string.find(info, "URI") != -1 or \
-           string.find(info, "URL") != -1:
-           if string.find(function, "Save") != -1 or \
-              string.find(function, "Create") != -1 or \
-              string.find(function, "Write") != -1 or \
-              string.find(function, "Fetch") != -1:
-               return('fileoutput')
-           return('filepath')
-    if res == 'void_ptr':
-        if module == 'nanoftp' and name == 'ctx':
-           return('xmlNanoFTPCtxtPtr')
-        if function == 'xmlNanoFTPNewCtxt' or \
-          function == 'xmlNanoFTPConnectTo' or \
-          function == 'xmlNanoFTPOpen':
-           return('xmlNanoFTPCtxtPtr')
-        if module == 'nanohttp' and name == 'ctx':
-           return('xmlNanoHTTPCtxtPtr')
-       if function == 'xmlNanoHTTPMethod' or \
-          function == 'xmlNanoHTTPMethodRedir' or \
-          function == 'xmlNanoHTTPOpen' or \
-          function == 'xmlNanoHTTPOpenRedir':
-           return('xmlNanoHTTPCtxtPtr');
-        if function == 'xmlIOHTTPOpen':
-           return('xmlNanoHTTPCtxtPtr')
-       if string.find(name, "data") != -1:
-           return('userdata')
-       if string.find(name, "user") != -1:
-           return('userdata')
-    if res == 'xmlDoc_ptr':
-        res = 'xmlDocPtr'
-    if res == 'xmlNode_ptr':
-        res = 'xmlNodePtr'
-    if res == 'xmlDict_ptr':
-        res = 'xmlDictPtr'
-    if res == 'xmlNodePtr' and pos != 0:
-        if (function == 'xmlAddChild' and pos == 2) or \
-          (function == 'xmlAddChildList' and pos == 2) or \
-           (function == 'xmlAddNextSibling' and pos == 2) or \
-           (function == 'xmlAddSibling' and pos == 2) or \
-           (function == 'xmlDocSetRootElement' and pos == 2) or \
-           (function == 'xmlReplaceNode' and pos == 2) or \
-           (function == 'xmlTextMerge') or \
-          (function == 'xmlAddPrevSibling' and pos == 2):
-           return('xmlNodePtr_in');
-    if res == 'const xmlBufferPtr':
-        res = 'xmlBufferPtr'
-    if res == 'xmlChar_ptr' and name == 'name' and \
-       string.find(function, "EatName") != -1:
-        return('eaten_name')
-    if res == 'void_ptr*':
-        res = 'void_ptr_ptr'
-    if res == 'char_ptr*':
-        res = 'char_ptr_ptr'
-    if res == 'xmlChar_ptr*':
-        res = 'xmlChar_ptr_ptr'
-    if res == 'const_xmlChar_ptr*':
-        res = 'const_xmlChar_ptr_ptr'
-    if res == 'const_char_ptr*':
-        res = 'const_char_ptr_ptr'
-    if res == 'FILE_ptr' and module == 'debugXML':
-        res = 'debug_FILE_ptr';
-    if res == 'int' and name == 'options':
-        if module == 'parser' or module == 'xmlreader':
-           res = 'parseroptions'
-
-    return res
-
-known_param_types = []
-
-def is_known_param_type(name, rtype):
-    global test
-    for type in known_param_types:
-        if type == name:
-           return 1
-    for type in generated_param_types:
-        if type == name:
-           return 1
-
-    if name[-3:] == 'Ptr' or name[-4:] == '_ptr':
-        if rtype[0:6] == 'const ':
-           crtype = rtype[6:]
-       else:
-           crtype = rtype
-
-        define = 0
-       if modules_defines.has_key(module):
-           test.write("#ifdef %s\n" % (modules_defines[module]))
-           define = 1
-        test.write("""
-#define gen_nb_%s 1
-static %s gen_%s(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_%s(int no ATTRIBUTE_UNUSED, %s val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-""" % (name, crtype, name, name, rtype))
-        if define == 1:
-           test.write("#endif\n\n")
-        add_generated_param_type(name)
-        return 1
-
-    return 0
-
-#
-# Provide the type destructors for the return values
-#
-
-known_return_types = []
-
-def is_known_return_type(name):
-    for type in known_return_types:
-        if type == name:
-           return 1
-    return 0
-
-#
-# Copy the beginning of the C test program result
-#
-
-try:
-    input = open("testapi.c", "r")
-except:
-    input = open(srcPref + "testapi.c", "r")
-test = open('testapi.c.new', 'w')
-
-def compare_and_save():
-    global test
-
-    test.close()
-    try:
-        input = open("testapi.c", "r").read()
-    except:
-        input = ''
-    test = open('testapi.c.new', "r").read()
-    if input != test:
-        try:
-            os.system("rm testapi.c; mv testapi.c.new testapi.c")
-        except:
-           os.system("mv testapi.c.new testapi.c")
-        print("Updated testapi.c")
-    else:
-        print("Generated testapi.c is identical")
-
-line = input.readline()
-while line != "":
-    if line == "/* CUT HERE: everything below that line is generated */\n":
-        break;
-    if line[0:15] == "#define gen_nb_":
-        type = string.split(line[15:])[0]
-       known_param_types.append(type)
-    if line[0:19] == "static void desret_":
-        type = string.split(line[19:], '(')[0]
-       known_return_types.append(type)
-    test.write(line)
-    line = input.readline()
-input.close()
-
-if line == "":
-    print "Could not find the CUT marker in testapi.c skipping generation"
-    test.close()
-    sys.exit(0)
-
-print("Scanned testapi.c: found %d parameters types and %d return types\n" % (
-      len(known_param_types), len(known_return_types)))
-test.write("/* CUT HERE: everything below that line is generated */\n")
-
-
-#
-# Open the input API description
-#
-doc = libxml2.readFile(srcPref + 'doc/libxml2-api.xml', None, 0)
-if doc == None:
-    print "Failed to load doc/libxml2-api.xml"
-    sys.exit(1)
-ctxt = doc.xpathNewContext()
-
-#
-# Generate a list of all function parameters and select only
-# those used in the api tests
-#
-argtypes = {}
-args = ctxt.xpathEval("/api/symbols/function/arg")
-for arg in args:
-    mod = arg.xpathEval('string(../@file)')
-    func = arg.xpathEval('string(../@name)')
-    if (mod not in skipped_modules) and (func not in skipped_functions):
-       type = arg.xpathEval('string(@type)')
-       if not argtypes.has_key(type):
-           argtypes[type] = func
-
-# similarly for return types
-rettypes = {}
-rets = ctxt.xpathEval("/api/symbols/function/return")
-for ret in rets:
-    mod = ret.xpathEval('string(../@file)')
-    func = ret.xpathEval('string(../@name)')
-    if (mod not in skipped_modules) and (func not in skipped_functions):
-        type = ret.xpathEval('string(@type)')
-       if not rettypes.has_key(type):
-           rettypes[type] = func
-
-#
-# Generate constructors and return type handling for all enums
-# which are used as function parameters
-#
-enums = ctxt.xpathEval("/api/symbols/typedef[@type='enum']")
-for enum in enums:
-    module = enum.xpathEval('string(@file)')
-    name = enum.xpathEval('string(@name)')
-    #
-    # Skip any enums which are not in our filtered lists
-    #
-    if (name == None) or ((name not in argtypes) and (name not in rettypes)):
-        continue;
-    define = 0
-
-    if argtypes.has_key(name) and is_known_param_type(name, name) == 0:
-       values = ctxt.xpathEval("/api/symbols/enum[@type='%s']" % name)
-       i = 0
-       vals = []
-       for value in values:
-           vname = value.xpathEval('string(@name)')
-           if vname == None:
-               continue;
-           i = i + 1
-           if i >= 5:
-               break;
-           vals.append(vname)
-       if vals == []:
-           print "Didn't find any value for enum %s" % (name)
-           continue
-       if modules_defines.has_key(module):
-           test.write("#ifdef %s\n" % (modules_defines[module]))
-           define = 1
-       test.write("#define gen_nb_%s %d\n" % (name, len(vals)))
-       test.write("""static %s gen_%s(int no, int nr ATTRIBUTE_UNUSED) {\n""" %
-                  (name, name))
-       i = 1
-       for value in vals:
-           test.write("    if (no == %d) return(%s);\n" % (i, value))
-           i = i + 1
-       test.write("""    return(0);
-}
-
-static void des_%s(int no ATTRIBUTE_UNUSED, %s val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-""" % (name, name));
-       known_param_types.append(name)
-
-    if (is_known_return_type(name) == 0) and (name in rettypes):
-       if define == 0 and modules_defines.has_key(module):
-           test.write("#ifdef %s\n" % (modules_defines[module]))
-           define = 1
-        test.write("""static void desret_%s(%s val ATTRIBUTE_UNUSED) {
-}
-
-""" % (name, name))
-       known_return_types.append(name)
-    if define == 1:
-        test.write("#endif\n\n")
-
-#
-# Load the interfaces
-# 
-headers = ctxt.xpathEval("/api/files/file")
-for file in headers:
-    name = file.xpathEval('string(@name)')
-    if (name == None) or (name == ''):
-        continue
-
-    #
-    # Some module may be skipped because they don't really consists
-    # of user callable APIs
-    #
-    if is_skipped_module(name):
-        continue
-
-    #
-    # do not test deprecated APIs
-    #
-    desc = file.xpathEval('string(description)')
-    if string.find(desc, 'DEPRECATED') != -1:
-        print "Skipping deprecated interface %s" % name
-       continue;
-
-    test.write("#include <libxml/%s.h>\n" % name)
-    modules.append(name)
-        
-#
-# Generate the callers signatures
-# 
-for module in modules:
-    test.write("static int test_%s(void);\n" % module);
-
-#
-# Generate the top caller
-# 
-
-test.write("""
-/**
- * testlibxml2:
- *
- * Main entry point of the tester for the full libxml2 module,
- * it calls all the tester entry point for each module.
- *
- * Returns the number of error found
- */
-static int
-testlibxml2(void)
-{
-    int test_ret = 0;
-
-""")
-
-for module in modules:
-    test.write("    test_ret += test_%s();\n" % module)
-
-test.write("""
-    printf("Total: %d functions, %d tests, %d errors\\n",
-           function_tests, call_tests, test_ret);
-    return(test_ret);
-}
-
-""")
-
-#
-# How to handle a function
-# 
-nb_tests = 0
-
-def generate_test(module, node):
-    global test
-    global nb_tests
-    nb_cond = 0
-    no_gen = 0
-
-    name = node.xpathEval('string(@name)')
-    if is_skipped_function(name):
-        return
-
-    #
-    # check we know how to handle the args and return values
-    # and store the informations for the generation
-    #
-    try:
-       args = node.xpathEval("arg")
-    except:
-        args = []
-    t_args = []
-    n = 0
-    for arg in args:
-        n = n + 1
-        rtype = arg.xpathEval("string(@type)")
-       if rtype == 'void':
-           break;
-       info = arg.xpathEval("string(@info)")
-       nam = arg.xpathEval("string(@name)")
-        type = type_convert(rtype, nam, info, module, name, n)
-       if is_known_param_type(type, rtype) == 0:
-           add_missing_type(type, name);
-           no_gen = 1
-        if (type[-3:] == 'Ptr' or type[-4:] == '_ptr') and \
-           rtype[0:6] == 'const ':
-           crtype = rtype[6:]
-       else:
-           crtype = rtype
-       t_args.append((nam, type, rtype, crtype, info))
-    
-    try:
-       rets = node.xpathEval("return")
-    except:
-        rets = []
-    t_ret = None
-    for ret in rets:
-        rtype = ret.xpathEval("string(@type)")
-       info = ret.xpathEval("string(@info)")
-        type = type_convert(rtype, 'return', info, module, name, 0)
-       if rtype == 'void':
-           break
-       if is_known_return_type(type) == 0:
-           add_missing_type(type, name);
-           no_gen = 1
-       t_ret = (type, rtype, info)
-       break
-
-    test.write("""
-static int
-test_%s(void) {
-    int test_ret = 0;
-
-""" % (name))
-
-    if no_gen == 1:
-        add_missing_functions(name, module)
-       test.write("""
-    /* missing type support */
-    return(test_ret);
-}
-
-""")
-        return
-
-    try:
-       conds = node.xpathEval("cond")
-       for cond in conds:
-           test.write("#if %s\n" % (cond.get_content()))
-           nb_cond = nb_cond + 1
-    except:
-        pass
-
-    define = 0
-    if function_defines.has_key(name):
-        test.write("#ifdef %s\n" % (function_defines[name]))
-       define = 1
-    
-    # Declare the memory usage counter
-    no_mem = is_skipped_memcheck(name)
-    if no_mem == 0:
-       test.write("    int mem_base;\n");
-
-    # Declare the return value
-    if t_ret != None:
-        test.write("    %s ret_val;\n" % (t_ret[1]))
-
-    # Declare the arguments
-    for arg in t_args:
-        (nam, type, rtype, crtype, info) = arg;
-       # add declaration
-       test.write("    %s %s; /* %s */\n" % (crtype, nam, info))
-       test.write("    int n_%s;\n" % (nam))
-    test.write("\n")
-
-    # Cascade loop on of each argument list of values
-    for arg in t_args:
-        (nam, type, rtype, crtype, info) = arg;
-       #
-       test.write("    for (n_%s = 0;n_%s < gen_nb_%s;n_%s++) {\n" % (
-                  nam, nam, type, nam))
-    
-    # log the memory usage
-    if no_mem == 0:
-       test.write("        mem_base = xmlMemBlocks();\n");
-
-    # prepare the call
-    i = 0;
-    for arg in t_args:
-        (nam, type, rtype, crtype, info) = arg;
-       #
-       test.write("        %s = gen_%s(n_%s, %d);\n" % (nam, type, nam, i))
-       i = i + 1;
-
-    # do the call, and clanup the result
-    if extra_pre_call.has_key(name):
-       test.write("        %s\n"% (extra_pre_call[name]))
-    if t_ret != None:
-       test.write("\n        ret_val = %s(" % (name))
-       need = 0
-       for arg in t_args:
-           (nam, type, rtype, crtype, info) = arg
-           if need:
-               test.write(", ")
-           else:
-               need = 1
-           if rtype != crtype:
-               test.write("(%s)" % rtype)
-           test.write("%s" % nam);
-       test.write(");\n")
-       if extra_post_call.has_key(name):
-           test.write("        %s\n"% (extra_post_call[name]))
-       test.write("        desret_%s(ret_val);\n" % t_ret[0])
-    else:
-       test.write("\n        %s(" % (name));
-       need = 0;
-       for arg in t_args:
-           (nam, type, rtype, crtype, info) = arg;
-           if need:
-               test.write(", ")
-           else:
-               need = 1
-           if rtype != crtype:
-               test.write("(%s)" % rtype)
-           test.write("%s" % nam)
-       test.write(");\n")
-       if extra_post_call.has_key(name):
-           test.write("        %s\n"% (extra_post_call[name]))
-
-    test.write("        call_tests++;\n");
-
-    # Free the arguments
-    i = 0;
-    for arg in t_args:
-        (nam, type, rtype, crtype, info) = arg;
-       # This is a hack to prevent generating a destructor for the
-       # 'input' argument in xmlTextReaderSetup.  There should be
-       # a better, more generic way to do this!
-       if string.find(info, 'destroy') == -1:
-           test.write("        des_%s(n_%s, " % (type, nam))
-           if rtype != crtype:
-               test.write("(%s)" % rtype)
-           test.write("%s, %d);\n" % (nam, i))
-       i = i + 1;
-
-    test.write("        xmlResetLastError();\n");
-    # Check the memory usage
-    if no_mem == 0:
-       test.write("""        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %%d blocks found in %s",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-""" % (name));
-       for arg in t_args:
-           (nam, type, rtype, crtype, info) = arg;
-           test.write("""            printf(" %%d", n_%s);\n""" % (nam))
-       test.write("""            printf("\\n");\n""")
-       test.write("        }\n")
-
-    for arg in t_args:
-       test.write("    }\n")
-
-    test.write("    function_tests++;\n")
-    #
-    # end of conditional
-    #
-    while nb_cond > 0:
-        test.write("#endif\n")
-       nb_cond = nb_cond -1
-    if define == 1:
-        test.write("#endif\n")
-
-    nb_tests = nb_tests + 1;
-
-    test.write("""
-    return(test_ret);
-}
-
-""")
-    
-#
-# Generate all module callers
-#
-for module in modules:
-    # gather all the functions exported by that module
-    try:
-       functions = ctxt.xpathEval("/api/symbols/function[@file='%s']" % (module))
-    except:
-        print "Failed to gather functions from module %s" % (module)
-       continue;
-
-    # iterate over all functions in the module generating the test
-    i = 0
-    nb_tests_old = nb_tests
-    for function in functions:
-        i = i + 1
-        generate_test(module, function);
-
-    # header
-    test.write("""static int
-test_%s(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing %s : %d of %d functions ...\\n");
-""" % (module, module, nb_tests - nb_tests_old, i))
-
-    # iterate over all functions in the module generating the call
-    for function in functions:
-        name = function.xpathEval('string(@name)')
-       if is_skipped_function(name):
-           continue
-       test.write("    test_ret += test_%s();\n" % (name))
-
-    # footer
-    test.write("""
-    if (test_ret != 0)
-       printf("Module %s: %%d errors\\n", test_ret);
-    return(test_ret);
-}
-""" % (module))
-
-#
-# Generate direct module caller
-#
-test.write("""static int
-test_module(const char *module) {
-""");
-for module in modules:
-    test.write("""    if (!strcmp(module, "%s")) return(test_%s());\n""" % (
-        module, module))
-test.write("""    return(0);
-}
-""");
-
-print "Generated test for %d modules and %d functions" %(len(modules), nb_tests)
-
-compare_and_save()
-
-missing_list = []
-for missing in missing_types.keys():
-    if missing == 'va_list' or missing == '...':
-        continue;
-
-    n = len(missing_types[missing])
-    missing_list.append((n, missing))
-
-def compare_missing(a, b):
-    return b[0] - a[0]
-
-missing_list.sort(compare_missing)
-print "Missing support for %d functions and %d types see missing.lst" % (missing_functions_nr, len(missing_list))
-lst = open("missing.lst", "w")
-lst.write("Missing support for %d types" % (len(missing_list)))
-lst.write("\n")
-for miss in missing_list:
-    lst.write("%s: %d :" % (miss[1], miss[0]))
-    i = 0
-    for n in missing_types[miss[1]]:
-        i = i + 1
-        if i > 5:
-           lst.write(" ...")
-           break
-       lst.write(" %s" % (n))
-    lst.write("\n")
-lst.write("\n")
-lst.write("\n")
-lst.write("Missing support per module");
-for module in missing_functions.keys():
-    lst.write("module %s:\n   %s\n" % (module, missing_functions[module]))
-
-lst.close()
-
-
index afabcb1..0145109 100644 (file)
@@ -93,11 +93,13 @@ xmlHashComputeKey(xmlHashTablePtr table, const xmlChar *name,
            value = value ^ ((value << 5) + (value >> 3) + (unsigned long)ch);
        }
     }
+    value = value ^ ((value << 5) + (value >> 3));
     if (name2 != NULL) {
        while ((ch = *name2++) != 0) {
            value = value ^ ((value << 5) + (value >> 3) + (unsigned long)ch);
        }
     }
+    value = value ^ ((value << 5) + (value >> 3));
     if (name3 != NULL) {
        while ((ch = *name3++) != 0) {
            value = value ^ ((value << 5) + (value >> 3) + (unsigned long)ch);
@@ -133,6 +135,7 @@ xmlHashComputeQKey(xmlHashTablePtr table,
            value = value ^ ((value << 5) + (value >> 3) + (unsigned long)ch);
        }
     }
+    value = value ^ ((value << 5) + (value >> 3));
     if (prefix2 != NULL) {
        while ((ch = *prefix2++) != 0) {
            value = value ^ ((value << 5) + (value >> 3) + (unsigned long)ch);
@@ -144,6 +147,7 @@ xmlHashComputeQKey(xmlHashTablePtr table,
            value = value ^ ((value << 5) + (value >> 3) + (unsigned long)ch);
        }
     }
+    value = value ^ ((value << 5) + (value >> 3));
     if (prefix3 != NULL) {
        while ((ch = *prefix3++) != 0) {
            value = value ^ ((value << 5) + (value >> 3) + (unsigned long)ch);
diff --git a/reactos/lib/3rdparty/libxml2/include/Makefile.am b/reactos/lib/3rdparty/libxml2/include/Makefile.am
deleted file mode 100644 (file)
index 7dbfaa5..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-## Process this file with automake to produce Makefile.in
-SUBDIRS=libxml
-
-EXTRA_DIST = win32config.h wsockcompat.h
-
diff --git a/reactos/lib/3rdparty/libxml2/include/Makefile.in b/reactos/lib/3rdparty/libxml2/include/Makefile.in
deleted file mode 100644 (file)
index a4bf492..0000000
+++ /dev/null
@@ -1,680 +0,0 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = include
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
-       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-       $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BASE_THREAD_LIBS = @BASE_THREAD_LIBS@
-C14N_OBJ = @C14N_OBJ@
-CATALOG_OBJ = @CATALOG_OBJ@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
-CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
-DEBUG_OBJ = @DEBUG_OBJ@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOCB_OBJ = @DOCB_OBJ@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FTP_OBJ = @FTP_OBJ@
-GREP = @GREP@
-HAVE_ISINF = @HAVE_ISINF@
-HAVE_ISNAN = @HAVE_ISNAN@
-HTML_DIR = @HTML_DIR@
-HTML_OBJ = @HTML_OBJ@
-HTTP_OBJ = @HTTP_OBJ@
-ICONV_LIBS = @ICONV_LIBS@
-ICU_LIBS = @ICU_LIBS@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBXML_MAJOR_VERSION = @LIBXML_MAJOR_VERSION@
-LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
-LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
-LIBXML_VERSION = @LIBXML_VERSION@
-LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
-LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
-LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LZMA_CFLAGS = @LZMA_CFLAGS@
-LZMA_LIBS = @LZMA_LIBS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-MODULE_EXTENSION = @MODULE_EXTENSION@
-MODULE_PLATFORM_LIBS = @MODULE_PLATFORM_LIBS@
-MV = @MV@
-M_LIBS = @M_LIBS@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-PYTHON = @PYTHON@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
-PYTHON_SUBDIR = @PYTHON_SUBDIR@
-PYTHON_TESTS = @PYTHON_TESTS@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-RDL_LIBS = @RDL_LIBS@
-READER_TEST = @READER_TEST@
-RELDATE = @RELDATE@
-RM = @RM@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STATIC_BINARIES = @STATIC_BINARIES@
-STRIP = @STRIP@
-TAR = @TAR@
-TEST_C14N = @TEST_C14N@
-TEST_CATALOG = @TEST_CATALOG@
-TEST_DEBUG = @TEST_DEBUG@
-TEST_HTML = @TEST_HTML@
-TEST_MODULES = @TEST_MODULES@
-TEST_PATTERN = @TEST_PATTERN@
-TEST_PHTML = @TEST_PHTML@
-TEST_PUSH = @TEST_PUSH@
-TEST_REGEXPS = @TEST_REGEXPS@
-TEST_SAX = @TEST_SAX@
-TEST_SCHEMAS = @TEST_SCHEMAS@
-TEST_SCHEMATRON = @TEST_SCHEMATRON@
-TEST_THREADS = @TEST_THREADS@
-TEST_VALID = @TEST_VALID@
-TEST_VTIME = @TEST_VTIME@
-TEST_XINCLUDE = @TEST_XINCLUDE@
-TEST_XPATH = @TEST_XPATH@
-TEST_XPTR = @TEST_XPTR@
-THREAD_CFLAGS = @THREAD_CFLAGS@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-VERSION_SCRIPT_FLAGS = @VERSION_SCRIPT_FLAGS@
-WGET = @WGET@
-WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@
-WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@
-WIN32_EXTRA_PYTHON_LIBADD = @WIN32_EXTRA_PYTHON_LIBADD@
-WITH_C14N = @WITH_C14N@
-WITH_CATALOG = @WITH_CATALOG@
-WITH_DEBUG = @WITH_DEBUG@
-WITH_DOCB = @WITH_DOCB@
-WITH_FTP = @WITH_FTP@
-WITH_HTML = @WITH_HTML@
-WITH_HTTP = @WITH_HTTP@
-WITH_ICONV = @WITH_ICONV@
-WITH_ICU = @WITH_ICU@
-WITH_ISO8859X = @WITH_ISO8859X@
-WITH_LEGACY = @WITH_LEGACY@
-WITH_LZMA = @WITH_LZMA@
-WITH_MEM_DEBUG = @WITH_MEM_DEBUG@
-WITH_MODULES = @WITH_MODULES@
-WITH_OUTPUT = @WITH_OUTPUT@
-WITH_PATTERN = @WITH_PATTERN@
-WITH_PUSH = @WITH_PUSH@
-WITH_READER = @WITH_READER@
-WITH_REGEXPS = @WITH_REGEXPS@
-WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
-WITH_SAX1 = @WITH_SAX1@
-WITH_SCHEMAS = @WITH_SCHEMAS@
-WITH_SCHEMATRON = @WITH_SCHEMATRON@
-WITH_THREADS = @WITH_THREADS@
-WITH_TREE = @WITH_TREE@
-WITH_TRIO = @WITH_TRIO@
-WITH_VALID = @WITH_VALID@
-WITH_WRITER = @WITH_WRITER@
-WITH_XINCLUDE = @WITH_XINCLUDE@
-WITH_XPATH = @WITH_XPATH@
-WITH_XPTR = @WITH_XPTR@
-WITH_ZLIB = @WITH_ZLIB@
-XINCLUDE_OBJ = @XINCLUDE_OBJ@
-XMLLINT = @XMLLINT@
-XML_CFLAGS = @XML_CFLAGS@
-XML_INCLUDEDIR = @XML_INCLUDEDIR@
-XML_LIBDIR = @XML_LIBDIR@
-XML_LIBS = @XML_LIBS@
-XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
-XPATH_OBJ = @XPATH_OBJ@
-XPTR_OBJ = @XPTR_OBJ@
-XSLTPROC = @XSLTPROC@
-Z_CFLAGS = @Z_CFLAGS@
-Z_LIBS = @Z_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pythondir = @pythondir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = libxml
-EXTRA_DIST = win32config.h wsockcompat.h
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-               && { if test -f $@; then exit 0; else break; fi; }; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \
-       $(am__cd) $(top_srcdir) && \
-         $(AUTOMAKE) --gnu include/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       set x; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       shift; \
-       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         if test $$# -gt 0; then \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             "$$@" $$unique; \
-         else \
-           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-             $$unique; \
-         fi; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && $(am__cd) $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d "$(distdir)/$$file"; then \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-           fi; \
-           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-         else \
-           test -f "$(distdir)/$$file" \
-           || cp -p $$d/$$file "$(distdir)/$$file" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-           $(am__relativize); \
-           new_distdir=$$reldir; \
-           dir1=$$subdir; dir2="$(top_distdir)"; \
-           $(am__relativize); \
-           new_top_distdir=$$reldir; \
-           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-           ($(am__cd) $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$new_top_distdir" \
-               distdir="$$new_distdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               am__skip_mode_fix=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       if test -z '$(STRIP)'; then \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-             install; \
-       else \
-         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-       fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
-       install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-generic clean-libtool \
-       ctags ctags-recursive distclean distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/reactos/lib/3rdparty/libxml2/install-sh b/reactos/lib/3rdparty/libxml2/install-sh
deleted file mode 100644 (file)
index a9244eb..0000000
+++ /dev/null
@@ -1,527 +0,0 @@
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2011-01-19.21; # UTC
-
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-
-nl='
-'
-IFS=" ""       $nl"
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit=${DOITPROG-}
-if test -z "$doit"; then
-  doit_exec=exec
-else
-  doit_exec=$doit
-fi
-
-# Put in absolute file names if you don't have them in your path;
-# or use environment vars.
-
-chgrpprog=${CHGRPPROG-chgrp}
-chmodprog=${CHMODPROG-chmod}
-chownprog=${CHOWNPROG-chown}
-cmpprog=${CMPPROG-cmp}
-cpprog=${CPPROG-cp}
-mkdirprog=${MKDIRPROG-mkdir}
-mvprog=${MVPROG-mv}
-rmprog=${RMPROG-rm}
-stripprog=${STRIPPROG-strip}
-
-posix_glob='?'
-initialize_posix_glob='
-  test "$posix_glob" != "?" || {
-    if (set -f) 2>/dev/null; then
-      posix_glob=
-    else
-      posix_glob=:
-    fi
-  }
-'
-
-posix_mkdir=
-
-# Desired mode of installed file.
-mode=0755
-
-chgrpcmd=
-chmodcmd=$chmodprog
-chowncmd=
-mvcmd=$mvprog
-rmcmd="$rmprog -f"
-stripcmd=
-
-src=
-dst=
-dir_arg=
-dst_arg=
-
-copy_on_change=false
-no_target_directory=
-
-usage="\
-Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
-   or: $0 [OPTION]... SRCFILES... DIRECTORY
-   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
-   or: $0 [OPTION]... -d DIRECTORIES...
-
-In the 1st form, copy SRCFILE to DSTFILE.
-In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-In the 4th, create DIRECTORIES.
-
-Options:
-     --help     display this help and exit.
-     --version  display version info and exit.
-
-  -c            (ignored)
-  -C            install only if different (preserve the last data modification time)
-  -d            create directories instead of installing files.
-  -g GROUP      $chgrpprog installed files to GROUP.
-  -m MODE       $chmodprog installed files to MODE.
-  -o USER       $chownprog installed files to USER.
-  -s            $stripprog installed files.
-  -t DIRECTORY  install into DIRECTORY.
-  -T            report an error if DSTFILE is a directory.
-
-Environment variables override the default commands:
-  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
-  RMPROG STRIPPROG
-"
-
-while test $# -ne 0; do
-  case $1 in
-    -c) ;;
-
-    -C) copy_on_change=true;;
-
-    -d) dir_arg=true;;
-
-    -g) chgrpcmd="$chgrpprog $2"
-       shift;;
-
-    --help) echo "$usage"; exit $?;;
-
-    -m) mode=$2
-       case $mode in
-         *' '* | *'    '* | *'
-'*       | *'*'* | *'?'* | *'['*)
-           echo "$0: invalid mode: $mode" >&2
-           exit 1;;
-       esac
-       shift;;
-
-    -o) chowncmd="$chownprog $2"
-       shift;;
-
-    -s) stripcmd=$stripprog;;
-
-    -t) dst_arg=$2
-       # Protect names problematic for `test' and other utilities.
-       case $dst_arg in
-         -* | [=\(\)!]) dst_arg=./$dst_arg;;
-       esac
-       shift;;
-
-    -T) no_target_directory=true;;
-
-    --version) echo "$0 $scriptversion"; exit $?;;
-
-    --)        shift
-       break;;
-
-    -*)        echo "$0: invalid option: $1" >&2
-       exit 1;;
-
-    *)  break;;
-  esac
-  shift
-done
-
-if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
-  # When -d is used, all remaining arguments are directories to create.
-  # When -t is used, the destination is already specified.
-  # Otherwise, the last argument is the destination.  Remove it from $@.
-  for arg
-  do
-    if test -n "$dst_arg"; then
-      # $@ is not empty: it contains at least $arg.
-      set fnord "$@" "$dst_arg"
-      shift # fnord
-    fi
-    shift # arg
-    dst_arg=$arg
-    # Protect names problematic for `test' and other utilities.
-    case $dst_arg in
-      -* | [=\(\)!]) dst_arg=./$dst_arg;;
-    esac
-  done
-fi
-
-if test $# -eq 0; then
-  if test -z "$dir_arg"; then
-    echo "$0: no input file specified." >&2
-    exit 1
-  fi
-  # It's OK to call `install-sh -d' without argument.
-  # This can happen when creating conditional directories.
-  exit 0
-fi
-
-if test -z "$dir_arg"; then
-  do_exit='(exit $ret); exit $ret'
-  trap "ret=129; $do_exit" 1
-  trap "ret=130; $do_exit" 2
-  trap "ret=141; $do_exit" 13
-  trap "ret=143; $do_exit" 15
-
-  # Set umask so as not to create temps with too-generous modes.
-  # However, 'strip' requires both read and write access to temps.
-  case $mode in
-    # Optimize common cases.
-    *644) cp_umask=133;;
-    *755) cp_umask=22;;
-
-    *[0-7])
-      if test -z "$stripcmd"; then
-       u_plus_rw=
-      else
-       u_plus_rw='% 200'
-      fi
-      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
-    *)
-      if test -z "$stripcmd"; then
-       u_plus_rw=
-      else
-       u_plus_rw=,u+rw
-      fi
-      cp_umask=$mode$u_plus_rw;;
-  esac
-fi
-
-for src
-do
-  # Protect names problematic for `test' and other utilities.
-  case $src in
-    -* | [=\(\)!]) src=./$src;;
-  esac
-
-  if test -n "$dir_arg"; then
-    dst=$src
-    dstdir=$dst
-    test -d "$dstdir"
-    dstdir_status=$?
-  else
-
-    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
-    # might cause directories to be created, which would be especially bad
-    # if $src (and thus $dsttmp) contains '*'.
-    if test ! -f "$src" && test ! -d "$src"; then
-      echo "$0: $src does not exist." >&2
-      exit 1
-    fi
-
-    if test -z "$dst_arg"; then
-      echo "$0: no destination specified." >&2
-      exit 1
-    fi
-    dst=$dst_arg
-
-    # If destination is a directory, append the input filename; won't work
-    # if double slashes aren't ignored.
-    if test -d "$dst"; then
-      if test -n "$no_target_directory"; then
-       echo "$0: $dst_arg: Is a directory" >&2
-       exit 1
-      fi
-      dstdir=$dst
-      dst=$dstdir/`basename "$src"`
-      dstdir_status=0
-    else
-      # Prefer dirname, but fall back on a substitute if dirname fails.
-      dstdir=`
-       (dirname "$dst") 2>/dev/null ||
-       expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-            X"$dst" : 'X\(//\)[^/]' \| \
-            X"$dst" : 'X\(//\)$' \| \
-            X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
-       echo X"$dst" |
-           sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\/\)[^/].*/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\/\)$/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\).*/{
-                  s//\1/
-                  q
-                }
-                s/.*/./; q'
-      `
-
-      test -d "$dstdir"
-      dstdir_status=$?
-    fi
-  fi
-
-  obsolete_mkdir_used=false
-
-  if test $dstdir_status != 0; then
-    case $posix_mkdir in
-      '')
-       # Create intermediate dirs using mode 755 as modified by the umask.
-       # This is like FreeBSD 'install' as of 1997-10-28.
-       umask=`umask`
-       case $stripcmd.$umask in
-         # Optimize common cases.
-         *[2367][2367]) mkdir_umask=$umask;;
-         .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
-         *[0-7])
-           mkdir_umask=`expr $umask + 22 \
-             - $umask % 100 % 40 + $umask % 20 \
-             - $umask % 10 % 4 + $umask % 2
-           `;;
-         *) mkdir_umask=$umask,go-w;;
-       esac
-
-       # With -d, create the new directory with the user-specified mode.
-       # Otherwise, rely on $mkdir_umask.
-       if test -n "$dir_arg"; then
-         mkdir_mode=-m$mode
-       else
-         mkdir_mode=
-       fi
-
-       posix_mkdir=false
-       case $umask in
-         *[123567][0-7][0-7])
-           # POSIX mkdir -p sets u+wx bits regardless of umask, which
-           # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-           ;;
-         *)
-           tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-           trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
-           if (umask $mkdir_umask &&
-               exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
-           then
-             if test -z "$dir_arg" || {
-                  # Check for POSIX incompatibilities with -m.
-                  # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-                  # other-writeable bit of parent directory when it shouldn't.
-                  # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-                  ls_ld_tmpdir=`ls -ld "$tmpdir"`
-                  case $ls_ld_tmpdir in
-                    d????-?r-*) different_mode=700;;
-                    d????-?--*) different_mode=755;;
-                    *) false;;
-                  esac &&
-                  $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-                    ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-                    test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-                  }
-                }
-             then posix_mkdir=:
-             fi
-             rmdir "$tmpdir/d" "$tmpdir"
-           else
-             # Remove any dirs left behind by ancient mkdir implementations.
-             rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-           fi
-           trap '' 0;;
-       esac;;
-    esac
-
-    if
-      $posix_mkdir && (
-       umask $mkdir_umask &&
-       $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
-      )
-    then :
-    else
-
-      # The umask is ridiculous, or mkdir does not conform to POSIX,
-      # or it failed possibly due to a race condition.  Create the
-      # directory the slow way, step by step, checking for races as we go.
-
-      case $dstdir in
-       /*) prefix='/';;
-       [-=\(\)!]*) prefix='./';;
-       *)  prefix='';;
-      esac
-
-      eval "$initialize_posix_glob"
-
-      oIFS=$IFS
-      IFS=/
-      $posix_glob set -f
-      set fnord $dstdir
-      shift
-      $posix_glob set +f
-      IFS=$oIFS
-
-      prefixes=
-
-      for d
-      do
-       test X"$d" = X && continue
-
-       prefix=$prefix$d
-       if test -d "$prefix"; then
-         prefixes=
-       else
-         if $posix_mkdir; then
-           (umask=$mkdir_umask &&
-            $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-           # Don't fail if two instances are running concurrently.
-           test -d "$prefix" || exit 1
-         else
-           case $prefix in
-             *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-             *) qprefix=$prefix;;
-           esac
-           prefixes="$prefixes '$qprefix'"
-         fi
-       fi
-       prefix=$prefix/
-      done
-
-      if test -n "$prefixes"; then
-       # Don't fail if two instances are running concurrently.
-       (umask $mkdir_umask &&
-        eval "\$doit_exec \$mkdirprog $prefixes") ||
-         test -d "$dstdir" || exit 1
-       obsolete_mkdir_used=true
-      fi
-    fi
-  fi
-
-  if test -n "$dir_arg"; then
-    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
-    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
-      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
-  else
-
-    # Make a couple of temp file names in the proper directory.
-    dsttmp=$dstdir/_inst.$$_
-    rmtmp=$dstdir/_rm.$$_
-
-    # Trap to clean up those temp files at exit.
-    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
-
-    # Copy the file name to the temp name.
-    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
-
-    # and set any options; do chmod last to preserve setuid bits.
-    #
-    # If any of these fail, we abort the whole thing.  If we want to
-    # ignore errors from any of these, just make sure not to ignore
-    # errors from the above "$doit $cpprog $src $dsttmp" command.
-    #
-    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
-    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
-    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
-    # If -C, don't bother to copy if it wouldn't change the file.
-    if $copy_on_change &&
-       old=`LC_ALL=C ls -dlL "$dst"    2>/dev/null` &&
-       new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
-       eval "$initialize_posix_glob" &&
-       $posix_glob set -f &&
-       set X $old && old=:$2:$4:$5:$6 &&
-       set X $new && new=:$2:$4:$5:$6 &&
-       $posix_glob set +f &&
-
-       test "$old" = "$new" &&
-       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
-    then
-      rm -f "$dsttmp"
-    else
-      # Rename the file to the real destination.
-      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
-
-      # The rename failed, perhaps because mv can't rename something else
-      # to itself, or perhaps because mv is so ancient that it does not
-      # support -f.
-      {
-       # Now remove or move aside any old file at destination location.
-       # We try this two ways since rm can't unlink itself on some
-       # systems and the destination file might be busy for other
-       # reasons.  In this case, the final cleanup might fail but the new
-       # file should still install successfully.
-       {
-         test ! -f "$dst" ||
-         $doit $rmcmd -f "$dst" 2>/dev/null ||
-         { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-           { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-         } ||
-         { echo "$0: cannot unlink or rename $dst" >&2
-           (exit 1); exit 1
-         }
-       } &&
-
-       # Now rename the file to the real destination.
-       $doit $mvcmd "$dsttmp" "$dst"
-      }
-    fi || exit 1
-
-    trap '' 0
-  fi
-done
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/reactos/lib/3rdparty/libxml2/libxml-2.0-uninstalled.pc.in b/reactos/lib/3rdparty/libxml2/libxml-2.0-uninstalled.pc.in
deleted file mode 100644 (file)
index cab6834..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=
-exec_prefix=
-libdir=${pcfiledir}
-includedir=${pcfiledir}/include
-
-
-Name: libXML
-Version: @VERSION@
-Description: libXML library version2.
-Requires:
-Libs: -L${libdir} -lxml2 @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @ICONV_LIBS@ @M_LIBS@ @LIBS@
-Cflags: -I${includedir} @XML_INCLUDEDIR@ @XML_CFLAGS@
diff --git a/reactos/lib/3rdparty/libxml2/libxml-2.0.pc.in b/reactos/lib/3rdparty/libxml2/libxml-2.0.pc.in
deleted file mode 100644 (file)
index f5f5f03..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-modules=@WITH_MODULES@
-
-Name: libXML
-Version: @VERSION@
-Description: libXML library version2.
-Requires:
-Libs: -L${libdir} -lxml2
-Libs.private: @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@
-Cflags: @XML_INCLUDEDIR@ @XML_CFLAGS@
diff --git a/reactos/lib/3rdparty/libxml2/libxml.3 b/reactos/lib/3rdparty/libxml2/libxml.3
deleted file mode 100644 (file)
index b3e9fef..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-.TH libxml 3 "12 April 2000"
-.SH NAME
-libxml \- library used to parse XML files
-.SH DESCRIPTION
-The
-.I  libxml
-library is used to parse XML files. 
-Its internal document representation is as close as possible to the 
-.I DOM 
-(Document Object Model) interface,
-an API for accessing XML or HTML structured documents.
-.LP
-The
-.I libxml
-library also has a 
-.IR SAX -like
-interface, 
-which is designed to be compatible with 
-.IR expat (1).
-NOTE:
-.IR SAX , 
-the Simple API for XML,
-is a standard interface for event-based XML parsing,
-developed collaboratively by the members of the XML-DEV mailing list, 
-currently hosted by OASIS.
-The
-.I expat
-library is a XML 1.0 parser written in C,
-which aims to be fully conforming. 
-It is currently not a validating XML processor.
-.LP
-The
-.I libxml 
-library now includes a nearly complete 
-.I XPath 
-implementation. 
-The
-.I XPath
-(XML Path Language) is a language for addressing parts of an 
-XML document,
-designed to be used by both 
-.I XSLT 
-and 
-.IR XPointer .
-.LP
-The
-.I libxml 
-library exports Push and Pull type parser interfaces for both XML and 
-.IR html . 
-.SH FILES
-.TP 2.2i
-.B /depot/lib/libxml_2.0.0/libxml.a
-static library
-.TP
-.B /depot/lib/libxml_2.0.0/libxml.so
-shared library
-.TP
-.B /depot/package/libxml_2.0.0/bin/xmllint
-binary application for parsing XML files
-.SH AUTHORS
-Daniel Veillard (daniel@veillard.com).
-Red Hat Inc.
-Manual page by Ziying Sherwin (sherwin@nlm.nih.gov),
-Lister Hill National Center for Biomedical Communications,
-U.S. National Library of Medicine.
-.SH SEE ALSO
-.IR xmllint (1),
-.IR libxslt (3),
-.IR libexslt (3),
-.IR xsltproc (1)
-.\" end of manual page
index 6f9e56c..66218f0 100644 (file)
@@ -84,6 +84,8 @@ void __xmlGlobalInitMutexLock(void);
 void __xmlGlobalInitMutexUnlock(void);
 void __xmlGlobalInitMutexDestroy(void);
 
+int __xmlInitializeDict(void);
+
 #if defined(HAVE_RAND) && defined(HAVE_SRAND) && defined(HAVE_TIME)
 /*
  * internal thread safe random function
@@ -91,6 +93,8 @@ void __xmlGlobalInitMutexDestroy(void);
 int __xmlRandom(void);
 #endif
 
+int xmlNop(void);
+
 #ifdef IN_LIBXML
 #ifdef __GNUC__
 #ifdef PIC
diff --git a/reactos/lib/3rdparty/libxml2/libxml.m4 b/reactos/lib/3rdparty/libxml2/libxml.m4
deleted file mode 100644 (file)
index 68cd824..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-# Configure paths for LIBXML2
-# Mike Hommey 2004-06-19
-# use CPPFLAGS instead of CFLAGS
-# Toshio Kuratomi 2001-04-21
-# Adapted from:
-# Configure paths for GLIB
-# Owen Taylor     97-11-3
-
-dnl AM_PATH_XML2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl Test for XML, and define XML_CPPFLAGS and XML_LIBS
-dnl
-AC_DEFUN([AM_PATH_XML2],[ 
-AC_ARG_WITH(xml-prefix,
-            [  --with-xml-prefix=PFX   Prefix where libxml is installed (optional)],
-            xml_config_prefix="$withval", xml_config_prefix="")
-AC_ARG_WITH(xml-exec-prefix,
-            [  --with-xml-exec-prefix=PFX Exec prefix where libxml is installed (optional)],
-            xml_config_exec_prefix="$withval", xml_config_exec_prefix="")
-AC_ARG_ENABLE(xmltest,
-              [  --disable-xmltest       Do not try to compile and run a test LIBXML program],,
-              enable_xmltest=yes)
-
-  if test x$xml_config_exec_prefix != x ; then
-     xml_config_args="$xml_config_args"
-     if test x${XML2_CONFIG+set} != xset ; then
-        XML2_CONFIG=$xml_config_exec_prefix/bin/xml2-config
-     fi
-  fi
-  if test x$xml_config_prefix != x ; then
-     xml_config_args="$xml_config_args --prefix=$xml_config_prefix"
-     if test x${XML2_CONFIG+set} != xset ; then
-        XML2_CONFIG=$xml_config_prefix/bin/xml2-config
-     fi
-  fi
-
-  AC_PATH_PROG(XML2_CONFIG, xml2-config, no)
-  min_xml_version=ifelse([$1], ,2.0.0,[$1])
-  AC_MSG_CHECKING(for libxml - version >= $min_xml_version)
-  no_xml=""
-  if test "$XML2_CONFIG" = "no" ; then
-    no_xml=yes
-  else
-    XML_CPPFLAGS=`$XML2_CONFIG $xml_config_args --cflags`
-    XML_LIBS=`$XML2_CONFIG $xml_config_args --libs`
-    xml_config_major_version=`$XML2_CONFIG $xml_config_args --version | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
-    xml_config_minor_version=`$XML2_CONFIG $xml_config_args --version | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
-    xml_config_micro_version=`$XML2_CONFIG $xml_config_args --version | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-    if test "x$enable_xmltest" = "xyes" ; then
-      ac_save_CPPFLAGS="$CPPFLAGS"
-      ac_save_LIBS="$LIBS"
-      CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
-      LIBS="$XML_LIBS $LIBS"
-dnl
-dnl Now check if the installed libxml is sufficiently new.
-dnl (Also sanity checks the results of xml2-config to some extent)
-dnl
-      rm -f conf.xmltest
-      AC_TRY_RUN([
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <libxml/xmlversion.h>
-
-int 
-main()
-{
-  int xml_major_version, xml_minor_version, xml_micro_version;
-  int major, minor, micro;
-  char *tmp_version;
-
-  system("touch conf.xmltest");
-
-  /* Capture xml2-config output via autoconf/configure variables */
-  /* HP/UX 9 (%@#!) writes to sscanf strings */
-  tmp_version = (char *)strdup("$min_xml_version");
-  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
-     printf("%s, bad version string from xml2-config\n", "$min_xml_version");
-     exit(1);
-   }
-   free(tmp_version);
-
-   /* Capture the version information from the header files */
-   tmp_version = (char *)strdup(LIBXML_DOTTED_VERSION);
-   if (sscanf(tmp_version, "%d.%d.%d", &xml_major_version, &xml_minor_version, &xml_micro_version) != 3) {
-     printf("%s, bad version string from libxml includes\n", "LIBXML_DOTTED_VERSION");
-     exit(1);
-   }
-   free(tmp_version);
-
- /* Compare xml2-config output to the libxml headers */
-  if ((xml_major_version != $xml_config_major_version) ||
-      (xml_minor_version != $xml_config_minor_version) ||
-      (xml_micro_version != $xml_config_micro_version))
-    {
-      printf("*** libxml header files (version %d.%d.%d) do not match\n",
-         xml_major_version, xml_minor_version, xml_micro_version);
-      printf("*** xml2-config (version %d.%d.%d)\n",
-         $xml_config_major_version, $xml_config_minor_version, $xml_config_micro_version);
-      return 1;
-    } 
-/* Compare the headers to the library to make sure we match */
-  /* Less than ideal -- doesn't provide us with return value feedback, 
-   * only exits if there's a serious mismatch between header and library.
-   */
-    LIBXML_TEST_VERSION;
-
-    /* Test that the library is greater than our minimum version */
-    if ((xml_major_version > major) ||
-        ((xml_major_version == major) && (xml_minor_version > minor)) ||
-        ((xml_major_version == major) && (xml_minor_version == minor) &&
-        (xml_micro_version >= micro)))
-      {
-        return 0;
-       }
-     else
-      {
-        printf("\n*** An old version of libxml (%d.%d.%d) was found.\n",
-               xml_major_version, xml_minor_version, xml_micro_version);
-        printf("*** You need a version of libxml newer than %d.%d.%d. The latest version of\n",
-           major, minor, micro);
-        printf("*** libxml is always available from ftp://ftp.xmlsoft.org.\n");
-        printf("***\n");
-        printf("*** If you have already installed a sufficiently new version, this error\n");
-        printf("*** probably means that the wrong copy of the xml2-config shell script is\n");
-        printf("*** being found. The easiest way to fix this is to remove the old version\n");
-        printf("*** of LIBXML, but you can also set the XML2_CONFIG environment to point to the\n");
-        printf("*** correct copy of xml2-config. (In this case, you will have to\n");
-        printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
-        printf("*** so that the correct libraries are found at run-time))\n");
-    }
-  return 1;
-}
-],, no_xml=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-       CPPFLAGS="$ac_save_CPPFLAGS"
-       LIBS="$ac_save_LIBS"
-     fi
-  fi
-
-  if test "x$no_xml" = x ; then
-     AC_MSG_RESULT(yes (version $xml_config_major_version.$xml_config_minor_version.$xml_config_micro_version))
-     ifelse([$2], , :, [$2])     
-  else
-     AC_MSG_RESULT(no)
-     if test "$XML2_CONFIG" = "no" ; then
-       echo "*** The xml2-config script installed by LIBXML could not be found"
-       echo "*** If libxml was installed in PREFIX, make sure PREFIX/bin is in"
-       echo "*** your path, or set the XML2_CONFIG environment variable to the"
-       echo "*** full path to xml2-config."
-     else
-       if test -f conf.xmltest ; then
-        :
-       else
-          echo "*** Could not run libxml test program, checking why..."
-          CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
-          LIBS="$LIBS $XML_LIBS"
-          AC_TRY_LINK([
-#include <libxml/xmlversion.h>
-#include <stdio.h>
-],      [ LIBXML_TEST_VERSION; return 0;],
-        [ echo "*** The test program compiled, but did not run. This usually means"
-          echo "*** that the run-time linker is not finding LIBXML or finding the wrong"
-          echo "*** version of LIBXML. If it is not finding LIBXML, you'll need to set your"
-          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
-          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
-          echo "*** is required on your system"
-          echo "***"
-          echo "*** If you have an old version installed, it is best to remove it, although"
-          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
-        [ echo "*** The test program failed to compile or link. See the file config.log for the"
-          echo "*** exact error that occured. This usually means LIBXML was incorrectly installed"
-          echo "*** or that you have moved LIBXML since it was installed. In the latter case, you"
-          echo "*** may want to edit the xml2-config script: $XML2_CONFIG" ])
-          CPPFLAGS="$ac_save_CPPFLAGS"
-          LIBS="$ac_save_LIBS"
-       fi
-     fi
-
-     XML_CPPFLAGS=""
-     XML_LIBS=""
-     ifelse([$3], , :, [$3])
-  fi
-  AC_SUBST(XML_CPPFLAGS)
-  AC_SUBST(XML_LIBS)
-  rm -f conf.xmltest
-])
diff --git a/reactos/lib/3rdparty/libxml2/libxml.spec.in b/reactos/lib/3rdparty/libxml2/libxml.spec.in
deleted file mode 100644 (file)
index 03eb24e..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-Summary: Library providing XML and HTML support
-Name: libxml2
-Version: @VERSION@
-Release: 1
-License: MIT
-Group: Development/Libraries
-Source: ftp://xmlsoft.org/libxml2/libxml2-%{version}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
-BuildRequires: python python-devel zlib-devel pkgconfig xz-devel
-URL: http://xmlsoft.org/
-
-%description
-This library allows to manipulate XML files. It includes support 
-to read, modify and write XML and HTML files. There is DTDs support
-this includes parsing and validation even with complex DtDs, either
-at parse time or later once the document has been modified. The output
-can be a simple SAX stream or and in-memory DOM like representations.
-In this case one can use the built-in XPath and XPointer implementation
-to select subnodes or ranges. A flexible Input/Output mechanism is
-available, with existing HTTP and FTP modules and combined to an
-URI library.
-
-%package devel
-Summary: Libraries, includes, etc. to develop XML and HTML applications
-Group: Development/Libraries
-Requires: libxml2 = %{version}-%{release}
-Requires: zlib-devel
-Requires: xz-devel
-Requires: pkgconfig
-
-%description devel
-Libraries, include files, etc you can use to develop XML applications.
-This library allows to manipulate XML files. It includes support 
-to read, modify and write XML and HTML files. There is DTDs support
-this includes parsing and validation even with complex DtDs, either
-at parse time or later once the document has been modified. The output
-can be a simple SAX stream or and in-memory DOM like representations.
-In this case one can use the built-in XPath and XPointer implementation
-to select subnodes or ranges. A flexible Input/Output mechanism is
-available, with existing HTTP and FTP modules and combined to an
-URI library.
-
-%package python
-Summary: Python bindings for the libxml2 library
-Group: Development/Libraries
-Requires: libxml2 = %{version}-%{release}
-Requires: python
-
-%description python
-The libxml2-python package contains a module that permits applications
-written in the Python programming language to use the interface
-supplied by the libxml2 library to manipulate XML files.
-
-This library allows to manipulate XML files. It includes support 
-to read, modify and write XML and HTML files. There is DTDs support
-this includes parsing and validation even with complex DTDs, either
-at parse time or later once the document has been modified.
-
-%prep
-%setup -q
-
-%build
-%configure
-make %{_smp_mflags}
-gzip -9 ChangeLog
-
-%install
-rm -fr %{buildroot}
-
-%makeinstall
-(cd doc/examples ; make clean ; rm -rf .deps Makefile)
-gzip -9 doc/libxml2-api.xml
-rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
-
-%clean
-rm -fr %{buildroot}
-
-%post
-/sbin/ldconfig
-
-%postun
-/sbin/ldconfig
-
-%files
-%defattr(-, root, root)
-
-%doc AUTHORS ChangeLog.gz NEWS README Copyright TODO
-%doc %{_mandir}/man1/xmllint.1*
-%doc %{_mandir}/man1/xmlcatalog.1*
-%doc %{_mandir}/man3/libxml.3*
-
-%{_libdir}/lib*.so.*
-%{_bindir}/xmllint
-%{_bindir}/xmlcatalog
-
-%files devel
-%defattr(-, root, root)
-
-%doc %{_mandir}/man1/xml2-config.1*
-%doc AUTHORS ChangeLog.gz NEWS README Copyright
-%doc doc/*.html doc/html doc/*.gif doc/*.png
-%doc doc/tutorial doc/libxml2-api.xml.gz
-%doc doc/examples
-%doc %dir %{_datadir}/gtk-doc/html/libxml2
-%doc %{_datadir}/gtk-doc/html/libxml2/*.devhelp
-%doc %{_datadir}/gtk-doc/html/libxml2/*.html
-%doc %{_datadir}/gtk-doc/html/libxml2/*.png
-%doc %{_datadir}/gtk-doc/html/libxml2/*.css
-
-%{_libdir}/lib*.so
-%{_libdir}/*a
-%{_libdir}/*.sh
-%{_includedir}/*
-%{_bindir}/xml2-config
-%{_datadir}/aclocal/libxml.m4
-%{_libdir}/pkgconfig/libxml-2.0.pc
-%files python
-%defattr(-, root, root)
-
-%doc AUTHORS ChangeLog.gz NEWS README Copyright
-%{_libdir}/python*/site-packages/libxml2.py*
-%{_libdir}/python*/site-packages/drv_libxml2.py*
-%{_libdir}/python*/site-packages/libxml2mod*
-%doc python/TODO
-%doc python/libxml2class.txt
-%doc python/tests/*.py
-%doc doc/*.py
-%doc doc/python.html
-
-%changelog
-* @RELDATE@ Daniel Veillard <veillard@redhat.com>
-- upstream release @VERSION@ see http://xmlsoft.org/news.html
-
diff --git a/reactos/lib/3rdparty/libxml2/libxml2.spec b/reactos/lib/3rdparty/libxml2/libxml2.spec
deleted file mode 100644 (file)
index 214adcf..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-Summary: Library providing XML and HTML support
-Name: libxml2
-Version: 2.9.0
-Release: 1
-License: MIT
-Group: Development/Libraries
-Source: ftp://xmlsoft.org/libxml2/libxml2-%{version}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
-BuildRequires: python python-devel zlib-devel pkgconfig xz-devel
-URL: http://xmlsoft.org/
-
-%description
-This library allows to manipulate XML files. It includes support 
-to read, modify and write XML and HTML files. There is DTDs support
-this includes parsing and validation even with complex DtDs, either
-at parse time or later once the document has been modified. The output
-can be a simple SAX stream or and in-memory DOM like representations.
-In this case one can use the built-in XPath and XPointer implementation
-to select subnodes or ranges. A flexible Input/Output mechanism is
-available, with existing HTTP and FTP modules and combined to an
-URI library.
-
-%package devel
-Summary: Libraries, includes, etc. to develop XML and HTML applications
-Group: Development/Libraries
-Requires: libxml2 = %{version}-%{release}
-Requires: zlib-devel
-Requires: xz-devel
-Requires: pkgconfig
-
-%description devel
-Libraries, include files, etc you can use to develop XML applications.
-This library allows to manipulate XML files. It includes support 
-to read, modify and write XML and HTML files. There is DTDs support
-this includes parsing and validation even with complex DtDs, either
-at parse time or later once the document has been modified. The output
-can be a simple SAX stream or and in-memory DOM like representations.
-In this case one can use the built-in XPath and XPointer implementation
-to select subnodes or ranges. A flexible Input/Output mechanism is
-available, with existing HTTP and FTP modules and combined to an
-URI library.
-
-%package python
-Summary: Python bindings for the libxml2 library
-Group: Development/Libraries
-Requires: libxml2 = %{version}-%{release}
-Requires: python
-
-%description python
-The libxml2-python package contains a module that permits applications
-written in the Python programming language to use the interface
-supplied by the libxml2 library to manipulate XML files.
-
-This library allows to manipulate XML files. It includes support 
-to read, modify and write XML and HTML files. There is DTDs support
-this includes parsing and validation even with complex DTDs, either
-at parse time or later once the document has been modified.
-
-%prep
-%setup -q
-
-%build
-%configure
-make %{_smp_mflags}
-gzip -9 ChangeLog
-
-%install
-rm -fr %{buildroot}
-
-%makeinstall
-(cd doc/examples ; make clean ; rm -rf .deps Makefile)
-gzip -9 doc/libxml2-api.xml
-rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
-
-%clean
-rm -fr %{buildroot}
-
-%post
-/sbin/ldconfig
-
-%postun
-/sbin/ldconfig
-
-%files
-%defattr(-, root, root)
-
-%doc AUTHORS ChangeLog.gz NEWS README Copyright TODO
-%doc %{_mandir}/man1/xmllint.1*
-%doc %{_mandir}/man1/xmlcatalog.1*
-%doc %{_mandir}/man3/libxml.3*
-
-%{_libdir}/lib*.so.*
-%{_bindir}/xmllint
-%{_bindir}/xmlcatalog
-
-%files devel
-%defattr(-, root, root)
-
-%doc %{_mandir}/man1/xml2-config.1*
-%doc AUTHORS ChangeLog.gz NEWS README Copyright
-%doc doc/*.html doc/html doc/*.gif doc/*.png
-%doc doc/tutorial doc/libxml2-api.xml.gz
-%doc doc/examples
-%doc %dir %{_datadir}/gtk-doc/html/libxml2
-%doc %{_datadir}/gtk-doc/html/libxml2/*.devhelp
-%doc %{_datadir}/gtk-doc/html/libxml2/*.html
-%doc %{_datadir}/gtk-doc/html/libxml2/*.png
-%doc %{_datadir}/gtk-doc/html/libxml2/*.css
-
-%{_libdir}/lib*.so
-%{_libdir}/*a
-%{_libdir}/*.sh
-%{_includedir}/*
-%{_bindir}/xml2-config
-%{_datadir}/aclocal/libxml.m4
-%{_libdir}/pkgconfig/libxml-2.0.pc
-%files python
-%defattr(-, root, root)
-
-%doc AUTHORS ChangeLog.gz NEWS README Copyright
-%{_libdir}/python*/site-packages/libxml2.py*
-%{_libdir}/python*/site-packages/drv_libxml2.py*
-%{_libdir}/python*/site-packages/libxml2mod*
-%doc python/TODO
-%doc python/libxml2class.txt
-%doc python/tests/*.py
-%doc doc/*.py
-%doc doc/python.html
-
-%changelog
-* Tue Sep 11 2012 Daniel Veillard <veillard@redhat.com>
-- upstream release 2.9.0 see http://xmlsoft.org/news.html
-
diff --git a/reactos/lib/3rdparty/libxml2/ltmain.sh b/reactos/lib/3rdparty/libxml2/ltmain.sh
deleted file mode 100644 (file)
index 63ae69d..0000000
+++ /dev/null
@@ -1,9655 +0,0 @@
-
-# libtool (GNU libtool) 2.4.2
-# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# GNU Libtool is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# Usage: $progname [OPTION]... [MODE-ARG]...
-#
-# Provide generalized library-building support services.
-#
-#       --config             show all configuration variables
-#       --debug              enable verbose shell tracing
-#   -n, --dry-run            display commands without modifying any files
-#       --features           display basic configuration information and exit
-#       --mode=MODE          use operation mode MODE
-#       --preserve-dup-deps  don't remove duplicate dependency libraries
-#       --quiet, --silent    don't print informational messages
-#       --no-quiet, --no-silent
-#                            print informational messages (default)
-#       --no-warn            don't display warning messages
-#       --tag=TAG            use configuration variables from tag TAG
-#   -v, --verbose            print more informational messages than default
-#       --no-verbose         don't print the extra informational messages
-#       --version            print version information
-#   -h, --help, --help-all   print short, long, or detailed help message
-#
-# MODE must be one of the following:
-#
-#         clean              remove files from the build directory
-#         compile            compile a source file into a libtool object
-#         execute            automatically set library path, then run a program
-#         finish             complete the installation of libtool libraries
-#         install            install libraries or executables
-#         link               create a library or an executable
-#         uninstall          remove libraries from an installed directory
-#
-# MODE-ARGS vary depending on the MODE.  When passed as first option,
-# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
-# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-#
-# When reporting a bug, please describe a test case to reproduce it and
-# include the following information:
-#
-#         host-triplet:        $host
-#         shell:               $SHELL
-#         compiler:            $LTCC
-#         compiler flags:              $LTCFLAGS
-#         linker:              $LD (gnu? $with_gnu_ld)
-#         $progname:   (GNU libtool) 2.4.2
-#         automake:    $automake_version
-#         autoconf:    $autoconf_version
-#
-# Report bugs to <bug-libtool@gnu.org>.
-# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
-# General help using GNU software: <http://www.gnu.org/gethelp/>.
-
-PROGRAM=libtool
-PACKAGE=libtool
-VERSION=2.4.2
-TIMESTAMP=""
-package_revision=1.3337
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-}
-
-# NLS nuisances: We save the old values to restore during execute mode.
-lt_user_locale=
-lt_safe_locale=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-do
-  eval "if test \"\${$lt_var+set}\" = set; then
-          save_$lt_var=\$$lt_var
-          $lt_var=C
-         export $lt_var
-         lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
-         lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
-       fi"
-done
-LC_ALL=C
-LANGUAGE=C
-export LANGUAGE LC_ALL
-
-$lt_unset CDPATH
-
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-
-
-: ${CP="cp -f"}
-test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
-: ${MAKE="make"}
-: ${MKDIR="mkdir"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-: ${Xsed="$SED -e 1s/^X//"}
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77     # $? = 77 is used to indicate a skipped test to automake.
-
-exit_status=$EXIT_SUCCESS
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS="  $lt_nl"
-
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-    func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
-    if test "X$func_dirname_result" = "X${1}"; then
-      func_dirname_result="${3}"
-    else
-      func_dirname_result="$func_dirname_result${2}"
-    fi
-} # func_dirname may be replaced by extended shell implementation
-
-
-# func_basename file
-func_basename ()
-{
-    func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-} # func_basename may be replaced by extended shell implementation
-
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-    # Extract subdirectory from the argument.
-    func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
-    if test "X$func_dirname_result" = "X${1}"; then
-      func_dirname_result="${3}"
-    else
-      func_dirname_result="$func_dirname_result${2}"
-    fi
-    func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
-} # func_dirname_and_basename may be replaced by extended shell implementation
-
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-    case ${2} in
-      .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-      *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-    esac
-} # func_stripname may be replaced by extended shell implementation
-
-
-# These SED scripts presuppose an absolute path with a trailing slash.
-pathcar='s,^/\([^/]*\).*$,\1,'
-pathcdr='s,^/[^/]*,,'
-removedotparts=':dotsl
-               s@/\./@/@g
-               t dotsl
-               s,/\.$,/,'
-collapseslashes='s@/\{1,\}@/@g'
-finalslash='s,/*$,/,'
-
-# func_normal_abspath PATH
-# Remove doubled-up and trailing slashes, "." path components,
-# and cancel out any ".." path components in PATH after making
-# it an absolute path.
-#             value returned in "$func_normal_abspath_result"
-func_normal_abspath ()
-{
-  # Start from root dir and reassemble the path.
-  func_normal_abspath_result=
-  func_normal_abspath_tpath=$1
-  func_normal_abspath_altnamespace=
-  case $func_normal_abspath_tpath in
-    "")
-      # Empty path, that just means $cwd.
-      func_stripname '' '/' "`pwd`"
-      func_normal_abspath_result=$func_stripname_result
-      return
-    ;;
-    # The next three entries are used to spot a run of precisely
-    # two leading slashes without using negated character classes;
-    # we take advantage of case's first-match behaviour.
-    ///*)
-      # Unusual form of absolute path, do nothing.
-    ;;
-    //*)
-      # Not necessarily an ordinary path; POSIX reserves leading '//'
-      # and for example Cygwin uses it to access remote file shares
-      # over CIFS/SMB, so we conserve a leading double slash if found.
-      func_normal_abspath_altnamespace=/
-    ;;
-    /*)
-      # Absolute path, do nothing.
-    ;;
-    *)
-      # Relative path, prepend $cwd.
-      func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
-    ;;
-  esac
-  # Cancel out all the simple stuff to save iterations.  We also want
-  # the path to end with a slash for ease of parsing, so make sure
-  # there is one (and only one) here.
-  func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
-  while :; do
-    # Processed it all yet?
-    if test "$func_normal_abspath_tpath" = / ; then
-      # If we ascended to the root using ".." the result may be empty now.
-      if test -z "$func_normal_abspath_result" ; then
-        func_normal_abspath_result=/
-      fi
-      break
-    fi
-    func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$pathcar"`
-    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$pathcdr"`
-    # Figure out what to do with it
-    case $func_normal_abspath_tcomponent in
-      "")
-        # Trailing empty path component, ignore it.
-      ;;
-      ..)
-        # Parent dir; strip last assembled component from result.
-        func_dirname "$func_normal_abspath_result"
-        func_normal_abspath_result=$func_dirname_result
-      ;;
-      *)
-        # Actual path component, append it.
-        func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
-      ;;
-    esac
-  done
-  # Restore leading double-slash if one was found on entry.
-  func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
-}
-
-# func_relative_path SRCDIR DSTDIR
-# generates a relative path from SRCDIR to DSTDIR, with a trailing
-# slash if non-empty, suitable for immediately appending a filename
-# without needing to append a separator.
-#             value returned in "$func_relative_path_result"
-func_relative_path ()
-{
-  func_relative_path_result=
-  func_normal_abspath "$1"
-  func_relative_path_tlibdir=$func_normal_abspath_result
-  func_normal_abspath "$2"
-  func_relative_path_tbindir=$func_normal_abspath_result
-
-  # Ascend the tree starting from libdir
-  while :; do
-    # check if we have found a prefix of bindir
-    case $func_relative_path_tbindir in
-      $func_relative_path_tlibdir)
-        # found an exact match
-        func_relative_path_tcancelled=
-        break
-        ;;
-      $func_relative_path_tlibdir*)
-        # found a matching prefix
-        func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
-        func_relative_path_tcancelled=$func_stripname_result
-        if test -z "$func_relative_path_result"; then
-          func_relative_path_result=.
-        fi
-        break
-        ;;
-      *)
-        func_dirname $func_relative_path_tlibdir
-        func_relative_path_tlibdir=${func_dirname_result}
-        if test "x$func_relative_path_tlibdir" = x ; then
-          # Have to descend all the way to the root!
-          func_relative_path_result=../$func_relative_path_result
-          func_relative_path_tcancelled=$func_relative_path_tbindir
-          break
-        fi
-        func_relative_path_result=../$func_relative_path_result
-        ;;
-    esac
-  done
-
-  # Now calculate path; take care to avoid doubling-up slashes.
-  func_stripname '' '/' "$func_relative_path_result"
-  func_relative_path_result=$func_stripname_result
-  func_stripname '/' '/' "$func_relative_path_tcancelled"
-  if test "x$func_stripname_result" != x ; then
-    func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
-  fi
-
-  # Normalisation. If bindir is libdir, return empty string,
-  # else relative path ending with a slash; either way, target
-  # file name can be directly appended.
-  if test ! -z "$func_relative_path_result"; then
-    func_stripname './' '' "$func_relative_path_result/"
-    func_relative_path_result=$func_stripname_result
-  fi
-}
-
-# The name of this program:
-func_dirname_and_basename "$progpath"
-progname=$func_basename_result
-
-# Make sure we have an absolute path for reexecution:
-case $progpath in
-  [\\/]*|[A-Za-z]:\\*) ;;
-  *[\\/]*)
-     progdir=$func_dirname_result
-     progdir=`cd "$progdir" && pwd`
-     progpath="$progdir/$progname"
-     ;;
-  *)
-     save_IFS="$IFS"
-     IFS=${PATH_SEPARATOR-:}
-     for progdir in $PATH; do
-       IFS="$save_IFS"
-       test -x "$progdir/$progname" && break
-     done
-     IFS="$save_IFS"
-     test -n "$progdir" || progdir=`pwd`
-     progpath="$progdir/$progname"
-     ;;
-esac
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution that turns a string into a regex matching for the
-# string literally.
-sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
-
-# Sed substitution that converts a w32 file name or path
-# which contains forward slashes, into one that contains
-# (escaped) backslashes.  A very naive implementation.
-lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-
-# Re-`\' parameter expansions in output of double_quote_subst that were
-# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
-# in input to double_quote_subst, that '$' was protected from expansion.
-# Since each input `\' is now two `\'s, look for any number of runs of
-# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
-bs='\\'
-bs2='\\\\'
-bs4='\\\\\\\\'
-dollar='\$'
-sed_double_backslash="\
-  s/$bs4/&\\
-/g
-  s/^$bs2$dollar/$bs&/
-  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
-  s/\n//g"
-
-# Standard options:
-opt_dry_run=false
-opt_help=false
-opt_quiet=false
-opt_verbose=false
-opt_warning=:
-
-# func_echo arg...
-# Echo program name prefixed message, along with the current mode
-# name if it has been set yet.
-func_echo ()
-{
-    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
-}
-
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
-    $opt_verbose && func_echo ${1+"$@"}
-
-    # A bug in bash halts the script if the last line of a function
-    # fails when set -e is in force, so we need another command to
-    # work around that:
-    :
-}
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO "$*"
-}
-
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
-{
-    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
-}
-
-# func_warning arg...
-# Echo program name prefixed warning message to standard error.
-func_warning ()
-{
-    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
-
-    # bash bug again:
-    :
-}
-
-# func_fatal_error arg...
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
-{
-    func_error ${1+"$@"}
-    exit $EXIT_FAILURE
-}
-
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
-    func_error ${1+"$@"}
-    func_fatal_error "$help"
-}
-help="Try \`$progname --help' for more information."  ## default
-
-
-# func_grep expression filename
-# Check whether EXPRESSION matches any line of FILENAME, without output.
-func_grep ()
-{
-    $GREP "$1" "$2" >/dev/null 2>&1
-}
-
-
-# func_mkdir_p directory-path
-# Make sure the entire path to DIRECTORY-PATH is available.
-func_mkdir_p ()
-{
-    my_directory_path="$1"
-    my_dir_list=
-
-    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
-
-      # Protect directory names starting with `-'
-      case $my_directory_path in
-        -*) my_directory_path="./$my_directory_path" ;;
-      esac
-
-      # While some portion of DIR does not yet exist...
-      while test ! -d "$my_directory_path"; do
-        # ...make a list in topmost first order.  Use a colon delimited
-       # list incase some portion of path contains whitespace.
-        my_dir_list="$my_directory_path:$my_dir_list"
-
-        # If the last portion added has no slash in it, the list is done
-        case $my_directory_path in */*) ;; *) break ;; esac
-
-        # ...otherwise throw away the child directory and loop
-        my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
-      done
-      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
-
-      save_mkdir_p_IFS="$IFS"; IFS=':'
-      for my_dir in $my_dir_list; do
-       IFS="$save_mkdir_p_IFS"
-        # mkdir can fail with a `File exist' error if two processes
-        # try to create one of the directories concurrently.  Don't
-        # stop in that case!
-        $MKDIR "$my_dir" 2>/dev/null || :
-      done
-      IFS="$save_mkdir_p_IFS"
-
-      # Bail out if we (or some other process) failed to create a directory.
-      test -d "$my_directory_path" || \
-        func_fatal_error "Failed to create \`$1'"
-    fi
-}
-
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible.  If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
-    my_template="${TMPDIR-/tmp}/${1-$progname}"
-
-    if test "$opt_dry_run" = ":"; then
-      # Return a directory name, but don't create it in dry-run mode
-      my_tmpdir="${my_template}-$$"
-    else
-
-      # If mktemp works, use that first and foremost
-      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
-      if test ! -d "$my_tmpdir"; then
-        # Failing that, at least try and use $RANDOM to avoid a race
-        my_tmpdir="${my_template}-${RANDOM-0}$$"
-
-        save_mktempdir_umask=`umask`
-        umask 0077
-        $MKDIR "$my_tmpdir"
-        umask $save_mktempdir_umask
-      fi
-
-      # If we're not in dry-run mode, bomb out on failure
-      test -d "$my_tmpdir" || \
-        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
-    fi
-
-    $ECHO "$my_tmpdir"
-}
-
-
-# func_quote_for_eval arg
-# Aesthetically quote ARG to be evaled later.
-# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
-# is double-quoted, suitable for a subsequent eval, whereas
-# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
-# which are still active within double quotes backslashified.
-func_quote_for_eval ()
-{
-    case $1 in
-      *[\\\`\"\$]*)
-       func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
-      *)
-        func_quote_for_eval_unquoted_result="$1" ;;
-    esac
-
-    case $func_quote_for_eval_unquoted_result in
-      # Double-quote args containing shell metacharacters to delay
-      # word splitting, command substitution and and variable
-      # expansion for a subsequent eval.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
-        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
-        ;;
-      *)
-        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
-    esac
-}
-
-
-# func_quote_for_expand arg
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
-    case $1 in
-      *[\\\`\"]*)
-       my_arg=`$ECHO "$1" | $SED \
-           -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
-      *)
-        my_arg="$1" ;;
-    esac
-
-    case $my_arg in
-      # Double-quote args containing shell metacharacters to delay
-      # word splitting and command substitution for a subsequent eval.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
-        my_arg="\"$my_arg\""
-        ;;
-    esac
-
-    func_quote_for_expand_result="$my_arg"
-}
-
-
-# func_show_eval cmd [fail_exp]
-# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.
-func_show_eval ()
-{
-    my_cmd="$1"
-    my_fail_exp="${2-:}"
-
-    ${opt_silent-false} || {
-      func_quote_for_expand "$my_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
-
-    if ${opt_dry_run-false}; then :; else
-      eval "$my_cmd"
-      my_status=$?
-      if test "$my_status" -eq 0; then :; else
-       eval "(exit $my_status); $my_fail_exp"
-      fi
-    fi
-}
-
-
-# func_show_eval_locale cmd [fail_exp]
-# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.  Use the saved locale for evaluation.
-func_show_eval_locale ()
-{
-    my_cmd="$1"
-    my_fail_exp="${2-:}"
-
-    ${opt_silent-false} || {
-      func_quote_for_expand "$my_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
-
-    if ${opt_dry_run-false}; then :; else
-      eval "$lt_user_locale
-           $my_cmd"
-      my_status=$?
-      eval "$lt_safe_locale"
-      if test "$my_status" -eq 0; then :; else
-       eval "(exit $my_status); $my_fail_exp"
-      fi
-    fi
-}
-
-# func_tr_sh
-# Turn $1 into a string suitable for a shell variable name.
-# Result is stored in $func_tr_sh_result.  All characters
-# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
-# if $1 begins with a digit, a '_' is prepended as well.
-func_tr_sh ()
-{
-  case $1 in
-  [0-9]* | *[!a-zA-Z0-9_]*)
-    func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
-    ;;
-  * )
-    func_tr_sh_result=$1
-    ;;
-  esac
-}
-
-
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
-{
-    $opt_debug
-
-    $SED -n '/(C)/!b go
-       :more
-       /\./!{
-         N
-         s/\n# / /
-         b more
-       }
-       :go
-       /^# '$PROGRAM' (GNU /,/# warranty; / {
-        s/^# //
-       s/^# *$//
-        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
-        p
-     }' < "$progpath"
-     exit $?
-}
-
-# func_usage
-# Echo short help message to standard output and exit.
-func_usage ()
-{
-    $opt_debug
-
-    $SED -n '/^# Usage:/,/^#  *.*--help/ {
-        s/^# //
-       s/^# *$//
-       s/\$progname/'$progname'/
-       p
-    }' < "$progpath"
-    echo
-    $ECHO "run \`$progname --help | more' for full usage"
-    exit $?
-}
-
-# func_help [NOEXIT]
-# Echo long help message to standard output and exit,
-# unless 'noexit' is passed as argument.
-func_help ()
-{
-    $opt_debug
-
-    $SED -n '/^# Usage:/,/# Report bugs to/ {
-       :print
-        s/^# //
-       s/^# *$//
-       s*\$progname*'$progname'*
-       s*\$host*'"$host"'*
-       s*\$SHELL*'"$SHELL"'*
-       s*\$LTCC*'"$LTCC"'*
-       s*\$LTCFLAGS*'"$LTCFLAGS"'*
-       s*\$LD*'"$LD"'*
-       s/\$with_gnu_ld/'"$with_gnu_ld"'/
-       s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
-       s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
-       p
-       d
-     }
-     /^# .* home page:/b print
-     /^# General help using/b print
-     ' < "$progpath"
-    ret=$?
-    if test -z "$1"; then
-      exit $ret
-    fi
-}
-
-# func_missing_arg argname
-# Echo program name prefixed message to standard error and set global
-# exit_cmd.
-func_missing_arg ()
-{
-    $opt_debug
-
-    func_error "missing argument for $1."
-    exit_cmd=exit
-}
-
-
-# func_split_short_opt shortopt
-# Set func_split_short_opt_name and func_split_short_opt_arg shell
-# variables after splitting SHORTOPT after the 2nd character.
-func_split_short_opt ()
-{
-    my_sed_short_opt='1s/^\(..\).*$/\1/;q'
-    my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
-
-    func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
-    func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
-} # func_split_short_opt may be replaced by extended shell implementation
-
-
-# func_split_long_opt longopt
-# Set func_split_long_opt_name and func_split_long_opt_arg shell
-# variables after splitting LONGOPT at the `=' sign.
-func_split_long_opt ()
-{
-    my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
-    my_sed_long_arg='1s/^--[^=]*=//'
-
-    func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
-    func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
-} # func_split_long_opt may be replaced by extended shell implementation
-
-exit_cmd=:
-
-
-
-
-
-magic="%%%MAGIC variable%%%"
-magic_exe="%%%MAGIC EXE variable%%%"
-
-# Global variables.
-nonopt=
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-    eval "${1}=\$${1}\${2}"
-} # func_append may be replaced by extended shell implementation
-
-# func_append_quoted var value
-# Quote VALUE and append to the end of shell variable VAR, separated
-# by a space.
-func_append_quoted ()
-{
-    func_quote_for_eval "${2}"
-    eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
-} # func_append_quoted may be replaced by extended shell implementation
-
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-    func_arith_result=`expr "${@}"`
-} # func_arith may be replaced by extended shell implementation
-
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-    func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
-} # func_len may be replaced by extended shell implementation
-
-
-# func_lo2o object
-func_lo2o ()
-{
-    func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-} # func_lo2o may be replaced by extended shell implementation
-
-
-# func_xform libobj-or-source
-func_xform ()
-{
-    func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
-} # func_xform may be replaced by extended shell implementation
-
-
-# func_fatal_configuration arg...
-# Echo program name prefixed message to standard error, followed by
-# a configuration failure hint, and exit.
-func_fatal_configuration ()
-{
-    func_error ${1+"$@"}
-    func_error "See the $PACKAGE documentation for more information."
-    func_fatal_error "Fatal configuration error."
-}
-
-
-# func_config
-# Display the configuration for all the tags in this script.
-func_config ()
-{
-    re_begincf='^# ### BEGIN LIBTOOL'
-    re_endcf='^# ### END LIBTOOL'
-
-    # Default configuration.
-    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
-
-    # Now print the configurations for the tags.
-    for tagname in $taglist; do
-      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
-    done
-
-    exit $?
-}
-
-# func_features
-# Display the features supported by this script.
-func_features ()
-{
-    echo "host: $host"
-    if test "$build_libtool_libs" = yes; then
-      echo "enable shared libraries"
-    else
-      echo "disable shared libraries"
-    fi
-    if test "$build_old_libs" = yes; then
-      echo "enable static libraries"
-    else
-      echo "disable static libraries"
-    fi
-
-    exit $?
-}
-
-# func_enable_tag tagname
-# Verify that TAGNAME is valid, and either flag an error and exit, or
-# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
-# variable here.
-func_enable_tag ()
-{
-  # Global variable:
-  tagname="$1"
-
-  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
-  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
-  sed_extractcf="/$re_begincf/,/$re_endcf/p"
-
-  # Validate tagname.
-  case $tagname in
-    *[!-_A-Za-z0-9,/]*)
-      func_fatal_error "invalid tag name: $tagname"
-      ;;
-  esac
-
-  # Don't test for the "default" C tag, as we know it's
-  # there but not specially marked.
-  case $tagname in
-    CC) ;;
-    *)
-      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
-       taglist="$taglist $tagname"
-
-       # Evaluate the configuration.  Be careful to quote the path
-       # and the sed script, to avoid splitting on whitespace, but
-       # also don't use non-portable quotes within backquotes within
-       # quotes we have to do it in 2 steps:
-       extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
-       eval "$extractedcf"
-      else
-       func_error "ignoring unknown tag $tagname"
-      fi
-      ;;
-  esac
-}
-
-# func_check_version_match
-# Ensure that we are using m4 macros, and libtool script from the same
-# release of libtool.
-func_check_version_match ()
-{
-  if test "$package_revision" != "$macro_revision"; then
-    if test "$VERSION" != "$macro_version"; then
-      if test -z "$macro_version"; then
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from an older release.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-      else
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-      fi
-    else
-      cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-$progname: of $PACKAGE $VERSION and run autoconf again.
-_LT_EOF
-    fi
-
-    exit $EXIT_MISMATCH
-  fi
-}
-
-
-# Shorthand for --mode=foo, only valid as the first argument
-case $1 in
-clean|clea|cle|cl)
-  shift; set dummy --mode clean ${1+"$@"}; shift
-  ;;
-compile|compil|compi|comp|com|co|c)
-  shift; set dummy --mode compile ${1+"$@"}; shift
-  ;;
-execute|execut|execu|exec|exe|ex|e)
-  shift; set dummy --mode execute ${1+"$@"}; shift
-  ;;
-finish|finis|fini|fin|fi|f)
-  shift; set dummy --mode finish ${1+"$@"}; shift
-  ;;
-install|instal|insta|inst|ins|in|i)
-  shift; set dummy --mode install ${1+"$@"}; shift
-  ;;
-link|lin|li|l)
-  shift; set dummy --mode link ${1+"$@"}; shift
-  ;;
-uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-  shift; set dummy --mode uninstall ${1+"$@"}; shift
-  ;;
-esac
-
-
-
-# Option defaults:
-opt_debug=:
-opt_dry_run=false
-opt_config=false
-opt_preserve_dup_deps=false
-opt_features=false
-opt_finish=false
-opt_help=false
-opt_help_all=false
-opt_silent=:
-opt_warning=:
-opt_verbose=:
-opt_silent=false
-opt_verbose=false
-
-
-# Parse options once, thoroughly.  This comes as soon as possible in the
-# script to make things like `--version' happen as quickly as we can.
-{
-  # this just eases exit handling
-  while test $# -gt 0; do
-    opt="$1"
-    shift
-    case $opt in
-      --debug|-x)      opt_debug='set -x'
-                       func_echo "enabling shell trace mode"
-                       $opt_debug
-                       ;;
-      --dry-run|--dryrun|-n)
-                       opt_dry_run=:
-                       ;;
-      --config)
-                       opt_config=:
-func_config
-                       ;;
-      --dlopen|-dlopen)
-                       optarg="$1"
-                       opt_dlopen="${opt_dlopen+$opt_dlopen
-}$optarg"
-                       shift
-                       ;;
-      --preserve-dup-deps)
-                       opt_preserve_dup_deps=:
-                       ;;
-      --features)
-                       opt_features=:
-func_features
-                       ;;
-      --finish)
-                       opt_finish=:
-set dummy --mode finish ${1+"$@"}; shift
-                       ;;
-      --help)
-                       opt_help=:
-                       ;;
-      --help-all)
-                       opt_help_all=:
-opt_help=': help-all'
-                       ;;
-      --mode)
-                       test $# = 0 && func_missing_arg $opt && break
-                       optarg="$1"
-                       opt_mode="$optarg"
-case $optarg in
-  # Valid mode arguments:
-  clean|compile|execute|finish|install|link|relink|uninstall) ;;
-
-  # Catch anything else as an error
-  *) func_error "invalid argument for $opt"
-     exit_cmd=exit
-     break
-     ;;
-esac
-                       shift
-                       ;;
-      --no-silent|--no-quiet)
-                       opt_silent=false
-func_append preserve_args " $opt"
-                       ;;
-      --no-warning|--no-warn)
-                       opt_warning=false
-func_append preserve_args " $opt"
-                       ;;
-      --no-verbose)
-                       opt_verbose=false
-func_append preserve_args " $opt"
-                       ;;
-      --silent|--quiet)
-                       opt_silent=:
-func_append preserve_args " $opt"
-        opt_verbose=false
-                       ;;
-      --verbose|-v)
-                       opt_verbose=:
-func_append preserve_args " $opt"
-opt_silent=false
-                       ;;
-      --tag)
-                       test $# = 0 && func_missing_arg $opt && break
-                       optarg="$1"
-                       opt_tag="$optarg"
-func_append preserve_args " $opt $optarg"
-func_enable_tag "$optarg"
-                       shift
-                       ;;
-
-      -\?|-h)          func_usage                              ;;
-      --help)          func_help                               ;;
-      --version)       func_version                            ;;
-
-      # Separate optargs to long options:
-      --*=*)
-                       func_split_long_opt "$opt"
-                       set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
-                       shift
-                       ;;
-
-      # Separate non-argument short options:
-      -\?*|-h*|-n*|-v*)
-                       func_split_short_opt "$opt"
-                       set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
-                       shift
-                       ;;
-
-      --)              break                                   ;;
-      -*)              func_fatal_help "unrecognized option \`$opt'" ;;
-      *)               set dummy "$opt" ${1+"$@"};     shift; break  ;;
-    esac
-  done
-
-  # Validate options:
-
-  # save first non-option argument
-  if test "$#" -gt 0; then
-    nonopt="$opt"
-    shift
-  fi
-
-  # preserve --debug
-  test "$opt_debug" = : || func_append preserve_args " --debug"
-
-  case $host in
-    *cygwin* | *mingw* | *pw32* | *cegcc*)
-      # don't eliminate duplications in $postdeps and $predeps
-      opt_duplicate_compiler_generated_deps=:
-      ;;
-    *)
-      opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
-      ;;
-  esac
-
-  $opt_help || {
-    # Sanity checks first:
-    func_check_version_match
-
-    if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-      func_fatal_configuration "not configured to build any kind of library"
-    fi
-
-    # Darwin sucks
-    eval std_shrext=\"$shrext_cmds\"
-
-    # Only execute mode is allowed to have -dlopen flags.
-    if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
-      func_error "unrecognized option \`-dlopen'"
-      $ECHO "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    # Change the help message to a mode-specific one.
-    generic_help="$help"
-    help="Try \`$progname --help --mode=$opt_mode' for more information."
-  }
-
-
-  # Bail if the options were screwed
-  $exit_cmd $EXIT_FAILURE
-}
-
-
-
-
-## ----------- ##
-##    Main.    ##
-## ----------- ##
-
-# func_lalib_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_lalib_p ()
-{
-    test -f "$1" &&
-      $SED -e 4q "$1" 2>/dev/null \
-        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
-}
-
-# func_lalib_unsafe_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
-# This function implements the same check as func_lalib_p without
-# resorting to external programs.  To this end, it redirects stdin and
-# closes it afterwards, without saving the original file descriptor.
-# As a safety measure, use it only where a negative result would be
-# fatal anyway.  Works if `file' does not exist.
-func_lalib_unsafe_p ()
-{
-    lalib_p=no
-    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
-       for lalib_p_l in 1 2 3 4
-       do
-           read lalib_p_line
-           case "$lalib_p_line" in
-               \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
-           esac
-       done
-       exec 0<&5 5<&-
-    fi
-    test "$lalib_p" = yes
-}
-
-# func_ltwrapper_script_p file
-# True iff FILE is a libtool wrapper script
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_script_p ()
-{
-    func_lalib_p "$1"
-}
-
-# func_ltwrapper_executable_p file
-# True iff FILE is a libtool wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_executable_p ()
-{
-    func_ltwrapper_exec_suffix=
-    case $1 in
-    *.exe) ;;
-    *) func_ltwrapper_exec_suffix=.exe ;;
-    esac
-    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
-}
-
-# func_ltwrapper_scriptname file
-# Assumes file is an ltwrapper_executable
-# uses $file to determine the appropriate filename for a
-# temporary ltwrapper_script.
-func_ltwrapper_scriptname ()
-{
-    func_dirname_and_basename "$1" "" "."
-    func_stripname '' '.exe' "$func_basename_result"
-    func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
-}
-
-# func_ltwrapper_p file
-# True iff FILE is a libtool wrapper script or wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_p ()
-{
-    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
-}
-
-
-# func_execute_cmds commands fail_cmd
-# Execute tilde-delimited COMMANDS.
-# If FAIL_CMD is given, eval that upon failure.
-# FAIL_CMD may read-access the current command in variable CMD!
-func_execute_cmds ()
-{
-    $opt_debug
-    save_ifs=$IFS; IFS='~'
-    for cmd in $1; do
-      IFS=$save_ifs
-      eval cmd=\"$cmd\"
-      func_show_eval "$cmd" "${2-:}"
-    done
-    IFS=$save_ifs
-}
-
-
-# func_source file
-# Source FILE, adding directory component if necessary.
-# Note that it is not necessary on cygwin/mingw to append a dot to
-# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
-# behavior happens only for exec(3), not for open(2)!  Also, sourcing
-# `FILE.' does not work on cygwin managed mounts.
-func_source ()
-{
-    $opt_debug
-    case $1 in
-    */* | *\\*)        . "$1" ;;
-    *)         . "./$1" ;;
-    esac
-}
-
-
-# func_resolve_sysroot PATH
-# Replace a leading = in PATH with a sysroot.  Store the result into
-# func_resolve_sysroot_result
-func_resolve_sysroot ()
-{
-  func_resolve_sysroot_result=$1
-  case $func_resolve_sysroot_result in
-  =*)
-    func_stripname '=' '' "$func_resolve_sysroot_result"
-    func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
-    ;;
-  esac
-}
-
-# func_replace_sysroot PATH
-# If PATH begins with the sysroot, replace it with = and
-# store the result into func_replace_sysroot_result.
-func_replace_sysroot ()
-{
-  case "$lt_sysroot:$1" in
-  ?*:"$lt_sysroot"*)
-    func_stripname "$lt_sysroot" '' "$1"
-    func_replace_sysroot_result="=$func_stripname_result"
-    ;;
-  *)
-    # Including no sysroot.
-    func_replace_sysroot_result=$1
-    ;;
-  esac
-}
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
-    $opt_debug
-    if test -n "$available_tags" && test -z "$tagname"; then
-      CC_quoted=
-      for arg in $CC; do
-       func_append_quoted CC_quoted "$arg"
-      done
-      CC_expanded=`func_echo_all $CC`
-      CC_quoted_expanded=`func_echo_all $CC_quoted`
-      case $@ in
-      # Blanks in the command may have been stripped by the calling shell,
-      # but not from the CC environment variable when configure was run.
-      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
-      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
-      # Blanks at the start of $base_compile will cause this to fail
-      # if we don't check for them as well.
-      *)
-       for z in $available_tags; do
-         if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
-           # Evaluate the configuration.
-           eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
-           CC_quoted=
-           for arg in $CC; do
-             # Double-quote args containing other shell metacharacters.
-             func_append_quoted CC_quoted "$arg"
-           done
-           CC_expanded=`func_echo_all $CC`
-           CC_quoted_expanded=`func_echo_all $CC_quoted`
-           case "$@ " in
-           " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
-           " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
-             # The compiler in the base compile command matches
-             # the one in the tagged configuration.
-             # Assume this is the tagged configuration we want.
-             tagname=$z
-             break
-             ;;
-           esac
-         fi
-       done
-       # If $tagname still isn't set, then no tagged configuration
-       # was found and let the user know that the "--tag" command
-       # line option must be used.
-       if test -z "$tagname"; then
-         func_echo "unable to infer tagged configuration"
-         func_fatal_error "specify a tag with \`--tag'"
-#      else
-#        func_verbose "using $tagname tagged configuration"
-       fi
-       ;;
-      esac
-    fi
-}
-
-
-
-# func_write_libtool_object output_name pic_name nonpic_name
-# Create a libtool object file (analogous to a ".la" file),
-# but don't create it if we're doing a dry run.
-func_write_libtool_object ()
-{
-    write_libobj=${1}
-    if test "$build_libtool_libs" = yes; then
-      write_lobj=\'${2}\'
-    else
-      write_lobj=none
-    fi
-
-    if test "$build_old_libs" = yes; then
-      write_oldobj=\'${3}\'
-    else
-      write_oldobj=none
-    fi
-
-    $opt_dry_run || {
-      cat >${write_libobj}T <<EOF
-# $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-pic_object=$write_lobj
-
-# Name of the non-PIC object
-non_pic_object=$write_oldobj
-
-EOF
-      $MV "${write_libobj}T" "${write_libobj}"
-    }
-}
-
-
-##################################################
-# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
-##################################################
-
-# func_convert_core_file_wine_to_w32 ARG
-# Helper function used by file name conversion functions when $build is *nix,
-# and $host is mingw, cygwin, or some other w32 environment. Relies on a
-# correctly configured wine environment available, with the winepath program
-# in $build's $PATH.
-#
-# ARG is the $build file name to be converted to w32 format.
-# Result is available in $func_convert_core_file_wine_to_w32_result, and will
-# be empty on error (or when ARG is empty)
-func_convert_core_file_wine_to_w32 ()
-{
-  $opt_debug
-  func_convert_core_file_wine_to_w32_result="$1"
-  if test -n "$1"; then
-    # Unfortunately, winepath does not exit with a non-zero error code, so we
-    # are forced to check the contents of stdout. On the other hand, if the
-    # command is not found, the shell will set an exit code of 127 and print
-    # *an error message* to stdout. So we must check for both error code of
-    # zero AND non-empty stdout, which explains the odd construction:
-    func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
-    if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
-      func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
-        $SED -e "$lt_sed_naive_backslashify"`
-    else
-      func_convert_core_file_wine_to_w32_result=
-    fi
-  fi
-}
-# end: func_convert_core_file_wine_to_w32
-
-
-# func_convert_core_path_wine_to_w32 ARG
-# Helper function used by path conversion functions when $build is *nix, and
-# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
-# configured wine environment available, with the winepath program in $build's
-# $PATH. Assumes ARG has no leading or trailing path separator characters.
-#
-# ARG is path to be converted from $build format to win32.
-# Result is available in $func_convert_core_path_wine_to_w32_result.
-# Unconvertible file (directory) names in ARG are skipped; if no directory names
-# are convertible, then the result may be empty.
-func_convert_core_path_wine_to_w32 ()
-{
-  $opt_debug
-  # unfortunately, winepath doesn't convert paths, only file names
-  func_convert_core_path_wine_to_w32_result=""
-  if test -n "$1"; then
-    oldIFS=$IFS
-    IFS=:
-    for func_convert_core_path_wine_to_w32_f in $1; do
-      IFS=$oldIFS
-      func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
-      if test -n "$func_convert_core_file_wine_to_w32_result" ; then
-        if test -z "$func_convert_core_path_wine_to_w32_result"; then
-          func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
-        else
-          func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
-        fi
-      fi
-    done
-    IFS=$oldIFS
-  fi
-}
-# end: func_convert_core_path_wine_to_w32
-
-
-# func_cygpath ARGS...
-# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
-# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
-# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
-# (2), returns the Cygwin file name or path in func_cygpath_result (input
-# file name or path is assumed to be in w32 format, as previously converted
-# from $build's *nix or MSYS format). In case (3), returns the w32 file name
-# or path in func_cygpath_result (input file name or path is assumed to be in
-# Cygwin format). Returns an empty string on error.
-#
-# ARGS are passed to cygpath, with the last one being the file name or path to
-# be converted.
-#
-# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
-# environment variable; do not put it in $PATH.
-func_cygpath ()
-{
-  $opt_debug
-  if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
-    func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
-    if test "$?" -ne 0; then
-      # on failure, ensure result is empty
-      func_cygpath_result=
-    fi
-  else
-    func_cygpath_result=
-    func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
-  fi
-}
-#end: func_cygpath
-
-
-# func_convert_core_msys_to_w32 ARG
-# Convert file name or path ARG from MSYS format to w32 format.  Return
-# result in func_convert_core_msys_to_w32_result.
-func_convert_core_msys_to_w32 ()
-{
-  $opt_debug
-  # awkward: cmd appends spaces to result
-  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
-    $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
-}
-#end: func_convert_core_msys_to_w32
-
-
-# func_convert_file_check ARG1 ARG2
-# Verify that ARG1 (a file name in $build format) was converted to $host
-# format in ARG2. Otherwise, emit an error message, but continue (resetting
-# func_to_host_file_result to ARG1).
-func_convert_file_check ()
-{
-  $opt_debug
-  if test -z "$2" && test -n "$1" ; then
-    func_error "Could not determine host file name corresponding to"
-    func_error "  \`$1'"
-    func_error "Continuing, but uninstalled executables may not work."
-    # Fallback:
-    func_to_host_file_result="$1"
-  fi
-}
-# end func_convert_file_check
-
-
-# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
-# Verify that FROM_PATH (a path in $build format) was converted to $host
-# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
-# func_to_host_file_result to a simplistic fallback value (see below).
-func_convert_path_check ()
-{
-  $opt_debug
-  if test -z "$4" && test -n "$3"; then
-    func_error "Could not determine the host path corresponding to"
-    func_error "  \`$3'"
-    func_error "Continuing, but uninstalled executables may not work."
-    # Fallback.  This is a deliberately simplistic "conversion" and
-    # should not be "improved".  See libtool.info.
-    if test "x$1" != "x$2"; then
-      lt_replace_pathsep_chars="s|$1|$2|g"
-      func_to_host_path_result=`echo "$3" |
-        $SED -e "$lt_replace_pathsep_chars"`
-    else
-      func_to_host_path_result="$3"
-    fi
-  fi
-}
-# end func_convert_path_check
-
-
-# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
-# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
-# and appending REPL if ORIG matches BACKPAT.
-func_convert_path_front_back_pathsep ()
-{
-  $opt_debug
-  case $4 in
-  $1 ) func_to_host_path_result="$3$func_to_host_path_result"
-    ;;
-  esac
-  case $4 in
-  $2 ) func_append func_to_host_path_result "$3"
-    ;;
-  esac
-}
-# end func_convert_path_front_back_pathsep
-
-
-##################################################
-# $build to $host FILE NAME CONVERSION FUNCTIONS #
-##################################################
-# invoked via `$to_host_file_cmd ARG'
-#
-# In each case, ARG is the path to be converted from $build to $host format.
-# Result will be available in $func_to_host_file_result.
-
-
-# func_to_host_file ARG
-# Converts the file name ARG from $build format to $host format. Return result
-# in func_to_host_file_result.
-func_to_host_file ()
-{
-  $opt_debug
-  $to_host_file_cmd "$1"
-}
-# end func_to_host_file
-
-
-# func_to_tool_file ARG LAZY
-# converts the file name ARG from $build format to toolchain format. Return
-# result in func_to_tool_file_result.  If the conversion in use is listed
-# in (the comma separated) LAZY, no conversion takes place.
-func_to_tool_file ()
-{
-  $opt_debug
-  case ,$2, in
-    *,"$to_tool_file_cmd",*)
-      func_to_tool_file_result=$1
-      ;;
-    *)
-      $to_tool_file_cmd "$1"
-      func_to_tool_file_result=$func_to_host_file_result
-      ;;
-  esac
-}
-# end func_to_tool_file
-
-
-# func_convert_file_noop ARG
-# Copy ARG to func_to_host_file_result.
-func_convert_file_noop ()
-{
-  func_to_host_file_result="$1"
-}
-# end func_convert_file_noop
-
-
-# func_convert_file_msys_to_w32 ARG
-# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
-# conversion to w32 is not available inside the cwrapper.  Returns result in
-# func_to_host_file_result.
-func_convert_file_msys_to_w32 ()
-{
-  $opt_debug
-  func_to_host_file_result="$1"
-  if test -n "$1"; then
-    func_convert_core_msys_to_w32 "$1"
-    func_to_host_file_result="$func_convert_core_msys_to_w32_result"
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_msys_to_w32
-
-
-# func_convert_file_cygwin_to_w32 ARG
-# Convert file name ARG from Cygwin to w32 format.  Returns result in
-# func_to_host_file_result.
-func_convert_file_cygwin_to_w32 ()
-{
-  $opt_debug
-  func_to_host_file_result="$1"
-  if test -n "$1"; then
-    # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
-    # LT_CYGPATH in this case.
-    func_to_host_file_result=`cygpath -m "$1"`
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_cygwin_to_w32
-
-
-# func_convert_file_nix_to_w32 ARG
-# Convert file name ARG from *nix to w32 format.  Requires a wine environment
-# and a working winepath. Returns result in func_to_host_file_result.
-func_convert_file_nix_to_w32 ()
-{
-  $opt_debug
-  func_to_host_file_result="$1"
-  if test -n "$1"; then
-    func_convert_core_file_wine_to_w32 "$1"
-    func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_nix_to_w32
-
-
-# func_convert_file_msys_to_cygwin ARG
-# Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
-# Returns result in func_to_host_file_result.
-func_convert_file_msys_to_cygwin ()
-{
-  $opt_debug
-  func_to_host_file_result="$1"
-  if test -n "$1"; then
-    func_convert_core_msys_to_w32 "$1"
-    func_cygpath -u "$func_convert_core_msys_to_w32_result"
-    func_to_host_file_result="$func_cygpath_result"
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_msys_to_cygwin
-
-
-# func_convert_file_nix_to_cygwin ARG
-# Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
-# in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
-# in func_to_host_file_result.
-func_convert_file_nix_to_cygwin ()
-{
-  $opt_debug
-  func_to_host_file_result="$1"
-  if test -n "$1"; then
-    # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
-    func_convert_core_file_wine_to_w32 "$1"
-    func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
-    func_to_host_file_result="$func_cygpath_result"
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_nix_to_cygwin
-
-
-#############################################
-# $build to $host PATH CONVERSION FUNCTIONS #
-#############################################
-# invoked via `$to_host_path_cmd ARG'
-#
-# In each case, ARG is the path to be converted from $build to $host format.
-# The result will be available in $func_to_host_path_result.
-#
-# Path separators are also converted from $build format to $host format.  If
-# ARG begins or ends with a path separator character, it is preserved (but
-# converted to $host format) on output.
-#
-# All path conversion functions are named using the following convention:
-#   file name conversion function    : func_convert_file_X_to_Y ()
-#   path conversion function         : func_convert_path_X_to_Y ()
-# where, for any given $build/$host combination the 'X_to_Y' value is the
-# same.  If conversion functions are added for new $build/$host combinations,
-# the two new functions must follow this pattern, or func_init_to_host_path_cmd
-# will break.
-
-
-# func_init_to_host_path_cmd
-# Ensures that function "pointer" variable $to_host_path_cmd is set to the
-# appropriate value, based on the value of $to_host_file_cmd.
-to_host_path_cmd=
-func_init_to_host_path_cmd ()
-{
-  $opt_debug
-  if test -z "$to_host_path_cmd"; then
-    func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
-    to_host_path_cmd="func_convert_path_${func_stripname_result}"
-  fi
-}
-
-
-# func_to_host_path ARG
-# Converts the path ARG from $build format to $host format. Return result
-# in func_to_host_path_result.
-func_to_host_path ()
-{
-  $opt_debug
-  func_init_to_host_path_cmd
-  $to_host_path_cmd "$1"
-}
-# end func_to_host_path
-
-
-# func_convert_path_noop ARG
-# Copy ARG to func_to_host_path_result.
-func_convert_path_noop ()
-{
-  func_to_host_path_result="$1"
-}
-# end func_convert_path_noop
-
-
-# func_convert_path_msys_to_w32 ARG
-# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
-# conversion to w32 is not available inside the cwrapper.  Returns result in
-# func_to_host_path_result.
-func_convert_path_msys_to_w32 ()
-{
-  $opt_debug
-  func_to_host_path_result="$1"
-  if test -n "$1"; then
-    # Remove leading and trailing path separator characters from ARG.  MSYS
-    # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
-    # and winepath ignores them completely.
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result="$func_convert_core_msys_to_w32_result"
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_msys_to_w32
-
-
-# func_convert_path_cygwin_to_w32 ARG
-# Convert path ARG from Cygwin to w32 format.  Returns result in
-# func_to_host_file_result.
-func_convert_path_cygwin_to_w32 ()
-{
-  $opt_debug
-  func_to_host_path_result="$1"
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_cygwin_to_w32
-
-
-# func_convert_path_nix_to_w32 ARG
-# Convert path ARG from *nix to w32 format.  Requires a wine environment and
-# a working winepath.  Returns result in func_to_host_file_result.
-func_convert_path_nix_to_w32 ()
-{
-  $opt_debug
-  func_to_host_path_result="$1"
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_nix_to_w32
-
-
-# func_convert_path_msys_to_cygwin ARG
-# Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
-# Returns result in func_to_host_file_result.
-func_convert_path_msys_to_cygwin ()
-{
-  $opt_debug
-  func_to_host_path_result="$1"
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-    func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
-    func_to_host_path_result="$func_cygpath_result"
-    func_convert_path_check : : \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
-  fi
-}
-# end func_convert_path_msys_to_cygwin
-
-
-# func_convert_path_nix_to_cygwin ARG
-# Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
-# a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
-# func_to_host_file_result.
-func_convert_path_nix_to_cygwin ()
-{
-  $opt_debug
-  func_to_host_path_result="$1"
-  if test -n "$1"; then
-    # Remove leading and trailing path separator characters from
-    # ARG. msys behavior is inconsistent here, cygpath turns them
-    # into '.;' and ';.', and winepath ignores them completely.
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-    func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
-    func_to_host_path_result="$func_cygpath_result"
-    func_convert_path_check : : \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
-  fi
-}
-# end func_convert_path_nix_to_cygwin
-
-
-# func_mode_compile arg...
-func_mode_compile ()
-{
-    $opt_debug
-    # Get the compilation command and the source file.
-    base_compile=
-    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
-    suppress_opt=yes
-    suppress_output=
-    arg_mode=normal
-    libobj=
-    later=
-    pie_flag=
-
-    for arg
-    do
-      case $arg_mode in
-      arg  )
-       # do not "continue".  Instead, add this to base_compile
-       lastarg="$arg"
-       arg_mode=normal
-       ;;
-
-      target )
-       libobj="$arg"
-       arg_mode=normal
-       continue
-       ;;
-
-      normal )
-       # Accept any command-line options.
-       case $arg in
-       -o)
-         test -n "$libobj" && \
-           func_fatal_error "you cannot specify \`-o' more than once"
-         arg_mode=target
-         continue
-         ;;
-
-       -pie | -fpie | -fPIE)
-          func_append pie_flag " $arg"
-         continue
-         ;;
-
-       -shared | -static | -prefer-pic | -prefer-non-pic)
-         func_append later " $arg"
-         continue
-         ;;
-
-       -no-suppress)
-         suppress_opt=no
-         continue
-         ;;
-
-       -Xcompiler)
-         arg_mode=arg  #  the next one goes into the "base_compile" arg list
-         continue      #  The current "srcfile" will either be retained or
-         ;;            #  replaced later.  I would guess that would be a bug.
-
-       -Wc,*)
-         func_stripname '-Wc,' '' "$arg"
-         args=$func_stripname_result
-         lastarg=
-         save_ifs="$IFS"; IFS=','
-         for arg in $args; do
-           IFS="$save_ifs"
-           func_append_quoted lastarg "$arg"
-         done
-         IFS="$save_ifs"
-         func_stripname ' ' '' "$lastarg"
-         lastarg=$func_stripname_result
-
-         # Add the arguments to base_compile.
-         func_append base_compile " $lastarg"
-         continue
-         ;;
-
-       *)
-         # Accept the current argument as the source file.
-         # The previous "srcfile" becomes the current argument.
-         #
-         lastarg="$srcfile"
-         srcfile="$arg"
-         ;;
-       esac  #  case $arg
-       ;;
-      esac    #  case $arg_mode
-
-      # Aesthetically quote the previous argument.
-      func_append_quoted base_compile "$lastarg"
-    done # for arg
-
-    case $arg_mode in
-    arg)
-      func_fatal_error "you must specify an argument for -Xcompile"
-      ;;
-    target)
-      func_fatal_error "you must specify a target with \`-o'"
-      ;;
-    *)
-      # Get the name of the library object.
-      test -z "$libobj" && {
-       func_basename "$srcfile"
-       libobj="$func_basename_result"
-      }
-      ;;
-    esac
-
-    # Recognize several different file suffixes.
-    # If the user specifies -o file.o, it is replaced with file.lo
-    case $libobj in
-    *.[cCFSifmso] | \
-    *.ada | *.adb | *.ads | *.asm | \
-    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
-      func_xform "$libobj"
-      libobj=$func_xform_result
-      ;;
-    esac
-
-    case $libobj in
-    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
-    *)
-      func_fatal_error "cannot determine name of library object from \`$libobj'"
-      ;;
-    esac
-
-    func_infer_tag $base_compile
-
-    for arg in $later; do
-      case $arg in
-      -shared)
-       test "$build_libtool_libs" != yes && \
-         func_fatal_configuration "can not build a shared library"
-       build_old_libs=no
-       continue
-       ;;
-
-      -static)
-       build_libtool_libs=no
-       build_old_libs=yes
-       continue
-       ;;
-
-      -prefer-pic)
-       pic_mode=yes
-       continue
-       ;;
-
-      -prefer-non-pic)
-       pic_mode=no
-       continue
-       ;;
-      esac
-    done
-
-    func_quote_for_eval "$libobj"
-    test "X$libobj" != "X$func_quote_for_eval_result" \
-      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'   &()|`$[]' \
-      && func_warning "libobj name \`$libobj' may not contain shell special characters."
-    func_dirname_and_basename "$obj" "/" ""
-    objname="$func_basename_result"
-    xdir="$func_dirname_result"
-    lobj=${xdir}$objdir/$objname
-
-    test -z "$base_compile" && \
-      func_fatal_help "you must specify a compilation command"
-
-    # Delete any leftover library objects.
-    if test "$build_old_libs" = yes; then
-      removelist="$obj $lobj $libobj ${libobj}T"
-    else
-      removelist="$lobj $libobj ${libobj}T"
-    fi
-
-    # On Cygwin there's no "real" PIC flag so we must build both object types
-    case $host_os in
-    cygwin* | mingw* | pw32* | os2* | cegcc*)
-      pic_mode=default
-      ;;
-    esac
-    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
-      # non-PIC code in shared libraries is not supported
-      pic_mode=default
-    fi
-
-    # Calculate the filename of the output object if compiler does
-    # not support -o with -c
-    if test "$compiler_c_o" = no; then
-      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
-      lockfile="$output_obj.lock"
-    else
-      output_obj=
-      need_locks=no
-      lockfile=
-    fi
-
-    # Lock this critical section if it is needed
-    # We use this script file to make the link, it avoids creating a new file
-    if test "$need_locks" = yes; then
-      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
-       func_echo "Waiting for $lockfile to be removed"
-       sleep 2
-      done
-    elif test "$need_locks" = warn; then
-      if test -f "$lockfile"; then
-       $ECHO "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-       $opt_dry_run || $RM $removelist
-       exit $EXIT_FAILURE
-      fi
-      func_append removelist " $output_obj"
-      $ECHO "$srcfile" > "$lockfile"
-    fi
-
-    $opt_dry_run || $RM $removelist
-    func_append removelist " $lockfile"
-    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
-
-    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
-    srcfile=$func_to_tool_file_result
-    func_quote_for_eval "$srcfile"
-    qsrcfile=$func_quote_for_eval_result
-
-    # Only build a PIC object if we are building libtool libraries.
-    if test "$build_libtool_libs" = yes; then
-      # Without this assignment, base_compile gets emptied.
-      fbsd_hideous_sh_bug=$base_compile
-
-      if test "$pic_mode" != no; then
-       command="$base_compile $qsrcfile $pic_flag"
-      else
-       # Don't build PIC code
-       command="$base_compile $qsrcfile"
-      fi
-
-      func_mkdir_p "$xdir$objdir"
-
-      if test -z "$output_obj"; then
-       # Place PIC objects in $objdir
-       func_append command " -o $lobj"
-      fi
-
-      func_show_eval_locale "$command" \
-          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
-
-      if test "$need_locks" = warn &&
-        test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-       $ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-       $opt_dry_run || $RM $removelist
-       exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed, then go on to compile the next one
-      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
-       func_show_eval '$MV "$output_obj" "$lobj"' \
-         'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-      fi
-
-      # Allow error messages only from the first compilation.
-      if test "$suppress_opt" = yes; then
-       suppress_output=' >/dev/null 2>&1'
-      fi
-    fi
-
-    # Only build a position-dependent object if we build old libraries.
-    if test "$build_old_libs" = yes; then
-      if test "$pic_mode" != yes; then
-       # Don't build PIC code
-       command="$base_compile $qsrcfile$pie_flag"
-      else
-       command="$base_compile $qsrcfile $pic_flag"
-      fi
-      if test "$compiler_c_o" = yes; then
-       func_append command " -o $obj"
-      fi
-
-      # Suppress compiler output if we already did a PIC compilation.
-      func_append command "$suppress_output"
-      func_show_eval_locale "$command" \
-        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
-
-      if test "$need_locks" = warn &&
-        test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-       $ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-       $opt_dry_run || $RM $removelist
-       exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed
-      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
-       func_show_eval '$MV "$output_obj" "$obj"' \
-         'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-      fi
-    fi
-
-    $opt_dry_run || {
-      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
-
-      # Unlock the critical section if it was locked
-      if test "$need_locks" != no; then
-       removelist=$lockfile
-        $RM "$lockfile"
-      fi
-    }
-
-    exit $EXIT_SUCCESS
-}
-
-$opt_help || {
-  test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
-}
-
-func_mode_help ()
-{
-    # We need to display help for each of the modes.
-    case $opt_mode in
-      "")
-        # Generic help is extracted from the usage comments
-        # at the start of this file.
-        func_help
-        ;;
-
-      clean)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
-        ;;
-
-      compile)
-      $ECHO \
-"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
-  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-  -no-suppress      do not suppress compiler output for multiple passes
-  -prefer-pic       try to build PIC objects only
-  -prefer-non-pic   try to build non-PIC objects only
-  -shared           do not build a \`.o' file suitable for static linking
-  -static           only build a \`.o' file suitable for static linking
-  -Wc,FLAG          pass FLAG directly to the compiler
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
-        ;;
-
-      execute)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
-  -dlopen FILE      add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
-        ;;
-
-      finish)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed."
-        ;;
-
-      install)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command.  The first component should be
-either the \`install' or \`cp' program.
-
-The following components of INSTALL-COMMAND are treated specially:
-
-  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
-        ;;
-
-      link)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
-  -all-static       do not do any dynamic linking at all
-  -avoid-version    do not add a version suffix if possible
-  -bindir BINDIR    specify path to binaries directory (for systems where
-                    libraries must be found in the PATH setting at runtime)
-  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
-  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
-  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-  -export-symbols SYMFILE
-                    try to export only the symbols listed in SYMFILE
-  -export-symbols-regex REGEX
-                    try to export only the symbols matching REGEX
-  -LLIBDIR          search LIBDIR for required installed libraries
-  -lNAME            OUTPUT-FILE requires the installed library libNAME
-  -module           build a library that can dlopened
-  -no-fast-install  disable the fast-install mode
-  -no-install       link a not-installable executable
-  -no-undefined     declare that a library does not refer to external symbols
-  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -objectlist FILE  Use a list of object files found in FILE to specify objects
-  -precious-files-regex REGEX
-                    don't remove output files matching REGEX
-  -release RELEASE  specify package release information
-  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -shared           only do dynamic linking of libtool libraries
-  -shrext SUFFIX    override the standard shared library file extension
-  -static           do not do any dynamic linking of uninstalled libtool libraries
-  -static-libtool-libs
-                    do not do any dynamic linking of libtool libraries
-  -version-info CURRENT[:REVISION[:AGE]]
-                    specify library version info [each variable defaults to 0]
-  -weak LIBNAME     declare that the target provides the LIBNAME interface
-  -Wc,FLAG
-  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
-  -Wl,FLAG
-  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
-  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename.  Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
-        ;;
-
-      uninstall)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
-        ;;
-
-      *)
-        func_fatal_help "invalid operation mode \`$opt_mode'"
-        ;;
-    esac
-
-    echo
-    $ECHO "Try \`$progname --help' for more information about other modes."
-}
-
-# Now that we've collected a possible --mode arg, show help if necessary
-if $opt_help; then
-  if test "$opt_help" = :; then
-    func_mode_help
-  else
-    {
-      func_help noexit
-      for opt_mode in compile link execute install finish uninstall clean; do
-       func_mode_help
-      done
-    } | sed -n '1p; 2,$s/^Usage:/  or: /p'
-    {
-      func_help noexit
-      for opt_mode in compile link execute install finish uninstall clean; do
-       echo
-       func_mode_help
-      done
-    } |
-    sed '1d
-      /^When reporting/,/^Report/{
-       H
-       d
-      }
-      $x
-      /information about other modes/d
-      /more detailed .*MODE/d
-      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
-  fi
-  exit $?
-fi
-
-
-# func_mode_execute arg...
-func_mode_execute ()
-{
-    $opt_debug
-    # The first argument is the command name.
-    cmd="$nonopt"
-    test -z "$cmd" && \
-      func_fatal_help "you must specify a COMMAND"
-
-    # Handle -dlopen flags immediately.
-    for file in $opt_dlopen; do
-      test -f "$file" \
-       || func_fatal_help "\`$file' is not a file"
-
-      dir=
-      case $file in
-      *.la)
-       func_resolve_sysroot "$file"
-       file=$func_resolve_sysroot_result
-
-       # Check to see that this really is a libtool archive.
-       func_lalib_unsafe_p "$file" \
-         || func_fatal_help "\`$lib' is not a valid libtool archive"
-
-       # Read the libtool library.
-       dlname=
-       library_names=
-       func_source "$file"
-
-       # Skip this library if it cannot be dlopened.
-       if test -z "$dlname"; then
-         # Warn if it was a shared library.
-         test -n "$library_names" && \
-           func_warning "\`$file' was not linked with \`-export-dynamic'"
-         continue
-       fi
-
-       func_dirname "$file" "" "."
-       dir="$func_dirname_result"
-
-       if test -f "$dir/$objdir/$dlname"; then
-         func_append dir "/$objdir"
-       else
-         if test ! -f "$dir/$dlname"; then
-           func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
-         fi
-       fi
-       ;;
-
-      *.lo)
-       # Just add the directory containing the .lo file.
-       func_dirname "$file" "" "."
-       dir="$func_dirname_result"
-       ;;
-
-      *)
-       func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
-       continue
-       ;;
-      esac
-
-      # Get the absolute pathname.
-      absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir="$absdir"
-
-      # Now add the directory to shlibpath_var.
-      if eval "test -z \"\$$shlibpath_var\""; then
-       eval "$shlibpath_var=\"\$dir\""
-      else
-       eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-      fi
-    done
-
-    # This variable tells wrapper scripts just to set shlibpath_var
-    # rather than running their programs.
-    libtool_execute_magic="$magic"
-
-    # Check if any of the arguments is a wrapper script.
-    args=
-    for file
-    do
-      case $file in
-      -* | *.la | *.lo ) ;;
-      *)
-       # Do a test to see if this is really a libtool program.
-       if func_ltwrapper_script_p "$file"; then
-         func_source "$file"
-         # Transform arg to wrapped name.
-         file="$progdir/$program"
-       elif func_ltwrapper_executable_p "$file"; then
-         func_ltwrapper_scriptname "$file"
-         func_source "$func_ltwrapper_scriptname_result"
-         # Transform arg to wrapped name.
-         file="$progdir/$program"
-       fi
-       ;;
-      esac
-      # Quote arguments (to preserve shell metacharacters).
-      func_append_quoted args "$file"
-    done
-
-    if test "X$opt_dry_run" = Xfalse; then
-      if test -n "$shlibpath_var"; then
-       # Export the shlibpath_var.
-       eval "export $shlibpath_var"
-      fi
-
-      # Restore saved environment variables
-      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-      do
-       eval "if test \"\${save_$lt_var+set}\" = set; then
-                $lt_var=\$save_$lt_var; export $lt_var
-             else
-               $lt_unset $lt_var
-             fi"
-      done
-
-      # Now prepare to actually exec the command.
-      exec_cmd="\$cmd$args"
-    else
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-       eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
-       echo "export $shlibpath_var"
-      fi
-      $ECHO "$cmd$args"
-      exit $EXIT_SUCCESS
-    fi
-}
-
-test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
-
-
-# func_mode_finish arg...
-func_mode_finish ()
-{
-    $opt_debug
-    libs=
-    libdirs=
-    admincmds=
-
-    for opt in "$nonopt" ${1+"$@"}
-    do
-      if test -d "$opt"; then
-       func_append libdirs " $opt"
-
-      elif test -f "$opt"; then
-       if func_lalib_unsafe_p "$opt"; then
-         func_append libs " $opt"
-       else
-         func_warning "\`$opt' is not a valid libtool archive"
-       fi
-
-      else
-       func_fatal_error "invalid argument \`$opt'"
-      fi
-    done
-
-    if test -n "$libs"; then
-      if test -n "$lt_sysroot"; then
-        sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
-        sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
-      else
-        sysroot_cmd=
-      fi
-
-      # Remove sysroot references
-      if $opt_dry_run; then
-        for lib in $libs; do
-          echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
-        done
-      else
-        tmpdir=`func_mktempdir`
-        for lib in $libs; do
-         sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
-           > $tmpdir/tmp-la
-         mv -f $tmpdir/tmp-la $lib
-       done
-        ${RM}r "$tmpdir"
-      fi
-    fi
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for libdir in $libdirs; do
-       if test -n "$finish_cmds"; then
-         # Do each command in the finish commands.
-         func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
-'"$cmd"'"'
-       fi
-       if test -n "$finish_eval"; then
-         # Do the single finish_eval.
-         eval cmds=\"$finish_eval\"
-         $opt_dry_run || eval "$cmds" || func_append admincmds "
-       $cmds"
-       fi
-      done
-    fi
-
-    # Exit here if they wanted silent mode.
-    $opt_silent && exit $EXIT_SUCCESS
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      echo "----------------------------------------------------------------------"
-      echo "Libraries have been installed in:"
-      for libdir in $libdirs; do
-       $ECHO "   $libdir"
-      done
-      echo
-      echo "If you ever happen to want to link against installed libraries"
-      echo "in a given directory, LIBDIR, you must either use libtool, and"
-      echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
-      echo "flag during linking and do at least one of the following:"
-      if test -n "$shlibpath_var"; then
-       echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-       echo "     during execution"
-      fi
-      if test -n "$runpath_var"; then
-       echo "   - add LIBDIR to the \`$runpath_var' environment variable"
-       echo "     during linking"
-      fi
-      if test -n "$hardcode_libdir_flag_spec"; then
-       libdir=LIBDIR
-       eval flag=\"$hardcode_libdir_flag_spec\"
-
-       $ECHO "   - use the \`$flag' linker flag"
-      fi
-      if test -n "$admincmds"; then
-       $ECHO "   - have your system administrator run these commands:$admincmds"
-      fi
-      if test -f /etc/ld.so.conf; then
-       echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-      fi
-      echo
-
-      echo "See any operating system documentation about shared libraries for"
-      case $host in
-       solaris2.[6789]|solaris2.1[0-9])
-         echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
-         echo "pages."
-         ;;
-       *)
-         echo "more information, such as the ld(1) and ld.so(8) manual pages."
-         ;;
-      esac
-      echo "----------------------------------------------------------------------"
-    fi
-    exit $EXIT_SUCCESS
-}
-
-test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
-
-
-# func_mode_install arg...
-func_mode_install ()
-{
-    $opt_debug
-    # There may be an optional sh(1) argument at the beginning of
-    # install_prog (especially on Windows NT).
-    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
-       # Allow the use of GNU shtool's install command.
-       case $nonopt in *shtool*) :;; *) false;; esac; then
-      # Aesthetically quote it.
-      func_quote_for_eval "$nonopt"
-      install_prog="$func_quote_for_eval_result "
-      arg=$1
-      shift
-    else
-      install_prog=
-      arg=$nonopt
-    fi
-
-    # The real first argument should be the name of the installation program.
-    # Aesthetically quote it.
-    func_quote_for_eval "$arg"
-    func_append install_prog "$func_quote_for_eval_result"
-    install_shared_prog=$install_prog
-    case " $install_prog " in
-      *[\\\ /]cp\ *) install_cp=: ;;
-      *) install_cp=false ;;
-    esac
-
-    # We need to accept at least all the BSD install flags.
-    dest=
-    files=
-    opts=
-    prev=
-    install_type=
-    isdir=no
-    stripme=
-    no_mode=:
-    for arg
-    do
-      arg2=
-      if test -n "$dest"; then
-       func_append files " $dest"
-       dest=$arg
-       continue
-      fi
-
-      case $arg in
-      -d) isdir=yes ;;
-      -f)
-       if $install_cp; then :; else
-         prev=$arg
-       fi
-       ;;
-      -g | -m | -o)
-       prev=$arg
-       ;;
-      -s)
-       stripme=" -s"
-       continue
-       ;;
-      -*)
-       ;;
-      *)
-       # If the previous option needed an argument, then skip it.
-       if test -n "$prev"; then
-         if test "x$prev" = x-m && test -n "$install_override_mode"; then
-           arg2=$install_override_mode
-           no_mode=false
-         fi
-         prev=
-       else
-         dest=$arg
-         continue
-       fi
-       ;;
-      esac
-
-      # Aesthetically quote the argument.
-      func_quote_for_eval "$arg"
-      func_append install_prog " $func_quote_for_eval_result"
-      if test -n "$arg2"; then
-       func_quote_for_eval "$arg2"
-      fi
-      func_append install_shared_prog " $func_quote_for_eval_result"
-    done
-
-    test -z "$install_prog" && \
-      func_fatal_help "you must specify an install program"
-
-    test -n "$prev" && \
-      func_fatal_help "the \`$prev' option requires an argument"
-
-    if test -n "$install_override_mode" && $no_mode; then
-      if $install_cp; then :; else
-       func_quote_for_eval "$install_override_mode"
-       func_append install_shared_prog " -m $func_quote_for_eval_result"
-      fi
-    fi
-
-    if test -z "$files"; then
-      if test -z "$dest"; then
-       func_fatal_help "no file or destination specified"
-      else
-       func_fatal_help "you must specify a destination"
-      fi
-    fi
-
-    # Strip any trailing slash from the destination.
-    func_stripname '' '/' "$dest"
-    dest=$func_stripname_result
-
-    # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=yes
-    if test "$isdir" = yes; then
-      destdir="$dest"
-      destname=
-    else
-      func_dirname_and_basename "$dest" "" "."
-      destdir="$func_dirname_result"
-      destname="$func_basename_result"
-
-      # Not a directory, so check to see that there is only one file specified.
-      set dummy $files; shift
-      test "$#" -gt 1 && \
-       func_fatal_help "\`$dest' is not a directory"
-    fi
-    case $destdir in
-    [\\/]* | [A-Za-z]:[\\/]*) ;;
-    *)
-      for file in $files; do
-       case $file in
-       *.lo) ;;
-       *)
-         func_fatal_help "\`$destdir' must be an absolute directory name"
-         ;;
-       esac
-      done
-      ;;
-    esac
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    staticlibs=
-    future_libdirs=
-    current_libdirs=
-    for file in $files; do
-
-      # Do each installation.
-      case $file in
-      *.$libext)
-       # Do the static libraries later.
-       func_append staticlibs " $file"
-       ;;
-
-      *.la)
-       func_resolve_sysroot "$file"
-       file=$func_resolve_sysroot_result
-
-       # Check to see that this really is a libtool archive.
-       func_lalib_unsafe_p "$file" \
-         || func_fatal_help "\`$file' is not a valid libtool archive"
-
-       library_names=
-       old_library=
-       relink_command=
-       func_source "$file"
-
-       # Add the libdir to current_libdirs if it is the destination.
-       if test "X$destdir" = "X$libdir"; then
-         case "$current_libdirs " in
-         *" $libdir "*) ;;
-         *) func_append current_libdirs " $libdir" ;;
-         esac
-       else
-         # Note the libdir as a future libdir.
-         case "$future_libdirs " in
-         *" $libdir "*) ;;
-         *) func_append future_libdirs " $libdir" ;;
-         esac
-       fi
-
-       func_dirname "$file" "/" ""
-       dir="$func_dirname_result"
-       func_append dir "$objdir"
-
-       if test -n "$relink_command"; then
-         # Determine the prefix the user has applied to our future dir.
-         inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
-
-         # Don't allow the user to place us outside of our expected
-         # location b/c this prevents finding dependent libraries that
-         # are installed to the same prefix.
-         # At present, this check doesn't affect windows .dll's that
-         # are installed into $libdir/../bin (currently, that works fine)
-         # but it's something to keep an eye on.
-         test "$inst_prefix_dir" = "$destdir" && \
-           func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
-
-         if test -n "$inst_prefix_dir"; then
-           # Stick the inst_prefix_dir data into the link command.
-           relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
-         else
-           relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
-         fi
-
-         func_warning "relinking \`$file'"
-         func_show_eval "$relink_command" \
-           'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
-       fi
-
-       # See the names of the shared library.
-       set dummy $library_names; shift
-       if test -n "$1"; then
-         realname="$1"
-         shift
-
-         srcname="$realname"
-         test -n "$relink_command" && srcname="$realname"T
-
-         # Install the shared library and build the symlinks.
-         func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
-             'exit $?'
-         tstripme="$stripme"
-         case $host_os in
-         cygwin* | mingw* | pw32* | cegcc*)
-           case $realname in
-           *.dll.a)
-             tstripme=""
-             ;;
-           esac
-           ;;
-         esac
-         if test -n "$tstripme" && test -n "$striplib"; then
-           func_show_eval "$striplib $destdir/$realname" 'exit $?'
-         fi
-
-         if test "$#" -gt 0; then
-           # Delete the old symlinks, and create new ones.
-           # Try `ln -sf' first, because the `ln' binary might depend on
-           # the symlink we replace!  Solaris /bin/ln does not understand -f,
-           # so we also need to try rm && ln -s.
-           for linkname
-           do
-             test "$linkname" != "$realname" \
-               && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
-           done
-         fi
-
-         # Do each command in the postinstall commands.
-         lib="$destdir/$realname"
-         func_execute_cmds "$postinstall_cmds" 'exit $?'
-       fi
-
-       # Install the pseudo-library for information purposes.
-       func_basename "$file"
-       name="$func_basename_result"
-       instname="$dir/$name"i
-       func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
-
-       # Maybe install the static library, too.
-       test -n "$old_library" && func_append staticlibs " $dir/$old_library"
-       ;;
-
-      *.lo)
-       # Install (i.e. copy) a libtool object.
-
-       # Figure out destination file name, if it wasn't already specified.
-       if test -n "$destname"; then
-         destfile="$destdir/$destname"
-       else
-         func_basename "$file"
-         destfile="$func_basename_result"
-         destfile="$destdir/$destfile"
-       fi
-
-       # Deduce the name of the destination old-style object file.
-       case $destfile in
-       *.lo)
-         func_lo2o "$destfile"
-         staticdest=$func_lo2o_result
-         ;;
-       *.$objext)
-         staticdest="$destfile"
-         destfile=
-         ;;
-       *)
-         func_fatal_help "cannot copy a libtool object to \`$destfile'"
-         ;;
-       esac
-
-       # Install the libtool object if requested.
-       test -n "$destfile" && \
-         func_show_eval "$install_prog $file $destfile" 'exit $?'
-
-       # Install the old object if enabled.
-       if test "$build_old_libs" = yes; then
-         # Deduce the name of the old-style object file.
-         func_lo2o "$file"
-         staticobj=$func_lo2o_result
-         func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
-       fi
-       exit $EXIT_SUCCESS
-       ;;
-
-      *)
-       # Figure out destination file name, if it wasn't already specified.
-       if test -n "$destname"; then
-         destfile="$destdir/$destname"
-       else
-         func_basename "$file"
-         destfile="$func_basename_result"
-         destfile="$destdir/$destfile"
-       fi
-
-       # If the file is missing, and there is a .exe on the end, strip it
-       # because it is most likely a libtool script we actually want to
-       # install
-       stripped_ext=""
-       case $file in
-         *.exe)
-           if test ! -f "$file"; then
-             func_stripname '' '.exe' "$file"
-             file=$func_stripname_result
-             stripped_ext=".exe"
-           fi
-           ;;
-       esac
-
-       # Do a test to see if this is really a libtool program.
-       case $host in
-       *cygwin* | *mingw*)
-           if func_ltwrapper_executable_p "$file"; then
-             func_ltwrapper_scriptname "$file"
-             wrapper=$func_ltwrapper_scriptname_result
-           else
-             func_stripname '' '.exe' "$file"
-             wrapper=$func_stripname_result
-           fi
-           ;;
-       *)
-           wrapper=$file
-           ;;
-       esac
-       if func_ltwrapper_script_p "$wrapper"; then
-         notinst_deplibs=
-         relink_command=
-
-         func_source "$wrapper"
-
-         # Check the variables that should have been set.
-         test -z "$generated_by_libtool_version" && \
-           func_fatal_error "invalid libtool wrapper script \`$wrapper'"
-
-         finalize=yes
-         for lib in $notinst_deplibs; do
-           # Check to see that each library is installed.
-           libdir=
-           if test -f "$lib"; then
-             func_source "$lib"
-           fi
-           libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
-           if test -n "$libdir" && test ! -f "$libfile"; then
-             func_warning "\`$lib' has not been installed in \`$libdir'"
-             finalize=no
-           fi
-         done
-
-         relink_command=
-         func_source "$wrapper"
-
-         outputname=
-         if test "$fast_install" = no && test -n "$relink_command"; then
-           $opt_dry_run || {
-             if test "$finalize" = yes; then
-               tmpdir=`func_mktempdir`
-               func_basename "$file$stripped_ext"
-               file="$func_basename_result"
-               outputname="$tmpdir/$file"
-               # Replace the output file specification.
-               relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
-
-               $opt_silent || {
-                 func_quote_for_expand "$relink_command"
-                 eval "func_echo $func_quote_for_expand_result"
-               }
-               if eval "$relink_command"; then :
-                 else
-                 func_error "error: relink \`$file' with the above command before installing it"
-                 $opt_dry_run || ${RM}r "$tmpdir"
-                 continue
-               fi
-               file="$outputname"
-             else
-               func_warning "cannot relink \`$file'"
-             fi
-           }
-         else
-           # Install the binary that we compiled earlier.
-           file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
-         fi
-       fi
-
-       # remove .exe since cygwin /usr/bin/install will append another
-       # one anyway
-       case $install_prog,$host in
-       */usr/bin/install*,*cygwin*)
-         case $file:$destfile in
-         *.exe:*.exe)
-           # this is ok
-           ;;
-         *.exe:*)
-           destfile=$destfile.exe
-           ;;
-         *:*.exe)
-           func_stripname '' '.exe' "$destfile"
-           destfile=$func_stripname_result
-           ;;
-         esac
-         ;;
-       esac
-       func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
-       $opt_dry_run || if test -n "$outputname"; then
-         ${RM}r "$tmpdir"
-       fi
-       ;;
-      esac
-    done
-
-    for file in $staticlibs; do
-      func_basename "$file"
-      name="$func_basename_result"
-
-      # Set up the ranlib parameters.
-      oldlib="$destdir/$name"
-      func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
-      tool_oldlib=$func_to_tool_file_result
-
-      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
-
-      if test -n "$stripme" && test -n "$old_striplib"; then
-       func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
-      fi
-
-      # Do each command in the postinstall commands.
-      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
-    done
-
-    test -n "$future_libdirs" && \
-      func_warning "remember to run \`$progname --finish$future_libdirs'"
-
-    if test -n "$current_libdirs"; then
-      # Maybe just do a dry run.
-      $opt_dry_run && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
-    else
-      exit $EXIT_SUCCESS
-    fi
-}
-
-test "$opt_mode" = install && func_mode_install ${1+"$@"}
-
-
-# func_generate_dlsyms outputname originator pic_p
-# Extract symbols from dlprefiles and create ${outputname}S.o with
-# a dlpreopen symbol table.
-func_generate_dlsyms ()
-{
-    $opt_debug
-    my_outputname="$1"
-    my_originator="$2"
-    my_pic_p="${3-no}"
-    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
-    my_dlsyms=
-
-    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-      if test -n "$NM" && test -n "$global_symbol_pipe"; then
-       my_dlsyms="${my_outputname}S.c"
-      else
-       func_error "not configured to extract global symbols from dlpreopened files"
-      fi
-    fi
-
-    if test -n "$my_dlsyms"; then
-      case $my_dlsyms in
-      "") ;;
-      *.c)
-       # Discover the nlist of each of the dlfiles.
-       nlist="$output_objdir/${my_outputname}.nm"
-
-       func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
-
-       # Parse the name list into a source file.
-       func_verbose "creating $output_objdir/$my_dlsyms"
-
-       $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
-#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
-#endif
-
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-/* External symbol declarations for the compiler. */\
-"
-
-       if test "$dlself" = yes; then
-         func_verbose "generating symbol list for \`$output'"
-
-         $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
-
-         # Add our own program objects to the symbol list.
-         progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
-         for progfile in $progfiles; do
-           func_to_tool_file "$progfile" func_convert_file_msys_to_w32
-           func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
-           $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
-         done
-
-         if test -n "$exclude_expsyms"; then
-           $opt_dry_run || {
-             eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-             eval '$MV "$nlist"T "$nlist"'
-           }
-         fi
-
-         if test -n "$export_symbols_regex"; then
-           $opt_dry_run || {
-             eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-             eval '$MV "$nlist"T "$nlist"'
-           }
-         fi
-
-         # Prepare the list of exported symbols
-         if test -z "$export_symbols"; then
-           export_symbols="$output_objdir/$outputname.exp"
-           $opt_dry_run || {
-             $RM $export_symbols
-             eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-             case $host in
-             *cygwin* | *mingw* | *cegcc* )
-                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
-               ;;
-             esac
-           }
-         else
-           $opt_dry_run || {
-             eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
-             eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
-             eval '$MV "$nlist"T "$nlist"'
-             case $host in
-               *cygwin* | *mingw* | *cegcc* )
-                 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-                 eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
-                 ;;
-             esac
-           }
-         fi
-       fi
-
-       for dlprefile in $dlprefiles; do
-         func_verbose "extracting global C symbols from \`$dlprefile'"
-         func_basename "$dlprefile"
-         name="$func_basename_result"
-          case $host in
-           *cygwin* | *mingw* | *cegcc* )
-             # if an import library, we need to obtain dlname
-             if func_win32_import_lib_p "$dlprefile"; then
-               func_tr_sh "$dlprefile"
-               eval "curr_lafile=\$libfile_$func_tr_sh_result"
-               dlprefile_dlbasename=""
-               if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
-                 # Use subshell, to avoid clobbering current variable values
-                 dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
-                 if test -n "$dlprefile_dlname" ; then
-                   func_basename "$dlprefile_dlname"
-                   dlprefile_dlbasename="$func_basename_result"
-                 else
-                   # no lafile. user explicitly requested -dlpreopen <import library>.
-                   $sharedlib_from_linklib_cmd "$dlprefile"
-                   dlprefile_dlbasename=$sharedlib_from_linklib_result
-                 fi
-               fi
-               $opt_dry_run || {
-                 if test -n "$dlprefile_dlbasename" ; then
-                   eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
-                 else
-                   func_warning "Could not compute DLL name from $name"
-                   eval '$ECHO ": $name " >> "$nlist"'
-                 fi
-                 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-                 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
-                   $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
-               }
-             else # not an import lib
-               $opt_dry_run || {
-                 eval '$ECHO ": $name " >> "$nlist"'
-                 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-                 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-               }
-             fi
-           ;;
-           *)
-             $opt_dry_run || {
-               eval '$ECHO ": $name " >> "$nlist"'
-               func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-               eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-             }
-           ;;
-          esac
-       done
-
-       $opt_dry_run || {
-         # Make sure we have at least an empty file.
-         test -f "$nlist" || : > "$nlist"
-
-         if test -n "$exclude_expsyms"; then
-           $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
-           $MV "$nlist"T "$nlist"
-         fi
-
-         # Try sorting and uniquifying the output.
-         if $GREP -v "^: " < "$nlist" |
-             if sort -k 3 </dev/null >/dev/null 2>&1; then
-               sort -k 3
-             else
-               sort +2
-             fi |
-             uniq > "$nlist"S; then
-           :
-         else
-           $GREP -v "^: " < "$nlist" > "$nlist"S
-         fi
-
-         if test -f "$nlist"S; then
-           eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
-         else
-           echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
-         fi
-
-         echo >> "$output_objdir/$my_dlsyms" "\
-
-/* The mapping between symbol names and symbols.  */
-typedef struct {
-  const char *name;
-  void *address;
-} lt_dlsymlist;
-extern LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];
-LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[] =
-{\
-  { \"$my_originator\", (void *) 0 },"
-
-         case $need_lib_prefix in
-         no)
-           eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
-           ;;
-         *)
-           eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
-           ;;
-         esac
-         echo >> "$output_objdir/$my_dlsyms" "\
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt_${my_prefix}_LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
-       } # !$opt_dry_run
-
-       pic_flag_for_symtable=
-       case "$compile_command " in
-       *" -static "*) ;;
-       *)
-         case $host in
-         # compiling the symbol table file with pic_flag works around
-         # a FreeBSD bug that causes programs to crash when -lm is
-         # linked before any other PIC object.  But we must not use
-         # pic_flag when linking with -static.  The problem exists in
-         # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-         *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
-           pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
-         *-*-hpux*)
-           pic_flag_for_symtable=" $pic_flag"  ;;
-         *)
-           if test "X$my_pic_p" != Xno; then
-             pic_flag_for_symtable=" $pic_flag"
-           fi
-           ;;
-         esac
-         ;;
-       esac
-       symtab_cflags=
-       for arg in $LTCFLAGS; do
-         case $arg in
-         -pie | -fpie | -fPIE) ;;
-         *) func_append symtab_cflags " $arg" ;;
-         esac
-       done
-
-       # Now compile the dynamic symbol file.
-       func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
-
-       # Clean up the generated files.
-       func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
-
-       # Transform the symbol file into the correct name.
-       symfileobj="$output_objdir/${my_outputname}S.$objext"
-       case $host in
-       *cygwin* | *mingw* | *cegcc* )
-         if test -f "$output_objdir/$my_outputname.def"; then
-           compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-           finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-         else
-           compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-           finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-         fi
-         ;;
-       *)
-         compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-         finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-         ;;
-       esac
-       ;;
-      *)
-       func_fatal_error "unknown suffix for \`$my_dlsyms'"
-       ;;
-      esac
-    else
-      # We keep going just in case the user didn't refer to
-      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
-      # really was required.
-
-      # Nullify the symbol file.
-      compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
-      finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
-    fi
-}
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-# Despite the name, also deal with 64 bit binaries.
-func_win32_libid ()
-{
-  $opt_debug
-  win32_libid_type="unknown"
-  win32_fileres=`file -L $1 2>/dev/null`
-  case $win32_fileres in
-  *ar\ archive\ import\ library*) # definitely import
-    win32_libid_type="x86 archive import"
-    ;;
-  *ar\ archive*) # could be an import, or static
-    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
-    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
-       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
-      func_to_tool_file "$1" func_convert_file_msys_to_w32
-      win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
-       $SED -n -e '
-           1,100{
-               / I /{
-                   s,.*,import,
-                   p
-                   q
-               }
-           }'`
-      case $win32_nmres in
-      import*)  win32_libid_type="x86 archive import";;
-      *)        win32_libid_type="x86 archive static";;
-      esac
-    fi
-    ;;
-  *DLL*)
-    win32_libid_type="x86 DLL"
-    ;;
-  *executable*) # but shell scripts are "executable" too...
-    case $win32_fileres in
-    *MS\ Windows\ PE\ Intel*)
-      win32_libid_type="x86 DLL"
-      ;;
-    esac
-    ;;
-  esac
-  $ECHO "$win32_libid_type"
-}
-
-# func_cygming_dll_for_implib ARG
-#
-# Platform-specific function to extract the
-# name of the DLL associated with the specified
-# import library ARG.
-# Invoked by eval'ing the libtool variable
-#    $sharedlib_from_linklib_cmd
-# Result is available in the variable
-#    $sharedlib_from_linklib_result
-func_cygming_dll_for_implib ()
-{
-  $opt_debug
-  sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
-}
-
-# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
-#
-# The is the core of a fallback implementation of a
-# platform-specific function to extract the name of the
-# DLL associated with the specified import library LIBNAME.
-#
-# SECTION_NAME is either .idata$6 or .idata$7, depending
-# on the platform and compiler that created the implib.
-#
-# Echos the name of the DLL associated with the
-# specified import library.
-func_cygming_dll_for_implib_fallback_core ()
-{
-  $opt_debug
-  match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
-  $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
-    $SED '/^Contents of section '"$match_literal"':/{
-      # Place marker at beginning of archive member dllname section
-      s/.*/====MARK====/
-      p
-      d
-    }
-    # These lines can sometimes be longer than 43 characters, but
-    # are always uninteresting
-    /:[         ]*file format pe[i]\{,1\}-/d
-    /^In archive [^:]*:/d
-    # Ensure marker is printed
-    /^====MARK====/p
-    # Remove all lines with less than 43 characters
-    /^.\{43\}/!d
-    # From remaining lines, remove first 43 characters
-    s/^.\{43\}//' |
-    $SED -n '
-      # Join marker and all lines until next marker into a single line
-      /^====MARK====/ b para
-      H
-      $ b para
-      b
-      :para
-      x
-      s/\n//g
-      # Remove the marker
-      s/^====MARK====//
-      # Remove trailing dots and whitespace
-      s/[\. \t]*$//
-      # Print
-      /./p' |
-    # we now have a list, one entry per line, of the stringified
-    # contents of the appropriate section of all members of the
-    # archive which possess that section. Heuristic: eliminate
-    # all those which have a first or second character that is
-    # a '.' (that is, objdump's representation of an unprintable
-    # character.) This should work for all archives with less than
-    # 0x302f exports -- but will fail for DLLs whose name actually
-    # begins with a literal '.' or a single character followed by
-    # a '.'.
-    #
-    # Of those that remain, print the first one.
-    $SED -e '/^\./d;/^.\./d;q'
-}
-
-# func_cygming_gnu_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is a GNU/binutils-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_gnu_implib_p ()
-{
-  $opt_debug
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
-  test -n "$func_cygming_gnu_implib_tmp"
-}
-
-# func_cygming_ms_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is an MS-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_ms_implib_p ()
-{
-  $opt_debug
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
-  test -n "$func_cygming_ms_implib_tmp"
-}
-
-# func_cygming_dll_for_implib_fallback ARG
-# Platform-specific function to extract the
-# name of the DLL associated with the specified
-# import library ARG.
-#
-# This fallback implementation is for use when $DLLTOOL
-# does not support the --identify-strict option.
-# Invoked by eval'ing the libtool variable
-#    $sharedlib_from_linklib_cmd
-# Result is available in the variable
-#    $sharedlib_from_linklib_result
-func_cygming_dll_for_implib_fallback ()
-{
-  $opt_debug
-  if func_cygming_gnu_implib_p "$1" ; then
-    # binutils import library
-    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
-  elif func_cygming_ms_implib_p "$1" ; then
-    # ms-generated import library
-    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
-  else
-    # unknown
-    sharedlib_from_linklib_result=""
-  fi
-}
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
-    $opt_debug
-    f_ex_an_ar_dir="$1"; shift
-    f_ex_an_ar_oldlib="$1"
-    if test "$lock_old_archive_extraction" = yes; then
-      lockfile=$f_ex_an_ar_oldlib.lock
-      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
-       func_echo "Waiting for $lockfile to be removed"
-       sleep 2
-      done
-    fi
-    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
-                  'stat=$?; rm -f "$lockfile"; exit $stat'
-    if test "$lock_old_archive_extraction" = yes; then
-      $opt_dry_run || rm -f "$lockfile"
-    fi
-    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
-     :
-    else
-      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
-    fi
-}
-
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
-    $opt_debug
-    my_gentop="$1"; shift
-    my_oldlibs=${1+"$@"}
-    my_oldobjs=""
-    my_xlib=""
-    my_xabs=""
-    my_xdir=""
-
-    for my_xlib in $my_oldlibs; do
-      # Extract the objects.
-      case $my_xlib in
-       [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
-       *) my_xabs=`pwd`"/$my_xlib" ;;
-      esac
-      func_basename "$my_xlib"
-      my_xlib="$func_basename_result"
-      my_xlib_u=$my_xlib
-      while :; do
-        case " $extracted_archives " in
-       *" $my_xlib_u "*)
-         func_arith $extracted_serial + 1
-         extracted_serial=$func_arith_result
-         my_xlib_u=lt$extracted_serial-$my_xlib ;;
-       *) break ;;
-       esac
-      done
-      extracted_archives="$extracted_archives $my_xlib_u"
-      my_xdir="$my_gentop/$my_xlib_u"
-
-      func_mkdir_p "$my_xdir"
-
-      case $host in
-      *-darwin*)
-       func_verbose "Extracting $my_xabs"
-       # Do not bother doing anything if just a dry run
-       $opt_dry_run || {
-         darwin_orig_dir=`pwd`
-         cd $my_xdir || exit $?
-         darwin_archive=$my_xabs
-         darwin_curdir=`pwd`
-         darwin_base_archive=`basename "$darwin_archive"`
-         darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
-         if test -n "$darwin_arches"; then
-           darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
-           darwin_arch=
-           func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
-           for darwin_arch in  $darwin_arches ; do
-             func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-             $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
-             cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-             func_extract_an_archive "`pwd`" "${darwin_base_archive}"
-             cd "$darwin_curdir"
-             $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
-           done # $darwin_arches
-            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
-           darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
-           darwin_file=
-           darwin_files=
-           for darwin_file in $darwin_filelist; do
-             darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
-             $LIPO -create -output "$darwin_file" $darwin_files
-           done # $darwin_filelist
-           $RM -rf unfat-$$
-           cd "$darwin_orig_dir"
-         else
-           cd $darwin_orig_dir
-           func_extract_an_archive "$my_xdir" "$my_xabs"
-         fi # $darwin_arches
-       } # !$opt_dry_run
-       ;;
-      *)
-        func_extract_an_archive "$my_xdir" "$my_xabs"
-       ;;
-      esac
-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
-    done
-
-    func_extract_archives_result="$my_oldobjs"
-}
-
-
-# func_emit_wrapper [arg=no]
-#
-# Emit a libtool wrapper script on stdout.
-# Don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable.  Must ONLY be called from within
-# func_mode_link because it depends on a number of variables
-# set therein.
-#
-# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take.  If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
-# the $objdir directory.  This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
-{
-       func_emit_wrapper_arg1=${1-no}
-
-       $ECHO "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variables:
-  generated_by_libtool_version='$macro_version'
-  notinst_deplibs='$notinst_deplibs'
-else
-  # When we are sourced in execute mode, \$file and \$ECHO are already set.
-  if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    file=\"\$0\""
-
-    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
-    $ECHO "\
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-    ECHO=\"$qECHO\"
-  fi
-
-# Very basic option parsing. These options are (a) specific to
-# the libtool wrapper, (b) are identical between the wrapper
-# /script/ and the wrapper /executable/ which is used only on
-# windows platforms, and (c) all begin with the string "--lt-"
-# (application programs are unlikely to have options which match
-# this pattern).
-#
-# There are only two supported options: --lt-debug and
-# --lt-dump-script. There is, deliberately, no --lt-help.
-#
-# The first argument to this parsing function should be the
-# script's $0 value, followed by "$@".
-lt_option_debug=
-func_parse_lt_options ()
-{
-  lt_script_arg0=\$0
-  shift
-  for lt_opt
-  do
-    case \"\$lt_opt\" in
-    --lt-debug) lt_option_debug=1 ;;
-    --lt-dump-script)
-        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
-        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
-        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
-        cat \"\$lt_dump_D/\$lt_dump_F\"
-        exit 0
-      ;;
-    --lt-*)
-        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
-        exit 1
-      ;;
-    esac
-  done
-
-  # Print the debug banner immediately:
-  if test -n \"\$lt_option_debug\"; then
-    echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
-  fi
-}
-
-# Used when --lt-debug. Prints its arguments to stdout
-# (redirection is the responsibility of the caller)
-func_lt_dump_args ()
-{
-  lt_dump_args_N=1;
-  for lt_arg
-  do
-    \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
-    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
-  done
-}
-
-# Core function for launching the target application
-func_exec_program_core ()
-{
-"
-  case $host in
-  # Backslashes separate directories on plain windows
-  *-*-mingw | *-*-os2* | *-cegcc*)
-    $ECHO "\
-      if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
-        func_lt_dump_args \${1+\"\$@\"} 1>&2
-      fi
-      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
-    ;;
-
-  *)
-    $ECHO "\
-      if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
-        func_lt_dump_args \${1+\"\$@\"} 1>&2
-      fi
-      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
-    ;;
-  esac
-  $ECHO "\
-      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
-      exit 1
-}
-
-# A function to encapsulate launching the target application
-# Strips options in the --lt-* namespace from \$@ and
-# launches target application with the remaining arguments.
-func_exec_program ()
-{
-  case \" \$* \" in
-  *\\ --lt-*)
-    for lt_wr_arg
-    do
-      case \$lt_wr_arg in
-      --lt-*) ;;
-      *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
-      esac
-      shift
-    done ;;
-  esac
-  func_exec_program_core \${1+\"\$@\"}
-}
-
-  # Parse options
-  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
-
-  # Find the directory that this script lives in.
-  thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
-  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
-  # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
-  while test -n \"\$file\"; do
-    destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
-
-    # If there was a directory component, then change thisdir.
-    if test \"x\$destdir\" != \"x\$file\"; then
-      case \"\$destdir\" in
-      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
-      *) thisdir=\"\$thisdir/\$destdir\" ;;
-      esac
-    fi
-
-    file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
-  done
-
-  # Usually 'no', except on cygwin/mingw when embedded into
-  # the cwrapper.
-  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
-  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
-    # special case for '.'
-    if test \"\$thisdir\" = \".\"; then
-      thisdir=\`pwd\`
-    fi
-    # remove .libs from thisdir
-    case \"\$thisdir\" in
-    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
-    $objdir )   thisdir=. ;;
-    esac
-  fi
-
-  # Try to get the absolute directory name.
-  absdir=\`cd \"\$thisdir\" && pwd\`
-  test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
-       if test "$fast_install" = yes; then
-         $ECHO "\
-  program=lt-'$outputname'$exeext
-  progdir=\"\$thisdir/$objdir\"
-
-  if test ! -f \"\$progdir/\$program\" ||
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
-       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
-    file=\"\$\$-\$program\"
-
-    if test ! -d \"\$progdir\"; then
-      $MKDIR \"\$progdir\"
-    else
-      $RM \"\$progdir/\$file\"
-    fi"
-
-         $ECHO "\
-
-    # relink executable if necessary
-    if test -n \"\$relink_command\"; then
-      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-      else
-       $ECHO \"\$relink_command_output\" >&2
-       $RM \"\$progdir/\$file\"
-       exit 1
-      fi
-    fi
-
-    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-    { $RM \"\$progdir/\$program\";
-      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-    $RM \"\$progdir/\$file\"
-  fi"
-       else
-         $ECHO "\
-  program='$outputname'
-  progdir=\"\$thisdir/$objdir\"
-"
-       fi
-
-       $ECHO "\
-
-  if test -f \"\$progdir/\$program\"; then"
-
-       # fixup the dll searchpath if we need to.
-       #
-       # Fix the DLL searchpath if we need to.  Do this before prepending
-       # to shlibpath, because on Windows, both are PATH and uninstalled
-       # libraries must come first.
-       if test -n "$dllsearchpath"; then
-         $ECHO "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-       fi
-
-       # Export our shlibpath_var if we have one.
-       if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-         $ECHO "\
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
-    # Some systems cannot cope with colon-terminated $shlibpath_var
-    # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
-
-    export $shlibpath_var
-"
-       fi
-
-       $ECHO "\
-    if test \"\$libtool_execute_magic\" != \"$magic\"; then
-      # Run the actual program with our arguments.
-      func_exec_program \${1+\"\$@\"}
-    fi
-  else
-    # The program doesn't exist.
-    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
-    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
-    \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
-    exit 1
-  fi
-fi\
-"
-}
-
-
-# func_emit_cwrapperexe_src
-# emit the source code for a wrapper executable on stdout
-# Must ONLY be called from within func_mode_link because
-# it depends on a number of variable set therein.
-func_emit_cwrapperexe_src ()
-{
-       cat <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-
-   The $output program cannot be directly executed until all the libtool
-   libraries that it depends on are installed.
-
-   This wrapper executable should never be moved out of the build directory.
-   If it is, it will not operate correctly.
-*/
-EOF
-           cat <<"EOF"
-#ifdef _MSC_VER
-# define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef _MSC_VER
-# include <direct.h>
-# include <process.h>
-# include <io.h>
-#else
-# include <unistd.h>
-# include <stdint.h>
-# ifdef __CYGWIN__
-#  include <io.h>
-# endif
-#endif
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-/* declarations of non-ANSI functions */
-#if defined(__MINGW32__)
-# ifdef __STRICT_ANSI__
-int _putenv (const char *);
-# endif
-#elif defined(__CYGWIN__)
-# ifdef __STRICT_ANSI__
-char *realpath (const char *, char *);
-int putenv (char *);
-int setenv (const char *, const char *, int);
-# endif
-/* #elif defined (other platforms) ... */
-#endif
-
-/* portability defines, excluding path handling macros */
-#if defined(_MSC_VER)
-# define setmode _setmode
-# define stat    _stat
-# define chmod   _chmod
-# define getcwd  _getcwd
-# define putenv  _putenv
-# define S_IXUSR _S_IEXEC
-# ifndef _INTPTR_T_DEFINED
-#  define _INTPTR_T_DEFINED
-#  define intptr_t int
-# endif
-#elif defined(__MINGW32__)
-# define setmode _setmode
-# define stat    _stat
-# define chmod   _chmod
-# define getcwd  _getcwd
-# define putenv  _putenv
-#elif defined(__CYGWIN__)
-# define HAVE_SETENV
-# define FOPEN_WB "wb"
-/* #elif defined (other platforms) ... */
-#endif
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef S_IXOTH
-# define S_IXOTH 0
-#endif
-#ifndef S_IXGRP
-# define S_IXGRP 0
-#endif
-
-/* path handling portability macros */
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
-  defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# define FOPEN_WB "wb"
-# ifndef DIR_SEPARATOR_2
-#  define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-#  define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
-       (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#ifndef FOPEN_WB
-# define FOPEN_WB "w"
-#endif
-#ifndef _O_BINARY
-# define _O_BINARY 0
-#endif
-
-#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
-  if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-#if defined(LT_DEBUGWRAPPER)
-static int lt_debug = 1;
-#else
-static int lt_debug = 0;
-#endif
-
-const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
-
-void *xmalloc (size_t num);
-char *xstrdup (const char *string);
-const char *base_name (const char *name);
-char *find_executable (const char *wrapper);
-char *chase_symlinks (const char *pathspec);
-int make_executable (const char *path);
-int check_executable (const char *path);
-char *strendzap (char *str, const char *pat);
-void lt_debugprintf (const char *file, int line, const char *fmt, ...);
-void lt_fatal (const char *file, int line, const char *message, ...);
-static const char *nonnull (const char *s);
-static const char *nonempty (const char *s);
-void lt_setenv (const char *name, const char *value);
-char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-void lt_update_exe_path (const char *name, const char *value);
-void lt_update_lib_path (const char *name, const char *value);
-char **prepare_spawn (char **argv);
-void lt_dump_script (FILE *f);
-EOF
-
-           cat <<EOF
-volatile const char * MAGIC_EXE = "$magic_exe";
-const char * LIB_PATH_VARNAME = "$shlibpath_var";
-EOF
-
-           if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-              func_to_host_path "$temp_rpath"
-             cat <<EOF
-const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
-EOF
-           else
-             cat <<"EOF"
-const char * LIB_PATH_VALUE   = "";
-EOF
-           fi
-
-           if test -n "$dllsearchpath"; then
-              func_to_host_path "$dllsearchpath:"
-             cat <<EOF
-const char * EXE_PATH_VARNAME = "PATH";
-const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
-EOF
-           else
-             cat <<"EOF"
-const char * EXE_PATH_VARNAME = "";
-const char * EXE_PATH_VALUE   = "";
-EOF
-           fi
-
-           if test "$fast_install" = yes; then
-             cat <<EOF
-const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
-EOF
-           else
-             cat <<EOF
-const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
-EOF
-           fi
-
-
-           cat <<"EOF"
-
-#define LTWRAPPER_OPTION_PREFIX         "--lt-"
-
-static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
-static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
-static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
-
-int
-main (int argc, char *argv[])
-{
-  char **newargz;
-  int  newargc;
-  char *tmp_pathspec;
-  char *actual_cwrapper_path;
-  char *actual_cwrapper_name;
-  char *target_name;
-  char *lt_argv_zero;
-  intptr_t rval = 127;
-
-  int i;
-
-  program_name = (char *) xstrdup (base_name (argv[0]));
-  newargz = XMALLOC (char *, argc + 1);
-
-  /* very simple arg parsing; don't want to rely on getopt
-   * also, copy all non cwrapper options to newargz, except
-   * argz[0], which is handled differently
-   */
-  newargc=0;
-  for (i = 1; i < argc; i++)
-    {
-      if (strcmp (argv[i], dumpscript_opt) == 0)
-       {
-EOF
-           case "$host" in
-             *mingw* | *cygwin* )
-               # make stdout use "unix" line endings
-               echo "          setmode(1,_O_BINARY);"
-               ;;
-             esac
-
-           cat <<"EOF"
-         lt_dump_script (stdout);
-         return 0;
-       }
-      if (strcmp (argv[i], debug_opt) == 0)
-       {
-          lt_debug = 1;
-          continue;
-       }
-      if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
-        {
-          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
-             namespace, but it is not one of the ones we know about and
-             have already dealt with, above (inluding dump-script), then
-             report an error. Otherwise, targets might begin to believe
-             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
-             namespace. The first time any user complains about this, we'll
-             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
-             or a configure.ac-settable value.
-           */
-          lt_fatal (__FILE__, __LINE__,
-                   "unrecognized %s option: '%s'",
-                    ltwrapper_option_prefix, argv[i]);
-        }
-      /* otherwise ... */
-      newargz[++newargc] = xstrdup (argv[i]);
-    }
-  newargz[++newargc] = NULL;
-
-EOF
-           cat <<EOF
-  /* The GNU banner must be the first non-error debug message */
-  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
-EOF
-           cat <<"EOF"
-  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
-  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
-
-  tmp_pathspec = find_executable (argv[0]);
-  if (tmp_pathspec == NULL)
-    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
-  lt_debugprintf (__FILE__, __LINE__,
-                  "(main) found exe (before symlink chase) at: %s\n",
-                 tmp_pathspec);
-
-  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
-  lt_debugprintf (__FILE__, __LINE__,
-                  "(main) found exe (after symlink chase) at: %s\n",
-                 actual_cwrapper_path);
-  XFREE (tmp_pathspec);
-
-  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
-  strendzap (actual_cwrapper_path, actual_cwrapper_name);
-
-  /* wrapper name transforms */
-  strendzap (actual_cwrapper_name, ".exe");
-  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
-  XFREE (actual_cwrapper_name);
-  actual_cwrapper_name = tmp_pathspec;
-  tmp_pathspec = 0;
-
-  /* target_name transforms -- use actual target program name; might have lt- prefix */
-  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
-  strendzap (target_name, ".exe");
-  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
-  XFREE (target_name);
-  target_name = tmp_pathspec;
-  tmp_pathspec = 0;
-
-  lt_debugprintf (__FILE__, __LINE__,
-                 "(main) libtool target name: %s\n",
-                 target_name);
-EOF
-
-           cat <<EOF
-  newargz[0] =
-    XMALLOC (char, (strlen (actual_cwrapper_path) +
-                   strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
-  strcpy (newargz[0], actual_cwrapper_path);
-  strcat (newargz[0], "$objdir");
-  strcat (newargz[0], "/");
-EOF
-
-           cat <<"EOF"
-  /* stop here, and copy so we don't have to do this twice */
-  tmp_pathspec = xstrdup (newargz[0]);
-
-  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
-  strcat (newargz[0], actual_cwrapper_name);
-
-  /* DO want the lt- prefix here if it exists, so use target_name */
-  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
-  XFREE (tmp_pathspec);
-  tmp_pathspec = NULL;
-EOF
-
-           case $host_os in
-             mingw*)
-           cat <<"EOF"
-  {
-    char* p;
-    while ((p = strchr (newargz[0], '\\')) != NULL)
-      {
-       *p = '/';
-      }
-    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
-      {
-       *p = '/';
-      }
-  }
-EOF
-           ;;
-           esac
-
-           cat <<"EOF"
-  XFREE (target_name);
-  XFREE (actual_cwrapper_path);
-  XFREE (actual_cwrapper_name);
-
-  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
-  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
-  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
-     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
-     because on Windows, both *_VARNAMEs are PATH but uninstalled
-     libraries must come first. */
-  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
-  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
-
-  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
-                 nonnull (lt_argv_zero));
-  for (i = 0; i < newargc; i++)
-    {
-      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
-                     i, nonnull (newargz[i]));
-    }
-
-EOF
-
-           case $host_os in
-             mingw*)
-               cat <<"EOF"
-  /* execv doesn't actually work on mingw as expected on unix */
-  newargz = prepare_spawn (newargz);
-  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
-  if (rval == -1)
-    {
-      /* failed to start process */
-      lt_debugprintf (__FILE__, __LINE__,
-                     "(main) failed to launch target \"%s\": %s\n",
-                     lt_argv_zero, nonnull (strerror (errno)));
-      return 127;
-    }
-  return rval;
-EOF
-               ;;
-             *)
-               cat <<"EOF"
-  execv (lt_argv_zero, newargz);
-  return rval; /* =127, but avoids unused variable warning */
-EOF
-               ;;
-           esac
-
-           cat <<"EOF"
-}
-
-void *
-xmalloc (size_t num)
-{
-  void *p = (void *) malloc (num);
-  if (!p)
-    lt_fatal (__FILE__, __LINE__, "memory exhausted");
-
-  return p;
-}
-
-char *
-xstrdup (const char *string)
-{
-  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
-                         string) : NULL;
-}
-
-const char *
-base_name (const char *name)
-{
-  const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  /* Skip over the disk name in MSDOS pathnames. */
-  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
-    name += 2;
-#endif
-
-  for (base = name; *name; name++)
-    if (IS_DIR_SEPARATOR (*name))
-      base = name + 1;
-  return base;
-}
-
-int
-check_executable (const char *path)
-{
-  struct stat st;
-
-  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
-                  nonempty (path));
-  if ((!path) || (!*path))
-    return 0;
-
-  if ((stat (path, &st) >= 0)
-      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
-    return 1;
-  else
-    return 0;
-}
-
-int
-make_executable (const char *path)
-{
-  int rval = 0;
-  struct stat st;
-
-  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
-                  nonempty (path));
-  if ((!path) || (!*path))
-    return 0;
-
-  if (stat (path, &st) >= 0)
-    {
-      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
-    }
-  return rval;
-}
-
-/* Searches for the full path of the wrapper.  Returns
-   newly allocated full path name if found, NULL otherwise
-   Does not chase symlinks, even on platforms that support them.
-*/
-char *
-find_executable (const char *wrapper)
-{
-  int has_slash = 0;
-  const char *p;
-  const char *p_next;
-  /* static buffer for getcwd */
-  char tmp[LT_PATHMAX + 1];
-  int tmp_len;
-  char *concat_name;
-
-  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
-                  nonempty (wrapper));
-
-  if ((wrapper == NULL) || (*wrapper == '\0'))
-    return NULL;
-
-  /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
-    {
-      concat_name = xstrdup (wrapper);
-      if (check_executable (concat_name))
-       return concat_name;
-      XFREE (concat_name);
-    }
-  else
-    {
-#endif
-      if (IS_DIR_SEPARATOR (wrapper[0]))
-       {
-         concat_name = xstrdup (wrapper);
-         if (check_executable (concat_name))
-           return concat_name;
-         XFREE (concat_name);
-       }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-    }
-#endif
-
-  for (p = wrapper; *p; p++)
-    if (*p == '/')
-      {
-       has_slash = 1;
-       break;
-      }
-  if (!has_slash)
-    {
-      /* no slashes; search PATH */
-      const char *path = getenv ("PATH");
-      if (path != NULL)
-       {
-         for (p = path; *p; p = p_next)
-           {
-             const char *q;
-             size_t p_len;
-             for (q = p; *q; q++)
-               if (IS_PATH_SEPARATOR (*q))
-                 break;
-             p_len = q - p;
-             p_next = (*q == '\0' ? q : q + 1);
-             if (p_len == 0)
-               {
-                 /* empty path: current directory */
-                 if (getcwd (tmp, LT_PATHMAX) == NULL)
-                   lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
-                              nonnull (strerror (errno)));
-                 tmp_len = strlen (tmp);
-                 concat_name =
-                   XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-                 memcpy (concat_name, tmp, tmp_len);
-                 concat_name[tmp_len] = '/';
-                 strcpy (concat_name + tmp_len + 1, wrapper);
-               }
-             else
-               {
-                 concat_name =
-                   XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
-                 memcpy (concat_name, p, p_len);
-                 concat_name[p_len] = '/';
-                 strcpy (concat_name + p_len + 1, wrapper);
-               }
-             if (check_executable (concat_name))
-               return concat_name;
-             XFREE (concat_name);
-           }
-       }
-      /* not found in PATH; assume curdir */
-    }
-  /* Relative path | not found in path: prepend cwd */
-  if (getcwd (tmp, LT_PATHMAX) == NULL)
-    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
-              nonnull (strerror (errno)));
-  tmp_len = strlen (tmp);
-  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-  memcpy (concat_name, tmp, tmp_len);
-  concat_name[tmp_len] = '/';
-  strcpy (concat_name + tmp_len + 1, wrapper);
-
-  if (check_executable (concat_name))
-    return concat_name;
-  XFREE (concat_name);
-  return NULL;
-}
-
-char *
-chase_symlinks (const char *pathspec)
-{
-#ifndef S_ISLNK
-  return xstrdup (pathspec);
-#else
-  char buf[LT_PATHMAX];
-  struct stat s;
-  char *tmp_pathspec = xstrdup (pathspec);
-  char *p;
-  int has_symlinks = 0;
-  while (strlen (tmp_pathspec) && !has_symlinks)
-    {
-      lt_debugprintf (__FILE__, __LINE__,
-                     "checking path component for symlinks: %s\n",
-                     tmp_pathspec);
-      if (lstat (tmp_pathspec, &s) == 0)
-       {
-         if (S_ISLNK (s.st_mode) != 0)
-           {
-             has_symlinks = 1;
-             break;
-           }
-
-         /* search backwards for last DIR_SEPARATOR */
-         p = tmp_pathspec + strlen (tmp_pathspec) - 1;
-         while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-           p--;
-         if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-           {
-             /* no more DIR_SEPARATORS left */
-             break;
-           }
-         *p = '\0';
-       }
-      else
-       {
-         lt_fatal (__FILE__, __LINE__,
-                   "error accessing file \"%s\": %s",
-                   tmp_pathspec, nonnull (strerror (errno)));
-       }
-    }
-  XFREE (tmp_pathspec);
-
-  if (!has_symlinks)
-    {
-      return xstrdup (pathspec);
-    }
-
-  tmp_pathspec = realpath (pathspec, buf);
-  if (tmp_pathspec == 0)
-    {
-      lt_fatal (__FILE__, __LINE__,
-               "could not follow symlinks for %s", pathspec);
-    }
-  return xstrdup (tmp_pathspec);
-#endif
-}
-
-char *
-strendzap (char *str, const char *pat)
-{
-  size_t len, patlen;
-
-  assert (str != NULL);
-  assert (pat != NULL);
-
-  len = strlen (str);
-  patlen = strlen (pat);
-
-  if (patlen <= len)
-    {
-      str += len - patlen;
-      if (strcmp (str, pat) == 0)
-       *str = '\0';
-    }
-  return str;
-}
-
-void
-lt_debugprintf (const char *file, int line, const char *fmt, ...)
-{
-  va_list args;
-  if (lt_debug)
-    {
-      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
-      va_start (args, fmt);
-      (void) vfprintf (stderr, fmt, args);
-      va_end (args);
-    }
-}
-
-static void
-lt_error_core (int exit_status, const char *file,
-              int line, const char *mode,
-              const char *message, va_list ap)
-{
-  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
-  vfprintf (stderr, message, ap);
-  fprintf (stderr, ".\n");
-
-  if (exit_status >= 0)
-    exit (exit_status);
-}
-
-void
-lt_fatal (const char *file, int line, const char *message, ...)
-{
-  va_list ap;
-  va_start (ap, message);
-  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
-  va_end (ap);
-}
-
-static const char *
-nonnull (const char *s)
-{
-  return s ? s : "(null)";
-}
-
-static const char *
-nonempty (const char *s)
-{
-  return (s && !*s) ? "(empty)" : nonnull (s);
-}
-
-void
-lt_setenv (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-                 "(lt_setenv) setting '%s' to '%s'\n",
-                  nonnull (name), nonnull (value));
-  {
-#ifdef HAVE_SETENV
-    /* always make a copy, for consistency with !HAVE_SETENV */
-    char *str = xstrdup (value);
-    setenv (name, str, 1);
-#else
-    int len = strlen (name) + 1 + strlen (value) + 1;
-    char *str = XMALLOC (char, len);
-    sprintf (str, "%s=%s", name, value);
-    if (putenv (str) != EXIT_SUCCESS)
-      {
-        XFREE (str);
-      }
-#endif
-  }
-}
-
-char *
-lt_extend_str (const char *orig_value, const char *add, int to_end)
-{
-  char *new_value;
-  if (orig_value && *orig_value)
-    {
-      int orig_value_len = strlen (orig_value);
-      int add_len = strlen (add);
-      new_value = XMALLOC (char, add_len + orig_value_len + 1);
-      if (to_end)
-        {
-          strcpy (new_value, orig_value);
-          strcpy (new_value + orig_value_len, add);
-        }
-      else
-        {
-          strcpy (new_value, add);
-          strcpy (new_value + add_len, orig_value);
-        }
-    }
-  else
-    {
-      new_value = xstrdup (add);
-    }
-  return new_value;
-}
-
-void
-lt_update_exe_path (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-                 "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
-                  nonnull (name), nonnull (value));
-
-  if (name && *name && value && *value)
-    {
-      char *new_value = lt_extend_str (getenv (name), value, 0);
-      /* some systems can't cope with a ':'-terminated path #' */
-      int len = strlen (new_value);
-      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
-        {
-          new_value[len-1] = '\0';
-        }
-      lt_setenv (name, new_value);
-      XFREE (new_value);
-    }
-}
-
-void
-lt_update_lib_path (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-                 "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
-                  nonnull (name), nonnull (value));
-
-  if (name && *name && value && *value)
-    {
-      char *new_value = lt_extend_str (getenv (name), value, 0);
-      lt_setenv (name, new_value);
-      XFREE (new_value);
-    }
-}
-
-EOF
-           case $host_os in
-             mingw*)
-               cat <<"EOF"
-
-/* Prepares an argument vector before calling spawn().
-   Note that spawn() does not by itself call the command interpreter
-     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
-      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-         GetVersionEx(&v);
-         v.dwPlatformId == VER_PLATFORM_WIN32_NT;
-      }) ? "cmd.exe" : "command.com").
-   Instead it simply concatenates the arguments, separated by ' ', and calls
-   CreateProcess().  We must quote the arguments since Win32 CreateProcess()
-   interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
-   special way:
-   - Space and tab are interpreted as delimiters. They are not treated as
-     delimiters if they are surrounded by double quotes: "...".
-   - Unescaped double quotes are removed from the input. Their only effect is
-     that within double quotes, space and tab are treated like normal
-     characters.
-   - Backslashes not followed by double quotes are not special.
-   - But 2*n+1 backslashes followed by a double quote become
-     n backslashes followed by a double quote (n >= 0):
-       \" -> "
-       \\\" -> \"
-       \\\\\" -> \\"
- */
-#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
-#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
-char **
-prepare_spawn (char **argv)
-{
-  size_t argc;
-  char **new_argv;
-  size_t i;
-
-  /* Count number of arguments.  */
-  for (argc = 0; argv[argc] != NULL; argc++)
-    ;
-
-  /* Allocate new argument vector.  */
-  new_argv = XMALLOC (char *, argc + 1);
-
-  /* Put quoted arguments into the new argument vector.  */
-  for (i = 0; i < argc; i++)
-    {
-      const char *string = argv[i];
-
-      if (string[0] == '\0')
-       new_argv[i] = xstrdup ("\"\"");
-      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
-       {
-         int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
-         size_t length;
-         unsigned int backslashes;
-         const char *s;
-         char *quoted_string;
-         char *p;
-
-         length = 0;
-         backslashes = 0;
-         if (quote_around)
-           length++;
-         for (s = string; *s != '\0'; s++)
-           {
-             char c = *s;
-             if (c == '"')
-               length += backslashes + 1;
-             length++;
-             if (c == '\\')
-               backslashes++;
-             else
-               backslashes = 0;
-           }
-         if (quote_around)
-           length += backslashes + 1;
-
-         quoted_string = XMALLOC (char, length + 1);
-
-         p = quoted_string;
-         backslashes = 0;
-         if (quote_around)
-           *p++ = '"';
-         for (s = string; *s != '\0'; s++)
-           {
-             char c = *s;
-             if (c == '"')
-               {
-                 unsigned int j;
-                 for (j = backslashes + 1; j > 0; j--)
-                   *p++ = '\\';
-               }
-             *p++ = c;
-             if (c == '\\')
-               backslashes++;
-             else
-               backslashes = 0;
-           }
-         if (quote_around)
-           {
-             unsigned int j;
-             for (j = backslashes; j > 0; j--)
-               *p++ = '\\';
-             *p++ = '"';
-           }
-         *p = '\0';
-
-         new_argv[i] = quoted_string;
-       }
-      else
-       new_argv[i] = (char *) string;
-    }
-  new_argv[argc] = NULL;
-
-  return new_argv;
-}
-EOF
-               ;;
-           esac
-
-            cat <<"EOF"
-void lt_dump_script (FILE* f)
-{
-EOF
-           func_emit_wrapper yes |
-             $SED -n -e '
-s/^\(.\{79\}\)\(..*\)/\1\
-\2/
-h
-s/\([\\"]\)/\\\1/g
-s/$/\\n/
-s/\([^\n]*\).*/  fputs ("\1", f);/p
-g
-D'
-            cat <<"EOF"
-}
-EOF
-}
-# end: func_emit_cwrapperexe_src
-
-# func_win32_import_lib_p ARG
-# True if ARG is an import lib, as indicated by $file_magic_cmd
-func_win32_import_lib_p ()
-{
-    $opt_debug
-    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
-    *import*) : ;;
-    *) false ;;
-    esac
-}
-
-# func_mode_link arg...
-func_mode_link ()
-{
-    $opt_debug
-    case $host in
-    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-      # It is impossible to link a dll without this setting, and
-      # we shouldn't force the makefile maintainer to figure out
-      # which system we are compiling for in order to pass an extra
-      # flag for every libtool invocation.
-      # allow_undefined=no
-
-      # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll which has undefined symbols, in which case not
-      # even a static library is built.  For now, we need to specify
-      # -no-undefined on the libtool link line when we can be certain
-      # that all symbols are satisfied, otherwise we get a static library.
-      allow_undefined=yes
-      ;;
-    *)
-      allow_undefined=yes
-      ;;
-    esac
-    libtool_args=$nonopt
-    base_compile="$nonopt $@"
-    compile_command=$nonopt
-    finalize_command=$nonopt
-
-    compile_rpath=
-    finalize_rpath=
-    compile_shlibpath=
-    finalize_shlibpath=
-    convenience=
-    old_convenience=
-    deplibs=
-    old_deplibs=
-    compiler_flags=
-    linker_flags=
-    dllsearchpath=
-    lib_search_path=`pwd`
-    inst_prefix_dir=
-    new_inherited_linker_flags=
-
-    avoid_version=no
-    bindir=
-    dlfiles=
-    dlprefiles=
-    dlself=no
-    export_dynamic=no
-    export_symbols=
-    export_symbols_regex=
-    generated=
-    libobjs=
-    ltlibs=
-    module=no
-    no_install=no
-    objs=
-    non_pic_objects=
-    precious_files_regex=
-    prefer_static_libs=no
-    preload=no
-    prev=
-    prevarg=
-    release=
-    rpath=
-    xrpath=
-    perm_rpath=
-    temp_rpath=
-    thread_safe=no
-    vinfo=
-    vinfo_number=no
-    weak_libs=
-    single_module="${wl}-single_module"
-    func_infer_tag $base_compile
-
-    # We need to know -static, to get the right output filenames.
-    for arg
-    do
-      case $arg in
-      -shared)
-       test "$build_libtool_libs" != yes && \
-         func_fatal_configuration "can not build a shared library"
-       build_old_libs=no
-       break
-       ;;
-      -all-static | -static | -static-libtool-libs)
-       case $arg in
-       -all-static)
-         if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
-           func_warning "complete static linking is impossible in this configuration"
-         fi
-         if test -n "$link_static_flag"; then
-           dlopen_self=$dlopen_self_static
-         fi
-         prefer_static_libs=yes
-         ;;
-       -static)
-         if test -z "$pic_flag" && test -n "$link_static_flag"; then
-           dlopen_self=$dlopen_self_static
-         fi
-         prefer_static_libs=built
-         ;;
-       -static-libtool-libs)
-         if test -z "$pic_flag" && test -n "$link_static_flag"; then
-           dlopen_self=$dlopen_self_static
-         fi
-         prefer_static_libs=yes
-         ;;
-       esac
-       build_libtool_libs=no
-       build_old_libs=yes
-       break
-       ;;
-      esac
-    done
-
-    # See if our shared archives depend on static archives.
-    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
-    # Go through the arguments, transforming them on the way.
-    while test "$#" -gt 0; do
-      arg="$1"
-      shift
-      func_quote_for_eval "$arg"
-      qarg=$func_quote_for_eval_unquoted_result
-      func_append libtool_args " $func_quote_for_eval_result"
-
-      # If the previous option needs an argument, assign it.
-      if test -n "$prev"; then
-       case $prev in
-       output)
-         func_append compile_command " @OUTPUT@"
-         func_append finalize_command " @OUTPUT@"
-         ;;
-       esac
-
-       case $prev in
-       bindir)
-         bindir="$arg"
-         prev=
-         continue
-         ;;
-       dlfiles|dlprefiles)
-         if test "$preload" = no; then
-           # Add the symbol object into the linking commands.
-           func_append compile_command " @SYMFILE@"
-           func_append finalize_command " @SYMFILE@"
-           preload=yes
-         fi
-         case $arg in
-         *.la | *.lo) ;;  # We handle these cases below.
-         force)
-           if test "$dlself" = no; then
-             dlself=needless
-             export_dynamic=yes
-           fi
-           prev=
-           continue
-           ;;
-         self)
-           if test "$prev" = dlprefiles; then
-             dlself=yes
-           elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
-             dlself=yes
-           else
-             dlself=needless
-             export_dynamic=yes
-           fi
-           prev=
-           continue
-           ;;
-         *)
-           if test "$prev" = dlfiles; then
-             func_append dlfiles " $arg"
-           else
-             func_append dlprefiles " $arg"
-           fi
-           prev=
-           continue
-           ;;
-         esac
-         ;;
-       expsyms)
-         export_symbols="$arg"
-         test -f "$arg" \
-           || func_fatal_error "symbol file \`$arg' does not exist"
-         prev=
-         continue
-         ;;
-       expsyms_regex)
-         export_symbols_regex="$arg"
-         prev=
-         continue
-         ;;
-       framework)
-         case $host in
-           *-*-darwin*)
-             case "$deplibs " in
-               *" $qarg.ltframework "*) ;;
-               *) func_append deplibs " $qarg.ltframework" # this is fixed later
-                  ;;
-             esac
-             ;;
-         esac
-         prev=
-         continue
-         ;;
-       inst_prefix)
-         inst_prefix_dir="$arg"
-         prev=
-         continue
-         ;;
-       objectlist)
-         if test -f "$arg"; then
-           save_arg=$arg
-           moreargs=
-           for fil in `cat "$save_arg"`
-           do
-#            func_append moreargs " $fil"
-             arg=$fil
-             # A libtool-controlled object.
-
-             # Check to see that this really is a libtool object.
-             if func_lalib_unsafe_p "$arg"; then
-               pic_object=
-               non_pic_object=
-
-               # Read the .lo file
-               func_source "$arg"
-
-               if test -z "$pic_object" ||
-                  test -z "$non_pic_object" ||
-                  test "$pic_object" = none &&
-                  test "$non_pic_object" = none; then
-                 func_fatal_error "cannot find name of object for \`$arg'"
-               fi
-
-               # Extract subdirectory from the argument.
-               func_dirname "$arg" "/" ""
-               xdir="$func_dirname_result"
-
-               if test "$pic_object" != none; then
-                 # Prepend the subdirectory the object is found in.
-                 pic_object="$xdir$pic_object"
-
-                 if test "$prev" = dlfiles; then
-                   if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-                     func_append dlfiles " $pic_object"
-                     prev=
-                     continue
-                   else
-                     # If libtool objects are unsupported, then we need to preload.
-                     prev=dlprefiles
-                   fi
-                 fi
-
-                 # CHECK ME:  I think I busted this.  -Ossama
-                 if test "$prev" = dlprefiles; then
-                   # Preload the old-style object.
-                   func_append dlprefiles " $pic_object"
-                   prev=
-                 fi
-
-                 # A PIC object.
-                 func_append libobjs " $pic_object"
-                 arg="$pic_object"
-               fi
-
-               # Non-PIC object.
-               if test "$non_pic_object" != none; then
-                 # Prepend the subdirectory the object is found in.
-                 non_pic_object="$xdir$non_pic_object"
-
-                 # A standard non-PIC object
-                 func_append non_pic_objects " $non_pic_object"
-                 if test -z "$pic_object" || test "$pic_object" = none ; then
-                   arg="$non_pic_object"
-                 fi
-               else
-                 # If the PIC object exists, use it instead.
-                 # $xdir was prepended to $pic_object above.
-                 non_pic_object="$pic_object"
-                 func_append non_pic_objects " $non_pic_object"
-               fi
-             else
-               # Only an error if not doing a dry-run.
-               if $opt_dry_run; then
-                 # Extract subdirectory from the argument.
-                 func_dirname "$arg" "/" ""
-                 xdir="$func_dirname_result"
-
-                 func_lo2o "$arg"
-                 pic_object=$xdir$objdir/$func_lo2o_result
-                 non_pic_object=$xdir$func_lo2o_result
-                 func_append libobjs " $pic_object"
-                 func_append non_pic_objects " $non_pic_object"
-               else
-                 func_fatal_error "\`$arg' is not a valid libtool object"
-               fi
-             fi
-           done
-         else
-           func_fatal_error "link input file \`$arg' does not exist"
-         fi
-         arg=$save_arg
-         prev=
-         continue
-         ;;
-       precious_regex)
-         precious_files_regex="$arg"
-         prev=
-         continue
-         ;;
-       release)
-         release="-$arg"
-         prev=
-         continue
-         ;;
-       rpath | xrpath)
-         # We need an absolute path.
-         case $arg in
-         [\\/]* | [A-Za-z]:[\\/]*) ;;
-         *)
-           func_fatal_error "only absolute run-paths are allowed"
-           ;;
-         esac
-         if test "$prev" = rpath; then
-           case "$rpath " in
-           *" $arg "*) ;;
-           *) func_append rpath " $arg" ;;
-           esac
-         else
-           case "$xrpath " in
-           *" $arg "*) ;;
-           *) func_append xrpath " $arg" ;;
-           esac
-         fi
-         prev=
-         continue
-         ;;
-       shrext)
-         shrext_cmds="$arg"
-         prev=
-         continue
-         ;;
-       weak)
-         func_append weak_libs " $arg"
-         prev=
-         continue
-         ;;
-       xcclinker)
-         func_append linker_flags " $qarg"
-         func_append compiler_flags " $qarg"
-         prev=
-         func_append compile_command " $qarg"
-         func_append finalize_command " $qarg"
-         continue
-         ;;
-       xcompiler)
-         func_append compiler_flags " $qarg"
-         prev=
-         func_append compile_command " $qarg"
-         func_append finalize_command " $qarg"
-         continue
-         ;;
-       xlinker)
-         func_append linker_flags " $qarg"
-         func_append compiler_flags " $wl$qarg"
-         prev=
-         func_append compile_command " $wl$qarg"
-         func_append finalize_command " $wl$qarg"
-         continue
-         ;;
-       *)
-         eval "$prev=\"\$arg\""
-         prev=
-         continue
-         ;;
-       esac
-      fi # test -n "$prev"
-
-      prevarg="$arg"
-
-      case $arg in
-      -all-static)
-       if test -n "$link_static_flag"; then
-         # See comment for -static flag below, for more details.
-         func_append compile_command " $link_static_flag"
-         func_append finalize_command " $link_static_flag"
-       fi
-       continue
-       ;;
-
-      -allow-undefined)
-       # FIXME: remove this flag sometime in the future.
-       func_fatal_error "\`-allow-undefined' must not be used because it is the default"
-       ;;
-
-      -avoid-version)
-       avoid_version=yes
-       continue
-       ;;
-
-      -bindir)
-       prev=bindir
-       continue
-       ;;
-
-      -dlopen)
-       prev=dlfiles
-       continue
-       ;;
-
-      -dlpreopen)
-       prev=dlprefiles
-       continue
-       ;;
-
-      -export-dynamic)
-       export_dynamic=yes
-       continue
-       ;;
-
-      -export-symbols | -export-symbols-regex)
-       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-         func_fatal_error "more than one -exported-symbols argument is not allowed"
-       fi
-       if test "X$arg" = "X-export-symbols"; then
-         prev=expsyms
-       else
-         prev=expsyms_regex
-       fi
-       continue
-       ;;
-
-      -framework)
-       prev=framework
-       continue
-       ;;
-
-      -inst-prefix-dir)
-       prev=inst_prefix
-       continue
-       ;;
-
-      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
-      # so, if we see these flags be careful not to treat them like -L
-      -L[A-Z][A-Z]*:*)
-       case $with_gcc/$host in
-       no/*-*-irix* | /*-*-irix*)
-         func_append compile_command " $arg"
-         func_append finalize_command " $arg"
-         ;;
-       esac
-       continue
-       ;;
-
-      -L*)
-       func_stripname "-L" '' "$arg"
-       if test -z "$func_stripname_result"; then
-         if test "$#" -gt 0; then
-           func_fatal_error "require no space between \`-L' and \`$1'"
-         else
-           func_fatal_error "need path for \`-L' option"
-         fi
-       fi
-       func_resolve_sysroot "$func_stripname_result"
-       dir=$func_resolve_sysroot_result
-       # We need an absolute path.
-       case $dir in
-       [\\/]* | [A-Za-z]:[\\/]*) ;;
-       *)
-         absdir=`cd "$dir" && pwd`
-         test -z "$absdir" && \
-           func_fatal_error "cannot determine absolute directory name of \`$dir'"
-         dir="$absdir"
-         ;;
-       esac
-       case "$deplibs " in
-       *" -L$dir "* | *" $arg "*)
-         # Will only happen for absolute or sysroot arguments
-         ;;
-       *)
-         # Preserve sysroot, but never include relative directories
-         case $dir in
-           [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
-           *) func_append deplibs " -L$dir" ;;
-         esac
-         func_append lib_search_path " $dir"
-         ;;
-       esac
-       case $host in
-       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-         testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
-         case :$dllsearchpath: in
-         *":$dir:"*) ;;
-         ::) dllsearchpath=$dir;;
-         *) func_append dllsearchpath ":$dir";;
-         esac
-         case :$dllsearchpath: in
-         *":$testbindir:"*) ;;
-         ::) dllsearchpath=$testbindir;;
-         *) func_append dllsearchpath ":$testbindir";;
-         esac
-         ;;
-       esac
-       continue
-       ;;
-
-      -l*)
-       if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
-         case $host in
-         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
-           # These systems don't actually have a C or math library (as such)
-           continue
-           ;;
-         *-*-os2*)
-           # These systems don't actually have a C library (as such)
-           test "X$arg" = "X-lc" && continue
-           ;;
-         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-           # Do not include libc due to us having libc/libc_r.
-           test "X$arg" = "X-lc" && continue
-           ;;
-         *-*-rhapsody* | *-*-darwin1.[012])
-           # Rhapsody C and math libraries are in the System framework
-           func_append deplibs " System.ltframework"
-           continue
-           ;;
-         *-*-sco3.2v5* | *-*-sco5v6*)
-           # Causes problems with __ctype
-           test "X$arg" = "X-lc" && continue
-           ;;
-         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-           # Compiler inserts libc in the correct place for threads to work
-           test "X$arg" = "X-lc" && continue
-           ;;
-         esac
-       elif test "X$arg" = "X-lc_r"; then
-        case $host in
-        *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-          # Do not include libc_r directly, use -pthread flag.
-          continue
-          ;;
-        esac
-       fi
-       func_append deplibs " $arg"
-       continue
-       ;;
-
-      -module)
-       module=yes
-       continue
-       ;;
-
-      # Tru64 UNIX uses -model [arg] to determine the layout of C++
-      # classes, name mangling, and exception handling.
-      # Darwin uses the -arch flag to determine output architecture.
-      -model|-arch|-isysroot|--sysroot)
-       func_append compiler_flags " $arg"
-       func_append compile_command " $arg"
-       func_append finalize_command " $arg"
-       prev=xcompiler
-       continue
-       ;;
-
-      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
-      |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
-       func_append compiler_flags " $arg"
-       func_append compile_command " $arg"
-       func_append finalize_command " $arg"
-       case "$new_inherited_linker_flags " in
-           *" $arg "*) ;;
-           * ) func_append new_inherited_linker_flags " $arg" ;;
-       esac
-       continue
-       ;;
-
-      -multi_module)
-       single_module="${wl}-multi_module"
-       continue
-       ;;
-
-      -no-fast-install)
-       fast_install=no
-       continue
-       ;;
-
-      -no-install)
-       case $host in
-       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
-         # The PATH hackery in wrapper scripts is required on Windows
-         # and Darwin in order for the loader to find any dlls it needs.
-         func_warning "\`-no-install' is ignored for $host"
-         func_warning "assuming \`-no-fast-install' instead"
-         fast_install=no
-         ;;
-       *) no_install=yes ;;
-       esac
-       continue
-       ;;
-
-      -no-undefined)
-       allow_undefined=no
-       continue
-       ;;
-
-      -objectlist)
-       prev=objectlist
-       continue
-       ;;
-
-      -o) prev=output ;;
-
-      -precious-files-regex)
-       prev=precious_regex
-       continue
-       ;;
-
-      -release)
-       prev=release
-       continue
-       ;;
-
-      -rpath)
-       prev=rpath
-       continue
-       ;;
-
-      -R)
-       prev=xrpath
-       continue
-       ;;
-
-      -R*)
-       func_stripname '-R' '' "$arg"
-       dir=$func_stripname_result
-       # We need an absolute path.
-       case $dir in
-       [\\/]* | [A-Za-z]:[\\/]*) ;;
-       =*)
-         func_stripname '=' '' "$dir"
-         dir=$lt_sysroot$func_stripname_result
-         ;;
-       *)
-         func_fatal_error "only absolute run-paths are allowed"
-         ;;
-       esac
-       case "$xrpath " in
-       *" $dir "*) ;;
-       *) func_append xrpath " $dir" ;;
-       esac
-       continue
-       ;;
-
-      -shared)
-       # The effects of -shared are defined in a previous loop.
-       continue
-       ;;
-
-      -shrext)
-       prev=shrext
-       continue
-       ;;
-
-      -static | -static-libtool-libs)
-       # The effects of -static are defined in a previous loop.
-       # We used to do the same as -all-static on platforms that
-       # didn't have a PIC flag, but the assumption that the effects
-       # would be equivalent was wrong.  It would break on at least
-       # Digital Unix and AIX.
-       continue
-       ;;
-
-      -thread-safe)
-       thread_safe=yes
-       continue
-       ;;
-
-      -version-info)
-       prev=vinfo
-       continue
-       ;;
-
-      -version-number)
-       prev=vinfo
-       vinfo_number=yes
-       continue
-       ;;
-
-      -weak)
-        prev=weak
-       continue
-       ;;
-
-      -Wc,*)
-       func_stripname '-Wc,' '' "$arg"
-       args=$func_stripname_result
-       arg=
-       save_ifs="$IFS"; IFS=','
-       for flag in $args; do
-         IFS="$save_ifs"
-          func_quote_for_eval "$flag"
-         func_append arg " $func_quote_for_eval_result"
-         func_append compiler_flags " $func_quote_for_eval_result"
-       done
-       IFS="$save_ifs"
-       func_stripname ' ' '' "$arg"
-       arg=$func_stripname_result
-       ;;
-
-      -Wl,*)
-       func_stripname '-Wl,' '' "$arg"
-       args=$func_stripname_result
-       arg=
-       save_ifs="$IFS"; IFS=','
-       for flag in $args; do
-         IFS="$save_ifs"
-          func_quote_for_eval "$flag"
-         func_append arg " $wl$func_quote_for_eval_result"
-         func_append compiler_flags " $wl$func_quote_for_eval_result"
-         func_append linker_flags " $func_quote_for_eval_result"
-       done
-       IFS="$save_ifs"
-       func_stripname ' ' '' "$arg"
-       arg=$func_stripname_result
-       ;;
-
-      -Xcompiler)
-       prev=xcompiler
-       continue
-       ;;
-
-      -Xlinker)
-       prev=xlinker
-       continue
-       ;;
-
-      -XCClinker)
-       prev=xcclinker
-       continue
-       ;;
-
-      # -msg_* for osf cc
-      -msg_*)
-       func_quote_for_eval "$arg"
-       arg="$func_quote_for_eval_result"
-       ;;
-
-      # Flags to be passed through unchanged, with rationale:
-      # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
-      # -r[0-9][0-9]*        specify processor for the SGI compiler
-      # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
-      # +DA*, +DD*           enable 64-bit mode for the HP compiler
-      # -q*                  compiler args for the IBM compiler
-      # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
-      # -F/path              path to uninstalled frameworks, gcc on darwin
-      # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
-      # @file                GCC response files
-      # -tp=*                Portland pgcc target processor selection
-      # --sysroot=*          for sysroot support
-      # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
-      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-      -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
-        func_quote_for_eval "$arg"
-       arg="$func_quote_for_eval_result"
-        func_append compile_command " $arg"
-        func_append finalize_command " $arg"
-        func_append compiler_flags " $arg"
-        continue
-        ;;
-
-      # Some other compiler flag.
-      -* | +*)
-        func_quote_for_eval "$arg"
-       arg="$func_quote_for_eval_result"
-       ;;
-
-      *.$objext)
-       # A standard object.
-       func_append objs " $arg"
-       ;;
-
-      *.lo)
-       # A libtool-controlled object.
-
-       # Check to see that this really is a libtool object.
-       if func_lalib_unsafe_p "$arg"; then
-         pic_object=
-         non_pic_object=
-
-         # Read the .lo file
-         func_source "$arg"
-
-         if test -z "$pic_object" ||
-            test -z "$non_pic_object" ||
-            test "$pic_object" = none &&
-            test "$non_pic_object" = none; then
-           func_fatal_error "cannot find name of object for \`$arg'"
-         fi
-
-         # Extract subdirectory from the argument.
-         func_dirname "$arg" "/" ""
-         xdir="$func_dirname_result"
-
-         if test "$pic_object" != none; then
-           # Prepend the subdirectory the object is found in.
-           pic_object="$xdir$pic_object"
-
-           if test "$prev" = dlfiles; then
-             if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-               func_append dlfiles " $pic_object"
-               prev=
-               continue
-             else
-               # If libtool objects are unsupported, then we need to preload.
-               prev=dlprefiles
-             fi
-           fi
-
-           # CHECK ME:  I think I busted this.  -Ossama
-           if test "$prev" = dlprefiles; then
-             # Preload the old-style object.
-             func_append dlprefiles " $pic_object"
-             prev=
-           fi
-
-           # A PIC object.
-           func_append libobjs " $pic_object"
-           arg="$pic_object"
-         fi
-
-         # Non-PIC object.
-         if test "$non_pic_object" != none; then
-           # Prepend the subdirectory the object is found in.
-           non_pic_object="$xdir$non_pic_object"
-
-           # A standard non-PIC object
-           func_append non_pic_objects " $non_pic_object"
-           if test -z "$pic_object" || test "$pic_object" = none ; then
-             arg="$non_pic_object"
-           fi
-         else
-           # If the PIC object exists, use it instead.
-           # $xdir was prepended to $pic_object above.
-           non_pic_object="$pic_object"
-           func_append non_pic_objects " $non_pic_object"
-         fi
-       else
-         # Only an error if not doing a dry-run.
-         if $opt_dry_run; then
-           # Extract subdirectory from the argument.
-           func_dirname "$arg" "/" ""
-           xdir="$func_dirname_result"
-
-           func_lo2o "$arg"
-           pic_object=$xdir$objdir/$func_lo2o_result
-           non_pic_object=$xdir$func_lo2o_result
-           func_append libobjs " $pic_object"
-           func_append non_pic_objects " $non_pic_object"
-         else
-           func_fatal_error "\`$arg' is not a valid libtool object"
-         fi
-       fi
-       ;;
-
-      *.$libext)
-       # An archive.
-       func_append deplibs " $arg"
-       func_append old_deplibs " $arg"
-       continue
-       ;;
-
-      *.la)
-       # A libtool-controlled library.
-
-       func_resolve_sysroot "$arg"
-       if test "$prev" = dlfiles; then
-         # This library was specified with -dlopen.
-         func_append dlfiles " $func_resolve_sysroot_result"
-         prev=
-       elif test "$prev" = dlprefiles; then
-         # The library was specified with -dlpreopen.
-         func_append dlprefiles " $func_resolve_sysroot_result"
-         prev=
-       else
-         func_append deplibs " $func_resolve_sysroot_result"
-       fi
-       continue
-       ;;
-
-      # Some other compiler argument.
-      *)
-       # Unknown arguments in both finalize_command and compile_command need
-       # to be aesthetically quoted because they are evaled later.
-       func_quote_for_eval "$arg"
-       arg="$func_quote_for_eval_result"
-       ;;
-      esac # arg
-
-      # Now actually substitute the argument into the commands.
-      if test -n "$arg"; then
-       func_append compile_command " $arg"
-       func_append finalize_command " $arg"
-      fi
-    done # argument parsing loop
-
-    test -n "$prev" && \
-      func_fatal_help "the \`$prevarg' option requires an argument"
-
-    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
-      eval arg=\"$export_dynamic_flag_spec\"
-      func_append compile_command " $arg"
-      func_append finalize_command " $arg"
-    fi
-
-    oldlibs=
-    # calculate the name of the file, without its directory
-    func_basename "$output"
-    outputname="$func_basename_result"
-    libobjs_save="$libobjs"
-
-    if test -n "$shlibpath_var"; then
-      # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
-    else
-      shlib_search_path=
-    fi
-    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
-    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
-    func_dirname "$output" "/" ""
-    output_objdir="$func_dirname_result$objdir"
-    func_to_tool_file "$output_objdir/"
-    tool_output_objdir=$func_to_tool_file_result
-    # Create the object directory.
-    func_mkdir_p "$output_objdir"
-
-    # Determine the type of output
-    case $output in
-    "")
-      func_fatal_help "you must specify an output file"
-      ;;
-    *.$libext) linkmode=oldlib ;;
-    *.lo | *.$objext) linkmode=obj ;;
-    *.la) linkmode=lib ;;
-    *) linkmode=prog ;; # Anything else should be a program.
-    esac
-
-    specialdeplibs=
-
-    libs=
-    # Find all interdependent deplibs by searching for libraries
-    # that are linked more than once (e.g. -la -lb -la)
-    for deplib in $deplibs; do
-      if $opt_preserve_dup_deps ; then
-       case "$libs " in
-       *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-       esac
-      fi
-      func_append libs " $deplib"
-    done
-
-    if test "$linkmode" = lib; then
-      libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
-      # Compute libraries that are listed more than once in $predeps
-      # $postdeps and mark them as special (i.e., whose duplicates are
-      # not to be eliminated).
-      pre_post_deps=
-      if $opt_duplicate_compiler_generated_deps; then
-       for pre_post_dep in $predeps $postdeps; do
-         case "$pre_post_deps " in
-         *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
-         esac
-         func_append pre_post_deps " $pre_post_dep"
-       done
-      fi
-      pre_post_deps=
-    fi
-
-    deplibs=
-    newdependency_libs=
-    newlib_search_path=
-    need_relink=no # whether we're linking any uninstalled libtool libraries
-    notinst_deplibs= # not-installed libtool libraries
-    notinst_path= # paths that contain not-installed libtool libraries
-
-    case $linkmode in
-    lib)
-       passes="conv dlpreopen link"
-       for file in $dlfiles $dlprefiles; do
-         case $file in
-         *.la) ;;
-         *)
-           func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
-           ;;
-         esac
-       done
-       ;;
-    prog)
-       compile_deplibs=
-       finalize_deplibs=
-       alldeplibs=no
-       newdlfiles=
-       newdlprefiles=
-       passes="conv scan dlopen dlpreopen link"
-       ;;
-    *)  passes="conv"
-       ;;
-    esac
-
-    for pass in $passes; do
-      # The preopen pass in lib mode reverses $deplibs; put it back here
-      # so that -L comes before libs that need it for instance...
-      if test "$linkmode,$pass" = "lib,link"; then
-       ## FIXME: Find the place where the list is rebuilt in the wrong
-       ##        order, and fix it there properly
-        tmp_deplibs=
-       for deplib in $deplibs; do
-         tmp_deplibs="$deplib $tmp_deplibs"
-       done
-       deplibs="$tmp_deplibs"
-      fi
-
-      if test "$linkmode,$pass" = "lib,link" ||
-        test "$linkmode,$pass" = "prog,scan"; then
-       libs="$deplibs"
-       deplibs=
-      fi
-      if test "$linkmode" = prog; then
-       case $pass in
-       dlopen) libs="$dlfiles" ;;
-       dlpreopen) libs="$dlprefiles" ;;
-       link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
-       esac
-      fi
-      if test "$linkmode,$pass" = "lib,dlpreopen"; then
-       # Collect and forward deplibs of preopened libtool libs
-       for lib in $dlprefiles; do
-         # Ignore non-libtool-libs
-         dependency_libs=
-         func_resolve_sysroot "$lib"
-         case $lib in
-         *.la) func_source "$func_resolve_sysroot_result" ;;
-         esac
-
-         # Collect preopened libtool deplibs, except any this library
-         # has declared as weak libs
-         for deplib in $dependency_libs; do
-           func_basename "$deplib"
-            deplib_base=$func_basename_result
-           case " $weak_libs " in
-           *" $deplib_base "*) ;;
-           *) func_append deplibs " $deplib" ;;
-           esac
-         done
-       done
-       libs="$dlprefiles"
-      fi
-      if test "$pass" = dlopen; then
-       # Collect dlpreopened libraries
-       save_deplibs="$deplibs"
-       deplibs=
-      fi
-
-      for deplib in $libs; do
-       lib=
-       found=no
-       case $deplib in
-       -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
-        |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
-         if test "$linkmode,$pass" = "prog,link"; then
-           compile_deplibs="$deplib $compile_deplibs"
-           finalize_deplibs="$deplib $finalize_deplibs"
-         else
-           func_append compiler_flags " $deplib"
-           if test "$linkmode" = lib ; then
-               case "$new_inherited_linker_flags " in
-                   *" $deplib "*) ;;
-                   * ) func_append new_inherited_linker_flags " $deplib" ;;
-               esac
-           fi
-         fi
-         continue
-         ;;
-       -l*)
-         if test "$linkmode" != lib && test "$linkmode" != prog; then
-           func_warning "\`-l' is ignored for archives/objects"
-           continue
-         fi
-         func_stripname '-l' '' "$deplib"
-         name=$func_stripname_result
-         if test "$linkmode" = lib; then
-           searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
-         else
-           searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
-         fi
-         for searchdir in $searchdirs; do
-           for search_ext in .la $std_shrext .so .a; do
-             # Search the libtool library
-             lib="$searchdir/lib${name}${search_ext}"
-             if test -f "$lib"; then
-               if test "$search_ext" = ".la"; then
-                 found=yes
-               else
-                 found=no
-               fi
-               break 2
-             fi
-           done
-         done
-         if test "$found" != yes; then
-           # deplib doesn't seem to be a libtool library
-           if test "$linkmode,$pass" = "prog,link"; then
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
-           else
-             deplibs="$deplib $deplibs"
-             test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-           fi
-           continue
-         else # deplib is a libtool library
-           # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
-           # We need to do some special things here, and not later.
-           if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-             case " $predeps $postdeps " in
-             *" $deplib "*)
-               if func_lalib_p "$lib"; then
-                 library_names=
-                 old_library=
-                 func_source "$lib"
-                 for l in $old_library $library_names; do
-                   ll="$l"
-                 done
-                 if test "X$ll" = "X$old_library" ; then # only static version available
-                   found=no
-                   func_dirname "$lib" "" "."
-                   ladir="$func_dirname_result"
-                   lib=$ladir/$old_library
-                   if test "$linkmode,$pass" = "prog,link"; then
-                     compile_deplibs="$deplib $compile_deplibs"
-                     finalize_deplibs="$deplib $finalize_deplibs"
-                   else
-                     deplibs="$deplib $deplibs"
-                     test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-                   fi
-                   continue
-                 fi
-               fi
-               ;;
-             *) ;;
-             esac
-           fi
-         fi
-         ;; # -l
-       *.ltframework)
-         if test "$linkmode,$pass" = "prog,link"; then
-           compile_deplibs="$deplib $compile_deplibs"
-           finalize_deplibs="$deplib $finalize_deplibs"
-         else
-           deplibs="$deplib $deplibs"
-           if test "$linkmode" = lib ; then
-               case "$new_inherited_linker_flags " in
-                   *" $deplib "*) ;;
-                   * ) func_append new_inherited_linker_flags " $deplib" ;;
-               esac
-           fi
-         fi
-         continue
-         ;;
-       -L*)
-         case $linkmode in
-         lib)
-           deplibs="$deplib $deplibs"
-           test "$pass" = conv && continue
-           newdependency_libs="$deplib $newdependency_libs"
-           func_stripname '-L' '' "$deplib"
-           func_resolve_sysroot "$func_stripname_result"
-           func_append newlib_search_path " $func_resolve_sysroot_result"
-           ;;
-         prog)
-           if test "$pass" = conv; then
-             deplibs="$deplib $deplibs"
-             continue
-           fi
-           if test "$pass" = scan; then
-             deplibs="$deplib $deplibs"
-           else
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
-           fi
-           func_stripname '-L' '' "$deplib"
-           func_resolve_sysroot "$func_stripname_result"
-           func_append newlib_search_path " $func_resolve_sysroot_result"
-           ;;
-         *)
-           func_warning "\`-L' is ignored for archives/objects"
-           ;;
-         esac # linkmode
-         continue
-         ;; # -L
-       -R*)
-         if test "$pass" = link; then
-           func_stripname '-R' '' "$deplib"
-           func_resolve_sysroot "$func_stripname_result"
-           dir=$func_resolve_sysroot_result
-           # Make sure the xrpath contains only unique directories.
-           case "$xrpath " in
-           *" $dir "*) ;;
-           *) func_append xrpath " $dir" ;;
-           esac
-         fi
-         deplibs="$deplib $deplibs"
-         continue
-         ;;
-       *.la)
-         func_resolve_sysroot "$deplib"
-         lib=$func_resolve_sysroot_result
-         ;;
-       *.$libext)
-         if test "$pass" = conv; then
-           deplibs="$deplib $deplibs"
-           continue
-         fi
-         case $linkmode in
-         lib)
-           # Linking convenience modules into shared libraries is allowed,
-           # but linking other static libraries is non-portable.
-           case " $dlpreconveniencelibs " in
-           *" $deplib "*) ;;
-           *)
-             valid_a_lib=no
-             case $deplibs_check_method in
-               match_pattern*)
-                 set dummy $deplibs_check_method; shift
-                 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-                 if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
-                   | $EGREP "$match_pattern_regex" > /dev/null; then
-                   valid_a_lib=yes
-                 fi
-               ;;
-               pass_all)
-                 valid_a_lib=yes
-               ;;
-             esac
-             if test "$valid_a_lib" != yes; then
-               echo
-               $ECHO "*** Warning: Trying to link with static lib archive $deplib."
-               echo "*** I have the capability to make that library automatically link in when"
-               echo "*** you link to this library.  But I can only do this if you have a"
-               echo "*** shared version of the library, which you do not appear to have"
-               echo "*** because the file extensions .$libext of this argument makes me believe"
-               echo "*** that it is just a static archive that I should not use here."
-             else
-               echo
-               $ECHO "*** Warning: Linking the shared library $output against the"
-               $ECHO "*** static library $deplib is not portable!"
-               deplibs="$deplib $deplibs"
-             fi
-             ;;
-           esac
-           continue
-           ;;
-         prog)
-           if test "$pass" != link; then
-             deplibs="$deplib $deplibs"
-           else
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
-           fi
-           continue
-           ;;
-         esac # linkmode
-         ;; # *.$libext
-       *.lo | *.$objext)
-         if test "$pass" = conv; then
-           deplibs="$deplib $deplibs"
-         elif test "$linkmode" = prog; then
-           if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
-             # If there is no dlopen support or we're linking statically,
-             # we need to preload.
-             func_append newdlprefiles " $deplib"
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
-           else
-             func_append newdlfiles " $deplib"
-           fi
-         fi
-         continue
-         ;;
-       %DEPLIBS%)
-         alldeplibs=yes
-         continue
-         ;;
-       esac # case $deplib
-
-       if test "$found" = yes || test -f "$lib"; then :
-       else
-         func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
-       fi
-
-       # Check to see that this really is a libtool archive.
-       func_lalib_unsafe_p "$lib" \
-         || func_fatal_error "\`$lib' is not a valid libtool archive"
-
-       func_dirname "$lib" "" "."
-       ladir="$func_dirname_result"
-
-       dlname=
-       dlopen=
-       dlpreopen=
-       libdir=
-       library_names=
-       old_library=
-       inherited_linker_flags=
-       # If the library was installed with an old release of libtool,
-       # it will not redefine variables installed, or shouldnotlink
-       installed=yes
-       shouldnotlink=no
-       avoidtemprpath=
-
-
-       # Read the .la file
-       func_source "$lib"
-
-       # Convert "-framework foo" to "foo.ltframework"
-       if test -n "$inherited_linker_flags"; then
-         tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
-         for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
-           case " $new_inherited_linker_flags " in
-             *" $tmp_inherited_linker_flag "*) ;;
-             *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
-           esac
-         done
-       fi
-       dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-       if test "$linkmode,$pass" = "lib,link" ||
-          test "$linkmode,$pass" = "prog,scan" ||
-          { test "$linkmode" != prog && test "$linkmode" != lib; }; then
-         test -n "$dlopen" && func_append dlfiles " $dlopen"
-         test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
-       fi
-
-       if test "$pass" = conv; then
-         # Only check for convenience libraries
-         deplibs="$lib $deplibs"
-         if test -z "$libdir"; then
-           if test -z "$old_library"; then
-             func_fatal_error "cannot find name of link library for \`$lib'"
-           fi
-           # It is a libtool convenience library, so add in its objects.
-           func_append convenience " $ladir/$objdir/$old_library"
-           func_append old_convenience " $ladir/$objdir/$old_library"
-         elif test "$linkmode" != prog && test "$linkmode" != lib; then
-           func_fatal_error "\`$lib' is not a convenience library"
-         fi
-         tmp_libs=
-         for deplib in $dependency_libs; do
-           deplibs="$deplib $deplibs"
-           if $opt_preserve_dup_deps ; then
-             case "$tmp_libs " in
-             *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-             esac
-           fi
-           func_append tmp_libs " $deplib"
-         done
-         continue
-       fi # $pass = conv
-
-
-       # Get the name of the library we link against.
-       linklib=
-       if test -n "$old_library" &&
-          { test "$prefer_static_libs" = yes ||
-            test "$prefer_static_libs,$installed" = "built,no"; }; then
-         linklib=$old_library
-       else
-         for l in $old_library $library_names; do
-           linklib="$l"
-         done
-       fi
-       if test -z "$linklib"; then
-         func_fatal_error "cannot find name of link library for \`$lib'"
-       fi
-
-       # This library was specified with -dlopen.
-       if test "$pass" = dlopen; then
-         if test -z "$libdir"; then
-           func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
-         fi
-         if test -z "$dlname" ||
-            test "$dlopen_support" != yes ||
-            test "$build_libtool_libs" = no; then
-           # If there is no dlname, no dlopen support or we're linking
-           # statically, we need to preload.  We also need to preload any
-           # dependent libraries so libltdl's deplib preloader doesn't
-           # bomb out in the load deplibs phase.
-           func_append dlprefiles " $lib $dependency_libs"
-         else
-           func_append newdlfiles " $lib"
-         fi
-         continue
-       fi # $pass = dlopen
-
-       # We need an absolute path.
-       case $ladir in
-       [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
-       *)
-         abs_ladir=`cd "$ladir" && pwd`
-         if test -z "$abs_ladir"; then
-           func_warning "cannot determine absolute directory name of \`$ladir'"
-           func_warning "passing it literally to the linker, although it might fail"
-           abs_ladir="$ladir"
-         fi
-         ;;
-       esac
-       func_basename "$lib"
-       laname="$func_basename_result"
-
-       # Find the relevant object directory and library name.
-       if test "X$installed" = Xyes; then
-         if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-           func_warning "library \`$lib' was moved."
-           dir="$ladir"
-           absdir="$abs_ladir"
-           libdir="$abs_ladir"
-         else
-           dir="$lt_sysroot$libdir"
-           absdir="$lt_sysroot$libdir"
-         fi
-         test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
-       else
-         if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-           dir="$ladir"
-           absdir="$abs_ladir"
-           # Remove this search path later
-           func_append notinst_path " $abs_ladir"
-         else
-           dir="$ladir/$objdir"
-           absdir="$abs_ladir/$objdir"
-           # Remove this search path later
-           func_append notinst_path " $abs_ladir"
-         fi
-       fi # $installed = yes
-       func_stripname 'lib' '.la' "$laname"
-       name=$func_stripname_result
-
-       # This library was specified with -dlpreopen.
-       if test "$pass" = dlpreopen; then
-         if test -z "$libdir" && test "$linkmode" = prog; then
-           func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
-         fi
-         case "$host" in
-           # special handling for platforms with PE-DLLs.
-           *cygwin* | *mingw* | *cegcc* )
-             # Linker will automatically link against shared library if both
-             # static and shared are present.  Therefore, ensure we extract
-             # symbols from the import library if a shared library is present
-             # (otherwise, the dlopen module name will be incorrect).  We do
-             # this by putting the import library name into $newdlprefiles.
-             # We recover the dlopen module name by 'saving' the la file
-             # name in a special purpose variable, and (later) extracting the
-             # dlname from the la file.
-             if test -n "$dlname"; then
-               func_tr_sh "$dir/$linklib"
-               eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
-               func_append newdlprefiles " $dir/$linklib"
-             else
-               func_append newdlprefiles " $dir/$old_library"
-               # Keep a list of preopened convenience libraries to check
-               # that they are being used correctly in the link pass.
-               test -z "$libdir" && \
-                 func_append dlpreconveniencelibs " $dir/$old_library"
-             fi
-           ;;
-           * )
-             # Prefer using a static library (so that no silly _DYNAMIC symbols
-             # are required to link).
-             if test -n "$old_library"; then
-               func_append newdlprefiles " $dir/$old_library"
-               # Keep a list of preopened convenience libraries to check
-               # that they are being used correctly in the link pass.
-               test -z "$libdir" && \
-                 func_append dlpreconveniencelibs " $dir/$old_library"
-             # Otherwise, use the dlname, so that lt_dlopen finds it.
-             elif test -n "$dlname"; then
-               func_append newdlprefiles " $dir/$dlname"
-             else
-               func_append newdlprefiles " $dir/$linklib"
-             fi
-           ;;
-         esac
-       fi # $pass = dlpreopen
-
-       if test -z "$libdir"; then
-         # Link the convenience library
-         if test "$linkmode" = lib; then
-           deplibs="$dir/$old_library $deplibs"
-         elif test "$linkmode,$pass" = "prog,link"; then
-           compile_deplibs="$dir/$old_library $compile_deplibs"
-           finalize_deplibs="$dir/$old_library $finalize_deplibs"
-         else
-           deplibs="$lib $deplibs" # used for prog,scan pass
-         fi
-         continue
-       fi
-
-
-       if test "$linkmode" = prog && test "$pass" != link; then
-         func_append newlib_search_path " $ladir"
-         deplibs="$lib $deplibs"
-
-         linkalldeplibs=no
-         if test "$link_all_deplibs" != no || test -z "$library_names" ||
-            test "$build_libtool_libs" = no; then
-           linkalldeplibs=yes
-         fi
-
-         tmp_libs=
-         for deplib in $dependency_libs; do
-           case $deplib in
-           -L*) func_stripname '-L' '' "$deplib"
-                func_resolve_sysroot "$func_stripname_result"
-                func_append newlib_search_path " $func_resolve_sysroot_result"
-                ;;
-           esac
-           # Need to link against all dependency_libs?
-           if test "$linkalldeplibs" = yes; then
-             deplibs="$deplib $deplibs"
-           else
-             # Need to hardcode shared library paths
-             # or/and link against static libraries
-             newdependency_libs="$deplib $newdependency_libs"
-           fi
-           if $opt_preserve_dup_deps ; then
-             case "$tmp_libs " in
-             *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-             esac
-           fi
-           func_append tmp_libs " $deplib"
-         done # for deplib
-         continue
-       fi # $linkmode = prog...
-
-       if test "$linkmode,$pass" = "prog,link"; then
-         if test -n "$library_names" &&
-            { { test "$prefer_static_libs" = no ||
-                test "$prefer_static_libs,$installed" = "built,yes"; } ||
-              test -z "$old_library"; }; then
-           # We need to hardcode the library path
-           if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
-             # Make sure the rpath contains only unique directories.
-             case "$temp_rpath:" in
-             *"$absdir:"*) ;;
-             *) func_append temp_rpath "$absdir:" ;;
-             esac
-           fi
-
-           # Hardcode the library path.
-           # Skip directories that are in the system default run-time
-           # search path.
-           case " $sys_lib_dlsearch_path " in
-           *" $absdir "*) ;;
-           *)
-             case "$compile_rpath " in
-             *" $absdir "*) ;;
-             *) func_append compile_rpath " $absdir" ;;
-             esac
-             ;;
-           esac
-           case " $sys_lib_dlsearch_path " in
-           *" $libdir "*) ;;
-           *)
-             case "$finalize_rpath " in
-             *" $libdir "*) ;;
-             *) func_append finalize_rpath " $libdir" ;;
-             esac
-             ;;
-           esac
-         fi # $linkmode,$pass = prog,link...
-
-         if test "$alldeplibs" = yes &&
-            { test "$deplibs_check_method" = pass_all ||
-              { test "$build_libtool_libs" = yes &&
-                test -n "$library_names"; }; }; then
-           # We only need to search for static libraries
-           continue
-         fi
-       fi
-
-       link_static=no # Whether the deplib will be linked statically
-       use_static_libs=$prefer_static_libs
-       if test "$use_static_libs" = built && test "$installed" = yes; then
-         use_static_libs=no
-       fi
-       if test -n "$library_names" &&
-          { test "$use_static_libs" = no || test -z "$old_library"; }; then
-         case $host in
-         *cygwin* | *mingw* | *cegcc*)
-             # No point in relinking DLLs because paths are not encoded
-             func_append notinst_deplibs " $lib"
-             need_relink=no
-           ;;
-         *)
-           if test "$installed" = no; then
-             func_append notinst_deplibs " $lib"
-             need_relink=yes
-           fi
-           ;;
-         esac
-         # This is a shared library
-
-         # Warn about portability, can't link against -module's on some
-         # systems (darwin).  Don't bleat about dlopened modules though!
-         dlopenmodule=""
-         for dlpremoduletest in $dlprefiles; do
-           if test "X$dlpremoduletest" = "X$lib"; then
-             dlopenmodule="$dlpremoduletest"
-             break
-           fi
-         done
-         if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
-           echo
-           if test "$linkmode" = prog; then
-             $ECHO "*** Warning: Linking the executable $output against the loadable module"
-           else
-             $ECHO "*** Warning: Linking the shared library $output against the loadable module"
-           fi
-           $ECHO "*** $linklib is not portable!"
-         fi
-         if test "$linkmode" = lib &&
-            test "$hardcode_into_libs" = yes; then
-           # Hardcode the library path.
-           # Skip directories that are in the system default run-time
-           # search path.
-           case " $sys_lib_dlsearch_path " in
-           *" $absdir "*) ;;
-           *)
-             case "$compile_rpath " in
-             *" $absdir "*) ;;
-             *) func_append compile_rpath " $absdir" ;;
-             esac
-             ;;
-           esac
-           case " $sys_lib_dlsearch_path " in
-           *" $libdir "*) ;;
-           *)
-             case "$finalize_rpath " in
-             *" $libdir "*) ;;
-             *) func_append finalize_rpath " $libdir" ;;
-             esac
-             ;;
-           esac
-         fi
-
-         if test -n "$old_archive_from_expsyms_cmds"; then
-           # figure out the soname
-           set dummy $library_names
-           shift
-           realname="$1"
-           shift
-           libname=`eval "\\$ECHO \"$libname_spec\""`
-           # use dlname if we got it. it's perfectly good, no?
-           if test -n "$dlname"; then
-             soname="$dlname"
-           elif test -n "$soname_spec"; then
-             # bleh windows
-             case $host in
-             *cygwin* | mingw* | *cegcc*)
-               func_arith $current - $age
-               major=$func_arith_result
-               versuffix="-$major"
-               ;;
-             esac
-             eval soname=\"$soname_spec\"
-           else
-             soname="$realname"
-           fi
-
-           # Make a new name for the extract_expsyms_cmds to use
-           soroot="$soname"
-           func_basename "$soroot"
-           soname="$func_basename_result"
-           func_stripname 'lib' '.dll' "$soname"
-           newlib=libimp-$func_stripname_result.a
-
-           # If the library has no export list, then create one now
-           if test -f "$output_objdir/$soname-def"; then :
-           else
-             func_verbose "extracting exported symbol list from \`$soname'"
-             func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
-           fi
-
-           # Create $newlib
-           if test -f "$output_objdir/$newlib"; then :; else
-             func_verbose "generating import library for \`$soname'"
-             func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
-           fi
-           # make sure the library variables are pointing to the new library
-           dir=$output_objdir
-           linklib=$newlib
-         fi # test -n "$old_archive_from_expsyms_cmds"
-
-         if test "$linkmode" = prog || test "$opt_mode" != relink; then
-           add_shlibpath=
-           add_dir=
-           add=
-           lib_linked=yes
-           case $hardcode_action in
-           immediate | unsupported)
-             if test "$hardcode_direct" = no; then
-               add="$dir/$linklib"
-               case $host in
-                 *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
-                 *-*-sysv4*uw2*) add_dir="-L$dir" ;;
-                 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
-                   *-*-unixware7*) add_dir="-L$dir" ;;
-                 *-*-darwin* )
-                   # if the lib is a (non-dlopened) module then we can not
-                   # link against it, someone is ignoring the earlier warnings
-                   if /usr/bin/file -L $add 2> /dev/null |
-                        $GREP ": [^:]* bundle" >/dev/null ; then
-                     if test "X$dlopenmodule" != "X$lib"; then
-                       $ECHO "*** Warning: lib $linklib is a module, not a shared library"
-                       if test -z "$old_library" ; then
-                         echo
-                         echo "*** And there doesn't seem to be a static archive available"
-                         echo "*** The link will probably fail, sorry"
-                       else
-                         add="$dir/$old_library"
-                       fi
-                     elif test -n "$old_library"; then
-                       add="$dir/$old_library"
-                     fi
-                   fi
-               esac
-             elif test "$hardcode_minus_L" = no; then
-               case $host in
-               *-*-sunos*) add_shlibpath="$dir" ;;
-               esac
-               add_dir="-L$dir"
-               add="-l$name"
-             elif test "$hardcode_shlibpath_var" = no; then
-               add_shlibpath="$dir"
-               add="-l$name"
-             else
-               lib_linked=no
-             fi
-             ;;
-           relink)
-             if test "$hardcode_direct" = yes &&
-                test "$hardcode_direct_absolute" = no; then
-               add="$dir/$linklib"
-             elif test "$hardcode_minus_L" = yes; then
-               add_dir="-L$absdir"
-               # Try looking first in the location we're being installed to.
-               if test -n "$inst_prefix_dir"; then
-                 case $libdir in
-                   [\\/]*)
-                     func_append add_dir " -L$inst_prefix_dir$libdir"
-                     ;;
-                 esac
-               fi
-               add="-l$name"
-             elif test "$hardcode_shlibpath_var" = yes; then
-               add_shlibpath="$dir"
-               add="-l$name"
-             else
-               lib_linked=no
-             fi
-             ;;
-           *) lib_linked=no ;;
-           esac
-
-           if test "$lib_linked" != yes; then
-             func_fatal_configuration "unsupported hardcode properties"
-           fi
-
-           if test -n "$add_shlibpath"; then
-             case :$compile_shlibpath: in
-             *":$add_shlibpath:"*) ;;
-             *) func_append compile_shlibpath "$add_shlibpath:" ;;
-             esac
-           fi
-           if test "$linkmode" = prog; then
-             test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
-             test -n "$add" && compile_deplibs="$add $compile_deplibs"
-           else
-             test -n "$add_dir" && deplibs="$add_dir $deplibs"
-             test -n "$add" && deplibs="$add $deplibs"
-             if test "$hardcode_direct" != yes &&
-                test "$hardcode_minus_L" != yes &&
-                test "$hardcode_shlibpath_var" = yes; then
-               case :$finalize_shlibpath: in
-               *":$libdir:"*) ;;
-               *) func_append finalize_shlibpath "$libdir:" ;;
-               esac
-             fi
-           fi
-         fi
-
-         if test "$linkmode" = prog || test "$opt_mode" = relink; then
-           add_shlibpath=
-           add_dir=
-           add=
-           # Finalize command for both is simple: just hardcode it.
-           if test "$hardcode_direct" = yes &&
-              test "$hardcode_direct_absolute" = no; then
-             add="$libdir/$linklib"
-           elif test "$hardcode_minus_L" = yes; then
-             add_dir="-L$libdir"
-             add="-l$name"
-           elif test "$hardcode_shlibpath_var" = yes; then
-             case :$finalize_shlibpath: in
-             *":$libdir:"*) ;;
-             *) func_append finalize_shlibpath "$libdir:" ;;
-             esac
-             add="-l$name"
-           elif test "$hardcode_automatic" = yes; then
-             if test -n "$inst_prefix_dir" &&
-                test -f "$inst_prefix_dir$libdir/$linklib" ; then
-               add="$inst_prefix_dir$libdir/$linklib"
-             else
-               add="$libdir/$linklib"
-             fi
-           else
-             # We cannot seem to hardcode it, guess we'll fake it.
-             add_dir="-L$libdir"
-             # Try looking first in the location we're being installed to.
-             if test -n "$inst_prefix_dir"; then
-               case $libdir in
-                 [\\/]*)
-                   func_append add_dir " -L$inst_prefix_dir$libdir"
-                   ;;
-               esac
-             fi
-             add="-l$name"
-           fi
-
-           if test "$linkmode" = prog; then
-             test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
-             test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
-           else
-             test -n "$add_dir" && deplibs="$add_dir $deplibs"
-             test -n "$add" && deplibs="$add $deplibs"
-           fi
-         fi
-       elif test "$linkmode" = prog; then
-         # Here we assume that one of hardcode_direct or hardcode_minus_L
-         # is not unsupported.  This is valid on all known static and
-         # shared platforms.
-         if test "$hardcode_direct" != unsupported; then
-           test -n "$old_library" && linklib="$old_library"
-           compile_deplibs="$dir/$linklib $compile_deplibs"
-           finalize_deplibs="$dir/$linklib $finalize_deplibs"
-         else
-           compile_deplibs="-l$name -L$dir $compile_deplibs"
-           finalize_deplibs="-l$name -L$dir $finalize_deplibs"
-         fi
-       elif test "$build_libtool_libs" = yes; then
-         # Not a shared library
-         if test "$deplibs_check_method" != pass_all; then
-           # We're trying link a shared library against a static one
-           # but the system doesn't support it.
-
-           # Just print a warning and add the library to dependency_libs so
-           # that the program can be linked against the static library.
-           echo
-           $ECHO "*** Warning: This system can not link to static lib archive $lib."
-           echo "*** I have the capability to make that library automatically link in when"
-           echo "*** you link to this library.  But I can only do this if you have a"
-           echo "*** shared version of the library, which you do not appear to have."
-           if test "$module" = yes; then
-             echo "*** But as you try to build a module library, libtool will still create "
-             echo "*** a static module, that should work as long as the dlopening application"
-             echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
-             if test -z "$global_symbol_pipe"; then
-               echo
-               echo "*** However, this would only work if libtool was able to extract symbol"
-               echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-               echo "*** not find such a program.  So, this module is probably useless."
-               echo "*** \`nm' from GNU binutils and a full rebuild may help."
-             fi
-             if test "$build_old_libs" = no; then
-               build_libtool_libs=module
-               build_old_libs=yes
-             else
-               build_libtool_libs=no
-             fi
-           fi
-         else
-           deplibs="$dir/$old_library $deplibs"
-           link_static=yes
-         fi
-       fi # link shared/static library?
-
-       if test "$linkmode" = lib; then
-         if test -n "$dependency_libs" &&
-            { test "$hardcode_into_libs" != yes ||
-              test "$build_old_libs" = yes ||
-              test "$link_static" = yes; }; then
-           # Extract -R from dependency_libs
-           temp_deplibs=
-           for libdir in $dependency_libs; do
-             case $libdir in
-             -R*) func_stripname '-R' '' "$libdir"
-                  temp_xrpath=$func_stripname_result
-                  case " $xrpath " in
-                  *" $temp_xrpath "*) ;;
-                  *) func_append xrpath " $temp_xrpath";;
-                  esac;;
-             *) func_append temp_deplibs " $libdir";;
-             esac
-           done
-           dependency_libs="$temp_deplibs"
-         fi
-
-         func_append newlib_search_path " $absdir"
-         # Link against this library
-         test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
-         # ... and its dependency_libs
-         tmp_libs=
-         for deplib in $dependency_libs; do
-           newdependency_libs="$deplib $newdependency_libs"
-           case $deplib in
-              -L*) func_stripname '-L' '' "$deplib"
-                   func_resolve_sysroot "$func_stripname_result";;
-              *) func_resolve_sysroot "$deplib" ;;
-            esac
-           if $opt_preserve_dup_deps ; then
-             case "$tmp_libs " in
-             *" $func_resolve_sysroot_result "*)
-                func_append specialdeplibs " $func_resolve_sysroot_result" ;;
-             esac
-           fi
-           func_append tmp_libs " $func_resolve_sysroot_result"
-         done
-
-         if test "$link_all_deplibs" != no; then
-           # Add the search paths of all dependency libraries
-           for deplib in $dependency_libs; do
-             path=
-             case $deplib in
-             -L*) path="$deplib" ;;
-             *.la)
-               func_resolve_sysroot "$deplib"
-               deplib=$func_resolve_sysroot_result
-               func_dirname "$deplib" "" "."
-               dir=$func_dirname_result
-               # We need an absolute path.
-               case $dir in
-               [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
-               *)
-                 absdir=`cd "$dir" && pwd`
-                 if test -z "$absdir"; then
-                   func_warning "cannot determine absolute directory name of \`$dir'"
-                   absdir="$dir"
-                 fi
-                 ;;
-               esac
-               if $GREP "^installed=no" $deplib > /dev/null; then
-               case $host in
-               *-*-darwin*)
-                 depdepl=
-                 eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-                 if test -n "$deplibrary_names" ; then
-                   for tmp in $deplibrary_names ; do
-                     depdepl=$tmp
-                   done
-                   if test -f "$absdir/$objdir/$depdepl" ; then
-                     depdepl="$absdir/$objdir/$depdepl"
-                     darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
-                      if test -z "$darwin_install_name"; then
-                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
-                      fi
-                     func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
-                     func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
-                     path=
-                   fi
-                 fi
-                 ;;
-               *)
-                 path="-L$absdir/$objdir"
-                 ;;
-               esac
-               else
-                 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-                 test -z "$libdir" && \
-                   func_fatal_error "\`$deplib' is not a valid libtool archive"
-                 test "$absdir" != "$libdir" && \
-                   func_warning "\`$deplib' seems to be moved"
-
-                 path="-L$absdir"
-               fi
-               ;;
-             esac
-             case " $deplibs " in
-             *" $path "*) ;;
-             *) deplibs="$path $deplibs" ;;
-             esac
-           done
-         fi # link_all_deplibs != no
-       fi # linkmode = lib
-      done # for deplib in $libs
-      if test "$pass" = link; then
-       if test "$linkmode" = "prog"; then
-         compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
-         finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
-       else
-         compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-       fi
-      fi
-      dependency_libs="$newdependency_libs"
-      if test "$pass" = dlpreopen; then
-       # Link the dlpreopened libraries before other libraries
-       for deplib in $save_deplibs; do
-         deplibs="$deplib $deplibs"
-       done
-      fi
-      if test "$pass" != dlopen; then
-       if test "$pass" != conv; then
-         # Make sure lib_search_path contains only unique directories.
-         lib_search_path=
-         for dir in $newlib_search_path; do
-           case "$lib_search_path " in
-           *" $dir "*) ;;
-           *) func_append lib_search_path " $dir" ;;
-           esac
-         done
-         newlib_search_path=
-       fi
-
-       if test "$linkmode,$pass" != "prog,link"; then
-         vars="deplibs"
-       else
-         vars="compile_deplibs finalize_deplibs"
-       fi
-       for var in $vars dependency_libs; do
-         # Add libraries to $var in reverse order
-         eval tmp_libs=\"\$$var\"
-         new_libs=
-         for deplib in $tmp_libs; do
-           # FIXME: Pedantically, this is the right thing to do, so
-           #        that some nasty dependency loop isn't accidentally
-           #        broken:
-           #new_libs="$deplib $new_libs"
-           # Pragmatically, this seems to cause very few problems in
-           # practice:
-           case $deplib in
-           -L*) new_libs="$deplib $new_libs" ;;
-           -R*) ;;
-           *)
-             # And here is the reason: when a library appears more
-             # than once as an explicit dependence of a library, or
-             # is implicitly linked in more than once by the
-             # compiler, it is considered special, and multiple
-             # occurrences thereof are not removed.  Compare this
-             # with having the same library being listed as a
-             # dependency of multiple other libraries: in this case,
-             # we know (pedantically, we assume) the library does not
-             # need to be listed more than once, so we keep only the
-             # last copy.  This is not always right, but it is rare
-             # enough that we require users that really mean to play
-             # such unportable linking tricks to link the library
-             # using -Wl,-lname, so that libtool does not consider it
-             # for duplicate removal.
-             case " $specialdeplibs " in
-             *" $deplib "*) new_libs="$deplib $new_libs" ;;
-             *)
-               case " $new_libs " in
-               *" $deplib "*) ;;
-               *) new_libs="$deplib $new_libs" ;;
-               esac
-               ;;
-             esac
-             ;;
-           esac
-         done
-         tmp_libs=
-         for deplib in $new_libs; do
-           case $deplib in
-           -L*)
-             case " $tmp_libs " in
-             *" $deplib "*) ;;
-             *) func_append tmp_libs " $deplib" ;;
-             esac
-             ;;
-           *) func_append tmp_libs " $deplib" ;;
-           esac
-         done
-         eval $var=\"$tmp_libs\"
-       done # for var
-      fi
-      # Last step: remove runtime libs from dependency_libs
-      # (they stay in deplibs)
-      tmp_libs=
-      for i in $dependency_libs ; do
-       case " $predeps $postdeps $compiler_lib_search_path " in
-       *" $i "*)
-         i=""
-         ;;
-       esac
-       if test -n "$i" ; then
-         func_append tmp_libs " $i"
-       fi
-      done
-      dependency_libs=$tmp_libs
-    done # for pass
-    if test "$linkmode" = prog; then
-      dlfiles="$newdlfiles"
-    fi
-    if test "$linkmode" = prog || test "$linkmode" = lib; then
-      dlprefiles="$newdlprefiles"
-    fi
-
-    case $linkmode in
-    oldlib)
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-       func_warning "\`-dlopen' is ignored for archives"
-      fi
-
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-       func_warning "\`-l' and \`-L' are ignored for archives" ;;
-      esac
-
-      test -n "$rpath" && \
-       func_warning "\`-rpath' is ignored for archives"
-
-      test -n "$xrpath" && \
-       func_warning "\`-R' is ignored for archives"
-
-      test -n "$vinfo" && \
-       func_warning "\`-version-info/-version-number' is ignored for archives"
-
-      test -n "$release" && \
-       func_warning "\`-release' is ignored for archives"
-
-      test -n "$export_symbols$export_symbols_regex" && \
-       func_warning "\`-export-symbols' is ignored for archives"
-
-      # Now set the variables for building old libraries.
-      build_libtool_libs=no
-      oldlibs="$output"
-      func_append objs "$old_deplibs"
-      ;;
-
-    lib)
-      # Make sure we only generate libraries of the form `libNAME.la'.
-      case $outputname in
-      lib*)
-       func_stripname 'lib' '.la' "$outputname"
-       name=$func_stripname_result
-       eval shared_ext=\"$shrext_cmds\"
-       eval libname=\"$libname_spec\"
-       ;;
-      *)
-       test "$module" = no && \
-         func_fatal_help "libtool library \`$output' must begin with \`lib'"
-
-       if test "$need_lib_prefix" != no; then
-         # Add the "lib" prefix for modules if required
-         func_stripname '' '.la' "$outputname"
-         name=$func_stripname_result
-         eval shared_ext=\"$shrext_cmds\"
-         eval libname=\"$libname_spec\"
-       else
-         func_stripname '' '.la' "$outputname"
-         libname=$func_stripname_result
-       fi
-       ;;
-      esac
-
-      if test -n "$objs"; then
-       if test "$deplibs_check_method" != pass_all; then
-         func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
-       else
-         echo
-         $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
-         $ECHO "*** objects $objs is not portable!"
-         func_append libobjs " $objs"
-       fi
-      fi
-
-      test "$dlself" != no && \
-       func_warning "\`-dlopen self' is ignored for libtool libraries"
-
-      set dummy $rpath
-      shift
-      test "$#" -gt 1 && \
-       func_warning "ignoring multiple \`-rpath's for a libtool library"
-
-      install_libdir="$1"
-
-      oldlibs=
-      if test -z "$rpath"; then
-       if test "$build_libtool_libs" = yes; then
-         # Building a libtool convenience library.
-         # Some compilers have problems with a `.al' extension so
-         # convenience libraries should have the same extension an
-         # archive normally would.
-         oldlibs="$output_objdir/$libname.$libext $oldlibs"
-         build_libtool_libs=convenience
-         build_old_libs=yes
-       fi
-
-       test -n "$vinfo" && \
-         func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
-
-       test -n "$release" && \
-         func_warning "\`-release' is ignored for convenience libraries"
-      else
-
-       # Parse the version information argument.
-       save_ifs="$IFS"; IFS=':'
-       set dummy $vinfo 0 0 0
-       shift
-       IFS="$save_ifs"
-
-       test -n "$7" && \
-         func_fatal_help "too many parameters to \`-version-info'"
-
-       # convert absolute version numbers to libtool ages
-       # this retains compatibility with .la files and attempts
-       # to make the code below a bit more comprehensible
-
-       case $vinfo_number in
-       yes)
-         number_major="$1"
-         number_minor="$2"
-         number_revision="$3"
-         #
-         # There are really only two kinds -- those that
-         # use the current revision as the major version
-         # and those that subtract age and use age as
-         # a minor version.  But, then there is irix
-         # which has an extra 1 added just for fun
-         #
-         case $version_type in
-         # correct linux to gnu/linux during the next big refactor
-         darwin|linux|osf|windows|none)
-           func_arith $number_major + $number_minor
-           current=$func_arith_result
-           age="$number_minor"
-           revision="$number_revision"
-           ;;
-         freebsd-aout|freebsd-elf|qnx|sunos)
-           current="$number_major"
-           revision="$number_minor"
-           age="0"
-           ;;
-         irix|nonstopux)
-           func_arith $number_major + $number_minor
-           current=$func_arith_result
-           age="$number_minor"
-           revision="$number_minor"
-           lt_irix_increment=no
-           ;;
-         esac
-         ;;
-       no)
-         current="$1"
-         revision="$2"
-         age="$3"
-         ;;
-       esac
-
-       # Check that each of the things are valid numbers.
-       case $current in
-       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-       *)
-         func_error "CURRENT \`$current' must be a nonnegative integer"
-         func_fatal_error "\`$vinfo' is not valid version information"
-         ;;
-       esac
-
-       case $revision in
-       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-       *)
-         func_error "REVISION \`$revision' must be a nonnegative integer"
-         func_fatal_error "\`$vinfo' is not valid version information"
-         ;;
-       esac
-
-       case $age in
-       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-       *)
-         func_error "AGE \`$age' must be a nonnegative integer"
-         func_fatal_error "\`$vinfo' is not valid version information"
-         ;;
-       esac
-
-       if test "$age" -gt "$current"; then
-         func_error "AGE \`$age' is greater than the current interface number \`$current'"
-         func_fatal_error "\`$vinfo' is not valid version information"
-       fi
-
-       # Calculate the version variables.
-       major=
-       versuffix=
-       verstring=
-       case $version_type in
-       none) ;;
-
-       darwin)
-         # Like Linux, but with the current version available in
-         # verstring for coding it into the library header
-         func_arith $current - $age
-         major=.$func_arith_result
-         versuffix="$major.$age.$revision"
-         # Darwin ld doesn't like 0 for these options...
-         func_arith $current + 1
-         minor_current=$func_arith_result
-         xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
-         verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
-         ;;
-
-       freebsd-aout)
-         major=".$current"
-         versuffix=".$current.$revision";
-         ;;
-
-       freebsd-elf)
-         major=".$current"
-         versuffix=".$current"
-         ;;
-
-       irix | nonstopux)
-         if test "X$lt_irix_increment" = "Xno"; then
-           func_arith $current - $age
-         else
-           func_arith $current - $age + 1
-         fi
-         major=$func_arith_result
-
-         case $version_type in
-           nonstopux) verstring_prefix=nonstopux ;;
-           *)         verstring_prefix=sgi ;;
-         esac
-         verstring="$verstring_prefix$major.$revision"
-
-         # Add in all the interfaces that we are compatible with.
-         loop=$revision
-         while test "$loop" -ne 0; do
-           func_arith $revision - $loop
-           iface=$func_arith_result
-           func_arith $loop - 1
-           loop=$func_arith_result
-           verstring="$verstring_prefix$major.$iface:$verstring"
-         done
-
-         # Before this point, $major must not contain `.'.
-         major=.$major
-         versuffix="$major.$revision"
-         ;;
-
-       linux) # correct to gnu/linux during the next big refactor
-         func_arith $current - $age
-         major=.$func_arith_result
-         versuffix="$major.$age.$revision"
-         ;;
-
-       osf)
-         func_arith $current - $age
-         major=.$func_arith_result
-         versuffix=".$current.$age.$revision"
-         verstring="$current.$age.$revision"
-
-         # Add in all the interfaces that we are compatible with.
-         loop=$age
-         while test "$loop" -ne 0; do
-           func_arith $current - $loop
-           iface=$func_arith_result
-           func_arith $loop - 1
-           loop=$func_arith_result
-           verstring="$verstring:${iface}.0"
-         done
-
-         # Make executables depend on our current version.
-         func_append verstring ":${current}.0"
-         ;;
-
-       qnx)
-         major=".$current"
-         versuffix=".$current"
-         ;;
-
-       sunos)
-         major=".$current"
-         versuffix=".$current.$revision"
-         ;;
-
-       windows)
-         # Use '-' rather than '.', since we only want one
-         # extension on DOS 8.3 filesystems.
-         func_arith $current - $age
-         major=$func_arith_result
-         versuffix="-$major"
-         ;;
-
-       *)
-         func_fatal_configuration "unknown library version type \`$version_type'"
-         ;;
-       esac
-
-       # Clear the version info if we defaulted, and they specified a release.
-       if test -z "$vinfo" && test -n "$release"; then
-         major=
-         case $version_type in
-         darwin)
-           # we can't check for "0.0" in archive_cmds due to quoting
-           # problems, so we reset it completely
-           verstring=
-           ;;
-         *)
-           verstring="0.0"
-           ;;
-         esac
-         if test "$need_version" = no; then
-           versuffix=
-         else
-           versuffix=".0.0"
-         fi
-       fi
-
-       # Remove version info from name if versioning should be avoided
-       if test "$avoid_version" = yes && test "$need_version" = no; then
-         major=
-         versuffix=
-         verstring=""
-       fi
-
-       # Check to see if the archive will have undefined symbols.
-       if test "$allow_undefined" = yes; then
-         if test "$allow_undefined_flag" = unsupported; then
-           func_warning "undefined symbols not allowed in $host shared libraries"
-           build_libtool_libs=no
-           build_old_libs=yes
-         fi
-       else
-         # Don't allow undefined symbols.
-         allow_undefined_flag="$no_undefined_flag"
-       fi
-
-      fi
-
-      func_generate_dlsyms "$libname" "$libname" "yes"
-      func_append libobjs " $symfileobj"
-      test "X$libobjs" = "X " && libobjs=
-
-      if test "$opt_mode" != relink; then
-       # Remove our outputs, but don't remove object files since they
-       # may have been created when compiling PIC objects.
-       removelist=
-       tempremovelist=`$ECHO "$output_objdir/*"`
-       for p in $tempremovelist; do
-         case $p in
-           *.$objext | *.gcno)
-              ;;
-           $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
-              if test "X$precious_files_regex" != "X"; then
-                if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
-                then
-                  continue
-                fi
-              fi
-              func_append removelist " $p"
-              ;;
-           *) ;;
-         esac
-       done
-       test -n "$removelist" && \
-         func_show_eval "${RM}r \$removelist"
-      fi
-
-      # Now set the variables for building old libraries.
-      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
-       func_append oldlibs " $output_objdir/$libname.$libext"
-
-       # Transform .lo files to .o files.
-       oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
-      fi
-
-      # Eliminate all temporary directories.
-      #for path in $notinst_path; do
-      #        lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
-      #        deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
-      #        dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
-      #done
-
-      if test -n "$xrpath"; then
-       # If the user specified any rpath flags, then add them.
-       temp_xrpath=
-       for libdir in $xrpath; do
-         func_replace_sysroot "$libdir"
-         func_append temp_xrpath " -R$func_replace_sysroot_result"
-         case "$finalize_rpath " in
-         *" $libdir "*) ;;
-         *) func_append finalize_rpath " $libdir" ;;
-         esac
-       done
-       if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
-         dependency_libs="$temp_xrpath $dependency_libs"
-       fi
-      fi
-
-      # Make sure dlfiles contains only unique files that won't be dlpreopened
-      old_dlfiles="$dlfiles"
-      dlfiles=
-      for lib in $old_dlfiles; do
-       case " $dlprefiles $dlfiles " in
-       *" $lib "*) ;;
-       *) func_append dlfiles " $lib" ;;
-       esac
-      done
-
-      # Make sure dlprefiles contains only unique files
-      old_dlprefiles="$dlprefiles"
-      dlprefiles=
-      for lib in $old_dlprefiles; do
-       case "$dlprefiles " in
-       *" $lib "*) ;;
-       *) func_append dlprefiles " $lib" ;;
-       esac
-      done
-
-      if test "$build_libtool_libs" = yes; then
-       if test -n "$rpath"; then
-         case $host in
-         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
-           # these systems don't actually have a c library (as such)!
-           ;;
-         *-*-rhapsody* | *-*-darwin1.[012])
-           # Rhapsody C library is in the System framework
-           func_append deplibs " System.ltframework"
-           ;;
-         *-*-netbsd*)
-           # Don't link with libc until the a.out ld.so is fixed.
-           ;;
-         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-           # Do not include libc due to us having libc/libc_r.
-           ;;
-         *-*-sco3.2v5* | *-*-sco5v6*)
-           # Causes problems with __ctype
-           ;;
-         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-           # Compiler inserts libc in the correct place for threads to work
-           ;;
-         *)
-           # Add libc to deplibs on all other systems if necessary.
-           if test "$build_libtool_need_lc" = "yes"; then
-             func_append deplibs " -lc"
-           fi
-           ;;
-         esac
-       fi
-
-       # Transform deplibs into only deplibs that can be linked in shared.
-       name_save=$name
-       libname_save=$libname
-       release_save=$release
-       versuffix_save=$versuffix
-       major_save=$major
-       # I'm not sure if I'm treating the release correctly.  I think
-       # release should show up in the -l (ie -lgmp5) so we don't want to
-       # add it in twice.  Is that correct?
-       release=""
-       versuffix=""
-       major=""
-       newdeplibs=
-       droppeddeps=no
-       case $deplibs_check_method in
-       pass_all)
-         # Don't check for shared/static.  Everything works.
-         # This might be a little naive.  We might want to check
-         # whether the library exists or not.  But this is on
-         # osf3 & osf4 and I'm not really sure... Just
-         # implementing what was already the behavior.
-         newdeplibs=$deplibs
-         ;;
-       test_compile)
-         # This code stresses the "libraries are programs" paradigm to its
-         # limits. Maybe even breaks it.  We compile a program, linking it
-         # against the deplibs as a proxy for the library.  Then we can check
-         # whether they linked in statically or dynamically with ldd.
-         $opt_dry_run || $RM conftest.c
-         cat > conftest.c <<EOF
-         int main() { return 0; }
-EOF
-         $opt_dry_run || $RM conftest
-         if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
-           ldd_output=`ldd conftest`
-           for i in $deplibs; do
-             case $i in
-             -l*)
-               func_stripname -l '' "$i"
-               name=$func_stripname_result
-               if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-                 case " $predeps $postdeps " in
-                 *" $i "*)
-                   func_append newdeplibs " $i"
-                   i=""
-                   ;;
-                 esac
-               fi
-               if test -n "$i" ; then
-                 libname=`eval "\\$ECHO \"$libname_spec\""`
-                 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
-                 set dummy $deplib_matches; shift
-                 deplib_match=$1
-                 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-                   func_append newdeplibs " $i"
-                 else
-                   droppeddeps=yes
-                   echo
-                   $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-                   echo "*** I have the capability to make that library automatically link in when"
-                   echo "*** you link to this library.  But I can only do this if you have a"
-                   echo "*** shared version of the library, which I believe you do not have"
-                   echo "*** because a test_compile did reveal that the linker did not use it for"
-                   echo "*** its dynamic dependency list that programs get resolved with at runtime."
-                 fi
-               fi
-               ;;
-             *)
-               func_append newdeplibs " $i"
-               ;;
-             esac
-           done
-         else
-           # Error occurred in the first compile.  Let's try to salvage
-           # the situation: Compile a separate program for each library.
-           for i in $deplibs; do
-             case $i in
-             -l*)
-               func_stripname -l '' "$i"
-               name=$func_stripname_result
-               $opt_dry_run || $RM conftest
-               if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
-                 ldd_output=`ldd conftest`
-                 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-                   case " $predeps $postdeps " in
-                   *" $i "*)
-                     func_append newdeplibs " $i"
-                     i=""
-                     ;;
-                   esac
-                 fi
-                 if test -n "$i" ; then
-                   libname=`eval "\\$ECHO \"$libname_spec\""`
-                   deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
-                   set dummy $deplib_matches; shift
-                   deplib_match=$1
-                   if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-                     func_append newdeplibs " $i"
-                   else
-                     droppeddeps=yes
-                     echo
-                     $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-                     echo "*** I have the capability to make that library automatically link in when"
-                     echo "*** you link to this library.  But I can only do this if you have a"
-                     echo "*** shared version of the library, which you do not appear to have"
-                     echo "*** because a test_compile did reveal that the linker did not use this one"
-                     echo "*** as a dynamic dependency that programs can get resolved with at runtime."
-                   fi
-                 fi
-               else
-                 droppeddeps=yes
-                 echo
-                 $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
-                 echo "*** make it link in!  You will probably need to install it or some"
-                 echo "*** library that it depends on before this library will be fully"
-                 echo "*** functional.  Installing it before continuing would be even better."
-               fi
-               ;;
-             *)
-               func_append newdeplibs " $i"
-               ;;
-             esac
-           done
-         fi
-         ;;
-       file_magic*)
-         set dummy $deplibs_check_method; shift
-         file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-         for a_deplib in $deplibs; do
-           case $a_deplib in
-           -l*)
-             func_stripname -l '' "$a_deplib"
-             name=$func_stripname_result
-             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-               case " $predeps $postdeps " in
-               *" $a_deplib "*)
-                 func_append newdeplibs " $a_deplib"
-                 a_deplib=""
-                 ;;
-               esac
-             fi
-             if test -n "$a_deplib" ; then
-               libname=`eval "\\$ECHO \"$libname_spec\""`
-               if test -n "$file_magic_glob"; then
-                 libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
-               else
-                 libnameglob=$libname
-               fi
-               test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
-               for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-                 if test "$want_nocaseglob" = yes; then
-                   shopt -s nocaseglob
-                   potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
-                   $nocaseglob
-                 else
-                   potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
-                 fi
-                 for potent_lib in $potential_libs; do
-                     # Follow soft links.
-                     if ls -lLd "$potent_lib" 2>/dev/null |
-                        $GREP " -> " >/dev/null; then
-                       continue
-                     fi
-                     # The statement above tries to avoid entering an
-                     # endless loop below, in case of cyclic links.
-                     # We might still enter an endless loop, since a link
-                     # loop can be closed while we follow links,
-                     # but so what?
-                     potlib="$potent_lib"
-                     while test -h "$potlib" 2>/dev/null; do
-                       potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
-                       case $potliblink in
-                       [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-                       *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
-                       esac
-                     done
-                     if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
-                        $SED -e 10q |
-                        $EGREP "$file_magic_regex" > /dev/null; then
-                       func_append newdeplibs " $a_deplib"
-                       a_deplib=""
-                       break 2
-                     fi
-                 done
-               done
-             fi
-             if test -n "$a_deplib" ; then
-               droppeddeps=yes
-               echo
-               $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-               echo "*** I have the capability to make that library automatically link in when"
-               echo "*** you link to this library.  But I can only do this if you have a"
-               echo "*** shared version of the library, which you do not appear to have"
-               echo "*** because I did check the linker path looking for a file starting"
-               if test -z "$potlib" ; then
-                 $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
-               else
-                 $ECHO "*** with $libname and none of the candidates passed a file format test"
-                 $ECHO "*** using a file magic. Last file checked: $potlib"
-               fi
-             fi
-             ;;
-           *)
-             # Add a -L argument.
-             func_append newdeplibs " $a_deplib"
-             ;;
-           esac
-         done # Gone through all deplibs.
-         ;;
-       match_pattern*)
-         set dummy $deplibs_check_method; shift
-         match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-         for a_deplib in $deplibs; do
-           case $a_deplib in
-           -l*)
-             func_stripname -l '' "$a_deplib"
-             name=$func_stripname_result
-             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-               case " $predeps $postdeps " in
-               *" $a_deplib "*)
-                 func_append newdeplibs " $a_deplib"
-                 a_deplib=""
-                 ;;
-               esac
-             fi
-             if test -n "$a_deplib" ; then
-               libname=`eval "\\$ECHO \"$libname_spec\""`
-               for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-                 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-                 for potent_lib in $potential_libs; do
-                   potlib="$potent_lib" # see symlink-check above in file_magic test
-                   if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
-                      $EGREP "$match_pattern_regex" > /dev/null; then
-                     func_append newdeplibs " $a_deplib"
-                     a_deplib=""
-                     break 2
-                   fi
-                 done
-               done
-             fi
-             if test -n "$a_deplib" ; then
-               droppeddeps=yes
-               echo
-               $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-               echo "*** I have the capability to make that library automatically link in when"
-               echo "*** you link to this library.  But I can only do this if you have a"
-               echo "*** shared version of the library, which you do not appear to have"
-               echo "*** because I did check the linker path looking for a file starting"
-               if test -z "$potlib" ; then
-                 $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
-               else
-                 $ECHO "*** with $libname and none of the candidates passed a file format test"
-                 $ECHO "*** using a regex pattern. Last file checked: $potlib"
-               fi
-             fi
-             ;;
-           *)
-             # Add a -L argument.
-             func_append newdeplibs " $a_deplib"
-             ;;
-           esac
-         done # Gone through all deplibs.
-         ;;
-       none | unknown | *)
-         newdeplibs=""
-         tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
-         if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-           for i in $predeps $postdeps ; do
-             # can't use Xsed below, because $i might contain '/'
-             tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
-           done
-         fi
-         case $tmp_deplibs in
-         *[!\  \ ]*)
-           echo
-           if test "X$deplibs_check_method" = "Xnone"; then
-             echo "*** Warning: inter-library dependencies are not supported in this platform."
-           else
-             echo "*** Warning: inter-library dependencies are not known to be supported."
-           fi
-           echo "*** All declared inter-library dependencies are being dropped."
-           droppeddeps=yes
-           ;;
-         esac
-         ;;
-       esac
-       versuffix=$versuffix_save
-       major=$major_save
-       release=$release_save
-       libname=$libname_save
-       name=$name_save
-
-       case $host in
-       *-*-rhapsody* | *-*-darwin1.[012])
-         # On Rhapsody replace the C library with the System framework
-         newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
-         ;;
-       esac
-
-       if test "$droppeddeps" = yes; then
-         if test "$module" = yes; then
-           echo
-           echo "*** Warning: libtool could not satisfy all declared inter-library"
-           $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
-           echo "*** a static module, that should work as long as the dlopening"
-           echo "*** application is linked with the -dlopen flag."
-           if test -z "$global_symbol_pipe"; then
-             echo
-             echo "*** However, this would only work if libtool was able to extract symbol"
-             echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-             echo "*** not find such a program.  So, this module is probably useless."
-             echo "*** \`nm' from GNU binutils and a full rebuild may help."
-           fi
-           if test "$build_old_libs" = no; then
-             oldlibs="$output_objdir/$libname.$libext"
-             build_libtool_libs=module
-             build_old_libs=yes
-           else
-             build_libtool_libs=no
-           fi
-         else
-           echo "*** The inter-library dependencies that have been dropped here will be"
-           echo "*** automatically added whenever a program is linked with this library"
-           echo "*** or is declared to -dlopen it."
-
-           if test "$allow_undefined" = no; then
-             echo
-             echo "*** Since this library must not contain undefined symbols,"
-             echo "*** because either the platform does not support them or"
-             echo "*** it was explicitly requested with -no-undefined,"
-             echo "*** libtool will only create a static version of it."
-             if test "$build_old_libs" = no; then
-               oldlibs="$output_objdir/$libname.$libext"
-               build_libtool_libs=module
-               build_old_libs=yes
-             else
-               build_libtool_libs=no
-             fi
-           fi
-         fi
-       fi
-       # Done checking deplibs!
-       deplibs=$newdeplibs
-      fi
-      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
-      case $host in
-       *-*-darwin*)
-         newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-         new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-         deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-         ;;
-      esac
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-       case " $new_libs " in
-       *" -L$path/$objdir "*) ;;
-       *)
-         case " $deplibs " in
-         *" -L$path/$objdir "*)
-           func_append new_libs " -L$path/$objdir" ;;
-         esac
-         ;;
-       esac
-      done
-      for deplib in $deplibs; do
-       case $deplib in
-       -L*)
-         case " $new_libs " in
-         *" $deplib "*) ;;
-         *) func_append new_libs " $deplib" ;;
-         esac
-         ;;
-       *) func_append new_libs " $deplib" ;;
-       esac
-      done
-      deplibs="$new_libs"
-
-      # All the library-specific variables (install_libdir is set above).
-      library_names=
-      old_library=
-      dlname=
-
-      # Test again, we may have decided not to build it any more
-      if test "$build_libtool_libs" = yes; then
-       # Remove ${wl} instances when linking with ld.
-       # FIXME: should test the right _cmds variable.
-       case $archive_cmds in
-         *\$LD\ *) wl= ;;
-        esac
-       if test "$hardcode_into_libs" = yes; then
-         # Hardcode the library paths
-         hardcode_libdirs=
-         dep_rpath=
-         rpath="$finalize_rpath"
-         test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
-         for libdir in $rpath; do
-           if test -n "$hardcode_libdir_flag_spec"; then
-             if test -n "$hardcode_libdir_separator"; then
-               func_replace_sysroot "$libdir"
-               libdir=$func_replace_sysroot_result
-               if test -z "$hardcode_libdirs"; then
-                 hardcode_libdirs="$libdir"
-               else
-                 # Just accumulate the unique libdirs.
-                 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-                 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-                   ;;
-                 *)
-                   func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
-                   ;;
-                 esac
-               fi
-             else
-               eval flag=\"$hardcode_libdir_flag_spec\"
-               func_append dep_rpath " $flag"
-             fi
-           elif test -n "$runpath_var"; then
-             case "$perm_rpath " in
-             *" $libdir "*) ;;
-             *) func_append perm_rpath " $libdir" ;;
-             esac
-           fi
-         done
-         # Substitute the hardcoded libdirs into the rpath.
-         if test -n "$hardcode_libdir_separator" &&
-            test -n "$hardcode_libdirs"; then
-           libdir="$hardcode_libdirs"
-           eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
-         fi
-         if test -n "$runpath_var" && test -n "$perm_rpath"; then
-           # We should set the runpath_var.
-           rpath=
-           for dir in $perm_rpath; do
-             func_append rpath "$dir:"
-           done
-           eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
-         fi
-         test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
-       fi
-
-       shlibpath="$finalize_shlibpath"
-       test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
-       if test -n "$shlibpath"; then
-         eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
-       fi
-
-       # Get the real and link names of the library.
-       eval shared_ext=\"$shrext_cmds\"
-       eval library_names=\"$library_names_spec\"
-       set dummy $library_names
-       shift
-       realname="$1"
-       shift
-
-       if test -n "$soname_spec"; then
-         eval soname=\"$soname_spec\"
-       else
-         soname="$realname"
-       fi
-       if test -z "$dlname"; then
-         dlname=$soname
-       fi
-
-       lib="$output_objdir/$realname"
-       linknames=
-       for link
-       do
-         func_append linknames " $link"
-       done
-
-       # Use standard objects if they are pic
-       test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
-       test "X$libobjs" = "X " && libobjs=
-
-       delfiles=
-       if test -n "$export_symbols" && test -n "$include_expsyms"; then
-         $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
-         export_symbols="$output_objdir/$libname.uexp"
-         func_append delfiles " $export_symbols"
-       fi
-
-       orig_export_symbols=
-       case $host_os in
-       cygwin* | mingw* | cegcc*)
-         if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
-           # exporting using user supplied symfile
-           if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
-             # and it's NOT already a .def file. Must figure out
-             # which of the given symbols are data symbols and tag
-             # them as such. So, trigger use of export_symbols_cmds.
-             # export_symbols gets reassigned inside the "prepare
-             # the list of exported symbols" if statement, so the
-             # include_expsyms logic still works.
-             orig_export_symbols="$export_symbols"
-             export_symbols=
-             always_export_symbols=yes
-           fi
-         fi
-         ;;
-       esac
-
-       # Prepare the list of exported symbols
-       if test -z "$export_symbols"; then
-         if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-           func_verbose "generating symbol list for \`$libname.la'"
-           export_symbols="$output_objdir/$libname.exp"
-           $opt_dry_run || $RM $export_symbols
-           cmds=$export_symbols_cmds
-           save_ifs="$IFS"; IFS='~'
-           for cmd1 in $cmds; do
-             IFS="$save_ifs"
-             # Take the normal branch if the nm_file_list_spec branch
-             # doesn't work or if tool conversion is not needed.
-             case $nm_file_list_spec~$to_tool_file_cmd in
-               *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
-                 try_normal_branch=yes
-                 eval cmd=\"$cmd1\"
-                 func_len " $cmd"
-                 len=$func_len_result
-                 ;;
-               *)
-                 try_normal_branch=no
-                 ;;
-             esac
-             if test "$try_normal_branch" = yes \
-                && { test "$len" -lt "$max_cmd_len" \
-                     || test "$max_cmd_len" -le -1; }
-             then
-               func_show_eval "$cmd" 'exit $?'
-               skipped_export=false
-             elif test -n "$nm_file_list_spec"; then
-               func_basename "$output"
-               output_la=$func_basename_result
-               save_libobjs=$libobjs
-               save_output=$output
-               output=${output_objdir}/${output_la}.nm
-               func_to_tool_file "$output"
-               libobjs=$nm_file_list_spec$func_to_tool_file_result
-               func_append delfiles " $output"
-               func_verbose "creating $NM input file list: $output"
-               for obj in $save_libobjs; do
-                 func_to_tool_file "$obj"
-                 $ECHO "$func_to_tool_file_result"
-               done > "$output"
-               eval cmd=\"$cmd1\"
-               func_show_eval "$cmd" 'exit $?'
-               output=$save_output
-               libobjs=$save_libobjs
-               skipped_export=false
-             else
-               # The command line is too long to execute in one step.
-               func_verbose "using reloadable object file for export list..."
-               skipped_export=:
-               # Break out early, otherwise skipped_export may be
-               # set to false by a later but shorter cmd.
-               break
-             fi
-           done
-           IFS="$save_ifs"
-           if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
-             func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-             func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
-           fi
-         fi
-       fi
-
-       if test -n "$export_symbols" && test -n "$include_expsyms"; then
-         tmp_export_symbols="$export_symbols"
-         test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
-         $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
-       fi
-
-       if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
-         # The given exports_symbols file has to be filtered, so filter it.
-         func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
-         # FIXME: $output_objdir/$libname.filter potentially contains lots of
-         # 's' commands which not all seds can handle. GNU sed should be fine
-         # though. Also, the filter scales superlinearly with the number of
-         # global variables. join(1) would be nice here, but unfortunately
-         # isn't a blessed tool.
-         $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-         func_append delfiles " $export_symbols $output_objdir/$libname.filter"
-         export_symbols=$output_objdir/$libname.def
-         $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
-       fi
-
-       tmp_deplibs=
-       for test_deplib in $deplibs; do
-         case " $convenience " in
-         *" $test_deplib "*) ;;
-         *)
-           func_append tmp_deplibs " $test_deplib"
-           ;;
-         esac
-       done
-       deplibs="$tmp_deplibs"
-
-       if test -n "$convenience"; then
-         if test -n "$whole_archive_flag_spec" &&
-           test "$compiler_needs_object" = yes &&
-           test -z "$libobjs"; then
-           # extract the archives, so we have objects to list.
-           # TODO: could optimize this to just extract one archive.
-           whole_archive_flag_spec=
-         fi
-         if test -n "$whole_archive_flag_spec"; then
-           save_libobjs=$libobjs
-           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-           test "X$libobjs" = "X " && libobjs=
-         else
-           gentop="$output_objdir/${outputname}x"
-           func_append generated " $gentop"
-
-           func_extract_archives $gentop $convenience
-           func_append libobjs " $func_extract_archives_result"
-           test "X$libobjs" = "X " && libobjs=
-         fi
-       fi
-
-       if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
-         eval flag=\"$thread_safe_flag_spec\"
-         func_append linker_flags " $flag"
-       fi
-
-       # Make a backup of the uninstalled library when relinking
-       if test "$opt_mode" = relink; then
-         $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
-       fi
-
-       # Do each of the archive commands.
-       if test "$module" = yes && test -n "$module_cmds" ; then
-         if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-           eval test_cmds=\"$module_expsym_cmds\"
-           cmds=$module_expsym_cmds
-         else
-           eval test_cmds=\"$module_cmds\"
-           cmds=$module_cmds
-         fi
-       else
-         if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-           eval test_cmds=\"$archive_expsym_cmds\"
-           cmds=$archive_expsym_cmds
-         else
-           eval test_cmds=\"$archive_cmds\"
-           cmds=$archive_cmds
-         fi
-       fi
-
-       if test "X$skipped_export" != "X:" &&
-          func_len " $test_cmds" &&
-          len=$func_len_result &&
-          test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-         :
-       else
-         # The command line is too long to link in one step, link piecewise
-         # or, if using GNU ld and skipped_export is not :, use a linker
-         # script.
-
-         # Save the value of $output and $libobjs because we want to
-         # use them later.  If we have whole_archive_flag_spec, we
-         # want to use save_libobjs as it was before
-         # whole_archive_flag_spec was expanded, because we can't
-         # assume the linker understands whole_archive_flag_spec.
-         # This may have to be revisited, in case too many
-         # convenience libraries get linked in and end up exceeding
-         # the spec.
-         if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
-           save_libobjs=$libobjs
-         fi
-         save_output=$output
-         func_basename "$output"
-         output_la=$func_basename_result
-
-         # Clear the reloadable object creation command queue and
-         # initialize k to one.
-         test_cmds=
-         concat_cmds=
-         objlist=
-         last_robj=
-         k=1
-
-         if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
-           output=${output_objdir}/${output_la}.lnkscript
-           func_verbose "creating GNU ld script: $output"
-           echo 'INPUT (' > $output
-           for obj in $save_libobjs
-           do
-             func_to_tool_file "$obj"
-             $ECHO "$func_to_tool_file_result" >> $output
-           done
-           echo ')' >> $output
-           func_append delfiles " $output"
-           func_to_tool_file "$output"
-           output=$func_to_tool_file_result
-         elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
-           output=${output_objdir}/${output_la}.lnk
-           func_verbose "creating linker input file list: $output"
-           : > $output
-           set x $save_libobjs
-           shift
-           firstobj=
-           if test "$compiler_needs_object" = yes; then
-             firstobj="$1 "
-             shift
-           fi
-           for obj
-           do
-             func_to_tool_file "$obj"
-             $ECHO "$func_to_tool_file_result" >> $output
-           done
-           func_append delfiles " $output"
-           func_to_tool_file "$output"
-           output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
-         else
-           if test -n "$save_libobjs"; then
-             func_verbose "creating reloadable object files..."
-             output=$output_objdir/$output_la-${k}.$objext
-             eval test_cmds=\"$reload_cmds\"
-             func_len " $test_cmds"
-             len0=$func_len_result
-             len=$len0
-
-             # Loop over the list of objects to be linked.
-             for obj in $save_libobjs
-             do
-               func_len " $obj"
-               func_arith $len + $func_len_result
-               len=$func_arith_result
-               if test "X$objlist" = X ||
-                  test "$len" -lt "$max_cmd_len"; then
-                 func_append objlist " $obj"
-               else
-                 # The command $test_cmds is almost too long, add a
-                 # command to the queue.
-                 if test "$k" -eq 1 ; then
-                   # The first file doesn't have a previous command to add.
-                   reload_objs=$objlist
-                   eval concat_cmds=\"$reload_cmds\"
-                 else
-                   # All subsequent reloadable object files will link in
-                   # the last one created.
-                   reload_objs="$objlist $last_robj"
-                   eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
-                 fi
-                 last_robj=$output_objdir/$output_la-${k}.$objext
-                 func_arith $k + 1
-                 k=$func_arith_result
-                 output=$output_objdir/$output_la-${k}.$objext
-                 objlist=" $obj"
-                 func_len " $last_robj"
-                 func_arith $len0 + $func_len_result
-                 len=$func_arith_result
-               fi
-             done
-             # Handle the remaining objects by creating one last
-             # reloadable object file.  All subsequent reloadable object
-             # files will link in the last one created.
-             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-             reload_objs="$objlist $last_robj"
-             eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
-             if test -n "$last_robj"; then
-               eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
-             fi
-             func_append delfiles " $output"
-
-           else
-             output=
-           fi
-
-           if ${skipped_export-false}; then
-             func_verbose "generating symbol list for \`$libname.la'"
-             export_symbols="$output_objdir/$libname.exp"
-             $opt_dry_run || $RM $export_symbols
-             libobjs=$output
-             # Append the command to create the export file.
-             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-             eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
-             if test -n "$last_robj"; then
-               eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
-             fi
-           fi
-
-           test -n "$save_libobjs" &&
-             func_verbose "creating a temporary reloadable object file: $output"
-
-           # Loop through the commands generated above and execute them.
-           save_ifs="$IFS"; IFS='~'
-           for cmd in $concat_cmds; do
-             IFS="$save_ifs"
-             $opt_silent || {
-                 func_quote_for_expand "$cmd"
-                 eval "func_echo $func_quote_for_expand_result"
-             }
-             $opt_dry_run || eval "$cmd" || {
-               lt_exit=$?
-
-               # Restore the uninstalled library and exit
-               if test "$opt_mode" = relink; then
-                 ( cd "$output_objdir" && \
-                   $RM "${realname}T" && \
-                   $MV "${realname}U" "$realname" )
-               fi
-
-               exit $lt_exit
-             }
-           done
-           IFS="$save_ifs"
-
-           if test -n "$export_symbols_regex" && ${skipped_export-false}; then
-             func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-             func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
-           fi
-         fi
-
-          if ${skipped_export-false}; then
-           if test -n "$export_symbols" && test -n "$include_expsyms"; then
-             tmp_export_symbols="$export_symbols"
-             test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
-             $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
-           fi
-
-           if test -n "$orig_export_symbols"; then
-             # The given exports_symbols file has to be filtered, so filter it.
-             func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
-             # FIXME: $output_objdir/$libname.filter potentially contains lots of
-             # 's' commands which not all seds can handle. GNU sed should be fine
-             # though. Also, the filter scales superlinearly with the number of
-             # global variables. join(1) would be nice here, but unfortunately
-             # isn't a blessed tool.
-             $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-             func_append delfiles " $export_symbols $output_objdir/$libname.filter"
-             export_symbols=$output_objdir/$libname.def
-             $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
-           fi
-         fi
-
-         libobjs=$output
-         # Restore the value of output.
-         output=$save_output
-
-         if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
-           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-           test "X$libobjs" = "X " && libobjs=
-         fi
-         # Expand the library linking commands again to reset the
-         # value of $libobjs for piecewise linking.
-
-         # Do each of the archive commands.
-         if test "$module" = yes && test -n "$module_cmds" ; then
-           if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-             cmds=$module_expsym_cmds
-           else
-             cmds=$module_cmds
-           fi
-         else
-           if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-             cmds=$archive_expsym_cmds
-           else
-             cmds=$archive_cmds
-           fi
-         fi
-       fi
-
-       if test -n "$delfiles"; then
-         # Append the command to remove temporary files to $cmds.
-         eval cmds=\"\$cmds~\$RM $delfiles\"
-       fi
-
-       # Add any objects from preloaded convenience libraries
-       if test -n "$dlprefiles"; then
-         gentop="$output_objdir/${outputname}x"
-         func_append generated " $gentop"
-
-         func_extract_archives $gentop $dlprefiles
-         func_append libobjs " $func_extract_archives_result"
-         test "X$libobjs" = "X " && libobjs=
-       fi
-
-       save_ifs="$IFS"; IFS='~'
-       for cmd in $cmds; do
-         IFS="$save_ifs"
-         eval cmd=\"$cmd\"
-         $opt_silent || {
-           func_quote_for_expand "$cmd"
-           eval "func_echo $func_quote_for_expand_result"
-         }
-         $opt_dry_run || eval "$cmd" || {
-           lt_exit=$?
-
-           # Restore the uninstalled library and exit
-           if test "$opt_mode" = relink; then
-             ( cd "$output_objdir" && \
-               $RM "${realname}T" && \
-               $MV "${realname}U" "$realname" )
-           fi
-
-           exit $lt_exit
-         }
-       done
-       IFS="$save_ifs"
-
-       # Restore the uninstalled library and exit
-       if test "$opt_mode" = relink; then
-         $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
-
-         if test -n "$convenience"; then
-           if test -z "$whole_archive_flag_spec"; then
-             func_show_eval '${RM}r "$gentop"'
-           fi
-         fi
-
-         exit $EXIT_SUCCESS
-       fi
-
-       # Create links to the real library.
-       for linkname in $linknames; do
-         if test "$realname" != "$linkname"; then
-           func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
-         fi
-       done
-
-       # If -module or -export-dynamic was specified, set the dlname.
-       if test "$module" = yes || test "$export_dynamic" = yes; then
-         # On all known operating systems, these are identical.
-         dlname="$soname"
-       fi
-      fi
-      ;;
-
-    obj)
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-       func_warning "\`-dlopen' is ignored for objects"
-      fi
-
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-       func_warning "\`-l' and \`-L' are ignored for objects" ;;
-      esac
-
-      test -n "$rpath" && \
-       func_warning "\`-rpath' is ignored for objects"
-
-      test -n "$xrpath" && \
-       func_warning "\`-R' is ignored for objects"
-
-      test -n "$vinfo" && \
-       func_warning "\`-version-info' is ignored for objects"
-
-      test -n "$release" && \
-       func_warning "\`-release' is ignored for objects"
-
-      case $output in
-      *.lo)
-       test -n "$objs$old_deplibs" && \
-         func_fatal_error "cannot build library object \`$output' from non-libtool objects"
-
-       libobj=$output
-       func_lo2o "$libobj"
-       obj=$func_lo2o_result
-       ;;
-      *)
-       libobj=
-       obj="$output"
-       ;;
-      esac
-
-      # Delete the old objects.
-      $opt_dry_run || $RM $obj $libobj
-
-      # Objects from convenience libraries.  This assumes
-      # single-version convenience libraries.  Whenever we create
-      # different ones for PIC/non-PIC, this we'll have to duplicate
-      # the extraction.
-      reload_conv_objs=
-      gentop=
-      # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec and hope we can get by with
-      # turning comma into space..
-      wl=
-
-      if test -n "$convenience"; then
-       if test -n "$whole_archive_flag_spec"; then
-         eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-         reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
-       else
-         gentop="$output_objdir/${obj}x"
-         func_append generated " $gentop"
-
-         func_extract_archives $gentop $convenience
-         reload_conv_objs="$reload_objs $func_extract_archives_result"
-       fi
-      fi
-
-      # If we're not building shared, we need to use non_pic_objs
-      test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
-
-      # Create the old-style object.
-      reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
-      output="$obj"
-      func_execute_cmds "$reload_cmds" 'exit $?'
-
-      # Exit if we aren't doing a library object file.
-      if test -z "$libobj"; then
-       if test -n "$gentop"; then
-         func_show_eval '${RM}r "$gentop"'
-       fi
-
-       exit $EXIT_SUCCESS
-      fi
-
-      if test "$build_libtool_libs" != yes; then
-       if test -n "$gentop"; then
-         func_show_eval '${RM}r "$gentop"'
-       fi
-
-       # Create an invalid libtool object if no PIC, so that we don't
-       # accidentally link it into a program.
-       # $show "echo timestamp > $libobj"
-       # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
-       exit $EXIT_SUCCESS
-      fi
-
-      if test -n "$pic_flag" || test "$pic_mode" != default; then
-       # Only do commands if we really have different PIC objects.
-       reload_objs="$libobjs $reload_conv_objs"
-       output="$libobj"
-       func_execute_cmds "$reload_cmds" 'exit $?'
-      fi
-
-      if test -n "$gentop"; then
-       func_show_eval '${RM}r "$gentop"'
-      fi
-
-      exit $EXIT_SUCCESS
-      ;;
-
-    prog)
-      case $host in
-       *cygwin*) func_stripname '' '.exe' "$output"
-                 output=$func_stripname_result.exe;;
-      esac
-      test -n "$vinfo" && \
-       func_warning "\`-version-info' is ignored for programs"
-
-      test -n "$release" && \
-       func_warning "\`-release' is ignored for programs"
-
-      test "$preload" = yes \
-        && test "$dlopen_support" = unknown \
-       && test "$dlopen_self" = unknown \
-       && test "$dlopen_self_static" = unknown && \
-         func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
-
-      case $host in
-      *-*-rhapsody* | *-*-darwin1.[012])
-       # On Rhapsody replace the C library is the System framework
-       compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
-       finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
-       ;;
-      esac
-
-      case $host in
-      *-*-darwin*)
-       # Don't allow lazy linking, it breaks C++ global constructors
-       # But is supposedly fixed on 10.4 or later (yay!).
-       if test "$tagname" = CXX ; then
-         case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
-           10.[0123])
-             func_append compile_command " ${wl}-bind_at_load"
-             func_append finalize_command " ${wl}-bind_at_load"
-           ;;
-         esac
-       fi
-       # Time to change all our "foo.ltframework" stuff back to "-framework foo"
-       compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-       finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-       ;;
-      esac
-
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-       case " $new_libs " in
-       *" -L$path/$objdir "*) ;;
-       *)
-         case " $compile_deplibs " in
-         *" -L$path/$objdir "*)
-           func_append new_libs " -L$path/$objdir" ;;
-         esac
-         ;;
-       esac
-      done
-      for deplib in $compile_deplibs; do
-       case $deplib in
-       -L*)
-         case " $new_libs " in
-         *" $deplib "*) ;;
-         *) func_append new_libs " $deplib" ;;
-         esac
-         ;;
-       *) func_append new_libs " $deplib" ;;
-       esac
-      done
-      compile_deplibs="$new_libs"
-
-
-      func_append compile_command " $compile_deplibs"
-      func_append finalize_command " $finalize_deplibs"
-
-      if test -n "$rpath$xrpath"; then
-       # If the user specified any rpath flags, then add them.
-       for libdir in $rpath $xrpath; do
-         # This is the magic to use -rpath.
-         case "$finalize_rpath " in
-         *" $libdir "*) ;;
-         *) func_append finalize_rpath " $libdir" ;;
-         esac
-       done
-      fi
-
-      # Now hardcode the library paths
-      rpath=
-      hardcode_libdirs=
-      for libdir in $compile_rpath $finalize_rpath; do
-       if test -n "$hardcode_libdir_flag_spec"; then
-         if test -n "$hardcode_libdir_separator"; then
-           if test -z "$hardcode_libdirs"; then
-             hardcode_libdirs="$libdir"
-           else
-             # Just accumulate the unique libdirs.
-             case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-               ;;
-             *)
-               func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
-               ;;
-             esac
-           fi
-         else
-           eval flag=\"$hardcode_libdir_flag_spec\"
-           func_append rpath " $flag"
-         fi
-       elif test -n "$runpath_var"; then
-         case "$perm_rpath " in
-         *" $libdir "*) ;;
-         *) func_append perm_rpath " $libdir" ;;
-         esac
-       fi
-       case $host in
-       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-         testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
-         case :$dllsearchpath: in
-         *":$libdir:"*) ;;
-         ::) dllsearchpath=$libdir;;
-         *) func_append dllsearchpath ":$libdir";;
-         esac
-         case :$dllsearchpath: in
-         *":$testbindir:"*) ;;
-         ::) dllsearchpath=$testbindir;;
-         *) func_append dllsearchpath ":$testbindir";;
-         esac
-         ;;
-       esac
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-        test -n "$hardcode_libdirs"; then
-       libdir="$hardcode_libdirs"
-       eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      compile_rpath="$rpath"
-
-      rpath=
-      hardcode_libdirs=
-      for libdir in $finalize_rpath; do
-       if test -n "$hardcode_libdir_flag_spec"; then
-         if test -n "$hardcode_libdir_separator"; then
-           if test -z "$hardcode_libdirs"; then
-             hardcode_libdirs="$libdir"
-           else
-             # Just accumulate the unique libdirs.
-             case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-               ;;
-             *)
-               func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
-               ;;
-             esac
-           fi
-         else
-           eval flag=\"$hardcode_libdir_flag_spec\"
-           func_append rpath " $flag"
-         fi
-       elif test -n "$runpath_var"; then
-         case "$finalize_perm_rpath " in
-         *" $libdir "*) ;;
-         *) func_append finalize_perm_rpath " $libdir" ;;
-         esac
-       fi
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-        test -n "$hardcode_libdirs"; then
-       libdir="$hardcode_libdirs"
-       eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      finalize_rpath="$rpath"
-
-      if test -n "$libobjs" && test "$build_old_libs" = yes; then
-       # Transform all the library objects into standard objects.
-       compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
-       finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
-      fi
-
-      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
-
-      # template prelinking step
-      if test -n "$prelink_cmds"; then
-       func_execute_cmds "$prelink_cmds" 'exit $?'
-      fi
-
-      wrappers_required=yes
-      case $host in
-      *cegcc* | *mingw32ce*)
-        # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
-        wrappers_required=no
-        ;;
-      *cygwin* | *mingw* )
-        if test "$build_libtool_libs" != yes; then
-          wrappers_required=no
-        fi
-        ;;
-      *)
-        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
-          wrappers_required=no
-        fi
-        ;;
-      esac
-      if test "$wrappers_required" = no; then
-       # Replace the output file specification.
-       compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
-       link_command="$compile_command$compile_rpath"
-
-       # We have no uninstalled library dependencies, so finalize right now.
-       exit_status=0
-       func_show_eval "$link_command" 'exit_status=$?'
-
-       if test -n "$postlink_cmds"; then
-         func_to_tool_file "$output"
-         postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-         func_execute_cmds "$postlink_cmds" 'exit $?'
-       fi
-
-       # Delete the generated files.
-       if test -f "$output_objdir/${outputname}S.${objext}"; then
-         func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
-       fi
-
-       exit $exit_status
-      fi
-
-      if test -n "$compile_shlibpath$finalize_shlibpath"; then
-       compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
-      fi
-      if test -n "$finalize_shlibpath"; then
-       finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
-      fi
-
-      compile_var=
-      finalize_var=
-      if test -n "$runpath_var"; then
-       if test -n "$perm_rpath"; then
-         # We should set the runpath_var.
-         rpath=
-         for dir in $perm_rpath; do
-           func_append rpath "$dir:"
-         done
-         compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
-       fi
-       if test -n "$finalize_perm_rpath"; then
-         # We should set the runpath_var.
-         rpath=
-         for dir in $finalize_perm_rpath; do
-           func_append rpath "$dir:"
-         done
-         finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
-       fi
-      fi
-
-      if test "$no_install" = yes; then
-       # We don't need to create a wrapper script.
-       link_command="$compile_var$compile_command$compile_rpath"
-       # Replace the output file specification.
-       link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
-       # Delete the old output file.
-       $opt_dry_run || $RM $output
-       # Link the executable and exit
-       func_show_eval "$link_command" 'exit $?'
-
-       if test -n "$postlink_cmds"; then
-         func_to_tool_file "$output"
-         postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-         func_execute_cmds "$postlink_cmds" 'exit $?'
-       fi
-
-       exit $EXIT_SUCCESS
-      fi
-
-      if test "$hardcode_action" = relink; then
-       # Fast installation is not supported
-       link_command="$compile_var$compile_command$compile_rpath"
-       relink_command="$finalize_var$finalize_command$finalize_rpath"
-
-       func_warning "this platform does not like uninstalled shared libraries"
-       func_warning "\`$output' will be relinked during installation"
-      else
-       if test "$fast_install" != no; then
-         link_command="$finalize_var$compile_command$finalize_rpath"
-         if test "$fast_install" = yes; then
-           relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
-         else
-           # fast_install is set to needless
-           relink_command=
-         fi
-       else
-         link_command="$compile_var$compile_command$compile_rpath"
-         relink_command="$finalize_var$finalize_command$finalize_rpath"
-       fi
-      fi
-
-      # Replace the output file specification.
-      link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
-      # Delete the old output files.
-      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
-      func_show_eval "$link_command" 'exit $?'
-
-      if test -n "$postlink_cmds"; then
-       func_to_tool_file "$output_objdir/$outputname"
-       postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-       func_execute_cmds "$postlink_cmds" 'exit $?'
-      fi
-
-      # Now create the wrapper script.
-      func_verbose "creating $output"
-
-      # Quote the relink command for shipping.
-      if test -n "$relink_command"; then
-       # Preserve any variables that may affect compiler behavior
-       for var in $variables_saved_for_relink; do
-         if eval test -z \"\${$var+set}\"; then
-           relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
-         elif eval var_value=\$$var; test -z "$var_value"; then
-           relink_command="$var=; export $var; $relink_command"
-         else
-           func_quote_for_eval "$var_value"
-           relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
-         fi
-       done
-       relink_command="(cd `pwd`; $relink_command)"
-       relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-      fi
-
-      # Only actually do things if not in dry run mode.
-      $opt_dry_run || {
-       # win32 will think the script is a binary if it has
-       # a .exe suffix, so we strip it off here.
-       case $output in
-         *.exe) func_stripname '' '.exe' "$output"
-                output=$func_stripname_result ;;
-       esac
-       # test for cygwin because mv fails w/o .exe extensions
-       case $host in
-         *cygwin*)
-           exeext=.exe
-           func_stripname '' '.exe' "$outputname"
-           outputname=$func_stripname_result ;;
-         *) exeext= ;;
-       esac
-       case $host in
-         *cygwin* | *mingw* )
-           func_dirname_and_basename "$output" "" "."
-           output_name=$func_basename_result
-           output_path=$func_dirname_result
-           cwrappersource="$output_path/$objdir/lt-$output_name.c"
-           cwrapper="$output_path/$output_name.exe"
-           $RM $cwrappersource $cwrapper
-           trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
-           func_emit_cwrapperexe_src > $cwrappersource
-
-           # The wrapper executable is built using the $host compiler,
-           # because it contains $host paths and files. If cross-
-           # compiling, it, like the target executable, must be
-           # executed on the $host or under an emulation environment.
-           $opt_dry_run || {
-             $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
-             $STRIP $cwrapper
-           }
-
-           # Now, create the wrapper script for func_source use:
-           func_ltwrapper_scriptname $cwrapper
-           $RM $func_ltwrapper_scriptname_result
-           trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
-           $opt_dry_run || {
-             # note: this script will not be executed, so do not chmod.
-             if test "x$build" = "x$host" ; then
-               $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
-             else
-               func_emit_wrapper no > $func_ltwrapper_scriptname_result
-             fi
-           }
-         ;;
-         * )
-           $RM $output
-           trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
-
-           func_emit_wrapper no > $output
-           chmod +x $output
-         ;;
-       esac
-      }
-      exit $EXIT_SUCCESS
-      ;;
-    esac
-
-    # See if we need to build an old-fashioned archive.
-    for oldlib in $oldlibs; do
-
-      if test "$build_libtool_libs" = convenience; then
-       oldobjs="$libobjs_save $symfileobj"
-       addlibs="$convenience"
-       build_libtool_libs=no
-      else
-       if test "$build_libtool_libs" = module; then
-         oldobjs="$libobjs_save"
-         build_libtool_libs=no
-       else
-         oldobjs="$old_deplibs $non_pic_objects"
-         if test "$preload" = yes && test -f "$symfileobj"; then
-           func_append oldobjs " $symfileobj"
-         fi
-       fi
-       addlibs="$old_convenience"
-      fi
-
-      if test -n "$addlibs"; then
-       gentop="$output_objdir/${outputname}x"
-       func_append generated " $gentop"
-
-       func_extract_archives $gentop $addlibs
-       func_append oldobjs " $func_extract_archives_result"
-      fi
-
-      # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
-       cmds=$old_archive_from_new_cmds
-      else
-
-       # Add any objects from preloaded convenience libraries
-       if test -n "$dlprefiles"; then
-         gentop="$output_objdir/${outputname}x"
-         func_append generated " $gentop"
-
-         func_extract_archives $gentop $dlprefiles
-         func_append oldobjs " $func_extract_archives_result"
-       fi
-
-       # POSIX demands no paths to be encoded in archives.  We have
-       # to avoid creating archives with duplicate basenames if we
-       # might have to extract them afterwards, e.g., when creating a
-       # static archive out of a convenience library, or when linking
-       # the entirety of a libtool archive into another (currently
-       # not supported by libtool).
-       if (for obj in $oldobjs
-           do
-             func_basename "$obj"
-             $ECHO "$func_basename_result"
-           done | sort | sort -uc >/dev/null 2>&1); then
-         :
-       else
-         echo "copying selected object files to avoid basename conflicts..."
-         gentop="$output_objdir/${outputname}x"
-         func_append generated " $gentop"
-         func_mkdir_p "$gentop"
-         save_oldobjs=$oldobjs
-         oldobjs=
-         counter=1
-         for obj in $save_oldobjs
-         do
-           func_basename "$obj"
-           objbase="$func_basename_result"
-           case " $oldobjs " in
-           " ") oldobjs=$obj ;;
-           *[\ /]"$objbase "*)
-             while :; do
-               # Make sure we don't pick an alternate name that also
-               # overlaps.
-               newobj=lt$counter-$objbase
-               func_arith $counter + 1
-               counter=$func_arith_result
-               case " $oldobjs " in
-               *[\ /]"$newobj "*) ;;
-               *) if test ! -f "$gentop/$newobj"; then break; fi ;;
-               esac
-             done
-             func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
-             func_append oldobjs " $gentop/$newobj"
-             ;;
-           *) func_append oldobjs " $obj" ;;
-           esac
-         done
-       fi
-       func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
-       tool_oldlib=$func_to_tool_file_result
-       eval cmds=\"$old_archive_cmds\"
-
-       func_len " $cmds"
-       len=$func_len_result
-       if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-         cmds=$old_archive_cmds
-       elif test -n "$archiver_list_spec"; then
-         func_verbose "using command file archive linking..."
-         for obj in $oldobjs
-         do
-           func_to_tool_file "$obj"
-           $ECHO "$func_to_tool_file_result"
-         done > $output_objdir/$libname.libcmd
-         func_to_tool_file "$output_objdir/$libname.libcmd"
-         oldobjs=" $archiver_list_spec$func_to_tool_file_result"
-         cmds=$old_archive_cmds
-       else
-         # the command line is too long to link in one step, link in parts
-         func_verbose "using piecewise archive linking..."
-         save_RANLIB=$RANLIB
-         RANLIB=:
-         objlist=
-         concat_cmds=
-         save_oldobjs=$oldobjs
-         oldobjs=
-         # Is there a better way of finding the last object in the list?
-         for obj in $save_oldobjs
-         do
-           last_oldobj=$obj
-         done
-         eval test_cmds=\"$old_archive_cmds\"
-         func_len " $test_cmds"
-         len0=$func_len_result
-         len=$len0
-         for obj in $save_oldobjs
-         do
-           func_len " $obj"
-           func_arith $len + $func_len_result
-           len=$func_arith_result
-           func_append objlist " $obj"
-           if test "$len" -lt "$max_cmd_len"; then
-             :
-           else
-             # the above command should be used before it gets too long
-             oldobjs=$objlist
-             if test "$obj" = "$last_oldobj" ; then
-               RANLIB=$save_RANLIB
-             fi
-             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-             eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
-             objlist=
-             len=$len0
-           fi
-         done
-         RANLIB=$save_RANLIB
-         oldobjs=$objlist
-         if test "X$oldobjs" = "X" ; then
-           eval cmds=\"\$concat_cmds\"
-         else
-           eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
-         fi
-       fi
-      fi
-      func_execute_cmds "$cmds" 'exit $?'
-    done
-
-    test -n "$generated" && \
-      func_show_eval "${RM}r$generated"
-
-    # Now create the libtool archive.
-    case $output in
-    *.la)
-      old_library=
-      test "$build_old_libs" = yes && old_library="$libname.$libext"
-      func_verbose "creating $output"
-
-      # Preserve any variables that may affect compiler behavior
-      for var in $variables_saved_for_relink; do
-       if eval test -z \"\${$var+set}\"; then
-         relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
-       elif eval var_value=\$$var; test -z "$var_value"; then
-         relink_command="$var=; export $var; $relink_command"
-       else
-         func_quote_for_eval "$var_value"
-         relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
-       fi
-      done
-      # Quote the link command for shipping.
-      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-      if test "$hardcode_automatic" = yes ; then
-       relink_command=
-      fi
-
-      # Only create the output if not a dry run.
-      $opt_dry_run || {
-       for installed in no yes; do
-         if test "$installed" = yes; then
-           if test -z "$install_libdir"; then
-             break
-           fi
-           output="$output_objdir/$outputname"i
-           # Replace all uninstalled libtool libraries with the installed ones
-           newdependency_libs=
-           for deplib in $dependency_libs; do
-             case $deplib in
-             *.la)
-               func_basename "$deplib"
-               name="$func_basename_result"
-               func_resolve_sysroot "$deplib"
-               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
-               test -z "$libdir" && \
-                 func_fatal_error "\`$deplib' is not a valid libtool archive"
-               func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
-               ;;
-             -L*)
-               func_stripname -L '' "$deplib"
-               func_replace_sysroot "$func_stripname_result"
-               func_append newdependency_libs " -L$func_replace_sysroot_result"
-               ;;
-             -R*)
-               func_stripname -R '' "$deplib"
-               func_replace_sysroot "$func_stripname_result"
-               func_append newdependency_libs " -R$func_replace_sysroot_result"
-               ;;
-             *) func_append newdependency_libs " $deplib" ;;
-             esac
-           done
-           dependency_libs="$newdependency_libs"
-           newdlfiles=
-
-           for lib in $dlfiles; do
-             case $lib in
-             *.la)
-               func_basename "$lib"
-               name="$func_basename_result"
-               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-               test -z "$libdir" && \
-                 func_fatal_error "\`$lib' is not a valid libtool archive"
-               func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
-               ;;
-             *) func_append newdlfiles " $lib" ;;
-             esac
-           done
-           dlfiles="$newdlfiles"
-           newdlprefiles=
-           for lib in $dlprefiles; do
-             case $lib in
-             *.la)
-               # Only pass preopened files to the pseudo-archive (for
-               # eventual linking with the app. that links it) if we
-               # didn't already link the preopened objects directly into
-               # the library:
-               func_basename "$lib"
-               name="$func_basename_result"
-               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-               test -z "$libdir" && \
-                 func_fatal_error "\`$lib' is not a valid libtool archive"
-               func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
-               ;;
-             esac
-           done
-           dlprefiles="$newdlprefiles"
-         else
-           newdlfiles=
-           for lib in $dlfiles; do
-             case $lib in
-               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
-               *) abs=`pwd`"/$lib" ;;
-             esac
-             func_append newdlfiles " $abs"
-           done
-           dlfiles="$newdlfiles"
-           newdlprefiles=
-           for lib in $dlprefiles; do
-             case $lib in
-               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
-               *) abs=`pwd`"/$lib" ;;
-             esac
-             func_append newdlprefiles " $abs"
-           done
-           dlprefiles="$newdlprefiles"
-         fi
-         $RM $output
-         # place dlname in correct position for cygwin
-         # In fact, it would be nice if we could use this code for all target
-         # systems that can't hard-code library paths into their executables
-         # and that have no shared library path variable independent of PATH,
-         # but it turns out we can't easily determine that from inspecting
-         # libtool variables, so we have to hard-code the OSs to which it
-         # applies here; at the moment, that means platforms that use the PE
-         # object format with DLL files.  See the long comment at the top of
-         # tests/bindir.at for full details.
-         tdlname=$dlname
-         case $host,$output,$installed,$module,$dlname in
-           *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
-             # If a -bindir argument was supplied, place the dll there.
-             if test "x$bindir" != x ;
-             then
-               func_relative_path "$install_libdir" "$bindir"
-               tdlname=$func_relative_path_result$dlname
-             else
-               # Otherwise fall back on heuristic.
-               tdlname=../bin/$dlname
-             fi
-             ;;
-         esac
-         $ECHO > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Linker flags that can not go in dependency_libs.
-inherited_linker_flags='$new_inherited_linker_flags'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Names of additional weak libraries provided by this library
-weak_library_names='$weak_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
-         if test "$installed" = no && test "$need_relink" = yes; then
-           $ECHO >> $output "\
-relink_command=\"$relink_command\""
-         fi
-       done
-      }
-
-      # Do a symbolic link so that the libtool archive can be found in
-      # LD_LIBRARY_PATH before the program is installed.
-      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
-      ;;
-    esac
-    exit $EXIT_SUCCESS
-}
-
-{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
-    func_mode_link ${1+"$@"}
-
-
-# func_mode_uninstall arg...
-func_mode_uninstall ()
-{
-    $opt_debug
-    RM="$nonopt"
-    files=
-    rmforce=
-    exit_status=0
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    for arg
-    do
-      case $arg in
-      -f) func_append RM " $arg"; rmforce=yes ;;
-      -*) func_append RM " $arg" ;;
-      *) func_append files " $arg" ;;
-      esac
-    done
-
-    test -z "$RM" && \
-      func_fatal_help "you must specify an RM program"
-
-    rmdirs=
-
-    for file in $files; do
-      func_dirname "$file" "" "."
-      dir="$func_dirname_result"
-      if test "X$dir" = X.; then
-       odir="$objdir"
-      else
-       odir="$dir/$objdir"
-      fi
-      func_basename "$file"
-      name="$func_basename_result"
-      test "$opt_mode" = uninstall && odir="$dir"
-
-      # Remember odir for removal later, being careful to avoid duplicates
-      if test "$opt_mode" = clean; then
-       case " $rmdirs " in
-         *" $odir "*) ;;
-         *) func_append rmdirs " $odir" ;;
-       esac
-      fi
-
-      # Don't error if the file doesn't exist and rm -f was used.
-      if { test -L "$file"; } >/dev/null 2>&1 ||
-        { test -h "$file"; } >/dev/null 2>&1 ||
-        test -f "$file"; then
-       :
-      elif test -d "$file"; then
-       exit_status=1
-       continue
-      elif test "$rmforce" = yes; then
-       continue
-      fi
-
-      rmfiles="$file"
-
-      case $name in
-      *.la)
-       # Possibly a libtool archive, so verify it.
-       if func_lalib_p "$file"; then
-         func_source $dir/$name
-
-         # Delete the libtool libraries and symlinks.
-         for n in $library_names; do
-           func_append rmfiles " $odir/$n"
-         done
-         test -n "$old_library" && func_append rmfiles " $odir/$old_library"
-
-         case "$opt_mode" in
-         clean)
-           case " $library_names " in
-           *" $dlname "*) ;;
-           *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
-           esac
-           test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
-           ;;
-         uninstall)
-           if test -n "$library_names"; then
-             # Do each command in the postuninstall commands.
-             func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
-           fi
-
-           if test -n "$old_library"; then
-             # Do each command in the old_postuninstall commands.
-             func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
-           fi
-           # FIXME: should reinstall the best remaining shared library.
-           ;;
-         esac
-       fi
-       ;;
-
-      *.lo)
-       # Possibly a libtool object, so verify it.
-       if func_lalib_p "$file"; then
-
-         # Read the .lo file
-         func_source $dir/$name
-
-         # Add PIC object to the list of files to remove.
-         if test -n "$pic_object" &&
-            test "$pic_object" != none; then
-           func_append rmfiles " $dir/$pic_object"
-         fi
-
-         # Add non-PIC object to the list of files to remove.
-         if test -n "$non_pic_object" &&
-            test "$non_pic_object" != none; then
-           func_append rmfiles " $dir/$non_pic_object"
-         fi
-       fi
-       ;;
-
-      *)
-       if test "$opt_mode" = clean ; then
-         noexename=$name
-         case $file in
-         *.exe)
-           func_stripname '' '.exe' "$file"
-           file=$func_stripname_result
-           func_stripname '' '.exe' "$name"
-           noexename=$func_stripname_result
-           # $file with .exe has already been added to rmfiles,
-           # add $file without .exe
-           func_append rmfiles " $file"
-           ;;
-         esac
-         # Do a test to see if this is a libtool program.
-         if func_ltwrapper_p "$file"; then
-           if func_ltwrapper_executable_p "$file"; then
-             func_ltwrapper_scriptname "$file"
-             relink_command=
-             func_source $func_ltwrapper_scriptname_result
-             func_append rmfiles " $func_ltwrapper_scriptname_result"
-           else
-             relink_command=
-             func_source $dir/$noexename
-           fi
-
-           # note $name still contains .exe if it was in $file originally
-           # as does the version of $file that was added into $rmfiles
-           func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
-           if test "$fast_install" = yes && test -n "$relink_command"; then
-             func_append rmfiles " $odir/lt-$name"
-           fi
-           if test "X$noexename" != "X$name" ; then
-             func_append rmfiles " $odir/lt-${noexename}.c"
-           fi
-         fi
-       fi
-       ;;
-      esac
-      func_show_eval "$RM $rmfiles" 'exit_status=1'
-    done
-
-    # Try to remove the ${objdir}s in the directories where we deleted files
-    for dir in $rmdirs; do
-      if test -d "$dir"; then
-       func_show_eval "rmdir $dir >/dev/null 2>&1"
-      fi
-    done
-
-    exit $exit_status
-}
-
-{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
-    func_mode_uninstall ${1+"$@"}
-
-test -z "$opt_mode" && {
-  help="$generic_help"
-  func_fatal_help "you must specify a MODE"
-}
-
-test -z "$exec_cmd" && \
-  func_fatal_help "invalid operation mode \`$opt_mode'"
-
-if test -n "$exec_cmd"; then
-  eval exec "$exec_cmd"
-  exit $EXIT_FAILURE
-fi
-
-exit $exit_status
-
-
-# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries.  Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them.  This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration.  But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-build_libtool_libs=no
-build_old_libs=yes
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
-# vi:sw=2
-
diff --git a/reactos/lib/3rdparty/libxml2/missing b/reactos/lib/3rdparty/libxml2/missing
deleted file mode 100644 (file)
index 86a8fc3..0000000
+++ /dev/null
@@ -1,331 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-
-scriptversion=2012-01-06.13; # UTC
-
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
-  exit 1
-fi
-
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
-
-msg="missing on your system"
-
-case $1 in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  # Exit code 63 means version mismatch.  This often happens
-  # when the user try to use an ancient version of a tool on
-  # a file that requires a minimum version.  In this case we
-  # we should proceed has if the program had been absent, or
-  # if --run hadn't been passed.
-  if test $? = 63; then
-    run=:
-    msg="probably too old"
-  fi
-  ;;
-
-  -h|--h|--he|--hel|--help)
-    echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
-  -h, --help      display this help and exit
-  -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
-
-Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  autom4te     touch the output file, or create a stub one
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
-
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
-
-Send bug reports to <bug-automake@gnu.org>."
-    exit $?
-    ;;
-
-  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing $scriptversion (GNU Automake)"
-    exit $?
-    ;;
-
-  -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
-    exit 1
-    ;;
-
-esac
-
-# normalize program name to check for.
-program=`echo "$1" | sed '
-  s/^gnu-//; t
-  s/^gnu//; t
-  s/^g//; t'`
-
-# Now exit if we have it, but it failed.  Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).  This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
-  lex*|yacc*)
-    # Not GNU programs, they don't have --version.
-    ;;
-
-  *)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       # Could not run --version or --help.  This is probably someone
-       # running `$TOOL --version' or `$TOOL --help' to check whether
-       # $TOOL exists and not knowing $TOOL uses missing.
-       exit 1
-    fi
-    ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
-  aclocal*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case $f in
-      *:*) touch_files="$touch_files "`echo "$f" |
-                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
-
-  automake*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-          sed 's/\.am$/.in/' |
-          while read f; do touch "$f"; done
-    ;;
-
-  autom4te*)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo "#! /bin/sh"
-       echo "# Created by GNU Automake missing as a replacement of"
-       echo "#  $ $@"
-       echo "exit 0"
-       chmod +x $file
-       exit 1
-    fi
-    ;;
-
-  bison*|yacc*)
-    echo 1>&2 "\
-WARNING: \`$1' $msg.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if test $# -ne 1; then
-        eval LASTARG=\${$#}
-       case $LASTARG in
-       *.y)
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.c
-           fi
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.h
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f y.tab.h; then
-       echo >y.tab.h
-    fi
-    if test ! -f y.tab.c; then
-       echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex*|flex*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if test $# -ne 1; then
-        eval LASTARG=\${$#}
-       case $LASTARG in
-       *.l)
-           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" lex.yy.c
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f lex.yy.c; then
-       echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-        you modified a dependency of a manual page.  You may need the
-        \`Help2man' package in order for those modifications to take
-        effect.  You can get \`Help2man' from any GNU archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo ".ab help2man is required to generate this page"
-       exit $?
-    fi
-    ;;
-
-  makeinfo*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -z "$file"; then
-      # ... or it is the one specified with @setfilename ...
-      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '
-       /^@setfilename/{
-         s/.* \([^ ]*\) *$/\1/
-         p
-         q
-       }' $infile`
-      # ... or it is derived from the source name (dir/f.texi becomes f.info)
-      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
-    fi
-    # If the file does not exist, the user really needs makeinfo;
-    # let's fail without touching anything.
-    test -f $file || exit 1
-    touch $file
-    ;;
-
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequisites for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
-    ;;
-esac
-
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
index cb800c5..04733b7 100644 (file)
@@ -276,6 +276,8 @@ xmlNanoHTTPCleanup(void) {
 static void
 xmlNanoHTTPScanURL(xmlNanoHTTPCtxtPtr ctxt, const char *URL) {
     xmlURIPtr uri;
+    int len;
+
     /*
      * Clear any existing data from the context
      */
@@ -307,7 +309,15 @@ xmlNanoHTTPScanURL(xmlNanoHTTPCtxtPtr ctxt, const char *URL) {
     }
 
     ctxt->protocol = xmlMemStrdup(uri->scheme);
-    ctxt->hostname = xmlMemStrdup(uri->server);
+    /* special case of IPv6 addresses, the [] need to be removed */
+    if ((uri->server != NULL) && (*uri->server == '[')) {
+        len = strlen(uri->server);
+       if ((len > 2) && (uri->server[len - 1] == ']')) {
+           ctxt->hostname = (char *) xmlCharStrndup(uri->server + 1, len -2);
+       } else
+           ctxt->hostname = xmlMemStrdup(uri->server);
+    } else
+       ctxt->hostname = xmlMemStrdup(uri->server);
     if (uri->path != NULL)
        ctxt->path = xmlMemStrdup(uri->path);
     else
index 192eaed..ee429f3 100644 (file)
@@ -122,7 +122,7 @@ xmlCreateEntityParserCtxtInternal(const xmlChar *URL, const xmlChar *ID,
  */
 static int
 xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size,
-                     xmlEntityPtr ent)
+                     xmlEntityPtr ent, size_t replacement)
 {
     size_t consumed = 0;
 
@@ -130,7 +130,24 @@ xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size,
         return (0);
     if (ctxt->lastError.code == XML_ERR_ENTITY_LOOP)
         return (1);
-    if (size != 0) {
+    if (replacement != 0) {
+       if (replacement < XML_MAX_TEXT_LENGTH)
+           return(0);
+
+        /*
+        * If the volume of entity copy reaches 10 times the
+        * amount of parsed data and over the large text threshold
+        * then that's very likely to be an abuse.
+        */
+        if (ctxt->input != NULL) {
+           consumed = ctxt->input->consumed +
+                      (ctxt->input->cur - ctxt->input->base);
+       }
+        consumed += ctxt->sizeentities;
+
+        if (replacement < XML_PARSER_NON_LINEAR * consumed)
+           return(0);
+    } else if (size != 0) {
         /*
          * Do the check based on the replacement size of the entity
          */
@@ -153,7 +170,7 @@ xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size,
         /*
          * use the number of parsed entities in the replacement
          */
-        size = ent->checked;
+        size = ent->checked / 2;
 
         /*
          * The amount of data parsed counting entities size only once
@@ -176,7 +193,6 @@ xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size,
          */
         return (0);
     }
-
     xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
     return (1);
 }
@@ -1540,7 +1556,7 @@ nsPush(xmlParserCtxtPtr ctxt, const xmlChar *prefix, const xmlChar *URL)
 {
     if (ctxt->options & XML_PARSE_NSCLEAN) {
         int i;
-       for (i = 0;i < ctxt->nsNr;i += 2) {
+       for (i = ctxt->nsNr - 2;i >= 0;i -= 2) {
            if (ctxt->nsTab[i] == prefix) {
                /* in scope */
                if (ctxt->nsTab[i + 1] == URL)
@@ -2025,6 +2041,7 @@ static void xmlSHRINK (xmlParserCtxtPtr ctxt) {
 static void xmlGROW (xmlParserCtxtPtr ctxt) {
     if ((((ctxt->input->end - ctxt->input->cur) > XML_MAX_LOOKUP_LIMIT) ||
          ((ctxt->input->cur - ctxt->input->base) > XML_MAX_LOOKUP_LIMIT)) &&
+         ((ctxt->input->buf) && (ctxt->input->buf->readcallback != (xmlInputReadCallback) xmlNop)) &&
         ((ctxt->options & XML_PARSE_HUGE) == 0)) {
         xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "Huge input lookup");
         ctxt->instate = XML_PARSER_EOF;
@@ -2532,6 +2549,8 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
            NEXT;
            if ((ctxt->sax != NULL) && (ctxt->sax->getParameterEntity != NULL))
                entity = ctxt->sax->getParameterEntity(ctxt->userData, name);
+           if (ctxt->instate == XML_PARSER_EOF)
+               return;
            if (entity == NULL) {
 
                /*
@@ -2719,7 +2738,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
                (ctxt->lastError.code == XML_ERR_INTERNAL_ERROR))
                goto int_error;
            if (ent != NULL)
-               ctxt->nbentities += ent->checked;
+               ctxt->nbentities += ent->checked / 2;
            if ((ent != NULL) &&
                (ent->etype == XML_INTERNAL_PREDEFINED_ENTITY)) {
                if (ent->content != NULL) {
@@ -2742,7 +2761,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
                    while (*current != 0) { /* non input consuming loop */
                        buffer[nbchars++] = *current++;
                        if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
-                           if (xmlParserEntityCheck(ctxt, nbchars, ent))
+                           if (xmlParserEntityCheck(ctxt, nbchars, ent, 0))
                                goto int_error;
                            growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
                        }
@@ -2770,7 +2789,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
            if (ctxt->lastError.code == XML_ERR_ENTITY_LOOP)
                goto int_error;
            if (ent != NULL)
-               ctxt->nbentities += ent->checked;
+               ctxt->nbentities += ent->checked / 2;
            if (ent != NULL) {
                 if (ent->content == NULL) {
                    xmlLoadEntityContent(ctxt, ent);
@@ -2784,7 +2803,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
                    while (*current != 0) { /* non input consuming loop */
                        buffer[nbchars++] = *current++;
                        if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
-                           if (xmlParserEntityCheck(ctxt, nbchars, ent))
+                           if (xmlParserEntityCheck(ctxt, nbchars, ent, 0))
                                goto int_error;
                            growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
                        }
@@ -3435,7 +3454,7 @@ xmlParseNCNameComplex(xmlParserCtxtPtr ctxt) {
 /**
  * xmlParseNCName:
  * @ctxt:  an XML parser context
- * @len:  lenght of the string parsed
+ * @len:  length of the string parsed
  *
  * parse an XML name.
  *
@@ -3934,7 +3953,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
         if ((len > XML_MAX_TEXT_LENGTH) &&
             ((ctxt->options & XML_PARSE_HUGE) == 0)) {
             xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
-                           "AttValue lenght too long\n");
+                           "AttValue length too long\n");
             goto mem_error;
         }
        if (c == 0) break;
@@ -4027,10 +4046,16 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
                     * entities problems
                     */
                    if ((ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) &&
-                       (ent->content != NULL)) {
+                       (ent->content != NULL) && (ent->checked == 0)) {
+                       unsigned long oldnbent = ctxt->nbentities;
+
                        rep = xmlStringDecodeEntities(ctxt, ent->content,
                                                  XML_SUBSTITUTE_REF, 0, 0, 0);
+
+                       ent->checked = (ctxt->nbentities - oldnbent + 1) * 2;
                        if (rep != NULL) {
+                           if (xmlStrchr(rep, '<'))
+                               ent->checked |= 1;
                            xmlFree(rep);
                            rep = NULL;
                        }
@@ -4075,7 +4100,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
         goto error;
 
     if ((in_space) && (normalize)) {
-        while (buf[len - 1] == 0x20) len--;
+        while ((len > 0) && (buf[len - 1] == 0x20)) len--;
     }
     buf[len] = 0;
     if (RAW == '<') {
@@ -4093,11 +4118,11 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) {
 
     /*
      * There we potentially risk an overflow, don't allow attribute value of
-     * lenght more than INT_MAX it is a very reasonnable assumption !
+     * length more than INT_MAX it is a very reasonnable assumption !
      */
     if (len >= INT_MAX) {
         xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
-                       "AttValue lenght too long\n");
+                       "AttValue length too long\n");
         goto mem_error;
     }
 
@@ -4983,7 +5008,8 @@ get_more:
                    }
                    if (buf != NULL)
                        xmlFree(buf);
-                   ctxt->instate = state;
+                   if (ctxt->instate != XML_PARSER_EOF)
+                       ctxt->instate = state;
                    return;
                }
                if (buf != NULL) {
@@ -5571,6 +5597,8 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
                }
            }
        }
+       if (ctxt->instate == XML_PARSER_EOF)
+           return;
        SKIP_BLANKS;
        if (RAW != '>') {
            xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_NOT_FINISHED,
@@ -7196,13 +7224,15 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
         * Store the number of entities needing parsing for this entity
         * content and do checkings
         */
-       ent->checked = ctxt->nbentities - oldnbent;
+       ent->checked = (ctxt->nbentities - oldnbent + 1) * 2;
+       if ((ent->content != NULL) && (xmlStrchr(ent->content, '<')))
+           ent->checked |= 1;
        if (ret == XML_ERR_ENTITY_LOOP) {
            xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
            xmlFreeNodeList(list);
            return;
        }
-       if (xmlParserEntityCheck(ctxt, 0, ent)) {
+       if (xmlParserEntityCheck(ctxt, 0, ent, 0)) {
            xmlFreeNodeList(list);
            return;
        }
@@ -7261,9 +7291,9 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
            list = NULL;
        }
        if (ent->checked == 0)
-           ent->checked = 1;
+           ent->checked = 2;
     } else if (ent->checked != 1) {
-       ctxt->nbentities += ent->checked;
+       ctxt->nbentities += ent->checked / 2;
     }
 
     /*
@@ -7359,6 +7389,13 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
                (ctxt->parseMode == XML_PARSE_READER)) {
                xmlNodePtr nw = NULL, cur, firstChild = NULL;
 
+               /*
+                * We are copying here, make sure there is no abuse
+                */
+               ctxt->sizeentcopy += ent->length;
+               if (xmlParserEntityCheck(ctxt, 0, ent, ctxt->sizeentcopy))
+                   return;
+
                /*
                 * when operating on a reader, the entities definitions
                 * are always owning the entities subtree.
@@ -7399,6 +7436,14 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
            } else if ((list == NULL) || (ctxt->inputNr > 0)) {
                xmlNodePtr nw = NULL, cur, next, last,
                           firstChild = NULL;
+
+               /*
+                * We are copying here, make sure there is no abuse
+                */
+               ctxt->sizeentcopy += ent->length;
+               if (xmlParserEntityCheck(ctxt, 0, ent, ctxt->sizeentcopy))
+                   return;
+
                /*
                 * Copy the entity child list and make it the new
                 * entity child list. The goal is to make sure any
@@ -7515,7 +7560,7 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
     NEXT;
 
     /*
-     * Predefined entites override any extra definition
+     * Predefined entities override any extra definition
      */
     if ((ctxt->options & XML_PARSE_OLDSAX) == 0) {
         ent = xmlGetPredefinedEntity(name);
@@ -7524,7 +7569,7 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
     }
 
     /*
-     * Increate the number of entity references parsed
+     * Increase the number of entity references parsed
      */
     ctxt->nbentities++;
 
@@ -7543,6 +7588,8 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
            ent = xmlSAX2GetEntity(ctxt, name);
        }
     }
+    if (ctxt->instate == XML_PARSER_EOF)
+       return(NULL);
     /*
      * [ WFC: Entity Declared ]
      * In a document without any DTD, a document with only an
@@ -7609,11 +7656,13 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
      * not contain a <.
      */
     else if ((ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) &&
-            (ent != NULL) && (ent->content != NULL) &&
-            (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) &&
-            (xmlStrchr(ent->content, '<'))) {
-       xmlFatalErrMsgStr(ctxt, XML_ERR_LT_IN_ATTRIBUTE,
-    "'<' in entity '%s' is not allowed in attributes values\n", name);
+            (ent != NULL) && 
+            (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY)) {
+       if ((ent->checked & 1) || ((ent->checked == 0) &&
+            (ent->content != NULL) &&(xmlStrchr(ent->content, '<')))) {
+           xmlFatalErrMsgStr(ctxt, XML_ERR_LT_IN_ATTRIBUTE,
+       "'<' in entity '%s' is not allowed in attributes values\n", name);
+        }
     }
 
     /*
@@ -7733,6 +7782,10 @@ xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) {
            ent = xmlSAX2GetEntity(ctxt, name);
        }
     }
+    if (ctxt->instate == XML_PARSER_EOF) {
+       xmlFree(name);
+       return(NULL);
+    }
 
     /*
      * [ WFC: Entity Declared ]
@@ -7894,8 +7947,9 @@ xmlParsePEReference(xmlParserCtxtPtr ctxt)
      */
     if ((ctxt->sax != NULL) &&
        (ctxt->sax->getParameterEntity != NULL))
-       entity = ctxt->sax->getParameterEntity(ctxt->userData,
-                                              name);
+       entity = ctxt->sax->getParameterEntity(ctxt->userData, name);
+    if (ctxt->instate == XML_PARSER_EOF)
+       return;
     if (entity == NULL) {
        /*
         * [ WFC: Entity Declared ]
@@ -8132,8 +8186,11 @@ xmlParseStringPEReference(xmlParserCtxtPtr ctxt, const xmlChar **str) {
      */
     if ((ctxt->sax != NULL) &&
        (ctxt->sax->getParameterEntity != NULL))
-       entity = ctxt->sax->getParameterEntity(ctxt->userData,
-                                              name);
+       entity = ctxt->sax->getParameterEntity(ctxt->userData, name);
+    if (ctxt->instate == XML_PARSER_EOF) {
+       xmlFree(name);
+       return(NULL);
+    }
     if (entity == NULL) {
        /*
         * [ WFC: Entity Declared ]
@@ -8235,6 +8292,8 @@ xmlParseDocTypeDecl(xmlParserCtxtPtr ctxt) {
     if ((ctxt->sax != NULL) && (ctxt->sax->internalSubset != NULL) &&
        (!ctxt->disableSAX))
        ctxt->sax->internalSubset(ctxt->userData, name, ExternalID, URI);
+    if (ctxt->instate == XML_PARSER_EOF)
+       return;
 
     /*
      * Is there any internal subset declarations ?
@@ -8897,7 +8956,7 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc,
                 if (((in - start) > XML_MAX_TEXT_LENGTH) &&
                     ((ctxt->options & XML_PARSE_HUGE) == 0)) {
                     xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
-                                   "AttValue lenght too long\n");
+                                   "AttValue length too long\n");
                     return(NULL);
                 }
            }
@@ -8919,7 +8978,7 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc,
                 if (((in - start) > XML_MAX_TEXT_LENGTH) &&
                     ((ctxt->options & XML_PARSE_HUGE) == 0)) {
                     xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
-                                   "AttValue lenght too long\n");
+                                   "AttValue length too long\n");
                     return(NULL);
                 }
            }
@@ -8948,7 +9007,7 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc,
                 if (((in - start) > XML_MAX_TEXT_LENGTH) &&
                     ((ctxt->options & XML_PARSE_HUGE) == 0)) {
                     xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
-                                   "AttValue lenght too long\n");
+                                   "AttValue length too long\n");
                     return(NULL);
                 }
            }
@@ -8956,7 +9015,7 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc,
         if (((in - start) > XML_MAX_TEXT_LENGTH) &&
             ((ctxt->options & XML_PARSE_HUGE) == 0)) {
             xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
-                           "AttValue lenght too long\n");
+                           "AttValue length too long\n");
             return(NULL);
         }
        if (*in != limit) goto need_complex;
@@ -8978,7 +9037,7 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc,
                 if (((in - start) > XML_MAX_TEXT_LENGTH) &&
                     ((ctxt->options & XML_PARSE_HUGE) == 0)) {
                     xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
-                                   "AttValue lenght too long\n");
+                                   "AttValue length too long\n");
                     return(NULL);
                 }
            }
@@ -8987,7 +9046,7 @@ xmlParseAttValueInternal(xmlParserCtxtPtr ctxt, int *len, int *alloc,
         if (((in - start) > XML_MAX_TEXT_LENGTH) &&
             ((ctxt->options & XML_PARSE_HUGE) == 0)) {
             xmlFatalErrMsg(ctxt, XML_ERR_ATTRIBUTE_NOT_FINISHED,
-                           "AttValue lenght too long\n");
+                           "AttValue length too long\n");
             return(NULL);
         }
        if (*in != limit) goto need_complex;
@@ -9993,6 +10052,8 @@ xmlParseElement(xmlParserCtxtPtr ctxt) {
      * Parse the content of the element:
      */
     xmlParseContent(ctxt);
+    if (ctxt->instate == XML_PARSER_EOF)
+       return;
     if (!IS_BYTE_CHAR(RAW)) {
         xmlFatalErrMsgStrIntStr(ctxt, XML_ERR_TAG_NOT_FINISHED,
         "Premature end of data in tag %s line %d\n",
@@ -10565,6 +10626,8 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
      */
     if ((ctxt->sax) && (ctxt->sax->setDocumentLocator))
         ctxt->sax->setDocumentLocator(ctxt->userData, &xmlDefaultSAXLocator);
+    if (ctxt->instate == XML_PARSER_EOF)
+       return(-1);
 
     if ((ctxt->encoding == NULL) &&
         ((ctxt->input->end - ctxt->input->cur) >= 4)) {
@@ -10616,6 +10679,8 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
     }
     if ((ctxt->sax) && (ctxt->sax->startDocument) && (!ctxt->disableSAX))
         ctxt->sax->startDocument(ctxt->userData);
+    if (ctxt->instate == XML_PARSER_EOF)
+       return(-1);
 
     /*
      * The Misc part of the Prolog
@@ -10635,6 +10700,8 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
        if (RAW == '[') {
            ctxt->instate = XML_PARSER_DTD;
            xmlParseInternalSubset(ctxt);
+           if (ctxt->instate == XML_PARSER_EOF)
+               return(-1);
        }
 
        /*
@@ -10645,6 +10712,8 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
            (!ctxt->disableSAX))
            ctxt->sax->externalSubset(ctxt->userData, ctxt->intSubName,
                                      ctxt->extSubSystem, ctxt->extSubURI);
+       if (ctxt->instate == XML_PARSER_EOF)
+           return(-1);
        ctxt->inSubset = 0;
 
         xmlCleanSpecialAttr(ctxt);
@@ -10785,6 +10854,8 @@ xmlParseExtParsedEnt(xmlParserCtxtPtr ctxt) {
     }
     if ((ctxt->sax) && (ctxt->sax->startDocument) && (!ctxt->disableSAX))
         ctxt->sax->startDocument(ctxt->userData);
+    if (ctxt->instate == XML_PARSER_EOF)
+       return(-1);
 
     /*
      * Doing validity checking on chunk doesn't make sense
@@ -10795,6 +10866,8 @@ xmlParseExtParsedEnt(xmlParserCtxtPtr ctxt) {
     ctxt->depth = 0;
 
     xmlParseContent(ctxt);
+    if (ctxt->instate == XML_PARSER_EOF)
+       return(-1);
 
     if ((RAW == '<') && (NXT(1) == '/')) {
        xmlFatalErr(ctxt, XML_ERR_NOT_WELL_BALANCED, NULL);
@@ -11102,7 +11175,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
     }
     xmlParseGetLasts(ctxt, &lastlt, &lastgt);
 
-    while (1) {
+    while (ctxt->instate != XML_PARSER_EOF) {
        if ((ctxt->errNo != XML_ERR_OK) && (ctxt->disableSAX == 1))
            return(0);
 
@@ -11121,9 +11194,13 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
            /*
             * If we are operating on converted input, try to flush
             * remainng chars to avoid them stalling in the non-converted
-            * buffer.
+            * buffer. But do not do this in document start where
+            * encoding="..." may not have been read and we work on a
+            * guessed encoding.
             */
-           if (xmlBufIsEmpty(ctxt->input->buf->buffer) == 0) {
+           if ((ctxt->instate != XML_PARSER_START) &&
+               (ctxt->input->buf->raw != NULL) &&
+               (xmlBufIsEmpty(ctxt->input->buf->raw) == 0)) {
                 size_t base = xmlBufGetInputBase(ctxt->input->buf->buffer,
                                                  ctxt->input);
                size_t current = ctxt->input->cur - ctxt->input->base;
@@ -11338,6 +11415,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
                            ctxt->sax->endElement(ctxt->userData, name);
 #endif /* LIBXML_SAX1_ENABLED */
                    }
+                   if (ctxt->instate == XML_PARSER_EOF)
+                       goto done;
                    spacePop(ctxt);
                    if (ctxt->nameNr == 0) {
                        ctxt->instate = XML_PARSER_EPILOG;
@@ -11528,6 +11607,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
                                ctxt->sax->characters(ctxt->userData,
                                                      ctxt->input->cur, tmp);
                        }
+                       if (ctxt->instate == XML_PARSER_EOF)
+                           goto done;
                        SKIPL(tmp);
                        ctxt->checkIndex = 0;
                    }
@@ -11563,6 +11644,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
                            ctxt->sax->characters(ctxt->userData,
                                                  ctxt->input->cur, base);
                    }
+                   if (ctxt->instate == XML_PARSER_EOF)
+                       goto done;
                    SKIPL(base + 3);
                    ctxt->checkIndex = 0;
                    ctxt->instate = XML_PARSER_CONTENT;
@@ -11596,6 +11679,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
                            "PP: Parsing PI\n");
 #endif
                    xmlParsePI(ctxt);
+                   if (ctxt->instate == XML_PARSER_EOF)
+                       goto done;
                    ctxt->instate = XML_PARSER_MISC;
                     ctxt->progressive = 1;
                    ctxt->checkIndex = 0;
@@ -11612,6 +11697,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
                            "PP: Parsing Comment\n");
 #endif
                    xmlParseComment(ctxt);
+                   if (ctxt->instate == XML_PARSER_EOF)
+                       goto done;
                    ctxt->instate = XML_PARSER_MISC;
                     ctxt->progressive = 1;
                    ctxt->checkIndex = 0;
@@ -11633,9 +11720,11 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
                            "PP: Parsing internal subset\n");
 #endif
                    ctxt->inSubset = 1;
-                    ctxt->progressive = 1;
+                    ctxt->progressive = 0;
                    ctxt->checkIndex = 0;
                    xmlParseDocTypeDecl(ctxt);
+                   if (ctxt->instate == XML_PARSER_EOF)
+                       goto done;
                    if (RAW == '[') {
                        ctxt->instate = XML_PARSER_DTD;
 #ifdef DEBUG_PUSH
@@ -11695,6 +11784,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
                            "PP: Parsing PI\n");
 #endif
                    xmlParsePI(ctxt);
+                   if (ctxt->instate == XML_PARSER_EOF)
+                       goto done;
                    ctxt->instate = XML_PARSER_PROLOG;
                     ctxt->progressive = 1;
                } else if ((cur == '<') && (next == '!') &&
@@ -11709,6 +11800,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
                            "PP: Parsing Comment\n");
 #endif
                    xmlParseComment(ctxt);
+                   if (ctxt->instate == XML_PARSER_EOF)
+                       goto done;
                    ctxt->instate = XML_PARSER_PROLOG;
                     ctxt->progressive = 1;
                } else if ((cur == '<') && (next == '!') &&
@@ -11747,6 +11840,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
                            "PP: Parsing PI\n");
 #endif
                    xmlParsePI(ctxt);
+                   if (ctxt->instate == XML_PARSER_EOF)
+                       goto done;
                    ctxt->instate = XML_PARSER_EPILOG;
                     ctxt->progressive = 1;
                } else if ((cur == '<') && (next == '!') &&
@@ -11761,6 +11856,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
                            "PP: Parsing Comment\n");
 #endif
                    xmlParseComment(ctxt);
+                   if (ctxt->instate == XML_PARSER_EOF)
+                       goto done;
                    ctxt->instate = XML_PARSER_EPILOG;
                     ctxt->progressive = 1;
                } else if ((cur == '<') && (next == '!') &&
@@ -11891,6 +11988,8 @@ not_end_of_int_subset:
 found_end_int_subset:
                 ctxt->checkIndex = 0;
                xmlParseInternalSubset(ctxt);
+               if (ctxt->instate == XML_PARSER_EOF)
+                   goto done;
                ctxt->inSubset = 2;
                if ((ctxt->sax != NULL) && (!ctxt->disableSAX) &&
                    (ctxt->sax->externalSubset != NULL))
@@ -11898,6 +11997,8 @@ found_end_int_subset:
                            ctxt->extSubSystem, ctxt->extSubURI);
                ctxt->inSubset = 0;
                xmlCleanSpecialAttr(ctxt);
+               if (ctxt->instate == XML_PARSER_EOF)
+                   goto done;
                ctxt->instate = XML_PARSER_PROLOG;
                ctxt->checkIndex = 0;
 #ifdef DEBUG_PUSH
@@ -12041,7 +12142,7 @@ xmlParseCheckTransition(xmlParserCtxtPtr ctxt, const char *chunk, int size) {
     }
     if ((ctxt->progressive == XML_PARSER_DTD) ||
         (ctxt->instate == XML_PARSER_DTD)) {
-        if (memchr(chunk, ']', size) != NULL)
+        if (memchr(chunk, '>', size) != NULL)
             return(1);
         return(0);
     }
@@ -12125,7 +12226,7 @@ xmldecl_done:
                 remain = 0;
             }
         }
-       res =xmlParserInputBufferPush(ctxt->input->buf, size, chunk);
+       res = xmlParserInputBufferPush(ctxt->input->buf, size, chunk);
        if (res < 0) {
            ctxt->errNo = XML_PARSER_EOF;
            ctxt->disableSAX = 1;
@@ -12142,14 +12243,17 @@ xmldecl_done:
            if ((in->encoder != NULL) && (in->buffer != NULL) &&
                    (in->raw != NULL)) {
                int nbchars;
+               size_t base = xmlBufGetInputBase(in->buffer, ctxt->input);
+               size_t current = ctxt->input->cur - ctxt->input->base;
 
-               nbchars = xmlCharEncInput(in);
+               nbchars = xmlCharEncInput(in, terminate);
                if (nbchars < 0) {
                    /* TODO 2.6.0 */
                    xmlGenericError(xmlGenericErrorContext,
                                    "xmlParseChunk: encoder error\n");
                    return(XML_ERR_INVALID_ENCODING);
                }
+               xmlBufSetInputBaseCur(in->buffer, ctxt->input, base, current);
            }
        }
     }
@@ -12171,6 +12275,9 @@ xmldecl_done:
                                      avail - old_avail)))
             xmlParseTryOrFinish(ctxt, terminate);
     }
+    if (ctxt->instate == XML_PARSER_EOF)
+        return(ctxt->errNo);
+
     if ((ctxt->input != NULL) &&
          (((ctxt->input->end - ctxt->input->cur) > XML_MAX_LOOKUP_LIMIT) ||
          ((ctxt->input->cur - ctxt->input->base) > XML_MAX_LOOKUP_LIMIT)) &&
@@ -12189,7 +12296,14 @@ xmldecl_done:
     }
     if ((end_in_lf == 1) && (ctxt->input != NULL) &&
         (ctxt->input->buf != NULL)) {
+       size_t base = xmlBufGetInputBase(ctxt->input->buf->buffer,
+                                        ctxt->input);
+       size_t current = ctxt->input->cur - ctxt->input->base;
+
        xmlParserInputBufferPush(ctxt->input->buf, 1, "\r");
+
+       xmlBufSetInputBaseCur(ctxt->input->buf->buffer, ctxt->input,
+                             base, current);
     }
     if (terminate) {
        /*
@@ -12219,7 +12333,10 @@ xmldecl_done:
        }
        ctxt->instate = XML_PARSER_EOF;
     }
-    return((xmlParserErrors) ctxt->errNo);
+    if (ctxt->wellFormed == 0)
+       return((xmlParserErrors) ctxt->errNo);
+    else
+        return(0);
 }
 
 /************************************************************************
@@ -12364,6 +12481,7 @@ xmlStopParser(xmlParserCtxtPtr ctxt) {
     if (ctxt == NULL)
         return;
     ctxt->instate = XML_PARSER_EOF;
+    ctxt->errNo = XML_ERR_USER_STOP;
     ctxt->disableSAX = 1;
     if (ctxt->input != NULL) {
        ctxt->input->cur = BAD_CAST"";
@@ -14749,6 +14867,7 @@ xmlCtxtReset(xmlParserCtxtPtr ctxt)
     ctxt->catalogs = NULL;
     ctxt->nbentities = 0;
     ctxt->sizeentities = 0;
+    ctxt->sizeentcopy = 0;
     xmlInitNodeInfoSeq(&ctxt->node_seq);
 
     if (ctxt->attsDefault != NULL) {
index 35a90ab..f8a7041 100644 (file)
@@ -1201,7 +1201,7 @@ xmlSwitchInputEncodingInt(xmlParserCtxtPtr ctxt, xmlParserInputPtr input,
                 /*
                  * convert as much as possible of the buffer
                  */
-                nbchars = xmlCharEncInput(input->buf);
+                nbchars = xmlCharEncInput(input->buf, 1);
             } else {
                 /*
                  * convert just enough to get
@@ -1253,7 +1253,7 @@ xmlSwitchInputEncoding(xmlParserCtxtPtr ctxt, xmlParserInputPtr input,
  * xmlSwitchToEncodingInt:
  * @ctxt:  the parser context
  * @handler:  the encoding handler
- * @len: the lenght to convert or -1
+ * @len: the length to convert or -1
  *
  * change the input functions when discovering the character encoding
  * of a given entity, and convert only @len bytes of the output, this
@@ -1719,6 +1719,8 @@ xmlInitParserCtxt(xmlParserCtxtPtr ctxt)
     ctxt->charset = XML_CHAR_ENCODING_UTF8;
     ctxt->catalogs = NULL;
     ctxt->nbentities = 0;
+    ctxt->sizeentities = 0;
+    ctxt->sizeentcopy = 0;
     ctxt->input_id = 1;
     xmlInitNodeInfoSeq(&ctxt->node_seq);
     return(0);
diff --git a/reactos/lib/3rdparty/libxml2/regressions.py b/reactos/lib/3rdparty/libxml2/regressions.py
deleted file mode 100644 (file)
index 0e813c2..0000000
+++ /dev/null
@@ -1,350 +0,0 @@
-#!/usr/bin/python -u
-import glob, os, string, sys, thread, time
-# import difflib
-import libxml2
-
-###
-#
-# This is a "Work in Progress" attempt at a python script to run the
-# various regression tests.  The rationale for this is that it should be
-# possible to run this on most major platforms, including those (such as
-# Windows) which don't support gnu Make.
-#
-# The script is driven by a parameter file which defines the various tests
-# to be run, together with the unique settings for each of these tests.  A
-# script for Linux is included (regressions.xml), with comments indicating
-# the significance of the various parameters.  To run the tests under Windows,
-# edit regressions.xml and remove the comment around the default parameter
-# "<execpath>" (i.e. make it point to the location of the binary executables).
-#
-# Note that this current version requires the Python bindings for libxml2 to
-# have been previously installed and accessible
-#
-# See Copyright for the status of this software.
-# William Brack (wbrack@mmm.com.hk)
-#
-###
-defaultParams = {}     # will be used as a dictionary to hold the parsed params
-
-# This routine is used for comparing the expected stdout / stdin with the results.
-# The expected data has already been read in; the result is a file descriptor.
-# Within the two sets of data, lines may begin with a path string.  If so, the
-# code "relativises" it by removing the path component.  The first argument is a
-# list already read in by a separate thread; the second is a file descriptor.
-# The two 'base' arguments are to let me "relativise" the results files, allowing
-# the script to be run from any directory.
-def compFiles(res, expected, base1, base2):
-    l1 = len(base1)
-    exp = expected.readlines()
-    expected.close()
-    # the "relativisation" is done here
-    for i in range(len(res)):
-        j = string.find(res[i],base1)
-        if (j == 0) or ((j == 2) and (res[i][0:2] == './')):
-            col = string.find(res[i],':')
-            if col > 0:
-                start = string.rfind(res[i][:col], '/')
-                if start > 0:
-                    res[i] = res[i][start+1:]
-
-    for i in range(len(exp)):
-        j = string.find(exp[i],base2)
-        if (j == 0) or ((j == 2) and (exp[i][0:2] == './')):
-            col = string.find(exp[i],':')
-            if col > 0:
-                start = string.rfind(exp[i][:col], '/')
-                if start > 0:
-                    exp[i] = exp[i][start+1:]
-
-    ret = 0
-    # ideally we would like to use difflib functions here to do a
-    # nice comparison of the two sets.  Unfortunately, during testing
-    # (using python 2.3.3 and 2.3.4) the following code went into
-    # a dead loop under windows.  I'll pursue this later.
-#    diff = difflib.ndiff(res, exp)
-#    diff = list(diff)
-#    for line in diff:
-#        if line[:2] != '  ':
-#            print string.strip(line)
-#            ret = -1
-
-    # the following simple compare is fine for when the two data sets
-    # (actual result vs. expected result) are equal, which should be true for
-    # us.  Unfortunately, if the test fails it's not nice at all.
-    rl = len(res)
-    el = len(exp)
-    if el != rl:
-        print 'Length of expected is %d, result is %d' % (el, rl)
-       ret = -1
-    for i in range(min(el, rl)):
-        if string.strip(res[i]) != string.strip(exp[i]):
-            print '+:%s-:%s' % (res[i], exp[i])
-            ret = -1
-    if el > rl:
-        for i in range(rl, el):
-            print '-:%s' % exp[i]
-            ret = -1
-    elif rl > el:
-        for i in range (el, rl):
-            print '+:%s' % res[i]
-            ret = -1
-    return ret
-
-# Separate threads to handle stdout and stderr are created to run this function
-def readPfile(file, list, flag):
-    data = file.readlines()    # no call by reference, so I cheat
-    for l in data:
-        list.append(l)
-    file.close()
-    flag.append('ok')
-
-# This routine runs the test program (e.g. xmllint)
-def runOneTest(testDescription, filename, inbase, errbase):
-    if 'execpath' in testDescription:
-        dir = testDescription['execpath'] + '/'
-    else:
-        dir = ''
-    cmd = os.path.abspath(dir + testDescription['testprog'])
-    if 'flag' in testDescription:
-        for f in string.split(testDescription['flag']):
-            cmd += ' ' + f
-    if 'stdin' not in testDescription:
-        cmd += ' ' + inbase + filename
-    if 'extarg' in testDescription:
-        cmd += ' ' + testDescription['extarg']
-
-    noResult = 0
-    expout = None
-    if 'resext' in testDescription:
-        if testDescription['resext'] == 'None':
-            noResult = 1
-        else:
-            ext = '.' + testDescription['resext']
-    else:
-        ext = ''
-    if not noResult:
-        try:
-            fname = errbase + filename + ext
-            expout = open(fname, 'rt')
-        except:
-            print "Can't open result file %s - bypassing test" % fname
-            return
-
-    noErrors = 0
-    if 'reserrext' in testDescription:
-        if testDescription['reserrext'] == 'None':
-            noErrors = 1
-        else:
-            if len(testDescription['reserrext'])>0:
-                ext = '.' + testDescription['reserrext']
-            else:
-                ext = ''
-    else:
-        ext = ''
-    if not noErrors:
-        try:
-            fname = errbase + filename + ext
-            experr = open(fname, 'rt')
-        except:
-            experr = None
-    else:
-        experr = None
-
-    pin, pout, perr = os.popen3(cmd)
-    if 'stdin' in testDescription:
-        infile = open(inbase + filename, 'rt')
-        pin.writelines(infile.readlines())
-        infile.close()
-        pin.close()
-
-    # popen is great fun, but can lead to the old "deadly embrace", because
-    # synchronizing the writing (by the task being run) of stdout and stderr
-    # with respect to the reading (by this task) is basically impossible.  I
-    # tried several ways to cheat, but the only way I have found which works
-    # is to do a *very* elementary multi-threading approach.  We can only hope
-    # that Python threads are implemented on the target system (it's okay for
-    # Linux and Windows)
-
-    th1Flag = []       # flags to show when threads finish
-    th2Flag = []
-    outfile = []       # lists to contain the pipe data
-    errfile = []
-    th1 = thread.start_new_thread(readPfile, (pout, outfile, th1Flag))
-    th2 = thread.start_new_thread(readPfile, (perr, errfile, th2Flag))
-    while (len(th1Flag)==0) or (len(th2Flag)==0):
-        time.sleep(0.001)
-    if not noResult:
-        ret = compFiles(outfile, expout, inbase, 'test/')
-        if ret != 0:
-            print 'trouble with %s' % cmd
-    else:
-        if len(outfile) != 0:
-            for l in outfile:
-                print l
-            print 'trouble with %s' % cmd
-    if experr != None:
-        ret = compFiles(errfile, experr, inbase, 'test/')
-        if ret != 0:
-            print 'trouble with %s' % cmd
-    else:
-        if not noErrors:
-            if len(errfile) != 0:
-                for l in errfile:
-                    print l
-                print 'trouble with %s' % cmd
-
-    if 'stdin' not in testDescription:
-        pin.close()
-
-# This routine is called by the parameter decoding routine whenever the end of a
-# 'test' section is encountered.  Depending upon file globbing, a large number of
-# individual tests may be run.
-def runTest(description):
-    testDescription = defaultParams.copy()             # set defaults
-    testDescription.update(description)                        # override with current ent
-    if 'testname' in testDescription:
-        print "## %s" % testDescription['testname']
-    if not 'file' in testDescription:
-        print "No file specified - can't run this test!"
-        return
-    # Set up the source and results directory paths from the decoded params
-    dir = ''
-    if 'srcdir' in testDescription:
-        dir += testDescription['srcdir'] + '/'
-    if 'srcsub' in testDescription:
-        dir += testDescription['srcsub'] + '/'
-
-    rdir = ''
-    if 'resdir' in testDescription:
-        rdir += testDescription['resdir'] + '/'
-    if 'ressub' in testDescription:
-        rdir += testDescription['ressub'] + '/'
-
-    testFiles = glob.glob(os.path.abspath(dir + testDescription['file']))
-    if testFiles == []:
-        print "No files result from '%s'" % testDescription['file']
-        return
-
-    # Some test programs just don't work (yet).  For now we exclude them.
-    count = 0
-    excl = []
-    if 'exclfile' in testDescription:
-        for f in string.split(testDescription['exclfile']):
-            glb = glob.glob(dir + f)
-            for g in glb:
-                excl.append(os.path.abspath(g))
-
-    # Run the specified test program
-    for f in testFiles:
-        if not os.path.isdir(f):
-            if f not in excl:
-                count = count + 1
-                runOneTest(testDescription, os.path.basename(f), dir, rdir)
-
-#
-# The following classes are used with the xmlreader interface to interpret the
-# parameter file.  Once a test section has been identified, runTest is called
-# with a dictionary containing the parsed results of the interpretation.
-#
-
-class testDefaults:
-    curText = ''       # accumulates text content of parameter
-
-    def addToDict(self, key):
-        txt = string.strip(self.curText)
-#        if txt == '':
-#            return
-        if key not in defaultParams:
-            defaultParams[key] = txt
-        else:
-            defaultParams[key] += ' ' + txt
-        
-    def processNode(self, reader, curClass):
-        if reader.Depth() == 2:
-            if reader.NodeType() == 1:
-                self.curText = ''      # clear the working variable
-            elif reader.NodeType() == 15:
-                if (reader.Name() != '#text') and (reader.Name() != '#comment'):
-                    self.addToDict(reader.Name())
-        elif reader.Depth() == 3:
-            if reader.Name() == '#text':
-                self.curText += reader.Value()
-
-        elif reader.NodeType() == 15:  # end of element
-            print "Defaults have been set to:"
-            for k in defaultParams.keys():
-                print "   %s : '%s'" % (k, defaultParams[k])
-            curClass = rootClass()
-        return curClass
-
-
-class testClass:
-    def __init__(self):
-        self.testParams = {}   # start with an empty set of params
-        self.curText = ''      # and empty text
-
-    def addToDict(self, key):
-        data = string.strip(self.curText)
-        if key not in self.testParams:
-            self.testParams[key] = data
-        else:
-            if self.testParams[key] != '':
-                data = ' ' + data
-            self.testParams[key] += data
-
-    def processNode(self, reader, curClass):
-        if reader.Depth() == 2:
-            if reader.NodeType() == 1:
-                self.curText = ''      # clear the working variable
-                if reader.Name() not in self.testParams:
-                    self.testParams[reader.Name()] = ''
-            elif reader.NodeType() == 15:
-                if (reader.Name() != '#text') and (reader.Name() != '#comment'):
-                    self.addToDict(reader.Name())
-        elif reader.Depth() == 3:
-            if reader.Name() == '#text':
-                self.curText += reader.Value()
-
-        elif reader.NodeType() == 15:  # end of element
-            runTest(self.testParams)
-            curClass = rootClass()
-        return curClass
-
-
-class rootClass:
-    def processNode(self, reader, curClass):
-        if reader.Depth() == 0:
-            return curClass
-        if reader.Depth() != 1:
-            print "Unexpected junk: Level %d, type %d, name %s" % (
-                  reader.Depth(), reader.NodeType(), reader.Name())
-            return curClass
-        if reader.Name() == 'test':
-            curClass = testClass()
-            curClass.testParams = {}
-        elif reader.Name() == 'defaults':
-            curClass = testDefaults()
-        return curClass
-
-def streamFile(filename):
-    try:
-        reader = libxml2.newTextReaderFilename(filename)
-    except:
-        print "unable to open %s" % (filename)
-        return
-
-    curClass = rootClass()
-    ret = reader.Read()
-    while ret == 1:
-        curClass = curClass.processNode(reader, curClass)
-        ret = reader.Read()
-
-    if ret != 0:
-        print "%s : failed to parse" % (filename)
-
-# OK, we're finished with all the routines.  Now for the main program:-
-if len(sys.argv) != 2:
-    print "Usage: maketest {filename}"
-    sys.exit(-1)
-
-streamFile(sys.argv[1])
diff --git a/reactos/lib/3rdparty/libxml2/regressions.xml b/reactos/lib/3rdparty/libxml2/regressions.xml
deleted file mode 100644 (file)
index c78838a..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-<RegressionTests>
-<!--
-  Within the following test descriptions the possible elements are:
-    Element Name    Description
-     testname       Plain text name of test
-     execpath       pathname for test program(s)
-     testprog       program to run for the test 
-     flag           flags for program (may have several)
-     file           filename of input file (several, or glob ok)
-     exclfile       filename to be excuded (several, or glob ok)
-     srcdir         global source directory for input file(s)
-     srcsub         subdirectory for input
-     resdir         directory for results file(s)
-     ressub         subdirectory for results    
-     resext         extension for expected result
-     reserrext      extension for error result ('None' => no chk)
-     extarg         additional argument for command
-     errexcl        string to ignore when checking diffs
-     stdin          pipe input file to stdin
--->
-
-<!--
-  Note:  These defaults are set to run from the root of the build directory
--->
-  <defaults>
-    <testname>noname</testname>
-<!--    <execpath>win32/bin.msvc</execpath> -->
-    <execpath>.</execpath>
-    <testprog>xmllint</testprog>
-    <srcdir>test</srcdir>
-    <resdir>result</resdir>
-    <file>*.xml</file>
-    <reserrext>err</reserrext>
-    <errexcl/>
-  </defaults>
-
-  <test>
-    <testname>XML Regression Tests</testname>
-    <errexcl>failed to load external entity</errexcl>
-  </test>
-  <test>
-    <testname>XML Entity Subst Regression Tests</testname>
-    <ressub>noent</ressub>
-    <flag>--noent</flag>
-  </test>
-  <test>
-    <testname>XML Namespaces Regression Tests</testname>
-    <srcsub>namespaces</srcsub>
-    <ressub>namespaces</ressub>
-  </test>
-  <test>
-    <testname>xml:id Regression Tests</testname>
-    <testprog>testXPath</testprog>
-    <srcsub>xmlid</srcsub>
-    <ressub>xmlid</ressub>
-    <flag>-i</flag>
-    <file>id_*.xml</file>
-    <extarg>"id('bar')"</extarg>
-  </test>
-  <test>
-    <testname>Error Cases Regression Tests</testname>
-    <srcsub>errors</srcsub>
-    <ressub>errors</ressub>
-  </test>
-  <test>
-    <testname>Error Cases Stream Regression Tests</testname>
-    <srcsub>errors</srcsub>
-    <ressub>errors</ressub>
-    <reserrext>str</reserrext>
-    <flag>--stream</flag>
-  </test>
-  <test>
-    <testname>Reader Regression Tests</testname>
-    <resext>rdr</resext>
-    <flag>--nonet</flag>
-    <flag>--debug</flag>
-    <flag>--stream</flag>
-    <file>*</file>
-    <reserrext>None</reserrext>
-  </test>
-  <test>
-    <testname>Walker Regression Tests</testname>
-    <resext>rdr</resext>
-    <flag>--nonet</flag>
-    <flag>--debug</flag>
-    <flag>--walker</flag>
-    <file>*</file>
-    <reserrext>None</reserrext>
-  </test>
-  <test>
-    <testname>Reader Entities Substitution Regression Tests</testname>
-    <resext>rde</resext>
-    <flag>--nonet</flag>
-    <flag>--debug</flag>
-    <flag>--stream</flag>
-    <flag>--noent</flag>
-    <file>*</file>
-    <reserrext>None</reserrext>
-  </test>
-  <test>
-    <testname>SAX Callbacks Regression Tests</testname>
-    <testprog>testSAX</testprog>
-    <resext>sax</resext>
-    <file>*</file>
-    <exclfile>utf16*.xml</exclfile>
-    <reserrext>None</reserrext>
-  </test>
-  <test>
-    <testname>XML Push Regression Tests</testname>
-    <flag>--push</flag>
-    <errexcl>failed to load external entity</errexcl>
-  </test>
-  <test>
-    <testname>HTML Regression Tests</testname>
-    <testprog>testHTML</testprog>
-    <srcsub>HTML</srcsub>
-    <ressub>HTML</ressub>
-    <file>*</file>
-    <exclfile>wired.html</exclfile>
-  </test>
-  <test>
-    <testname>Push HTML Regression Tests</testname>
-    <testprog>testHTML</testprog>
-    <flag>--push</flag>
-    <srcsub>HTML</srcsub>
-    <ressub>HTML</ressub>
-    <file>*</file>
-  </test>
-  <test>
-    <testname>HTML SAX Regression Tests</testname>
-    <testprog>testHTML</testprog>
-    <flag>--sax</flag>
-    <srcsub>HTML</srcsub>
-    <ressub>HTML</ressub>
-    <resext>sax</resext>
-    <reserrext>None</reserrext>
-    <file>*</file>
-  </test>
-  <test>
-    <testname>Push HTML SAX Regression Tests</testname>
-    <testprog>testHTML</testprog>
-    <flag>--sax</flag>
-    <flag>--push</flag>
-    <srcsub>HTML</srcsub>
-    <ressub>HTML</ressub>
-    <resext>sax</resext>
-    <reserrext>None</reserrext>
-    <file>*</file>
-  </test>
-  <test>
-    <testname>Valid Documents Regression Tests</testname>
-    <srcsub>VCM</srcsub>
-    <ressub>VCM</ressub>
-    <resext>None</resext>
-    <reserrext>None</reserrext>
-    <file>*</file>
-    <flag>--valid</flag>
-    <flag>--noout</flag>
-    <flag>--nowarning</flag>
-  </test>
-  <test>
-    <testname>Validity Checking Regression Tests</testname>
-    <srcsub>VC</srcsub>
-    <ressub>VC</ressub>
-    <resext>None</resext>
-    <reserrext/>
-    <file>*</file>
-    <flag>--valid</flag>
-    <flag>--noout</flag>
-  </test>
-  <test>
-    <testname>General Documents Valid Regression Tests</testname>
-    <srcsub>valid</srcsub>
-    <ressub>valid</ressub>
-    <file>*</file>
-    <flag>--valid</flag>
-  </test>
-  <test>
-    <testname>URI Module Regression Tests (1)</testname>
-    <testprog>testURI</testprog>
-    <srcsub>URI</srcsub>
-    <stdin/>
-    <ressub>URI</ressub>
-    <reserrext>None</reserrext>
-    <file>*.data</file>
-    <!-- Note - the following arg needs to use ", not ' -->
-    <flag>-base "http://foo.com/path/to/index.html?orig#help"</flag>
-  </test>
-  <test>
-    <testname>URI Module Regression Tests (2)</testname>
-    <testprog>testURI</testprog>
-    <srcsub>URI</srcsub>
-    <stdin/>
-    <ressub>URI</ressub>
-    <reserrext>None</reserrext>
-    <file>*.uri</file>
-  </test>
-  <test>
-    <testname>XPath Regression Tests (1)</testname>
-    <testprog>testXPath</testprog>
-    <srcsub>XPath/expr</srcsub>
-    <ressub>XPath/expr</ressub>
-    <file>*</file>
-    <flag>-f</flag>
-    <flag>--expr</flag>
-  </test>
-  <test>
-    <testname>XInclude Regression Tests</testname>
-    <srcsub>XInclude/docs</srcsub>
-    <ressub>XInclude</ressub>
-    <file>*</file>
-    <flag>--nowarning</flag>
-    <flag>--xinclude</flag>
-  </test>
-  <test>
-    <testname>XInclude xmlReader Regression Tests</testname>
-    <srcsub>XInclude/docs</srcsub>
-    <ressub>XInclude</ressub>
-    <resext>rdr</resext>
-    <file>*</file>
-    <flag>--nowarning</flag>
-    <flag>--xinclude</flag>
-    <flag>--stream</flag>
-    <flag>--debug</flag>
-  </test>
-</RegressionTests>
index f600d07..370e314 100644 (file)
@@ -8347,7 +8347,7 @@ xmlRelaxNGValidatePushElement(xmlRelaxNGValidCtxtPtr ctxt,
  * xmlRelaxNGValidatePushCData:
  * @ctxt:  the RelaxNG validation context
  * @data:  some character data read
- * @len:  the lenght of the data
+ * @len:  the length of the data
  *
  * check the CData parsed for validation in the current stack
  *
diff --git a/reactos/lib/3rdparty/libxml2/runsuite.c b/reactos/lib/3rdparty/libxml2/runsuite.c
deleted file mode 100644 (file)
index aaab13e..0000000
+++ /dev/null
@@ -1,1172 +0,0 @@
-/*
- * runsuite.c: C program to run libxml2 againts published testsuites
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-#include <stdio.h>
-
-#if !defined(_WIN32) || defined(__CYGWIN__)
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#include <libxml/parser.h>
-#include <libxml/parserInternals.h>
-#include <libxml/tree.h>
-#include <libxml/uri.h>
-#if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_XPATH_ENABLED)
-#include <libxml/xmlreader.h>
-
-#include <libxml/xpath.h>
-#include <libxml/xpathInternals.h>
-
-#include <libxml/relaxng.h>
-#include <libxml/xmlschemas.h>
-#include <libxml/xmlschemastypes.h>
-
-#define LOGFILE "runsuite.log"
-static FILE *logfile = NULL;
-static int verbose = 0;
-
-
-/************************************************************************
- *                                                                     *
- *             File name and path utilities                            *
- *                                                                     *
- ************************************************************************/
-
-static int checkTestFile(const char *filename) {
-    struct stat buf;
-
-    if (stat(filename, &buf) == -1)
-        return(0);
-
-#if defined(_WIN32) && !defined(__CYGWIN__)
-    if (!(buf.st_mode & _S_IFREG))
-        return(0);
-#else
-    if (!S_ISREG(buf.st_mode))
-        return(0);
-#endif
-
-    return(1);
-}
-
-static xmlChar *composeDir(const xmlChar *dir, const xmlChar *path) {
-    char buf[500];
-
-    if (dir == NULL) return(xmlStrdup(path));
-    if (path == NULL) return(NULL);
-
-    snprintf(buf, 500, "%s/%s", (const char *) dir, (const char *) path);
-    return(xmlStrdup((const xmlChar *) buf));
-}
-
-/************************************************************************
- *                                                                     *
- *             Libxml2 specific routines                               *
- *                                                                     *
- ************************************************************************/
-
-static int nb_tests = 0;
-static int nb_errors = 0;
-static int nb_internals = 0;
-static int nb_schematas = 0;
-static int nb_unimplemented = 0;
-static int nb_leaks = 0;
-static int extraMemoryFromResolver = 0;
-
-static int
-fatalError(void) {
-    fprintf(stderr, "Exitting tests on fatal error\n");
-    exit(1);
-}
-
-/*
- * that's needed to implement <resource>
- */
-#define MAX_ENTITIES 20
-static char *testEntitiesName[MAX_ENTITIES];
-static char *testEntitiesValue[MAX_ENTITIES];
-static int nb_entities = 0;
-static void resetEntities(void) {
-    int i;
-
-    for (i = 0;i < nb_entities;i++) {
-        if (testEntitiesName[i] != NULL)
-           xmlFree(testEntitiesName[i]);
-        if (testEntitiesValue[i] != NULL)
-           xmlFree(testEntitiesValue[i]);
-    }
-    nb_entities = 0;
-}
-static int addEntity(char *name, char *content) {
-    if (nb_entities >= MAX_ENTITIES) {
-       fprintf(stderr, "Too many entities defined\n");
-       return(-1);
-    }
-    testEntitiesName[nb_entities] = name;
-    testEntitiesValue[nb_entities] = content;
-    nb_entities++;
-    return(0);
-}
-
-/*
- * We need to trap calls to the resolver to not account memory for the catalog
- * which is shared to the current running test. We also don't want to have
- * network downloads modifying tests.
- */
-static xmlParserInputPtr
-testExternalEntityLoader(const char *URL, const char *ID,
-                        xmlParserCtxtPtr ctxt) {
-    xmlParserInputPtr ret;
-    int i;
-
-    for (i = 0;i < nb_entities;i++) {
-        if (!strcmp(testEntitiesName[i], URL)) {
-           ret = xmlNewStringInputStream(ctxt,
-                       (const xmlChar *) testEntitiesValue[i]);
-           if (ret != NULL) {
-               ret->filename = (const char *)
-                               xmlStrdup((xmlChar *)testEntitiesName[i]);
-           }
-           return(ret);
-       }
-    }
-    if (checkTestFile(URL)) {
-       ret = xmlNoNetExternalEntityLoader(URL, ID, ctxt);
-    } else {
-       int memused = xmlMemUsed();
-       ret = xmlNoNetExternalEntityLoader(URL, ID, ctxt);
-       extraMemoryFromResolver += xmlMemUsed() - memused;
-    }
-#if 0
-    if (ret == NULL) {
-        fprintf(stderr, "Failed to find resource %s\n", URL);
-    }
-#endif
-
-    return(ret);
-}
-
-/*
- * Trapping the error messages at the generic level to grab the equivalent of
- * stderr messages on CLI tools.
- */
-static char testErrors[32769];
-static int testErrorsSize = 0;
-
-static void test_log(const char *msg, ...) {
-    va_list args;
-    if (logfile != NULL) {
-        fprintf(logfile, "\n------------\n");
-       va_start(args, msg);
-       vfprintf(logfile, msg, args);
-       va_end(args);
-       fprintf(logfile, "%s", testErrors);
-       testErrorsSize = 0; testErrors[0] = 0;
-    }
-    if (verbose) {
-       va_start(args, msg);
-       vfprintf(stderr, msg, args);
-       va_end(args);
-    }
-}
-
-static void
-testErrorHandler(void *ctx  ATTRIBUTE_UNUSED, const char *msg, ...) {
-    va_list args;
-    int res;
-
-    if (testErrorsSize >= 32768)
-        return;
-    va_start(args, msg);
-    res = vsnprintf(&testErrors[testErrorsSize],
-                    32768 - testErrorsSize,
-                   msg, args);
-    va_end(args);
-    if (testErrorsSize + res >= 32768) {
-        /* buffer is full */
-       testErrorsSize = 32768;
-       testErrors[testErrorsSize] = 0;
-    } else {
-        testErrorsSize += res;
-    }
-    testErrors[testErrorsSize] = 0;
-}
-
-static xmlXPathContextPtr ctxtXPath;
-
-static void
-initializeLibxml2(void) {
-    xmlGetWarningsDefaultValue = 0;
-    xmlPedanticParserDefault(0);
-
-    xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup);
-    xmlInitParser();
-    xmlSetExternalEntityLoader(testExternalEntityLoader);
-    ctxtXPath = xmlXPathNewContext(NULL);
-    /*
-    * Deactivate the cache if created; otherwise we have to create/free it
-    * for every test, since it will confuse the memory leak detection.
-    * Note that normally this need not be done, since the cache is not
-    * created until set explicitely with xmlXPathContextSetCache();
-    * but for test purposes it is sometimes usefull to activate the
-    * cache by default for the whole library.
-    */
-    if (ctxtXPath->cache != NULL)
-       xmlXPathContextSetCache(ctxtXPath, 0, -1, 0);
-    /* used as default nanemspace in xstc tests */
-    xmlXPathRegisterNs(ctxtXPath, BAD_CAST "ts", BAD_CAST "TestSuite");
-    xmlXPathRegisterNs(ctxtXPath, BAD_CAST "xlink",
-                       BAD_CAST "http://www.w3.org/1999/xlink");
-    xmlSetGenericErrorFunc(NULL, testErrorHandler);
-#ifdef LIBXML_SCHEMAS_ENABLED
-    xmlSchemaInitTypes();
-    xmlRelaxNGInitTypes();
-#endif
-}
-
-static xmlNodePtr
-getNext(xmlNodePtr cur, const char *xpath) {
-    xmlNodePtr ret = NULL;
-    xmlXPathObjectPtr res;
-    xmlXPathCompExprPtr comp;
-
-    if ((cur == NULL)  || (cur->doc == NULL) || (xpath == NULL))
-        return(NULL);
-    ctxtXPath->doc = cur->doc;
-    ctxtXPath->node = cur;
-    comp = xmlXPathCompile(BAD_CAST xpath);
-    if (comp == NULL) {
-        fprintf(stderr, "Failed to compile %s\n", xpath);
-       return(NULL);
-    }
-    res = xmlXPathCompiledEval(comp, ctxtXPath);
-    xmlXPathFreeCompExpr(comp);
-    if (res == NULL)
-        return(NULL);
-    if ((res->type == XPATH_NODESET) &&
-        (res->nodesetval != NULL) &&
-       (res->nodesetval->nodeNr > 0) &&
-       (res->nodesetval->nodeTab != NULL))
-       ret = res->nodesetval->nodeTab[0];
-    xmlXPathFreeObject(res);
-    return(ret);
-}
-
-static xmlChar *
-getString(xmlNodePtr cur, const char *xpath) {
-    xmlChar *ret = NULL;
-    xmlXPathObjectPtr res;
-    xmlXPathCompExprPtr comp;
-
-    if ((cur == NULL)  || (cur->doc == NULL) || (xpath == NULL))
-        return(NULL);
-    ctxtXPath->doc = cur->doc;
-    ctxtXPath->node = cur;
-    comp = xmlXPathCompile(BAD_CAST xpath);
-    if (comp == NULL) {
-        fprintf(stderr, "Failed to compile %s\n", xpath);
-       return(NULL);
-    }
-    res = xmlXPathCompiledEval(comp, ctxtXPath);
-    xmlXPathFreeCompExpr(comp);
-    if (res == NULL)
-        return(NULL);
-    if (res->type == XPATH_STRING) {
-        ret = res->stringval;
-       res->stringval = NULL;
-    }
-    xmlXPathFreeObject(res);
-    return(ret);
-}
-
-/************************************************************************
- *                                                                     *
- *             Test test/xsdtest/xsdtestsuite.xml                      *
- *                                                                     *
- ************************************************************************/
-
-static int
-xsdIncorectTestCase(xmlNodePtr cur) {
-    xmlNodePtr test;
-    xmlBufferPtr buf;
-    xmlRelaxNGParserCtxtPtr pctxt;
-    xmlRelaxNGPtr rng = NULL;
-    int ret = 0, memt;
-
-    cur = getNext(cur, "./incorrect[1]");
-    if (cur == NULL) {
-        return(0);
-    }
-
-    test = getNext(cur, "./*");
-    if (test == NULL) {
-        test_log("Failed to find test in correct line %ld\n",
-               xmlGetLineNo(cur));
-        return(1);
-    }
-
-    memt = xmlMemUsed();
-    extraMemoryFromResolver = 0;
-    /*
-     * dump the schemas to a buffer, then reparse it and compile the schemas
-     */
-    buf = xmlBufferCreate();
-    if (buf == NULL) {
-        fprintf(stderr, "out of memory !\n");
-       fatalError();
-    }
-    xmlNodeDump(buf, test->doc, test, 0, 0);
-    pctxt = xmlRelaxNGNewMemParserCtxt((const char *)buf->content, buf->use);
-    xmlRelaxNGSetParserErrors(pctxt,
-         (xmlRelaxNGValidityErrorFunc) testErrorHandler,
-         (xmlRelaxNGValidityWarningFunc) testErrorHandler,
-        pctxt);
-    rng = xmlRelaxNGParse(pctxt);
-    xmlRelaxNGFreeParserCtxt(pctxt);
-    if (rng != NULL) {
-       test_log("Failed to detect incorect RNG line %ld\n",
-                   xmlGetLineNo(test));
-        ret = 1;
-       goto done;
-    }
-
-done:
-    if (buf != NULL)
-       xmlBufferFree(buf);
-    if (rng != NULL)
-        xmlRelaxNGFree(rng);
-    xmlResetLastError();
-    if ((memt < xmlMemUsed()) && (extraMemoryFromResolver == 0)) {
-       test_log("Validation of tests starting line %ld leaked %d\n",
-               xmlGetLineNo(cur), xmlMemUsed() - memt);
-       nb_leaks++;
-    }
-    return(ret);
-}
-
-static void
-installResources(xmlNodePtr tst, const xmlChar *base) {
-    xmlNodePtr test;
-    xmlBufferPtr buf;
-    xmlChar *name, *content, *res;
-
-    buf = xmlBufferCreate();
-    if (buf == NULL) {
-        fprintf(stderr, "out of memory !\n");
-       fatalError();
-    }
-    xmlNodeDump(buf, tst->doc, tst, 0, 0);
-
-    while (tst != NULL) {
-       test = getNext(tst, "./*");
-       if (test != NULL) {
-           xmlBufferEmpty(buf);
-           xmlNodeDump(buf, test->doc, test, 0, 0);
-           name = getString(tst, "string(@name)");
-           content = xmlStrdup(buf->content);
-           if ((name != NULL) && (content != NULL)) {
-               res = composeDir(base, name);
-               xmlFree(name);
-               addEntity((char *) res, (char *) content);
-           } else {
-               if (name != NULL) xmlFree(name);
-               if (content != NULL) xmlFree(content);
-           }
-       }
-       tst = getNext(tst, "following-sibling::resource[1]");
-    }
-    if (buf != NULL)
-       xmlBufferFree(buf);
-}
-
-static void
-installDirs(xmlNodePtr tst, const xmlChar *base) {
-    xmlNodePtr test;
-    xmlChar *name, *res;
-
-    name = getString(tst, "string(@name)");
-    if (name == NULL)
-        return;
-    res = composeDir(base, name);
-    xmlFree(name);
-    if (res == NULL) {
-       return;
-    }
-    /* Now process resources and subdir recursively */
-    test = getNext(tst, "./resource[1]");
-    if (test != NULL) {
-        installResources(test, res);
-    }
-    test = getNext(tst, "./dir[1]");
-    while (test != NULL) {
-        installDirs(test, res);
-       test = getNext(test, "following-sibling::dir[1]");
-    }
-    xmlFree(res);
-}
-
-static int
-xsdTestCase(xmlNodePtr tst) {
-    xmlNodePtr test, tmp, cur;
-    xmlBufferPtr buf;
-    xmlDocPtr doc = NULL;
-    xmlRelaxNGParserCtxtPtr pctxt;
-    xmlRelaxNGValidCtxtPtr ctxt;
-    xmlRelaxNGPtr rng = NULL;
-    int ret = 0, mem, memt;
-    xmlChar *dtd;
-
-    resetEntities();
-    testErrorsSize = 0; testErrors[0] = 0;
-
-    tmp = getNext(tst, "./dir[1]");
-    if (tmp != NULL) {
-        installDirs(tmp, NULL);
-    }
-    tmp = getNext(tst, "./resource[1]");
-    if (tmp != NULL) {
-        installResources(tmp, NULL);
-    }
-
-    cur = getNext(tst, "./correct[1]");
-    if (cur == NULL) {
-        return(xsdIncorectTestCase(tst));
-    }
-
-    test = getNext(cur, "./*");
-    if (test == NULL) {
-        fprintf(stderr, "Failed to find test in correct line %ld\n",
-               xmlGetLineNo(cur));
-        return(1);
-    }
-
-    memt = xmlMemUsed();
-    extraMemoryFromResolver = 0;
-    /*
-     * dump the schemas to a buffer, then reparse it and compile the schemas
-     */
-    buf = xmlBufferCreate();
-    if (buf == NULL) {
-        fprintf(stderr, "out of memory !\n");
-       fatalError();
-    }
-    xmlNodeDump(buf, test->doc, test, 0, 0);
-    pctxt = xmlRelaxNGNewMemParserCtxt((const char *)buf->content, buf->use);
-    xmlRelaxNGSetParserErrors(pctxt,
-         (xmlRelaxNGValidityErrorFunc) testErrorHandler,
-         (xmlRelaxNGValidityWarningFunc) testErrorHandler,
-        pctxt);
-    rng = xmlRelaxNGParse(pctxt);
-    xmlRelaxNGFreeParserCtxt(pctxt);
-    if (extraMemoryFromResolver)
-        memt = 0;
-
-    if (rng == NULL) {
-        test_log("Failed to parse RNGtest line %ld\n",
-               xmlGetLineNo(test));
-       nb_errors++;
-        ret = 1;
-       goto done;
-    }
-    /*
-     * now scan all the siblings of correct to process the <valid> tests
-     */
-    tmp = getNext(cur, "following-sibling::valid[1]");
-    while (tmp != NULL) {
-       dtd = xmlGetProp(tmp, BAD_CAST "dtd");
-       test = getNext(tmp, "./*");
-       if (test == NULL) {
-           fprintf(stderr, "Failed to find test in <valid> line %ld\n",
-                   xmlGetLineNo(tmp));
-
-       } else {
-           xmlBufferEmpty(buf);
-           if (dtd != NULL)
-               xmlBufferAdd(buf, dtd, -1);
-           xmlNodeDump(buf, test->doc, test, 0, 0);
-
-           /*
-            * We are ready to run the test
-            */
-           mem = xmlMemUsed();
-           extraMemoryFromResolver = 0;
-            doc = xmlReadMemory((const char *)buf->content, buf->use,
-                               "test", NULL, 0);
-           if (doc == NULL) {
-               test_log("Failed to parse valid instance line %ld\n",
-                       xmlGetLineNo(tmp));
-               nb_errors++;
-           } else {
-               nb_tests++;
-               ctxt = xmlRelaxNGNewValidCtxt(rng);
-               xmlRelaxNGSetValidErrors(ctxt,
-                    (xmlRelaxNGValidityErrorFunc) testErrorHandler,
-                    (xmlRelaxNGValidityWarningFunc) testErrorHandler,
-                    ctxt);
-               ret = xmlRelaxNGValidateDoc(ctxt, doc);
-               xmlRelaxNGFreeValidCtxt(ctxt);
-               if (ret > 0) {
-                   test_log("Failed to validate valid instance line %ld\n",
-                               xmlGetLineNo(tmp));
-                   nb_errors++;
-               } else if (ret < 0) {
-                   test_log("Internal error validating instance line %ld\n",
-                           xmlGetLineNo(tmp));
-                   nb_errors++;
-               }
-               xmlFreeDoc(doc);
-           }
-           xmlResetLastError();
-           if ((mem != xmlMemUsed()) && (extraMemoryFromResolver == 0)) {
-               test_log("Validation of instance line %ld leaked %d\n",
-                       xmlGetLineNo(tmp), xmlMemUsed() - mem);
-               xmlMemoryDump();
-               nb_leaks++;
-           }
-       }
-       if (dtd != NULL)
-           xmlFree(dtd);
-       tmp = getNext(tmp, "following-sibling::valid[1]");
-    }
-    /*
-     * now scan all the siblings of correct to process the <invalid> tests
-     */
-    tmp = getNext(cur, "following-sibling::invalid[1]");
-    while (tmp != NULL) {
-       test = getNext(tmp, "./*");
-       if (test == NULL) {
-           fprintf(stderr, "Failed to find test in <invalid> line %ld\n",
-                   xmlGetLineNo(tmp));
-
-       } else {
-           xmlBufferEmpty(buf);
-           xmlNodeDump(buf, test->doc, test, 0, 0);
-
-           /*
-            * We are ready to run the test
-            */
-           mem = xmlMemUsed();
-           extraMemoryFromResolver = 0;
-            doc = xmlReadMemory((const char *)buf->content, buf->use,
-                               "test", NULL, 0);
-           if (doc == NULL) {
-               test_log("Failed to parse valid instance line %ld\n",
-                       xmlGetLineNo(tmp));
-               nb_errors++;
-           } else {
-               nb_tests++;
-               ctxt = xmlRelaxNGNewValidCtxt(rng);
-               xmlRelaxNGSetValidErrors(ctxt,
-                    (xmlRelaxNGValidityErrorFunc) testErrorHandler,
-                    (xmlRelaxNGValidityWarningFunc) testErrorHandler,
-                    ctxt);
-               ret = xmlRelaxNGValidateDoc(ctxt, doc);
-               xmlRelaxNGFreeValidCtxt(ctxt);
-               if (ret == 0) {
-                   test_log("Failed to detect invalid instance line %ld\n",
-                               xmlGetLineNo(tmp));
-                   nb_errors++;
-               } else if (ret < 0) {
-                   test_log("Internal error validating instance line %ld\n",
-                           xmlGetLineNo(tmp));
-                   nb_errors++;
-               }
-               xmlFreeDoc(doc);
-           }
-           xmlResetLastError();
-           if ((mem != xmlMemUsed()) && (extraMemoryFromResolver == 0)) {
-               test_log("Validation of instance line %ld leaked %d\n",
-                       xmlGetLineNo(tmp), xmlMemUsed() - mem);
-               xmlMemoryDump();
-               nb_leaks++;
-           }
-       }
-       tmp = getNext(tmp, "following-sibling::invalid[1]");
-    }
-
-done:
-    if (buf != NULL)
-       xmlBufferFree(buf);
-    if (rng != NULL)
-        xmlRelaxNGFree(rng);
-    xmlResetLastError();
-    if ((memt != xmlMemUsed()) && (memt != 0)) {
-       test_log("Validation of tests starting line %ld leaked %d\n",
-               xmlGetLineNo(cur), xmlMemUsed() - memt);
-       nb_leaks++;
-    }
-    return(ret);
-}
-
-static int
-xsdTestSuite(xmlNodePtr cur) {
-    if (verbose) {
-       xmlChar *doc = getString(cur, "string(documentation)");
-
-       if (doc != NULL) {
-           printf("Suite %s\n", doc);
-           xmlFree(doc);
-       }
-    }
-    cur = getNext(cur, "./testCase[1]");
-    while (cur != NULL) {
-        xsdTestCase(cur);
-       cur = getNext(cur, "following-sibling::testCase[1]");
-    }
-
-    return(0);
-}
-
-static int
-xsdTest(void) {
-    xmlDocPtr doc;
-    xmlNodePtr cur;
-    const char *filename = "test/xsdtest/xsdtestsuite.xml";
-    int ret = 0;
-
-    doc = xmlReadFile(filename, NULL, XML_PARSE_NOENT);
-    if (doc == NULL) {
-        fprintf(stderr, "Failed to parse %s\n", filename);
-       return(-1);
-    }
-    printf("## XML Schemas datatypes test suite from James Clark\n");
-
-    cur = xmlDocGetRootElement(doc);
-    if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) {
-        fprintf(stderr, "Unexpected format %s\n", filename);
-       ret = -1;
-       goto done;
-    }
-
-    cur = getNext(cur, "./testSuite[1]");
-    if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) {
-        fprintf(stderr, "Unexpected format %s\n", filename);
-       ret = -1;
-       goto done;
-    }
-    while (cur != NULL) {
-        xsdTestSuite(cur);
-       cur = getNext(cur, "following-sibling::testSuite[1]");
-    }
-
-done:
-    if (doc != NULL)
-       xmlFreeDoc(doc);
-    return(ret);
-}
-
-static int
-rngTestSuite(xmlNodePtr cur) {
-    if (verbose) {
-       xmlChar *doc = getString(cur, "string(documentation)");
-
-       if (doc != NULL) {
-           printf("Suite %s\n", doc);
-           xmlFree(doc);
-       } else {
-           doc = getString(cur, "string(section)");
-           if (doc != NULL) {
-               printf("Section %s\n", doc);
-               xmlFree(doc);
-           }
-       }
-    }
-    cur = getNext(cur, "./testSuite[1]");
-    while (cur != NULL) {
-        xsdTestSuite(cur);
-       cur = getNext(cur, "following-sibling::testSuite[1]");
-    }
-
-    return(0);
-}
-
-static int
-rngTest1(void) {
-    xmlDocPtr doc;
-    xmlNodePtr cur;
-    const char *filename = "test/relaxng/OASIS/spectest.xml";
-    int ret = 0;
-
-    doc = xmlReadFile(filename, NULL, XML_PARSE_NOENT);
-    if (doc == NULL) {
-        fprintf(stderr, "Failed to parse %s\n", filename);
-       return(-1);
-    }
-    printf("## Relax NG test suite from James Clark\n");
-
-    cur = xmlDocGetRootElement(doc);
-    if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) {
-        fprintf(stderr, "Unexpected format %s\n", filename);
-       ret = -1;
-       goto done;
-    }
-
-    cur = getNext(cur, "./testSuite[1]");
-    if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) {
-        fprintf(stderr, "Unexpected format %s\n", filename);
-       ret = -1;
-       goto done;
-    }
-    while (cur != NULL) {
-        rngTestSuite(cur);
-       cur = getNext(cur, "following-sibling::testSuite[1]");
-    }
-
-done:
-    if (doc != NULL)
-       xmlFreeDoc(doc);
-    return(ret);
-}
-
-static int
-rngTest2(void) {
-    xmlDocPtr doc;
-    xmlNodePtr cur;
-    const char *filename = "test/relaxng/testsuite.xml";
-    int ret = 0;
-
-    doc = xmlReadFile(filename, NULL, XML_PARSE_NOENT);
-    if (doc == NULL) {
-        fprintf(stderr, "Failed to parse %s\n", filename);
-       return(-1);
-    }
-    printf("## Relax NG test suite for libxml2\n");
-
-    cur = xmlDocGetRootElement(doc);
-    if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) {
-        fprintf(stderr, "Unexpected format %s\n", filename);
-       ret = -1;
-       goto done;
-    }
-
-    cur = getNext(cur, "./testSuite[1]");
-    if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSuite"))) {
-        fprintf(stderr, "Unexpected format %s\n", filename);
-       ret = -1;
-       goto done;
-    }
-    while (cur != NULL) {
-        xsdTestSuite(cur);
-       cur = getNext(cur, "following-sibling::testSuite[1]");
-    }
-
-done:
-    if (doc != NULL)
-       xmlFreeDoc(doc);
-    return(ret);
-}
-
-/************************************************************************
- *                                                                     *
- *             Schemas test suites from W3C/NIST/MS/Sun                *
- *                                                                     *
- ************************************************************************/
-
-static int
-xstcTestInstance(xmlNodePtr cur, xmlSchemaPtr schemas,
-                 const xmlChar *spath, const char *base) {
-    xmlChar *href = NULL;
-    xmlChar *path = NULL;
-    xmlChar *validity = NULL;
-    xmlSchemaValidCtxtPtr ctxt = NULL;
-    xmlDocPtr doc = NULL;
-    int ret = 0, mem;
-
-    xmlResetLastError();
-    testErrorsSize = 0; testErrors[0] = 0;
-    mem = xmlMemUsed();
-    href = getString(cur,
-                     "string(ts:instanceDocument/@xlink:href)");
-    if ((href == NULL) || (href[0] == 0)) {
-       test_log("testGroup line %ld misses href for schemaDocument\n",
-                   xmlGetLineNo(cur));
-       ret = -1;
-       goto done;
-    }
-    path = xmlBuildURI(href, BAD_CAST base);
-    if (path == NULL) {
-       fprintf(stderr,
-               "Failed to build path to schemas testGroup line %ld : %s\n",
-               xmlGetLineNo(cur), href);
-       ret = -1;
-       goto done;
-    }
-    if (checkTestFile((const char *) path) <= 0) {
-       test_log("schemas for testGroup line %ld is missing: %s\n",
-               xmlGetLineNo(cur), path);
-       ret = -1;
-       goto done;
-    }
-    validity = getString(cur,
-                         "string(ts:expected/@validity)");
-    if (validity == NULL) {
-        fprintf(stderr, "instanceDocument line %ld misses expected validity\n",
-               xmlGetLineNo(cur));
-       ret = -1;
-       goto done;
-    }
-    nb_tests++;
-    doc = xmlReadFile((const char *) path, NULL, XML_PARSE_NOENT);
-    if (doc == NULL) {
-        fprintf(stderr, "instance %s fails to parse\n", path);
-       ret = -1;
-       nb_errors++;
-       goto done;
-    }
-
-    ctxt = xmlSchemaNewValidCtxt(schemas);
-    xmlSchemaSetValidErrors(ctxt,
-         (xmlSchemaValidityErrorFunc) testErrorHandler,
-         (xmlSchemaValidityWarningFunc) testErrorHandler,
-        ctxt);
-    ret = xmlSchemaValidateDoc(ctxt, doc);
-
-    if (xmlStrEqual(validity, BAD_CAST "valid")) {
-       if (ret > 0) {
-           test_log("valid instance %s failed to validate against %s\n",
-                       path, spath);
-           nb_errors++;
-       } else if (ret < 0) {
-           test_log("valid instance %s got internal error validating %s\n",
-                       path, spath);
-           nb_internals++;
-           nb_errors++;
-       }
-    } else if (xmlStrEqual(validity, BAD_CAST "invalid")) {
-       if (ret == 0) {
-           test_log("Failed to detect invalid instance %s against %s\n",
-                       path, spath);
-           nb_errors++;
-       }
-    } else {
-        test_log("instanceDocument line %ld has unexpected validity value%s\n",
-               xmlGetLineNo(cur), validity);
-       ret = -1;
-       goto done;
-    }
-
-done:
-    if (href != NULL) xmlFree(href);
-    if (path != NULL) xmlFree(path);
-    if (validity != NULL) xmlFree(validity);
-    if (ctxt != NULL) xmlSchemaFreeValidCtxt(ctxt);
-    if (doc != NULL) xmlFreeDoc(doc);
-    xmlResetLastError();
-    if (mem != xmlMemUsed()) {
-       test_log("Validation of tests starting line %ld leaked %d\n",
-               xmlGetLineNo(cur), xmlMemUsed() - mem);
-       nb_leaks++;
-    }
-    return(ret);
-}
-
-static int
-xstcTestGroup(xmlNodePtr cur, const char *base) {
-    xmlChar *href = NULL;
-    xmlChar *path = NULL;
-    xmlChar *validity = NULL;
-    xmlSchemaPtr schemas = NULL;
-    xmlSchemaParserCtxtPtr ctxt;
-    xmlNodePtr instance;
-    int ret = 0, mem;
-
-    xmlResetLastError();
-    testErrorsSize = 0; testErrors[0] = 0;
-    mem = xmlMemUsed();
-    href = getString(cur,
-                     "string(ts:schemaTest/ts:schemaDocument/@xlink:href)");
-    if ((href == NULL) || (href[0] == 0)) {
-        test_log("testGroup line %ld misses href for schemaDocument\n",
-                   xmlGetLineNo(cur));
-       ret = -1;
-       goto done;
-    }
-    path = xmlBuildURI(href, BAD_CAST base);
-    if (path == NULL) {
-       test_log("Failed to build path to schemas testGroup line %ld : %s\n",
-               xmlGetLineNo(cur), href);
-       ret = -1;
-       goto done;
-    }
-    if (checkTestFile((const char *) path) <= 0) {
-       test_log("schemas for testGroup line %ld is missing: %s\n",
-               xmlGetLineNo(cur), path);
-       ret = -1;
-       goto done;
-    }
-    validity = getString(cur,
-                         "string(ts:schemaTest/ts:expected/@validity)");
-    if (validity == NULL) {
-        test_log("testGroup line %ld misses expected validity\n",
-               xmlGetLineNo(cur));
-       ret = -1;
-       goto done;
-    }
-    nb_tests++;
-    if (xmlStrEqual(validity, BAD_CAST "valid")) {
-        nb_schematas++;
-       ctxt = xmlSchemaNewParserCtxt((const char *) path);
-       xmlSchemaSetParserErrors(ctxt,
-            (xmlSchemaValidityErrorFunc) testErrorHandler,
-            (xmlSchemaValidityWarningFunc) testErrorHandler,
-            ctxt);
-       schemas = xmlSchemaParse(ctxt);
-       xmlSchemaFreeParserCtxt(ctxt);
-       if (schemas == NULL) {
-           test_log("valid schemas %s failed to parse\n",
-                       path);
-           ret = 1;
-           nb_errors++;
-       }
-       if ((ret == 0) && (strstr(testErrors, "nimplemented") != NULL)) {
-           test_log("valid schemas %s hit an unimplemented block\n",
-                       path);
-           ret = 1;
-           nb_unimplemented++;
-           nb_errors++;
-       }
-       instance = getNext(cur, "./ts:instanceTest[1]");
-       while (instance != NULL) {
-           if (schemas != NULL) {
-               xstcTestInstance(instance, schemas, path, base);
-           } else {
-               /*
-               * We'll automatically mark the instances as failed
-               * if the schema was broken.
-               */
-               nb_errors++;
-           }
-           instance = getNext(instance,
-               "following-sibling::ts:instanceTest[1]");
-       }
-    } else if (xmlStrEqual(validity, BAD_CAST "invalid")) {
-        nb_schematas++;
-       ctxt = xmlSchemaNewParserCtxt((const char *) path);
-       xmlSchemaSetParserErrors(ctxt,
-            (xmlSchemaValidityErrorFunc) testErrorHandler,
-            (xmlSchemaValidityWarningFunc) testErrorHandler,
-            ctxt);
-       schemas = xmlSchemaParse(ctxt);
-       xmlSchemaFreeParserCtxt(ctxt);
-       if (schemas != NULL) {
-           test_log("Failed to detect error in schemas %s\n",
-                       path);
-           nb_errors++;
-           ret = 1;
-       }
-       if ((ret == 0) && (strstr(testErrors, "nimplemented") != NULL)) {
-           nb_unimplemented++;
-           test_log("invalid schemas %s hit an unimplemented block\n",
-                       path);
-           ret = 1;
-           nb_errors++;
-       }
-    } else {
-        test_log("testGroup line %ld misses unexpected validity value%s\n",
-               xmlGetLineNo(cur), validity);
-       ret = -1;
-       goto done;
-    }
-
-done:
-    if (href != NULL) xmlFree(href);
-    if (path != NULL) xmlFree(path);
-    if (validity != NULL) xmlFree(validity);
-    if (schemas != NULL) xmlSchemaFree(schemas);
-    xmlResetLastError();
-    if ((mem != xmlMemUsed()) && (extraMemoryFromResolver == 0)) {
-       test_log("Processing test line %ld %s leaked %d\n",
-               xmlGetLineNo(cur), path, xmlMemUsed() - mem);
-       nb_leaks++;
-    }
-    return(ret);
-}
-
-static int
-xstcMetadata(const char *metadata, const char *base) {
-    xmlDocPtr doc;
-    xmlNodePtr cur;
-    xmlChar *contributor;
-    xmlChar *name;
-    int ret = 0;
-
-    doc = xmlReadFile(metadata, NULL, XML_PARSE_NOENT);
-    if (doc == NULL) {
-        fprintf(stderr, "Failed to parse %s\n", metadata);
-       return(-1);
-    }
-
-    cur = xmlDocGetRootElement(doc);
-    if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testSet"))) {
-        fprintf(stderr, "Unexpected format %s\n", metadata);
-       return(-1);
-    }
-    contributor = xmlGetProp(cur, BAD_CAST "contributor");
-    if (contributor == NULL) {
-        contributor = xmlStrdup(BAD_CAST "Unknown");
-    }
-    name = xmlGetProp(cur, BAD_CAST "name");
-    if (name == NULL) {
-        name = xmlStrdup(BAD_CAST "Unknown");
-    }
-    printf("## %s test suite for Schemas version %s\n", contributor, name);
-    xmlFree(contributor);
-    xmlFree(name);
-
-    cur = getNext(cur, "./ts:testGroup[1]");
-    if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "testGroup"))) {
-        fprintf(stderr, "Unexpected format %s\n", metadata);
-       ret = -1;
-       goto done;
-    }
-    while (cur != NULL) {
-        xstcTestGroup(cur, base);
-       cur = getNext(cur, "following-sibling::ts:testGroup[1]");
-    }
-
-done:
-    xmlFreeDoc(doc);
-    return(ret);
-}
-
-/************************************************************************
- *                                                                     *
- *             The driver for the tests                                *
- *                                                                     *
- ************************************************************************/
-
-int
-main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    int ret = 0;
-    int old_errors, old_tests, old_leaks;
-
-    logfile = fopen(LOGFILE, "w");
-    if (logfile == NULL) {
-        fprintf(stderr,
-               "Could not open the log file, running in verbose mode\n");
-       verbose = 1;
-    }
-    initializeLibxml2();
-
-    if ((argc >= 2) && (!strcmp(argv[1], "-v")))
-        verbose = 1;
-
-
-    old_errors = nb_errors;
-    old_tests = nb_tests;
-    old_leaks = nb_leaks;
-    xsdTest();
-    if ((nb_errors == old_errors) && (nb_leaks == old_leaks))
-       printf("Ran %d tests, no errors\n", nb_tests - old_tests);
-    else
-       printf("Ran %d tests, %d errors, %d leaks\n",
-              nb_tests - old_tests,
-              nb_errors - old_errors,
-              nb_leaks - old_leaks);
-    old_errors = nb_errors;
-    old_tests = nb_tests;
-    old_leaks = nb_leaks;
-    rngTest1();
-    if ((nb_errors == old_errors) && (nb_leaks == old_leaks))
-       printf("Ran %d tests, no errors\n", nb_tests - old_tests);
-    else
-       printf("Ran %d tests, %d errors, %d leaks\n",
-              nb_tests - old_tests,
-              nb_errors - old_errors,
-              nb_leaks - old_leaks);
-    old_errors = nb_errors;
-    old_tests = nb_tests;
-    old_leaks = nb_leaks;
-    rngTest2();
-    if ((nb_errors == old_errors) && (nb_leaks == old_leaks))
-       printf("Ran %d tests, no errors\n", nb_tests - old_tests);
-    else
-       printf("Ran %d tests, %d errors, %d leaks\n",
-              nb_tests - old_tests,
-              nb_errors - old_errors,
-              nb_leaks - old_leaks);
-    old_errors = nb_errors;
-    old_tests = nb_tests;
-    old_leaks = nb_leaks;
-    nb_internals = 0;
-    nb_schematas = 0;
-    xstcMetadata("xstc/Tests/Metadata/NISTXMLSchemaDatatypes.testSet",
-                "xstc/Tests/Metadata/");
-    if ((nb_errors == old_errors) && (nb_leaks == old_leaks))
-       printf("Ran %d tests (%d schemata), no errors\n",
-              nb_tests - old_tests, nb_schematas);
-    else
-       printf("Ran %d tests (%d schemata), %d errors (%d internals), %d leaks\n",
-              nb_tests - old_tests,
-              nb_schematas,
-              nb_errors - old_errors,
-              nb_internals,
-              nb_leaks - old_leaks);
-    old_errors = nb_errors;
-    old_tests = nb_tests;
-    old_leaks = nb_leaks;
-    nb_internals = 0;
-    nb_schematas = 0;
-    xstcMetadata("xstc/Tests/Metadata/SunXMLSchema1-0-20020116.testSet",
-                "xstc/Tests/");
-    if ((nb_errors == old_errors) && (nb_leaks == old_leaks))
-       printf("Ran %d tests (%d schemata), no errors\n",
-              nb_tests - old_tests, nb_schematas);
-    else
-       printf("Ran %d tests (%d schemata), %d errors (%d internals), %d leaks\n",
-              nb_tests - old_tests,
-              nb_schematas,
-              nb_errors - old_errors,
-              nb_internals,
-              nb_leaks - old_leaks);
-    old_errors = nb_errors;
-    old_tests = nb_tests;
-    old_leaks = nb_leaks;
-    nb_internals = 0;
-    nb_schematas = 0;
-    xstcMetadata("xstc/Tests/Metadata/MSXMLSchema1-0-20020116.testSet",
-                "xstc/Tests/");
-    if ((nb_errors == old_errors) && (nb_leaks == old_leaks))
-       printf("Ran %d tests (%d schemata), no errors\n",
-              nb_tests - old_tests, nb_schematas);
-    else
-       printf("Ran %d tests (%d schemata), %d errors (%d internals), %d leaks\n",
-              nb_tests - old_tests,
-              nb_schematas,
-              nb_errors - old_errors,
-              nb_internals,
-              nb_leaks - old_leaks);
-
-    if ((nb_errors == 0) && (nb_leaks == 0)) {
-        ret = 0;
-       printf("Total %d tests, no errors\n",
-              nb_tests);
-    } else {
-        ret = 1;
-       printf("Total %d tests, %d errors, %d leaks\n",
-              nb_tests, nb_errors, nb_leaks);
-    }
-    xmlXPathFreeContext(ctxtXPath);
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    if (logfile != NULL)
-        fclose(logfile);
-    return(ret);
-}
-#else /* !SCHEMAS */
-int
-main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    fprintf(stderr, "runsuite requires support for schemas and xpath in libxml2\n");
-}
-#endif
diff --git a/reactos/lib/3rdparty/libxml2/runtest.c b/reactos/lib/3rdparty/libxml2/runtest.c
deleted file mode 100644 (file)
index c6517a3..0000000
+++ /dev/null
@@ -1,4467 +0,0 @@
-/*
- * runtest.c: C program to run libxml2 regression tests without
- *            requiring make or Python, and reducing platform dependancies
- *            to a strict minimum.
- *
- * To compile on Unixes:
- * cc -o runtest `xml2-config --cflags` runtest.c `xml2-config --libs` -lpthread
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-#include <stdio.h>
-
-#if !defined(_WIN32) || defined(__CYGWIN__)
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#include <libxml/parser.h>
-#include <libxml/tree.h>
-#include <libxml/uri.h>
-
-#ifdef LIBXML_OUTPUT_ENABLED
-#ifdef LIBXML_READER_ENABLED
-#include <libxml/xmlreader.h>
-#endif
-
-#ifdef LIBXML_XINCLUDE_ENABLED
-#include <libxml/xinclude.h>
-#endif
-
-#ifdef LIBXML_XPATH_ENABLED
-#include <libxml/xpath.h>
-#include <libxml/xpathInternals.h>
-#ifdef LIBXML_XPTR_ENABLED
-#include <libxml/xpointer.h>
-#endif
-#endif
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-#include <libxml/relaxng.h>
-#include <libxml/xmlschemas.h>
-#include <libxml/xmlschemastypes.h>
-#endif
-
-#ifdef LIBXML_PATTERN_ENABLED
-#include <libxml/pattern.h>
-#endif
-
-#ifdef LIBXML_C14N_ENABLED
-#include <libxml/c14n.h>
-#endif
-
-#ifdef LIBXML_HTML_ENABLED
-#include <libxml/HTMLparser.h>
-#include <libxml/HTMLtree.h>
-
-/*
- * pseudo flag for the unification of HTML and XML tests
- */
-#define XML_PARSE_HTML 1 << 24
-#endif
-
-#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED)
-#include <libxml/globals.h>
-#include <libxml/threads.h>
-#include <libxml/parser.h>
-#include <libxml/catalog.h>
-#include <string.h>
-#endif
-
-/*
- * O_BINARY is just for Windows compatibility - if it isn't defined
- * on this system, avoid any compilation error
- */
-#ifdef O_BINARY
-#define RD_FLAGS       O_RDONLY | O_BINARY
-#else
-#define        RD_FLAGS        O_RDONLY
-#endif
-
-typedef int (*functest) (const char *filename, const char *result,
-                         const char *error, int options);
-
-typedef struct testDesc testDesc;
-typedef testDesc *testDescPtr;
-struct testDesc {
-    const char *desc; /* descripton of the test */
-    functest    func; /* function implementing the test */
-    const char *in;   /* glob to path for input files */
-    const char *out;  /* output directory */
-    const char *suffix;/* suffix for output files */
-    const char *err;  /* suffix for error output files */
-    int     options;  /* parser options for the test */
-};
-
-static int checkTestFile(const char *filename);
-
-#if defined(_WIN32) && !defined(__CYGWIN__)
-
-#include <windows.h>
-#include <io.h>
-
-typedef struct
-{
-      size_t gl_pathc;    /* Count of paths matched so far  */
-      char **gl_pathv;    /* List of matched pathnames.  */
-      size_t gl_offs;     /* Slots to reserve in 'gl_pathv'.  */
-} glob_t;
-
-#define GLOB_DOOFFS 0
-static int glob(const char *pattern, int flags,
-                int errfunc(const char *epath, int eerrno),
-                glob_t *pglob) {
-    glob_t *ret;
-    WIN32_FIND_DATA FindFileData;
-    HANDLE hFind;
-    unsigned int nb_paths = 0;
-    char directory[500];
-    int len;
-
-    if ((pattern == NULL) || (pglob == NULL)) return(-1);
-
-    strncpy(directory, pattern, 499);
-    for (len = strlen(directory);len >= 0;len--) {
-        if (directory[len] == '/') {
-           len++;
-           directory[len] = 0;
-           break;
-       }
-    }
-    if (len <= 0)
-        len = 0;
-
-
-    ret = pglob;
-    memset(ret, 0, sizeof(glob_t));
-
-    hFind = FindFirstFileA(pattern, &FindFileData);
-    if (hFind == INVALID_HANDLE_VALUE)
-        return(0);
-    nb_paths = 20;
-    ret->gl_pathv = (char **) malloc(nb_paths * sizeof(char *));
-    if (ret->gl_pathv == NULL) {
-       FindClose(hFind);
-        return(-1);
-    }
-    strncpy(directory + len, FindFileData.cFileName, 499 - len);
-    ret->gl_pathv[ret->gl_pathc] = strdup(directory);
-    if (ret->gl_pathv[ret->gl_pathc] == NULL)
-        goto done;
-    ret->gl_pathc++;
-    while(FindNextFileA(hFind, &FindFileData)) {
-        if (FindFileData.cFileName[0] == '.')
-           continue;
-        if (ret->gl_pathc + 2 > nb_paths) {
-            char **tmp = realloc(ret->gl_pathv, nb_paths * 2 * sizeof(char *));
-            if (tmp == NULL)
-                break;
-            ret->gl_pathv = tmp;
-            nb_paths *= 2;
-       }
-       strncpy(directory + len, FindFileData.cFileName, 499 - len);
-       ret->gl_pathv[ret->gl_pathc] = strdup(directory);
-        if (ret->gl_pathv[ret->gl_pathc] == NULL)
-            break;
-        ret->gl_pathc++;
-    }
-    ret->gl_pathv[ret->gl_pathc] = NULL;
-
-done:
-    FindClose(hFind);
-    return(0);
-}
-
-
-
-static void globfree(glob_t *pglob) {
-    unsigned int i;
-    if (pglob == NULL)
-        return;
-
-    for (i = 0;i < pglob->gl_pathc;i++) {
-         if (pglob->gl_pathv[i] != NULL)
-             free(pglob->gl_pathv[i]);
-    }
-}
-
-#else
-#include <glob.h>
-#endif
-
-/************************************************************************
- *                                                                     *
- *             Libxml2 specific routines                               *
- *                                                                     *
- ************************************************************************/
-
-static int nb_tests = 0;
-static int nb_errors = 0;
-static int nb_leaks = 0;
-static int extraMemoryFromResolver = 0;
-
-static int
-fatalError(void) {
-    fprintf(stderr, "Exitting tests on fatal error\n");
-    exit(1);
-}
-
-/*
- * We need to trap calls to the resolver to not account memory for the catalog
- * which is shared to the current running test. We also don't want to have
- * network downloads modifying tests.
- */
-static xmlParserInputPtr
-testExternalEntityLoader(const char *URL, const char *ID,
-                        xmlParserCtxtPtr ctxt) {
-    xmlParserInputPtr ret;
-
-    if (checkTestFile(URL)) {
-       ret = xmlNoNetExternalEntityLoader(URL, ID, ctxt);
-    } else {
-       int memused = xmlMemUsed();
-       ret = xmlNoNetExternalEntityLoader(URL, ID, ctxt);
-       extraMemoryFromResolver += xmlMemUsed() - memused;
-    }
-
-    return(ret);
-}
-
-/*
- * Trapping the error messages at the generic level to grab the equivalent of
- * stderr messages on CLI tools.
- */
-static char testErrors[32769];
-static int testErrorsSize = 0;
-
-static void XMLCDECL
-testErrorHandler(void *ctx  ATTRIBUTE_UNUSED, const char *msg, ...) {
-    va_list args;
-    int res;
-
-    if (testErrorsSize >= 32768)
-        return;
-    va_start(args, msg);
-    res = vsnprintf(&testErrors[testErrorsSize],
-                    32768 - testErrorsSize,
-                   msg, args);
-    va_end(args);
-    if (testErrorsSize + res >= 32768) {
-        /* buffer is full */
-       testErrorsSize = 32768;
-       testErrors[testErrorsSize] = 0;
-    } else {
-        testErrorsSize += res;
-    }
-    testErrors[testErrorsSize] = 0;
-}
-
-static void XMLCDECL
-channel(void *ctx  ATTRIBUTE_UNUSED, const char *msg, ...) {
-    va_list args;
-    int res;
-
-    if (testErrorsSize >= 32768)
-        return;
-    va_start(args, msg);
-    res = vsnprintf(&testErrors[testErrorsSize],
-                    32768 - testErrorsSize,
-                   msg, args);
-    va_end(args);
-    if (testErrorsSize + res >= 32768) {
-        /* buffer is full */
-       testErrorsSize = 32768;
-       testErrors[testErrorsSize] = 0;
-    } else {
-        testErrorsSize += res;
-    }
-    testErrors[testErrorsSize] = 0;
-}
-
-/**
- * xmlParserPrintFileContext:
- * @input:  an xmlParserInputPtr input
- *
- * Displays current context within the input content for error tracking
- */
-
-static void
-xmlParserPrintFileContextInternal(xmlParserInputPtr input ,
-               xmlGenericErrorFunc chanl, void *data ) {
-    const xmlChar *cur, *base;
-    unsigned int n, col;       /* GCC warns if signed, because compared with sizeof() */
-    xmlChar  content[81]; /* space for 80 chars + line terminator */
-    xmlChar *ctnt;
-
-    if (input == NULL) return;
-    cur = input->cur;
-    base = input->base;
-    /* skip backwards over any end-of-lines */
-    while ((cur > base) && ((*(cur) == '\n') || (*(cur) == '\r'))) {
-       cur--;
-    }
-    n = 0;
-    /* search backwards for beginning-of-line (to max buff size) */
-    while ((n++ < (sizeof(content)-1)) && (cur > base) &&
-   (*(cur) != '\n') && (*(cur) != '\r'))
-        cur--;
-    if ((*(cur) == '\n') || (*(cur) == '\r')) cur++;
-    /* calculate the error position in terms of the current position */
-    col = input->cur - cur;
-    /* search forward for end-of-line (to max buff size) */
-    n = 0;
-    ctnt = content;
-    /* copy selected text to our buffer */
-    while ((*cur != 0) && (*(cur) != '\n') &&
-   (*(cur) != '\r') && (n < sizeof(content)-1)) {
-               *ctnt++ = *cur++;
-       n++;
-    }
-    *ctnt = 0;
-    /* print out the selected text */
-    chanl(data ,"%s\n", content);
-    /* create blank line with problem pointer */
-    n = 0;
-    ctnt = content;
-    /* (leave buffer space for pointer + line terminator) */
-    while ((n<col) && (n++ < sizeof(content)-2) && (*ctnt != 0)) {
-       if (*(ctnt) != '\t')
-           *(ctnt) = ' ';
-       ctnt++;
-    }
-    *ctnt++ = '^';
-    *ctnt = 0;
-    chanl(data ,"%s\n", content);
-}
-
-static void
-testStructuredErrorHandler(void *ctx  ATTRIBUTE_UNUSED, xmlErrorPtr err) {
-    char *file = NULL;
-    int line = 0;
-    int code = -1;
-    int domain;
-    void *data = NULL;
-    const char *str;
-    const xmlChar *name = NULL;
-    xmlNodePtr node;
-    xmlErrorLevel level;
-    xmlParserInputPtr input = NULL;
-    xmlParserInputPtr cur = NULL;
-    xmlParserCtxtPtr ctxt = NULL;
-
-    if (err == NULL)
-        return;
-
-    file = err->file;
-    line = err->line;
-    code = err->code;
-    domain = err->domain;
-    level = err->level;
-    node = err->node;
-    if ((domain == XML_FROM_PARSER) || (domain == XML_FROM_HTML) ||
-        (domain == XML_FROM_DTD) || (domain == XML_FROM_NAMESPACE) ||
-       (domain == XML_FROM_IO) || (domain == XML_FROM_VALID)) {
-       ctxt = err->ctxt;
-    }
-    str = err->message;
-
-    if (code == XML_ERR_OK)
-        return;
-
-    if ((node != NULL) && (node->type == XML_ELEMENT_NODE))
-        name = node->name;
-
-    /*
-     * Maintain the compatibility with the legacy error handling
-     */
-    if (ctxt != NULL) {
-        input = ctxt->input;
-        if ((input != NULL) && (input->filename == NULL) &&
-            (ctxt->inputNr > 1)) {
-            cur = input;
-            input = ctxt->inputTab[ctxt->inputNr - 2];
-        }
-        if (input != NULL) {
-            if (input->filename)
-                channel(data, "%s:%d: ", input->filename, input->line);
-            else if ((line != 0) && (domain == XML_FROM_PARSER))
-                channel(data, "Entity: line %d: ", input->line);
-        }
-    } else {
-        if (file != NULL)
-            channel(data, "%s:%d: ", file, line);
-        else if ((line != 0) && (domain == XML_FROM_PARSER))
-            channel(data, "Entity: line %d: ", line);
-    }
-    if (name != NULL) {
-        channel(data, "element %s: ", name);
-    }
-    if (code == XML_ERR_OK)
-        return;
-    switch (domain) {
-        case XML_FROM_PARSER:
-            channel(data, "parser ");
-            break;
-        case XML_FROM_NAMESPACE:
-            channel(data, "namespace ");
-            break;
-        case XML_FROM_DTD:
-        case XML_FROM_VALID:
-            channel(data, "validity ");
-            break;
-        case XML_FROM_HTML:
-            channel(data, "HTML parser ");
-            break;
-        case XML_FROM_MEMORY:
-            channel(data, "memory ");
-            break;
-        case XML_FROM_OUTPUT:
-            channel(data, "output ");
-            break;
-        case XML_FROM_IO:
-            channel(data, "I/O ");
-            break;
-        case XML_FROM_XINCLUDE:
-            channel(data, "XInclude ");
-            break;
-        case XML_FROM_XPATH:
-            channel(data, "XPath ");
-            break;
-        case XML_FROM_XPOINTER:
-            channel(data, "parser ");
-            break;
-        case XML_FROM_REGEXP:
-            channel(data, "regexp ");
-            break;
-        case XML_FROM_MODULE:
-            channel(data, "module ");
-            break;
-        case XML_FROM_SCHEMASV:
-            channel(data, "Schemas validity ");
-            break;
-        case XML_FROM_SCHEMASP:
-            channel(data, "Schemas parser ");
-            break;
-        case XML_FROM_RELAXNGP:
-            channel(data, "Relax-NG parser ");
-            break;
-        case XML_FROM_RELAXNGV:
-            channel(data, "Relax-NG validity ");
-            break;
-        case XML_FROM_CATALOG:
-            channel(data, "Catalog ");
-            break;
-        case XML_FROM_C14N:
-            channel(data, "C14N ");
-            break;
-        case XML_FROM_XSLT:
-            channel(data, "XSLT ");
-            break;
-        default:
-            break;
-    }
-    if (code == XML_ERR_OK)
-        return;
-    switch (level) {
-        case XML_ERR_NONE:
-            channel(data, ": ");
-            break;
-        case XML_ERR_WARNING:
-            channel(data, "warning : ");
-            break;
-        case XML_ERR_ERROR:
-            channel(data, "error : ");
-            break;
-        case XML_ERR_FATAL:
-            channel(data, "error : ");
-            break;
-    }
-    if (code == XML_ERR_OK)
-        return;
-    if (str != NULL) {
-        int len;
-       len = xmlStrlen((const xmlChar *)str);
-       if ((len > 0) && (str[len - 1] != '\n'))
-           channel(data, "%s\n", str);
-       else
-           channel(data, "%s", str);
-    } else {
-        channel(data, "%s\n", "out of memory error");
-    }
-    if (code == XML_ERR_OK)
-        return;
-
-    if (ctxt != NULL) {
-        xmlParserPrintFileContextInternal(input, channel, data);
-        if (cur != NULL) {
-            if (cur->filename)
-                channel(data, "%s:%d: \n", cur->filename, cur->line);
-            else if ((line != 0) && (domain == XML_FROM_PARSER))
-                channel(data, "Entity: line %d: \n", cur->line);
-            xmlParserPrintFileContextInternal(cur, channel, data);
-        }
-    }
-    if ((domain == XML_FROM_XPATH) && (err->str1 != NULL) &&
-        (err->int1 < 100) &&
-       (err->int1 < xmlStrlen((const xmlChar *)err->str1))) {
-       xmlChar buf[150];
-       int i;
-
-       channel(data, "%s\n", err->str1);
-       for (i=0;i < err->int1;i++)
-            buf[i] = ' ';
-       buf[i++] = '^';
-       buf[i] = 0;
-       channel(data, "%s\n", buf);
-    }
-}
-
-static void
-initializeLibxml2(void) {
-    xmlGetWarningsDefaultValue = 0;
-    xmlPedanticParserDefault(0);
-
-    xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup);
-    xmlInitParser();
-    xmlSetExternalEntityLoader(testExternalEntityLoader);
-    xmlSetStructuredErrorFunc(NULL, testStructuredErrorHandler);
-#ifdef LIBXML_SCHEMAS_ENABLED
-    xmlSchemaInitTypes();
-    xmlRelaxNGInitTypes();
-#endif
-}
-
-
-/************************************************************************
- *                                                                     *
- *             File name and path utilities                            *
- *                                                                     *
- ************************************************************************/
-
-static const char *baseFilename(const char *filename) {
-    const char *cur;
-    if (filename == NULL)
-        return(NULL);
-    cur = &filename[strlen(filename)];
-    while ((cur > filename) && (*cur != '/'))
-        cur--;
-    if (*cur == '/')
-        return(cur + 1);
-    return(cur);
-}
-
-static char *resultFilename(const char *filename, const char *out,
-                            const char *suffix) {
-    const char *base;
-    char res[500];
-    char suffixbuff[500];
-
-/*************
-    if ((filename[0] == 't') && (filename[1] == 'e') &&
-        (filename[2] == 's') && (filename[3] == 't') &&
-       (filename[4] == '/'))
-       filename = &filename[5];
- *************/
-
-    base = baseFilename(filename);
-    if (suffix == NULL)
-        suffix = ".tmp";
-    if (out == NULL)
-        out = "";
-
-    strncpy(suffixbuff,suffix,499);
-#ifdef VMS
-    if(strstr(base,".") && suffixbuff[0]=='.')
-      suffixbuff[0]='_';
-#endif
-
-    snprintf(res, 499, "%s%s%s", out, base, suffixbuff);
-    res[499] = 0;
-    return(strdup(res));
-}
-
-static int checkTestFile(const char *filename) {
-    struct stat buf;
-
-    if (stat(filename, &buf) == -1)
-        return(0);
-
-#if defined(_WIN32) && !defined(__CYGWIN__)
-    if (!(buf.st_mode & _S_IFREG))
-        return(0);
-#else
-    if (!S_ISREG(buf.st_mode))
-        return(0);
-#endif
-
-    return(1);
-}
-
-static int compareFiles(const char *r1, const char *r2) {
-    int res1, res2;
-    int fd1, fd2;
-    char bytes1[4096];
-    char bytes2[4096];
-
-    fd1 = open(r1, RD_FLAGS);
-    if (fd1 < 0)
-        return(-1);
-    fd2 = open(r2, RD_FLAGS);
-    if (fd2 < 0) {
-        close(fd1);
-        return(-1);
-    }
-    while (1) {
-        res1 = read(fd1, bytes1, 4096);
-        res2 = read(fd2, bytes2, 4096);
-       if ((res1 != res2) || (res1 < 0)) {
-           close(fd1);
-           close(fd2);
-           return(1);
-       }
-       if (res1 == 0)
-           break;
-       if (memcmp(bytes1, bytes2, res1) != 0) {
-           close(fd1);
-           close(fd2);
-           return(1);
-       }
-    }
-    close(fd1);
-    close(fd2);
-    return(0);
-}
-
-static int compareFileMem(const char *filename, const char *mem, int size) {
-    int res;
-    int fd;
-    char bytes[4096];
-    int idx = 0;
-    struct stat info;
-
-    if (stat(filename, &info) < 0)
-       return(-1);
-    if (info.st_size != size)
-        return(-1);
-    fd = open(filename, RD_FLAGS);
-    if (fd < 0)
-        return(-1);
-    while (idx < size) {
-        res = read(fd, bytes, 4096);
-       if (res <= 0)
-           break;
-       if (res + idx > size)
-           break;
-       if (memcmp(bytes, &mem[idx], res) != 0) {
-           int ix;
-           for (ix=0; ix<res; ix++)
-               if (bytes[ix] != mem[idx+ix])
-                       break;
-           fprintf(stderr,"Compare error at position %d\n", idx+ix);
-           close(fd);
-           return(1);
-       }
-       idx += res;
-    }
-    close(fd);
-    return(idx != size);
-}
-
-static int loadMem(const char *filename, const char **mem, int *size) {
-    int fd, res;
-    struct stat info;
-    char *base;
-    int siz = 0;
-    if (stat(filename, &info) < 0)
-       return(-1);
-    base = malloc(info.st_size + 1);
-    if (base == NULL)
-       return(-1);
-    if ((fd = open(filename, RD_FLAGS)) < 0) {
-        free(base);
-       return(-1);
-    }
-    while ((res = read(fd, &base[siz], info.st_size - siz)) > 0) {
-        siz += res;
-    }
-    close(fd);
-#if !defined(_WIN32)
-    if (siz != info.st_size) {
-        free(base);
-       return(-1);
-    }
-#endif
-    base[siz] = 0;
-    *mem = base;
-    *size = siz;
-    return(0);
-}
-
-static int unloadMem(const char *mem) {
-    free((char *)mem);
-    return(0);
-}
-
-/************************************************************************
- *                                                                     *
- *             Tests implementations                                   *
- *                                                                     *
- ************************************************************************/
-
-/************************************************************************
- *                                                                     *
- *             Parse to SAX based tests                                *
- *                                                                     *
- ************************************************************************/
-
-static FILE *SAXdebug = NULL;
-
-/*
- * empty SAX block
- */
-static xmlSAXHandler emptySAXHandlerStruct = {
-    NULL, /* internalSubset */
-    NULL, /* isStandalone */
-    NULL, /* hasInternalSubset */
-    NULL, /* hasExternalSubset */
-    NULL, /* resolveEntity */
-    NULL, /* getEntity */
-    NULL, /* entityDecl */
-    NULL, /* notationDecl */
-    NULL, /* attributeDecl */
-    NULL, /* elementDecl */
-    NULL, /* unparsedEntityDecl */
-    NULL, /* setDocumentLocator */
-    NULL, /* startDocument */
-    NULL, /* endDocument */
-    NULL, /* startElement */
-    NULL, /* endElement */
-    NULL, /* reference */
-    NULL, /* characters */
-    NULL, /* ignorableWhitespace */
-    NULL, /* processingInstruction */
-    NULL, /* comment */
-    NULL, /* xmlParserWarning */
-    NULL, /* xmlParserError */
-    NULL, /* xmlParserError */
-    NULL, /* getParameterEntity */
-    NULL, /* cdataBlock; */
-    NULL, /* externalSubset; */
-    1,
-    NULL,
-    NULL, /* startElementNs */
-    NULL, /* endElementNs */
-    NULL  /* xmlStructuredErrorFunc */
-};
-
-static xmlSAXHandlerPtr emptySAXHandler = &emptySAXHandlerStruct;
-static int callbacks = 0;
-static int quiet = 0;
-
-/**
- * isStandaloneDebug:
- * @ctxt:  An XML parser context
- *
- * Is this document tagged standalone ?
- *
- * Returns 1 if true
- */
-static int
-isStandaloneDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-       return(0);
-    fprintf(SAXdebug, "SAX.isStandalone()\n");
-    return(0);
-}
-
-/**
- * hasInternalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an internal subset
- *
- * Returns 1 if true
- */
-static int
-hasInternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-       return(0);
-    fprintf(SAXdebug, "SAX.hasInternalSubset()\n");
-    return(0);
-}
-
-/**
- * hasExternalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an external subset
- *
- * Returns 1 if true
- */
-static int
-hasExternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-       return(0);
-    fprintf(SAXdebug, "SAX.hasExternalSubset()\n");
-    return(0);
-}
-
-/**
- * internalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an internal subset
- */
-static void
-internalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-              const xmlChar *ExternalID, const xmlChar *SystemID)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.internalSubset(%s,", name);
-    if (ExternalID == NULL)
-       fprintf(SAXdebug, " ,");
-    else
-       fprintf(SAXdebug, " %s,", ExternalID);
-    if (SystemID == NULL)
-       fprintf(SAXdebug, " )\n");
-    else
-       fprintf(SAXdebug, " %s)\n", SystemID);
-}
-
-/**
- * externalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an external subset
- */
-static void
-externalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-              const xmlChar *ExternalID, const xmlChar *SystemID)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.externalSubset(%s,", name);
-    if (ExternalID == NULL)
-       fprintf(SAXdebug, " ,");
-    else
-       fprintf(SAXdebug, " %s,", ExternalID);
-    if (SystemID == NULL)
-       fprintf(SAXdebug, " )\n");
-    else
-       fprintf(SAXdebug, " %s)\n", SystemID);
-}
-
-/**
- * resolveEntityDebug:
- * @ctxt:  An XML parser context
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- *
- * Special entity resolver, better left to the parser, it has
- * more context than the application layer.
- * The default behaviour is to NOT resolve the entities, in that case
- * the ENTITY_REF nodes are built in the structure (and the parameter
- * values).
- *
- * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
- */
-static xmlParserInputPtr
-resolveEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *publicId, const xmlChar *systemId)
-{
-    callbacks++;
-    if (quiet)
-       return(NULL);
-    /* xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; */
-
-
-    fprintf(SAXdebug, "SAX.resolveEntity(");
-    if (publicId != NULL)
-       fprintf(SAXdebug, "%s", (char *)publicId);
-    else
-       fprintf(SAXdebug, " ");
-    if (systemId != NULL)
-       fprintf(SAXdebug, ", %s)\n", (char *)systemId);
-    else
-       fprintf(SAXdebug, ", )\n");
-/*********
-    if (systemId != NULL) {
-        return(xmlNewInputFromFile(ctxt, (char *) systemId));
-    }
- *********/
-    return(NULL);
-}
-
-/**
- * getEntityDebug:
- * @ctxt:  An XML parser context
- * @name: The entity name
- *
- * Get an entity by name
- *
- * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
- */
-static xmlEntityPtr
-getEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    callbacks++;
-    if (quiet)
-       return(NULL);
-    fprintf(SAXdebug, "SAX.getEntity(%s)\n", name);
-    return(NULL);
-}
-
-/**
- * getParameterEntityDebug:
- * @ctxt:  An XML parser context
- * @name: The entity name
- *
- * Get a parameter entity by name
- *
- * Returns the xmlParserInputPtr
- */
-static xmlEntityPtr
-getParameterEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    callbacks++;
-    if (quiet)
-       return(NULL);
-    fprintf(SAXdebug, "SAX.getParameterEntity(%s)\n", name);
-    return(NULL);
-}
-
-
-/**
- * entityDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the entity name
- * @type:  the entity type
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- * @content: the entity value (without processing).
- *
- * An entity definition has been parsed
- */
-static void
-entityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type,
-          const xmlChar *publicId, const xmlChar *systemId, xmlChar *content)
-{
-const xmlChar *nullstr = BAD_CAST "(null)";
-    /* not all libraries handle printing null pointers nicely */
-    if (publicId == NULL)
-        publicId = nullstr;
-    if (systemId == NULL)
-        systemId = nullstr;
-    if (content == NULL)
-        content = (xmlChar *)nullstr;
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.entityDecl(%s, %d, %s, %s, %s)\n",
-            name, type, publicId, systemId, content);
-}
-
-/**
- * attributeDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the attribute name
- * @type:  the attribute type
- *
- * An attribute definition has been parsed
- */
-static void
-attributeDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar * elem,
-                   const xmlChar * name, int type, int def,
-                   const xmlChar * defaultValue, xmlEnumerationPtr tree)
-{
-    callbacks++;
-    if (quiet)
-        return;
-    if (defaultValue == NULL)
-        fprintf(SAXdebug, "SAX.attributeDecl(%s, %s, %d, %d, NULL, ...)\n",
-                elem, name, type, def);
-    else
-        fprintf(SAXdebug, "SAX.attributeDecl(%s, %s, %d, %d, %s, ...)\n",
-                elem, name, type, def, defaultValue);
-    xmlFreeEnumeration(tree);
-}
-
-/**
- * elementDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the element name
- * @type:  the element type
- * @content: the element value (without processing).
- *
- * An element definition has been parsed
- */
-static void
-elementDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type,
-           xmlElementContentPtr content ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.elementDecl(%s, %d, ...)\n",
-            name, type);
-}
-
-/**
- * notationDeclDebug:
- * @ctxt:  An XML parser context
- * @name: The name of the notation
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- *
- * What to do when a notation declaration has been parsed.
- */
-static void
-notationDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-            const xmlChar *publicId, const xmlChar *systemId)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.notationDecl(%s, %s, %s)\n",
-            (char *) name, (char *) publicId, (char *) systemId);
-}
-
-/**
- * unparsedEntityDeclDebug:
- * @ctxt:  An XML parser context
- * @name: The name of the entity
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- * @notationName: the name of the notation
- *
- * What to do when an unparsed entity declaration is parsed
- */
-static void
-unparsedEntityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-                  const xmlChar *publicId, const xmlChar *systemId,
-                  const xmlChar *notationName)
-{
-const xmlChar *nullstr = BAD_CAST "(null)";
-
-    if (publicId == NULL)
-        publicId = nullstr;
-    if (systemId == NULL)
-        systemId = nullstr;
-    if (notationName == NULL)
-        notationName = nullstr;
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.unparsedEntityDecl(%s, %s, %s, %s)\n",
-            (char *) name, (char *) publicId, (char *) systemId,
-           (char *) notationName);
-}
-
-/**
- * setDocumentLocatorDebug:
- * @ctxt:  An XML parser context
- * @loc: A SAX Locator
- *
- * Receive the document locator at startup, actually xmlDefaultSAXLocator
- * Everything is available on the context, so this is useless in our case.
- */
-static void
-setDocumentLocatorDebug(void *ctx ATTRIBUTE_UNUSED, xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.setDocumentLocator()\n");
-}
-
-/**
- * startDocumentDebug:
- * @ctxt:  An XML parser context
- *
- * called when the document start being processed.
- */
-static void
-startDocumentDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.startDocument()\n");
-}
-
-/**
- * endDocumentDebug:
- * @ctxt:  An XML parser context
- *
- * called when the document end has been detected.
- */
-static void
-endDocumentDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.endDocument()\n");
-}
-
-/**
- * startElementDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when an opening tag has been processed.
- */
-static void
-startElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, const xmlChar **atts)
-{
-    int i;
-
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.startElement(%s", (char *) name);
-    if (atts != NULL) {
-        for (i = 0;(atts[i] != NULL);i++) {
-           fprintf(SAXdebug, ", %s='", atts[i++]);
-           if (atts[i] != NULL)
-               fprintf(SAXdebug, "%s'", atts[i]);
-       }
-    }
-    fprintf(SAXdebug, ")\n");
-}
-
-/**
- * endElementDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when the end of an element has been detected.
- */
-static void
-endElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.endElement(%s)\n", (char *) name);
-}
-
-/**
- * charactersDebug:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @len: the number of xmlChar
- *
- * receiving some chars from the parser.
- * Question: how much at a time ???
- */
-static void
-charactersDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len)
-{
-    char output[40];
-    int i;
-
-    callbacks++;
-    if (quiet)
-       return;
-    for (i = 0;(i<len) && (i < 30);i++)
-       output[i] = ch[i];
-    output[i] = 0;
-
-    fprintf(SAXdebug, "SAX.characters(%s, %d)\n", output, len);
-}
-
-/**
- * referenceDebug:
- * @ctxt:  An XML parser context
- * @name:  The entity name
- *
- * called when an entity reference is detected.
- */
-static void
-referenceDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.reference(%s)\n", name);
-}
-
-/**
- * ignorableWhitespaceDebug:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @start: the first char in the string
- * @len: the number of xmlChar
- *
- * receiving some ignorable whitespaces from the parser.
- * Question: how much at a time ???
- */
-static void
-ignorableWhitespaceDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len)
-{
-    char output[40];
-    int i;
-
-    callbacks++;
-    if (quiet)
-       return;
-    for (i = 0;(i<len) && (i < 30);i++)
-       output[i] = ch[i];
-    output[i] = 0;
-    fprintf(SAXdebug, "SAX.ignorableWhitespace(%s, %d)\n", output, len);
-}
-
-/**
- * processingInstructionDebug:
- * @ctxt:  An XML parser context
- * @target:  the target name
- * @data: the PI data's
- * @len: the number of xmlChar
- *
- * A processing instruction has been parsed.
- */
-static void
-processingInstructionDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *target,
-                      const xmlChar *data)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    if (data != NULL)
-       fprintf(SAXdebug, "SAX.processingInstruction(%s, %s)\n",
-               (char *) target, (char *) data);
-    else
-       fprintf(SAXdebug, "SAX.processingInstruction(%s, NULL)\n",
-               (char *) target);
-}
-
-/**
- * cdataBlockDebug:
- * @ctx: the user data (XML parser context)
- * @value:  The pcdata content
- * @len:  the block length
- *
- * called when a pcdata block has been parsed
- */
-static void
-cdataBlockDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *value, int len)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.pcdata(%.20s, %d)\n",
-           (char *) value, len);
-}
-
-/**
- * commentDebug:
- * @ctxt:  An XML parser context
- * @value:  the comment content
- *
- * A comment has been parsed.
- */
-static void
-commentDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *value)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.comment(%s)\n", value);
-}
-
-/**
- * warningDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a warning messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-warningDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    callbacks++;
-    if (quiet)
-       return;
-    va_start(args, msg);
-    fprintf(SAXdebug, "SAX.warning: ");
-    vfprintf(SAXdebug, msg, args);
-    va_end(args);
-}
-
-/**
- * errorDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a error messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-errorDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    callbacks++;
-    if (quiet)
-       return;
-    va_start(args, msg);
-    fprintf(SAXdebug, "SAX.error: ");
-    vfprintf(SAXdebug, msg, args);
-    va_end(args);
-}
-
-/**
- * fatalErrorDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a fatalError messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-fatalErrorDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    callbacks++;
-    if (quiet)
-       return;
-    va_start(args, msg);
-    fprintf(SAXdebug, "SAX.fatalError: ");
-    vfprintf(SAXdebug, msg, args);
-    va_end(args);
-}
-
-static xmlSAXHandler debugSAXHandlerStruct = {
-    internalSubsetDebug,
-    isStandaloneDebug,
-    hasInternalSubsetDebug,
-    hasExternalSubsetDebug,
-    resolveEntityDebug,
-    getEntityDebug,
-    entityDeclDebug,
-    notationDeclDebug,
-    attributeDeclDebug,
-    elementDeclDebug,
-    unparsedEntityDeclDebug,
-    setDocumentLocatorDebug,
-    startDocumentDebug,
-    endDocumentDebug,
-    startElementDebug,
-    endElementDebug,
-    referenceDebug,
-    charactersDebug,
-    ignorableWhitespaceDebug,
-    processingInstructionDebug,
-    commentDebug,
-    warningDebug,
-    errorDebug,
-    fatalErrorDebug,
-    getParameterEntityDebug,
-    cdataBlockDebug,
-    externalSubsetDebug,
-    1,
-    NULL,
-    NULL,
-    NULL,
-    NULL
-};
-
-static xmlSAXHandlerPtr debugSAXHandler = &debugSAXHandlerStruct;
-
-/*
- * SAX2 specific callbacks
- */
-/**
- * startElementNsDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when an opening tag has been processed.
- */
-static void
-startElementNsDebug(void *ctx ATTRIBUTE_UNUSED,
-                    const xmlChar *localname,
-                    const xmlChar *prefix,
-                    const xmlChar *URI,
-                   int nb_namespaces,
-                   const xmlChar **namespaces,
-                   int nb_attributes,
-                   int nb_defaulted,
-                   const xmlChar **attributes)
-{
-    int i;
-
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.startElementNs(%s", (char *) localname);
-    if (prefix == NULL)
-       fprintf(SAXdebug, ", NULL");
-    else
-       fprintf(SAXdebug, ", %s", (char *) prefix);
-    if (URI == NULL)
-       fprintf(SAXdebug, ", NULL");
-    else
-       fprintf(SAXdebug, ", '%s'", (char *) URI);
-    fprintf(SAXdebug, ", %d", nb_namespaces);
-
-    if (namespaces != NULL) {
-        for (i = 0;i < nb_namespaces * 2;i++) {
-           fprintf(SAXdebug, ", xmlns");
-           if (namespaces[i] != NULL)
-               fprintf(SAXdebug, ":%s", namespaces[i]);
-           i++;
-           fprintf(SAXdebug, "='%s'", namespaces[i]);
-       }
-    }
-    fprintf(SAXdebug, ", %d, %d", nb_attributes, nb_defaulted);
-    if (attributes != NULL) {
-        for (i = 0;i < nb_attributes * 5;i += 5) {
-           if (attributes[i + 1] != NULL)
-               fprintf(SAXdebug, ", %s:%s='", attributes[i + 1], attributes[i]);
-           else
-               fprintf(SAXdebug, ", %s='", attributes[i]);
-           fprintf(SAXdebug, "%.4s...', %d", attributes[i + 3],
-                   (int)(attributes[i + 4] - attributes[i + 3]));
-       }
-    }
-    fprintf(SAXdebug, ")\n");
-}
-
-/**
- * endElementDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when the end of an element has been detected.
- */
-static void
-endElementNsDebug(void *ctx ATTRIBUTE_UNUSED,
-                  const xmlChar *localname,
-                  const xmlChar *prefix,
-                  const xmlChar *URI)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(SAXdebug, "SAX.endElementNs(%s", (char *) localname);
-    if (prefix == NULL)
-       fprintf(SAXdebug, ", NULL");
-    else
-       fprintf(SAXdebug, ", %s", (char *) prefix);
-    if (URI == NULL)
-       fprintf(SAXdebug, ", NULL)\n");
-    else
-       fprintf(SAXdebug, ", '%s')\n", (char *) URI);
-}
-
-static xmlSAXHandler debugSAX2HandlerStruct = {
-    internalSubsetDebug,
-    isStandaloneDebug,
-    hasInternalSubsetDebug,
-    hasExternalSubsetDebug,
-    resolveEntityDebug,
-    getEntityDebug,
-    entityDeclDebug,
-    notationDeclDebug,
-    attributeDeclDebug,
-    elementDeclDebug,
-    unparsedEntityDeclDebug,
-    setDocumentLocatorDebug,
-    startDocumentDebug,
-    endDocumentDebug,
-    NULL,
-    NULL,
-    referenceDebug,
-    charactersDebug,
-    ignorableWhitespaceDebug,
-    processingInstructionDebug,
-    commentDebug,
-    warningDebug,
-    errorDebug,
-    fatalErrorDebug,
-    getParameterEntityDebug,
-    cdataBlockDebug,
-    externalSubsetDebug,
-    XML_SAX2_MAGIC,
-    NULL,
-    startElementNsDebug,
-    endElementNsDebug,
-    NULL
-};
-
-static xmlSAXHandlerPtr debugSAX2Handler = &debugSAX2HandlerStruct;
-
-#ifdef LIBXML_HTML_ENABLED
-/**
- * htmlstartElementDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when an opening tag has been processed.
- */
-static void
-htmlstartElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, const xmlChar **atts)
-{
-    int i;
-
-    fprintf(SAXdebug, "SAX.startElement(%s", (char *) name);
-    if (atts != NULL) {
-        for (i = 0;(atts[i] != NULL);i++) {
-           fprintf(SAXdebug, ", %s", atts[i++]);
-           if (atts[i] != NULL) {
-               unsigned char output[40];
-               const unsigned char *att = atts[i];
-               int outlen, attlen;
-               fprintf(SAXdebug, "='");
-               while ((attlen = strlen((char*)att)) > 0) {
-                   outlen = sizeof output - 1;
-                   htmlEncodeEntities(output, &outlen, att, &attlen, '\'');
-                   output[outlen] = 0;
-                   fprintf(SAXdebug, "%s", (char *) output);
-                   att += attlen;
-               }
-               fprintf(SAXdebug, "'");
-           }
-       }
-    }
-    fprintf(SAXdebug, ")\n");
-}
-
-/**
- * htmlcharactersDebug:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @len: the number of xmlChar
- *
- * receiving some chars from the parser.
- * Question: how much at a time ???
- */
-static void
-htmlcharactersDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len)
-{
-    unsigned char output[40];
-    int inlen = len, outlen = 30;
-
-    htmlEncodeEntities(output, &outlen, ch, &inlen, 0);
-    output[outlen] = 0;
-
-    fprintf(SAXdebug, "SAX.characters(%s, %d)\n", output, len);
-}
-
-/**
- * htmlcdataDebug:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @len: the number of xmlChar
- *
- * receiving some cdata chars from the parser.
- * Question: how much at a time ???
- */
-static void
-htmlcdataDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len)
-{
-    unsigned char output[40];
-    int inlen = len, outlen = 30;
-
-    htmlEncodeEntities(output, &outlen, ch, &inlen, 0);
-    output[outlen] = 0;
-
-    fprintf(SAXdebug, "SAX.cdata(%s, %d)\n", output, len);
-}
-
-static xmlSAXHandler debugHTMLSAXHandlerStruct = {
-    internalSubsetDebug,
-    isStandaloneDebug,
-    hasInternalSubsetDebug,
-    hasExternalSubsetDebug,
-    resolveEntityDebug,
-    getEntityDebug,
-    entityDeclDebug,
-    notationDeclDebug,
-    attributeDeclDebug,
-    elementDeclDebug,
-    unparsedEntityDeclDebug,
-    setDocumentLocatorDebug,
-    startDocumentDebug,
-    endDocumentDebug,
-    htmlstartElementDebug,
-    endElementDebug,
-    referenceDebug,
-    htmlcharactersDebug,
-    ignorableWhitespaceDebug,
-    processingInstructionDebug,
-    commentDebug,
-    warningDebug,
-    errorDebug,
-    fatalErrorDebug,
-    getParameterEntityDebug,
-    htmlcdataDebug,
-    externalSubsetDebug,
-    1,
-    NULL,
-    NULL,
-    NULL,
-    NULL
-};
-
-static xmlSAXHandlerPtr debugHTMLSAXHandler = &debugHTMLSAXHandlerStruct;
-#endif /* LIBXML_HTML_ENABLED */
-
-#ifdef LIBXML_SAX1_ENABLED
-/**
- * saxParseTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a file using the SAX API and check for errors.
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-saxParseTest(const char *filename, const char *result,
-             const char *err ATTRIBUTE_UNUSED,
-             int options) {
-    int ret;
-    char *temp;
-
-    nb_tests++;
-    temp = resultFilename(filename, "", ".res");
-    if (temp == NULL) {
-        fprintf(stderr, "out of memory\n");
-        fatalError();
-    }
-    SAXdebug = fopen(temp, "wb");
-    if (SAXdebug == NULL) {
-        fprintf(stderr, "Failed to write to %s\n", temp);
-       free(temp);
-       return(-1);
-    }
-
-    /* for SAX we really want the callbacks though the context handlers */
-    xmlSetStructuredErrorFunc(NULL, NULL);
-    xmlSetGenericErrorFunc(NULL, testErrorHandler);
-
-#ifdef LIBXML_HTML_ENABLED
-    if (options & XML_PARSE_HTML) {
-       htmlSAXParseFile(filename, NULL, emptySAXHandler, NULL);
-       ret = 0;
-    } else
-#endif
-    ret = xmlSAXUserParseFile(emptySAXHandler, NULL, filename);
-    if (ret == XML_WAR_UNDECLARED_ENTITY) {
-        fprintf(SAXdebug, "xmlSAXUserParseFile returned error %d\n", ret);
-        ret = 0;
-    }
-    if (ret != 0) {
-        fprintf(stderr, "Failed to parse %s\n", filename);
-       return(1);
-    }
-#ifdef LIBXML_HTML_ENABLED
-    if (options & XML_PARSE_HTML) {
-       htmlSAXParseFile(filename, NULL, debugHTMLSAXHandler, NULL);
-       ret = 0;
-    } else
-#endif
-    if (options & XML_PARSE_SAX1) {
-       ret = xmlSAXUserParseFile(debugSAXHandler, NULL, filename);
-    } else {
-       ret = xmlSAXUserParseFile(debugSAX2Handler, NULL, filename);
-    }
-    if (ret == XML_WAR_UNDECLARED_ENTITY) {
-        fprintf(SAXdebug, "xmlSAXUserParseFile returned error %d\n", ret);
-        ret = 0;
-    }
-    fclose(SAXdebug);
-    if (compareFiles(temp, result)) {
-        fprintf(stderr, "Got a difference for %s\n", filename);
-        ret = 1;
-    }
-    if (temp != NULL) {
-        unlink(temp);
-        free(temp);
-    }
-
-    /* switch back to structured error handling */
-    xmlSetGenericErrorFunc(NULL, NULL);
-    xmlSetStructuredErrorFunc(NULL, testStructuredErrorHandler);
-
-    return(ret);
-}
-#endif
-
-/************************************************************************
- *                                                                     *
- *             Parse to tree based tests                               *
- *                                                                     *
- ************************************************************************/
-/**
- * oldParseTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages: unused
- *
- * Parse a file using the old xmlParseFile API, then serialize back
- * reparse the result and serialize again, then check for deviation
- * in serialization.
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-oldParseTest(const char *filename, const char *result,
-             const char *err ATTRIBUTE_UNUSED,
-            int options ATTRIBUTE_UNUSED) {
-    xmlDocPtr doc;
-    char *temp;
-    int res = 0;
-
-    nb_tests++;
-    /*
-     * base of the test, parse with the old API
-     */
-#ifdef LIBXML_SAX1_ENABLED
-    doc = xmlParseFile(filename);
-#else
-    doc = xmlReadFile(filename, NULL, 0);
-#endif
-    if (doc == NULL)
-        return(1);
-    temp = resultFilename(filename, "", ".res");
-    if (temp == NULL) {
-        fprintf(stderr, "out of memory\n");
-        fatalError();
-    }
-    xmlSaveFile(temp, doc);
-    if (compareFiles(temp, result)) {
-        res = 1;
-    }
-    xmlFreeDoc(doc);
-
-    /*
-     * Parse the saved result to make sure the round trip is okay
-     */
-#ifdef LIBXML_SAX1_ENABLED
-    doc = xmlParseFile(temp);
-#else
-    doc = xmlReadFile(temp, NULL, 0);
-#endif
-    if (doc == NULL)
-        return(1);
-    xmlSaveFile(temp, doc);
-    if (compareFiles(temp, result)) {
-        res = 1;
-    }
-    xmlFreeDoc(doc);
-
-    if (temp != NULL) {
-        unlink(temp);
-        free(temp);
-    }
-    return(res);
-}
-
-#ifdef LIBXML_PUSH_ENABLED
-/**
- * pushParseTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages: unused
- *
- * Parse a file using the Push API, then serialize back
- * to check for content.
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-pushParseTest(const char *filename, const char *result,
-             const char *err ATTRIBUTE_UNUSED,
-            int options) {
-    xmlParserCtxtPtr ctxt;
-    xmlDocPtr doc;
-    const char *base;
-    int size, res;
-    int cur = 0;
-
-    nb_tests++;
-    /*
-     * load the document in memory and work from there.
-     */
-    if (loadMem(filename, &base, &size) != 0) {
-        fprintf(stderr, "Failed to load %s\n", filename);
-       return(-1);
-    }
-
-#ifdef LIBXML_HTML_ENABLED
-    if (options & XML_PARSE_HTML)
-       ctxt = htmlCreatePushParserCtxt(NULL, NULL, base + cur, 4, filename,
-                                       XML_CHAR_ENCODING_NONE);
-    else
-#endif
-    ctxt = xmlCreatePushParserCtxt(NULL, NULL, base + cur, 4, filename);
-    xmlCtxtUseOptions(ctxt, options);
-    cur += 4;
-    while (cur < size) {
-        if (cur + 1024 >= size) {
-#ifdef LIBXML_HTML_ENABLED
-           if (options & XML_PARSE_HTML)
-               htmlParseChunk(ctxt, base + cur, size - cur, 1);
-           else
-#endif
-           xmlParseChunk(ctxt, base + cur, size - cur, 1);
-           break;
-       } else {
-#ifdef LIBXML_HTML_ENABLED
-           if (options & XML_PARSE_HTML)
-               htmlParseChunk(ctxt, base + cur, 1024, 0);
-           else
-#endif
-           xmlParseChunk(ctxt, base + cur, 1024, 0);
-           cur += 1024;
-       }
-    }
-    doc = ctxt->myDoc;
-#ifdef LIBXML_HTML_ENABLED
-    if (options & XML_PARSE_HTML)
-        res = 1;
-    else
-#endif
-    res = ctxt->wellFormed;
-    xmlFreeParserCtxt(ctxt);
-    free((char *)base);
-    if (!res) {
-       xmlFreeDoc(doc);
-       fprintf(stderr, "Failed to parse %s\n", filename);
-       return(-1);
-    }
-#ifdef LIBXML_HTML_ENABLED
-    if (options & XML_PARSE_HTML)
-       htmlDocDumpMemory(doc, (xmlChar **) &base, &size);
-    else
-#endif
-    xmlDocDumpMemory(doc, (xmlChar **) &base, &size);
-    xmlFreeDoc(doc);
-    res = compareFileMem(result, base, size);
-    if ((base == NULL) || (res != 0)) {
-       if (base != NULL)
-           xmlFree((char *)base);
-        fprintf(stderr, "Result for %s failed\n", filename);
-       return(-1);
-    }
-    xmlFree((char *)base);
-    if (err != NULL) {
-       res = compareFileMem(err, testErrors, testErrorsSize);
-       if (res != 0) {
-           fprintf(stderr, "Error for %s failed\n", filename);
-           return(-1);
-       }
-    }
-    return(0);
-}
-#endif
-
-/**
- * memParseTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages: unused
- *
- * Parse a file using the old xmlReadMemory API, then serialize back
- * reparse the result and serialize again, then check for deviation
- * in serialization.
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-memParseTest(const char *filename, const char *result,
-             const char *err ATTRIBUTE_UNUSED,
-            int options ATTRIBUTE_UNUSED) {
-    xmlDocPtr doc;
-    const char *base;
-    int size, res;
-
-    nb_tests++;
-    /*
-     * load and parse the memory
-     */
-    if (loadMem(filename, &base, &size) != 0) {
-        fprintf(stderr, "Failed to load %s\n", filename);
-       return(-1);
-    }
-
-    doc = xmlReadMemory(base, size, filename, NULL, 0);
-    unloadMem(base);
-    if (doc == NULL) {
-        return(1);
-    }
-    xmlDocDumpMemory(doc, (xmlChar **) &base, &size);
-    xmlFreeDoc(doc);
-    res = compareFileMem(result, base, size);
-    if ((base == NULL) || (res != 0)) {
-       if (base != NULL)
-           xmlFree((char *)base);
-        fprintf(stderr, "Result for %s failed\n", filename);
-       return(-1);
-    }
-    xmlFree((char *)base);
-    return(0);
-}
-
-/**
- * noentParseTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages: unused
- *
- * Parse a file with entity resolution, then serialize back
- * reparse the result and serialize again, then check for deviation
- * in serialization.
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-noentParseTest(const char *filename, const char *result,
-               const char *err  ATTRIBUTE_UNUSED,
-              int options) {
-    xmlDocPtr doc;
-    char *temp;
-    int res = 0;
-
-    nb_tests++;
-    /*
-     * base of the test, parse with the old API
-     */
-    doc = xmlReadFile(filename, NULL, options);
-    if (doc == NULL)
-        return(1);
-    temp = resultFilename(filename, "", ".res");
-    if (temp == NULL) {
-        fprintf(stderr, "Out of memory\n");
-        fatalError();
-    }
-    xmlSaveFile(temp, doc);
-    if (compareFiles(temp, result)) {
-        res = 1;
-    }
-    xmlFreeDoc(doc);
-
-    /*
-     * Parse the saved result to make sure the round trip is okay
-     */
-    doc = xmlReadFile(filename, NULL, options);
-    if (doc == NULL)
-        return(1);
-    xmlSaveFile(temp, doc);
-    if (compareFiles(temp, result)) {
-        res = 1;
-    }
-    xmlFreeDoc(doc);
-
-    if (temp != NULL) {
-        unlink(temp);
-        free(temp);
-    }
-    return(res);
-}
-
-/**
- * errParseTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a file using the xmlReadFile API and check for errors.
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-errParseTest(const char *filename, const char *result, const char *err,
-             int options) {
-    xmlDocPtr doc;
-    const char *base = NULL;
-    int size, res = 0;
-
-    nb_tests++;
-#ifdef LIBXML_HTML_ENABLED
-    if (options & XML_PARSE_HTML) {
-        doc = htmlReadFile(filename, NULL, options);
-    } else
-#endif
-#ifdef LIBXML_XINCLUDE_ENABLED
-    if (options & XML_PARSE_XINCLUDE) {
-       doc = xmlReadFile(filename, NULL, options);
-       xmlXIncludeProcessFlags(doc, options);
-    } else
-#endif
-    {
-       xmlGetWarningsDefaultValue = 1;
-       doc = xmlReadFile(filename, NULL, options);
-    }
-    xmlGetWarningsDefaultValue = 0;
-    if (result) {
-       if (doc == NULL) {
-           base = "";
-           size = 0;
-       } else {
-#ifdef LIBXML_HTML_ENABLED
-           if (options & XML_PARSE_HTML) {
-               htmlDocDumpMemory(doc, (xmlChar **) &base, &size);
-           } else
-#endif
-           xmlDocDumpMemory(doc, (xmlChar **) &base, &size);
-       }
-       res = compareFileMem(result, base, size);
-    }
-    if (doc != NULL) {
-       if (base != NULL)
-           xmlFree((char *)base);
-       xmlFreeDoc(doc);
-    }
-    if (res != 0) {
-        fprintf(stderr, "Result for %s failed\n", filename);
-       return(-1);
-    }
-    if (err != NULL) {
-       res = compareFileMem(err, testErrors, testErrorsSize);
-       if (res != 0) {
-           fprintf(stderr, "Error for %s failed\n", filename);
-           return(-1);
-       }
-    } else if (options & XML_PARSE_DTDVALID) {
-        if (testErrorsSize != 0)
-           fprintf(stderr, "Validation for %s failed\n", filename);
-    }
-
-    return(0);
-}
-
-#ifdef LIBXML_READER_ENABLED
-/************************************************************************
- *                                                                     *
- *             Reader based tests                                      *
- *                                                                     *
- ************************************************************************/
-
-static void processNode(FILE *out, xmlTextReaderPtr reader) {
-    const xmlChar *name, *value;
-    int type, empty;
-
-    type = xmlTextReaderNodeType(reader);
-    empty = xmlTextReaderIsEmptyElement(reader);
-
-    name = xmlTextReaderConstName(reader);
-    if (name == NULL)
-       name = BAD_CAST "--";
-
-    value = xmlTextReaderConstValue(reader);
-
-
-    fprintf(out, "%d %d %s %d %d",
-           xmlTextReaderDepth(reader),
-           type,
-           name,
-           empty,
-           xmlTextReaderHasValue(reader));
-    if (value == NULL)
-       fprintf(out, "\n");
-    else {
-       fprintf(out, " %s\n", value);
-    }
-}
-static int
-streamProcessTest(const char *filename, const char *result, const char *err,
-                  xmlTextReaderPtr reader, const char *rng) {
-    int ret;
-    char *temp = NULL;
-    FILE *t = NULL;
-
-    if (reader == NULL)
-        return(-1);
-
-    nb_tests++;
-    if (result != NULL) {
-       temp = resultFilename(filename, "", ".res");
-       if (temp == NULL) {
-           fprintf(stderr, "Out of memory\n");
-           fatalError();
-       }
-       t = fopen(temp, "wb");
-       if (t == NULL) {
-           fprintf(stderr, "Can't open temp file %s\n", temp);
-           free(temp);
-           return(-1);
-       }
-    }
-#ifdef LIBXML_SCHEMAS_ENABLED
-    if (rng != NULL) {
-       ret = xmlTextReaderRelaxNGValidate(reader, rng);
-       if (ret < 0) {
-           testErrorHandler(NULL, "Relax-NG schema %s failed to compile\n",
-                            rng);
-           fclose(t);
-            if (temp != NULL) {
-                unlink(temp);
-                free(temp);
-            }
-           return(0);
-       }
-    }
-#endif
-    xmlGetWarningsDefaultValue = 1;
-    ret = xmlTextReaderRead(reader);
-    while (ret == 1) {
-       if ((t != NULL) && (rng == NULL))
-           processNode(t, reader);
-        ret = xmlTextReaderRead(reader);
-    }
-    if (ret != 0) {
-        testErrorHandler(NULL, "%s : failed to parse\n", filename);
-    }
-    if (rng != NULL) {
-        if (xmlTextReaderIsValid(reader) != 1) {
-           testErrorHandler(NULL, "%s fails to validate\n", filename);
-       } else {
-           testErrorHandler(NULL, "%s validates\n", filename);
-       }
-    }
-    xmlGetWarningsDefaultValue = 0;
-    if (t != NULL) {
-        fclose(t);
-       ret = compareFiles(temp, result);
-        if (temp != NULL) {
-            unlink(temp);
-            free(temp);
-        }
-       if (ret) {
-           fprintf(stderr, "Result for %s failed\n", filename);
-           return(-1);
-       }
-    }
-    if (err != NULL) {
-       ret = compareFileMem(err, testErrors, testErrorsSize);
-       if (ret != 0) {
-           fprintf(stderr, "Error for %s failed\n", filename);
-           printf("%s", testErrors);
-           return(-1);
-       }
-    }
-
-    return(0);
-}
-
-/**
- * streamParseTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a file using the reader API and check for errors.
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-streamParseTest(const char *filename, const char *result, const char *err,
-                int options) {
-    xmlTextReaderPtr reader;
-    int ret;
-
-    reader = xmlReaderForFile(filename, NULL, options);
-    ret = streamProcessTest(filename, result, err, reader, NULL);
-    xmlFreeTextReader(reader);
-    return(ret);
-}
-
-/**
- * walkerParseTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a file using the walker, i.e. a reader built from a atree.
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-walkerParseTest(const char *filename, const char *result, const char *err,
-                int options) {
-    xmlDocPtr doc;
-    xmlTextReaderPtr reader;
-    int ret;
-
-    doc = xmlReadFile(filename, NULL, options);
-    if (doc == NULL) {
-        fprintf(stderr, "Failed to parse %s\n", filename);
-       return(-1);
-    }
-    reader = xmlReaderWalker(doc);
-    ret = streamProcessTest(filename, result, err, reader, NULL);
-    xmlFreeTextReader(reader);
-    xmlFreeDoc(doc);
-    return(ret);
-}
-
-/**
- * streamMemParseTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a file using the reader API from memory and check for errors.
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-streamMemParseTest(const char *filename, const char *result, const char *err,
-                   int options) {
-    xmlTextReaderPtr reader;
-    int ret;
-    const char *base;
-    int size;
-
-    /*
-     * load and parse the memory
-     */
-    if (loadMem(filename, &base, &size) != 0) {
-        fprintf(stderr, "Failed to load %s\n", filename);
-       return(-1);
-    }
-    reader = xmlReaderForMemory(base, size, filename, NULL, options);
-    ret = streamProcessTest(filename, result, err, reader, NULL);
-    free((char *)base);
-    xmlFreeTextReader(reader);
-    return(ret);
-}
-#endif
-
-#ifdef LIBXML_XPATH_ENABLED
-#ifdef LIBXML_DEBUG_ENABLED
-/************************************************************************
- *                                                                     *
- *             XPath and XPointer based tests                          *
- *                                                                     *
- ************************************************************************/
-
-static FILE *xpathOutput;
-static xmlDocPtr xpathDocument;
-
-static void
-testXPath(const char *str, int xptr, int expr) {
-    xmlXPathObjectPtr res;
-    xmlXPathContextPtr ctxt;
-
-    nb_tests++;
-#if defined(LIBXML_XPTR_ENABLED)
-    if (xptr) {
-       ctxt = xmlXPtrNewContext(xpathDocument, NULL, NULL);
-       res = xmlXPtrEval(BAD_CAST str, ctxt);
-    } else {
-#endif
-       ctxt = xmlXPathNewContext(xpathDocument);
-       ctxt->node = xmlDocGetRootElement(xpathDocument);
-       if (expr)
-           res = xmlXPathEvalExpression(BAD_CAST str, ctxt);
-       else {
-           /* res = xmlXPathEval(BAD_CAST str, ctxt); */
-           xmlXPathCompExprPtr comp;
-
-           comp = xmlXPathCompile(BAD_CAST str);
-           if (comp != NULL) {
-               res = xmlXPathCompiledEval(comp, ctxt);
-               xmlXPathFreeCompExpr(comp);
-           } else
-               res = NULL;
-       }
-#if defined(LIBXML_XPTR_ENABLED)
-    }
-#endif
-    xmlXPathDebugDumpObject(xpathOutput, res, 0);
-    xmlXPathFreeObject(res);
-    xmlXPathFreeContext(ctxt);
-}
-
-/**
- * xpathExprTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a file containing XPath standalone expressions and evaluate them
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-xpathCommonTest(const char *filename, const char *result,
-                int xptr, int expr) {
-    FILE *input;
-    char expression[5000];
-    int len, ret = 0;
-    char *temp;
-
-    temp = resultFilename(filename, "", ".res");
-    if (temp == NULL) {
-        fprintf(stderr, "Out of memory\n");
-        fatalError();
-    }
-    xpathOutput = fopen(temp, "wb");
-    if (xpathOutput == NULL) {
-       fprintf(stderr, "failed to open output file %s\n", temp);
-        free(temp);
-       return(-1);
-    }
-
-    input = fopen(filename, "rb");
-    if (input == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-               "Cannot open %s for reading\n", filename);
-        free(temp);
-       return(-1);
-    }
-    while (fgets(expression, 4500, input) != NULL) {
-       len = strlen(expression);
-       len--;
-       while ((len >= 0) &&
-              ((expression[len] == '\n') || (expression[len] == '\t') ||
-               (expression[len] == '\r') || (expression[len] == ' '))) len--;
-       expression[len + 1] = 0;
-       if (len >= 0) {
-           fprintf(xpathOutput,
-                   "\n========================\nExpression: %s\n",
-                   expression) ;
-           testXPath(expression, xptr, expr);
-       }
-    }
-
-    fclose(input);
-    fclose(xpathOutput);
-    if (result != NULL) {
-       ret = compareFiles(temp, result);
-       if (ret) {
-           fprintf(stderr, "Result for %s failed\n", filename);
-       }
-    }
-
-    if (temp != NULL) {
-        unlink(temp);
-        free(temp);
-    }
-    return(ret);
-}
-
-/**
- * xpathExprTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a file containing XPath standalone expressions and evaluate them
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-xpathExprTest(const char *filename, const char *result,
-              const char *err ATTRIBUTE_UNUSED,
-              int options ATTRIBUTE_UNUSED) {
-    return(xpathCommonTest(filename, result, 0, 1));
-}
-
-/**
- * xpathDocTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a file containing XPath expressions and evaluate them against
- * a set of corresponding documents.
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-xpathDocTest(const char *filename,
-             const char *resul ATTRIBUTE_UNUSED,
-             const char *err ATTRIBUTE_UNUSED,
-             int options) {
-
-    char pattern[500];
-    char result[500];
-    glob_t globbuf;
-    size_t i;
-    int ret = 0, res;
-
-    xpathDocument = xmlReadFile(filename, NULL,
-                                options | XML_PARSE_DTDATTR | XML_PARSE_NOENT);
-    if (xpathDocument == NULL) {
-        fprintf(stderr, "Failed to load %s\n", filename);
-       return(-1);
-    }
-
-    snprintf(pattern, 499, "./test/XPath/tests/%s*", baseFilename(filename));
-    pattern[499] = 0;
-    globbuf.gl_offs = 0;
-    glob(pattern, GLOB_DOOFFS, NULL, &globbuf);
-    for (i = 0;i < globbuf.gl_pathc;i++) {
-        snprintf(result, 499, "result/XPath/tests/%s",
-                baseFilename(globbuf.gl_pathv[i]));
-       res = xpathCommonTest(globbuf.gl_pathv[i], &result[0], 0, 0);
-       if (res != 0)
-           ret = res;
-    }
-    globfree(&globbuf);
-
-    xmlFreeDoc(xpathDocument);
-    return(ret);
-}
-
-#ifdef LIBXML_XPTR_ENABLED
-/**
- * xptrDocTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a file containing XPath expressions and evaluate them against
- * a set of corresponding documents.
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-xptrDocTest(const char *filename,
-            const char *resul ATTRIBUTE_UNUSED,
-            const char *err ATTRIBUTE_UNUSED,
-            int options) {
-
-    char pattern[500];
-    char result[500];
-    glob_t globbuf;
-    size_t i;
-    int ret = 0, res;
-
-    xpathDocument = xmlReadFile(filename, NULL,
-                                options | XML_PARSE_DTDATTR | XML_PARSE_NOENT);
-    if (xpathDocument == NULL) {
-        fprintf(stderr, "Failed to load %s\n", filename);
-       return(-1);
-    }
-
-    snprintf(pattern, 499, "./test/XPath/xptr/%s*", baseFilename(filename));
-    pattern[499] = 0;
-    globbuf.gl_offs = 0;
-    glob(pattern, GLOB_DOOFFS, NULL, &globbuf);
-    for (i = 0;i < globbuf.gl_pathc;i++) {
-        snprintf(result, 499, "result/XPath/xptr/%s",
-                baseFilename(globbuf.gl_pathv[i]));
-       res = xpathCommonTest(globbuf.gl_pathv[i], &result[0], 1, 0);
-       if (res != 0)
-           ret = res;
-    }
-    globfree(&globbuf);
-
-    xmlFreeDoc(xpathDocument);
-    return(ret);
-}
-#endif /* LIBXML_XPTR_ENABLED */
-
-/**
- * xmlidDocTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a file containing xml:id and check for errors and verify
- * that XPath queries will work on them as expected.
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-xmlidDocTest(const char *filename,
-             const char *result,
-             const char *err,
-             int options) {
-
-    int res = 0;
-    int ret = 0;
-    char *temp;
-
-    xpathDocument = xmlReadFile(filename, NULL,
-                                options | XML_PARSE_DTDATTR | XML_PARSE_NOENT);
-    if (xpathDocument == NULL) {
-        fprintf(stderr, "Failed to load %s\n", filename);
-       return(-1);
-    }
-
-    temp = resultFilename(filename, "", ".res");
-    if (temp == NULL) {
-        fprintf(stderr, "Out of memory\n");
-        fatalError();
-    }
-    xpathOutput = fopen(temp, "wb");
-    if (xpathOutput == NULL) {
-       fprintf(stderr, "failed to open output file %s\n", temp);
-        xmlFreeDoc(xpathDocument);
-        free(temp);
-       return(-1);
-    }
-
-    testXPath("id('bar')", 0, 0);
-
-    fclose(xpathOutput);
-    if (result != NULL) {
-       ret = compareFiles(temp, result);
-       if (ret) {
-           fprintf(stderr, "Result for %s failed\n", filename);
-           res = 1;
-       }
-    }
-
-    if (temp != NULL) {
-        unlink(temp);
-        free(temp);
-    }
-    xmlFreeDoc(xpathDocument);
-
-    if (err != NULL) {
-       ret = compareFileMem(err, testErrors, testErrorsSize);
-       if (ret != 0) {
-           fprintf(stderr, "Error for %s failed\n", filename);
-           res = 1;
-       }
-    }
-    return(res);
-}
-
-#endif /* LIBXML_DEBUG_ENABLED */
-#endif /* XPATH */
-/************************************************************************
- *                                                                     *
- *                     URI based tests                                 *
- *                                                                     *
- ************************************************************************/
-
-static void
-handleURI(const char *str, const char *base, FILE *o) {
-    int ret;
-    xmlURIPtr uri;
-    xmlChar *res = NULL;
-
-    uri = xmlCreateURI();
-
-    if (base == NULL) {
-       ret = xmlParseURIReference(uri, str);
-       if (ret != 0)
-           fprintf(o, "%s : error %d\n", str, ret);
-       else {
-           xmlNormalizeURIPath(uri->path);
-           xmlPrintURI(o, uri);
-           fprintf(o, "\n");
-       }
-    } else {
-       res = xmlBuildURI((xmlChar *)str, (xmlChar *) base);
-       if (res != NULL) {
-           fprintf(o, "%s\n", (char *) res);
-       }
-       else
-           fprintf(o, "::ERROR::\n");
-    }
-    if (res != NULL)
-       xmlFree(res);
-    xmlFreeURI(uri);
-}
-
-/**
- * uriCommonTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a file containing URI and check for errors
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-uriCommonTest(const char *filename,
-             const char *result,
-             const char *err,
-             const char *base) {
-    char *temp;
-    FILE *o, *f;
-    char str[1024];
-    int res = 0, i, ret;
-
-    temp = resultFilename(filename, "", ".res");
-    if (temp == NULL) {
-        fprintf(stderr, "Out of memory\n");
-        fatalError();
-    }
-    o = fopen(temp, "wb");
-    if (o == NULL) {
-       fprintf(stderr, "failed to open output file %s\n", temp);
-        free(temp);
-       return(-1);
-    }
-    f = fopen(filename, "rb");
-    if (f == NULL) {
-       fprintf(stderr, "failed to open input file %s\n", filename);
-       fclose(o);
-        if (temp != NULL) {
-            unlink(temp);
-            free(temp);
-        }
-       return(-1);
-    }
-
-    while (1) {
-       /*
-        * read one line in string buffer.
-        */
-       if (fgets (&str[0], sizeof (str) - 1, f) == NULL)
-          break;
-
-       /*
-        * remove the ending spaces
-        */
-       i = strlen(str);
-       while ((i > 0) &&
-              ((str[i - 1] == '\n') || (str[i - 1] == '\r') ||
-               (str[i - 1] == ' ') || (str[i - 1] == '\t'))) {
-           i--;
-           str[i] = 0;
-       }
-       nb_tests++;
-       handleURI(str, base, o);
-    }
-
-    fclose(f);
-    fclose(o);
-
-    if (result != NULL) {
-       ret = compareFiles(temp, result);
-       if (ret) {
-           fprintf(stderr, "Result for %s failed\n", filename);
-           res = 1;
-       }
-    }
-    if (err != NULL) {
-       ret = compareFileMem(err, testErrors, testErrorsSize);
-       if (ret != 0) {
-           fprintf(stderr, "Error for %s failed\n", filename);
-           res = 1;
-       }
-    }
-
-    if (temp != NULL) {
-        unlink(temp);
-        free(temp);
-    }
-    return(res);
-}
-
-/**
- * uriParseTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a file containing URI and check for errors
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-uriParseTest(const char *filename,
-             const char *result,
-             const char *err,
-             int options ATTRIBUTE_UNUSED) {
-    return(uriCommonTest(filename, result, err, NULL));
-}
-
-/**
- * uriBaseTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a file containing URI, compose them against a fixed base and
- * check for errors
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-uriBaseTest(const char *filename,
-             const char *result,
-             const char *err,
-             int options ATTRIBUTE_UNUSED) {
-    return(uriCommonTest(filename, result, err,
-                         "http://foo.com/path/to/index.html?orig#help"));
-}
-
-static int urip_success = 1;
-static int urip_current = 0;
-static const char *urip_testURLs[] = {
-    "urip://example.com/a b.html",
-    "urip://example.com/a%20b.html",
-    "file:///path/to/a b.html",
-    "file:///path/to/a%20b.html",
-    "/path/to/a b.html",
-    "/path/to/a%20b.html",
-    "urip://example.com/r" "\xe9" "sum" "\xe9" ".html",
-    "urip://example.com/test?a=1&b=2%263&c=4#foo",
-    NULL
-};
-static const char *urip_rcvsURLs[] = {
-    /* it is an URI the strings must be escaped */
-    "urip://example.com/a%20b.html",
-    /* check that % escaping is not broken */
-    "urip://example.com/a%20b.html",
-    /* it's an URI path the strings must be escaped */
-    "file:///path/to/a%20b.html",
-    /* check that % escaping is not broken */
-    "file:///path/to/a%20b.html",
-    /* this is not an URI, this is a path, so this should not be escaped */
-    "/path/to/a b.html",
-    /* check that paths with % are not broken */
-    "/path/to/a%20b.html",
-    /* out of context the encoding can't be guessed byte by byte conversion */
-    "urip://example.com/r%E9sum%E9.html",
-    /* verify we don't destroy URIs especially the query part */
-    "urip://example.com/test?a=1&b=2%263&c=4#foo",
-    NULL
-};
-static const char *urip_res = "<list/>";
-static const char *urip_cur = NULL;
-static int urip_rlen;
-
-/**
- * uripMatch:
- * @URI: an URI to test
- *
- * Check for an urip: query
- *
- * Returns 1 if yes and 0 if another Input module should be used
- */
-static int
-uripMatch(const char * URI) {
-    if ((URI == NULL) || (!strcmp(URI, "file:///etc/xml/catalog")))
-        return(0);
-    /* Verify we received the escaped URL */
-    if (strcmp(urip_rcvsURLs[urip_current], URI))
-       urip_success = 0;
-    return(1);
-}
-
-/**
- * uripOpen:
- * @URI: an URI to test
- *
- * Return a pointer to the urip: query handler, in this example simply
- * the urip_current pointer...
- *
- * Returns an Input context or NULL in case or error
- */
-static void *
-uripOpen(const char * URI) {
-    if ((URI == NULL) || (!strcmp(URI, "file:///etc/xml/catalog")))
-        return(NULL);
-    /* Verify we received the escaped URL */
-    if (strcmp(urip_rcvsURLs[urip_current], URI))
-       urip_success = 0;
-    urip_cur = urip_res;
-    urip_rlen = strlen(urip_res);
-    return((void *) urip_cur);
-}
-
-/**
- * uripClose:
- * @context: the read context
- *
- * Close the urip: query handler
- *
- * Returns 0 or -1 in case of error
- */
-static int
-uripClose(void * context) {
-    if (context == NULL) return(-1);
-    urip_cur = NULL;
-    urip_rlen = 0;
-    return(0);
-}
-
-/**
- * uripRead:
- * @context: the read context
- * @buffer: where to store data
- * @len: number of bytes to read
- *
- * Implement an urip: query read.
- *
- * Returns the number of bytes read or -1 in case of error
- */
-static int
-uripRead(void * context, char * buffer, int len) {
-   const char *ptr = (const char *) context;
-
-   if ((context == NULL) || (buffer == NULL) || (len < 0))
-       return(-1);
-
-   if (len > urip_rlen) len = urip_rlen;
-   memcpy(buffer, ptr, len);
-   urip_rlen -= len;
-   return(len);
-}
-
-static int
-urip_checkURL(const char *URL) {
-    xmlDocPtr doc;
-
-    doc = xmlReadFile(URL, NULL, 0);
-    if (doc == NULL)
-        return(-1);
-    xmlFreeDoc(doc);
-    return(1);
-}
-
-/**
- * uriPathTest:
- * @filename: ignored
- * @result: ignored
- * @err: ignored
- *
- * Run a set of tests to check how Path and URI are handled before
- * being passed to the I/O layer
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-uriPathTest(const char *filename ATTRIBUTE_UNUSED,
-             const char *result ATTRIBUTE_UNUSED,
-             const char *err ATTRIBUTE_UNUSED,
-             int options ATTRIBUTE_UNUSED) {
-    int parsed;
-    int failures = 0;
-
-    /*
-     * register the new I/O handlers
-     */
-    if (xmlRegisterInputCallbacks(uripMatch, uripOpen, uripRead, uripClose) < 0)
-    {
-        fprintf(stderr, "failed to register HTTP handler\n");
-       return(-1);
-    }
-
-    for (urip_current = 0;urip_testURLs[urip_current] != NULL;urip_current++) {
-        urip_success = 1;
-        parsed = urip_checkURL(urip_testURLs[urip_current]);
-       if (urip_success != 1) {
-           fprintf(stderr, "failed the URL passing test for %s",
-                   urip_testURLs[urip_current]);
-           failures++;
-       } else if (parsed != 1) {
-           fprintf(stderr, "failed the parsing test for %s",
-                   urip_testURLs[urip_current]);
-           failures++;
-       }
-       nb_tests++;
-    }
-
-    xmlPopInputCallbacks();
-    return(failures);
-}
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-/************************************************************************
- *                                                                     *
- *                     Schemas tests                                   *
- *                                                                     *
- ************************************************************************/
-static int
-schemasOneTest(const char *sch,
-               const char *filename,
-               const char *result,
-              const char *err,
-              int options,
-              xmlSchemaPtr schemas) {
-    xmlDocPtr doc;
-    xmlSchemaValidCtxtPtr ctxt;
-    int ret = 0;
-    int validResult = 0;
-    char *temp;
-    FILE *schemasOutput;
-
-    doc = xmlReadFile(filename, NULL, options);
-    if (doc == NULL) {
-        fprintf(stderr, "failed to parse instance %s for %s\n", filename, sch);
-       return(-1);
-    }
-
-    temp = resultFilename(result, "", ".res");
-    if (temp == NULL) {
-        fprintf(stderr, "Out of memory\n");
-        fatalError();
-    }
-    schemasOutput = fopen(temp, "wb");
-    if (schemasOutput == NULL) {
-       fprintf(stderr, "failed to open output file %s\n", temp);
-       xmlFreeDoc(doc);
-        free(temp);
-       return(-1);
-    }
-
-    ctxt = xmlSchemaNewValidCtxt(schemas);
-    xmlSchemaSetValidErrors(ctxt,
-         (xmlSchemaValidityErrorFunc) testErrorHandler,
-         (xmlSchemaValidityWarningFunc) testErrorHandler,
-        ctxt);
-    validResult = xmlSchemaValidateDoc(ctxt, doc);
-    if (validResult == 0) {
-       fprintf(schemasOutput, "%s validates\n", filename);
-    } else if (validResult > 0) {
-       fprintf(schemasOutput, "%s fails to validate\n", filename);
-    } else {
-       fprintf(schemasOutput, "%s validation generated an internal error\n",
-              filename);
-    }
-    fclose(schemasOutput);
-    if (result) {
-       if (compareFiles(temp, result)) {
-           fprintf(stderr, "Result for %s on %s failed\n", filename, sch);
-           ret = 1;
-       }
-    }
-    if (temp != NULL) {
-        unlink(temp);
-        free(temp);
-    }
-
-    if ((validResult != 0) && (err != NULL)) {
-       if (compareFileMem(err, testErrors, testErrorsSize)) {
-           fprintf(stderr, "Error for %s on %s failed\n", filename, sch);
-           ret = 1;
-       }
-    }
-
-    xmlSchemaFreeValidCtxt(ctxt);
-    xmlFreeDoc(doc);
-    return(ret);
-}
-/**
- * schemasTest:
- * @filename: the schemas file
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a file containing URI, compose them against a fixed base and
- * check for errors
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-schemasTest(const char *filename,
-            const char *resul ATTRIBUTE_UNUSED,
-            const char *errr ATTRIBUTE_UNUSED,
-            int options) {
-    const char *base = baseFilename(filename);
-    const char *base2;
-    const char *instance;
-    xmlSchemaParserCtxtPtr ctxt;
-    xmlSchemaPtr schemas;
-    int res = 0, len, ret;
-    char pattern[500];
-    char prefix[500];
-    char result[500];
-    char err[500];
-    glob_t globbuf;
-    size_t i;
-    char count = 0;
-
-    /* first compile the schemas if possible */
-    ctxt = xmlSchemaNewParserCtxt(filename);
-    xmlSchemaSetParserErrors(ctxt,
-         (xmlSchemaValidityErrorFunc) testErrorHandler,
-         (xmlSchemaValidityWarningFunc) testErrorHandler,
-        ctxt);
-    schemas = xmlSchemaParse(ctxt);
-    xmlSchemaFreeParserCtxt(ctxt);
-
-    /*
-     * most of the mess is about the output filenames generated by the Makefile
-     */
-    len = strlen(base);
-    if ((len > 499) || (len < 5)) {
-        xmlSchemaFree(schemas);
-       return(-1);
-    }
-    len -= 4; /* remove trailing .xsd */
-    if (base[len - 2] == '_') {
-        len -= 2; /* remove subtest number */
-    }
-    if (base[len - 2] == '_') {
-        len -= 2; /* remove subtest number */
-    }
-    memcpy(prefix, base, len);
-    prefix[len] = 0;
-
-    snprintf(pattern, 499, "./test/schemas/%s_?.xml", prefix);
-    pattern[499] = 0;
-
-    if (base[len] == '_') {
-        len += 2;
-       memcpy(prefix, base, len);
-       prefix[len] = 0;
-    }
-
-    globbuf.gl_offs = 0;
-    glob(pattern, GLOB_DOOFFS, NULL, &globbuf);
-    for (i = 0;i < globbuf.gl_pathc;i++) {
-        testErrorsSize = 0;
-       testErrors[0] = 0;
-        instance = globbuf.gl_pathv[i];
-       base2 = baseFilename(instance);
-       len = strlen(base2);
-       if ((len > 6) && (base2[len - 6] == '_')) {
-           count = base2[len - 5];
-           snprintf(result, 499, "result/schemas/%s_%c",
-                    prefix, count);
-           result[499] = 0;
-           snprintf(err, 499, "result/schemas/%s_%c.err",
-                    prefix, count);
-           err[499] = 0;
-       } else {
-           fprintf(stderr, "don't know how to process %s\n", instance);
-           continue;
-       }
-       if (schemas == NULL) {
-       } else {
-           nb_tests++;
-           ret = schemasOneTest(filename, instance, result, err,
-                                options, schemas);
-           if (ret != 0)
-               res = ret;
-       }
-    }
-    globfree(&globbuf);
-    xmlSchemaFree(schemas);
-
-    return(res);
-}
-
-/************************************************************************
- *                                                                     *
- *                     Schemas tests                                   *
- *                                                                     *
- ************************************************************************/
-static int
-rngOneTest(const char *sch,
-               const char *filename,
-               const char *result,
-              const char *err,
-              int options,
-              xmlRelaxNGPtr schemas) {
-    xmlDocPtr doc;
-    xmlRelaxNGValidCtxtPtr ctxt;
-    int ret = 0;
-    char *temp;
-    FILE *schemasOutput;
-
-    doc = xmlReadFile(filename, NULL, options);
-    if (doc == NULL) {
-        fprintf(stderr, "failed to parse instance %s for %s\n", filename, sch);
-       return(-1);
-    }
-
-    temp = resultFilename(result, "", ".res");
-    if (temp == NULL) {
-        fprintf(stderr, "Out of memory\n");
-        fatalError();
-    }
-    schemasOutput = fopen(temp, "wb");
-    if (schemasOutput == NULL) {
-       fprintf(stderr, "failed to open output file %s\n", temp);
-       xmlFreeDoc(doc);
-        free(temp);
-       return(-1);
-    }
-
-    ctxt = xmlRelaxNGNewValidCtxt(schemas);
-    xmlRelaxNGSetValidErrors(ctxt,
-         (xmlRelaxNGValidityErrorFunc) testErrorHandler,
-         (xmlRelaxNGValidityWarningFunc) testErrorHandler,
-        ctxt);
-    ret = xmlRelaxNGValidateDoc(ctxt, doc);
-    if (ret == 0) {
-       testErrorHandler(NULL, "%s validates\n", filename);
-    } else if (ret > 0) {
-       testErrorHandler(NULL, "%s fails to validate\n", filename);
-    } else {
-       testErrorHandler(NULL, "%s validation generated an internal error\n",
-              filename);
-    }
-    fclose(schemasOutput);
-    ret = 0;
-    if (result) {
-       if (compareFiles(temp, result)) {
-           fprintf(stderr, "Result for %s on %s failed\n", filename, sch);
-           ret = 1;
-       }
-    }
-    if (temp != NULL) {
-        unlink(temp);
-        free(temp);
-    }
-
-    if (err != NULL) {
-       if (compareFileMem(err, testErrors, testErrorsSize)) {
-           fprintf(stderr, "Error for %s on %s failed\n", filename, sch);
-           ret = 1;
-           printf("%s", testErrors);
-       }
-    }
-
-
-    xmlRelaxNGFreeValidCtxt(ctxt);
-    xmlFreeDoc(doc);
-    return(ret);
-}
-/**
- * rngTest:
- * @filename: the schemas file
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse an RNG schemas and then apply it to the related .xml
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-rngTest(const char *filename,
-            const char *resul ATTRIBUTE_UNUSED,
-            const char *errr ATTRIBUTE_UNUSED,
-            int options) {
-    const char *base = baseFilename(filename);
-    const char *base2;
-    const char *instance;
-    xmlRelaxNGParserCtxtPtr ctxt;
-    xmlRelaxNGPtr schemas;
-    int res = 0, len, ret = 0;
-    char pattern[500];
-    char prefix[500];
-    char result[500];
-    char err[500];
-    glob_t globbuf;
-    size_t i;
-    char count = 0;
-
-    /* first compile the schemas if possible */
-    ctxt = xmlRelaxNGNewParserCtxt(filename);
-    xmlRelaxNGSetParserErrors(ctxt,
-         (xmlRelaxNGValidityErrorFunc) testErrorHandler,
-         (xmlRelaxNGValidityWarningFunc) testErrorHandler,
-        ctxt);
-    schemas = xmlRelaxNGParse(ctxt);
-    xmlRelaxNGFreeParserCtxt(ctxt);
-
-    /*
-     * most of the mess is about the output filenames generated by the Makefile
-     */
-    len = strlen(base);
-    if ((len > 499) || (len < 5)) {
-        xmlRelaxNGFree(schemas);
-       return(-1);
-    }
-    len -= 4; /* remove trailing .rng */
-    memcpy(prefix, base, len);
-    prefix[len] = 0;
-
-    snprintf(pattern, 499, "./test/relaxng/%s_?.xml", prefix);
-    pattern[499] = 0;
-
-    globbuf.gl_offs = 0;
-    glob(pattern, GLOB_DOOFFS, NULL, &globbuf);
-    for (i = 0;i < globbuf.gl_pathc;i++) {
-        testErrorsSize = 0;
-       testErrors[0] = 0;
-        instance = globbuf.gl_pathv[i];
-       base2 = baseFilename(instance);
-       len = strlen(base2);
-       if ((len > 6) && (base2[len - 6] == '_')) {
-           count = base2[len - 5];
-           snprintf(result, 499, "result/relaxng/%s_%c",
-                    prefix, count);
-           result[499] = 0;
-           snprintf(err, 499, "result/relaxng/%s_%c.err",
-                    prefix, count);
-           err[499] = 0;
-       } else {
-           fprintf(stderr, "don't know how to process %s\n", instance);
-           continue;
-       }
-       if (schemas == NULL) {
-       } else {
-           nb_tests++;
-           ret = rngOneTest(filename, instance, result, err,
-                                options, schemas);
-           if (res != 0)
-               ret = res;
-       }
-    }
-    globfree(&globbuf);
-    xmlRelaxNGFree(schemas);
-
-    return(ret);
-}
-
-#ifdef LIBXML_READER_ENABLED
-/**
- * rngStreamTest:
- * @filename: the schemas file
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a set of files with streaming, applying an RNG schemas
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-rngStreamTest(const char *filename,
-            const char *resul ATTRIBUTE_UNUSED,
-            const char *errr ATTRIBUTE_UNUSED,
-            int options) {
-    const char *base = baseFilename(filename);
-    const char *base2;
-    const char *instance;
-    int res = 0, len, ret;
-    char pattern[500];
-    char prefix[500];
-    char result[500];
-    char err[500];
-    glob_t globbuf;
-    size_t i;
-    char count = 0;
-    xmlTextReaderPtr reader;
-    int disable_err = 0;
-
-    /*
-     * most of the mess is about the output filenames generated by the Makefile
-     */
-    len = strlen(base);
-    if ((len > 499) || (len < 5)) {
-       fprintf(stderr, "len(base) == %d !\n", len);
-       return(-1);
-    }
-    len -= 4; /* remove trailing .rng */
-    memcpy(prefix, base, len);
-    prefix[len] = 0;
-
-    /*
-     * strictly unifying the error messages is nearly impossible this
-     * hack is also done in the Makefile
-     */
-    if ((!strcmp(prefix, "tutor10_1")) || (!strcmp(prefix, "tutor10_2")) ||
-        (!strcmp(prefix, "tutor3_2")) || (!strcmp(prefix, "307377")) ||
-        (!strcmp(prefix, "tutor8_2")))
-       disable_err = 1;
-
-    snprintf(pattern, 499, "./test/relaxng/%s_?.xml", prefix);
-    pattern[499] = 0;
-
-    globbuf.gl_offs = 0;
-    glob(pattern, GLOB_DOOFFS, NULL, &globbuf);
-    for (i = 0;i < globbuf.gl_pathc;i++) {
-        testErrorsSize = 0;
-       testErrors[0] = 0;
-        instance = globbuf.gl_pathv[i];
-       base2 = baseFilename(instance);
-       len = strlen(base2);
-       if ((len > 6) && (base2[len - 6] == '_')) {
-           count = base2[len - 5];
-           snprintf(result, 499, "result/relaxng/%s_%c",
-                    prefix, count);
-           result[499] = 0;
-           snprintf(err, 499, "result/relaxng/%s_%c.err",
-                    prefix, count);
-           err[499] = 0;
-       } else {
-           fprintf(stderr, "don't know how to process %s\n", instance);
-           continue;
-       }
-       reader = xmlReaderForFile(instance, NULL, options);
-       if (reader == NULL) {
-           fprintf(stderr, "Failed to build reder for %s\n", instance);
-       }
-       if (disable_err == 1)
-           ret = streamProcessTest(instance, result, NULL, reader, filename);
-       else
-           ret = streamProcessTest(instance, result, err, reader, filename);
-       xmlFreeTextReader(reader);
-       if (ret != 0) {
-           fprintf(stderr, "instance %s failed\n", instance);
-           res = ret;
-       }
-    }
-    globfree(&globbuf);
-
-    return(res);
-}
-#endif /* READER */
-
-#endif
-
-#ifdef LIBXML_PATTERN_ENABLED
-#ifdef LIBXML_READER_ENABLED
-/************************************************************************
- *                                                                     *
- *                     Patterns tests                                  *
- *                                                                     *
- ************************************************************************/
-static void patternNode(FILE *out, xmlTextReaderPtr reader,
-                        const char *pattern, xmlPatternPtr patternc,
-                       xmlStreamCtxtPtr patstream) {
-    xmlChar *path = NULL;
-    int match = -1;
-    int type, empty;
-
-    type = xmlTextReaderNodeType(reader);
-    empty = xmlTextReaderIsEmptyElement(reader);
-
-    if (type == XML_READER_TYPE_ELEMENT) {
-       /* do the check only on element start */
-       match = xmlPatternMatch(patternc, xmlTextReaderCurrentNode(reader));
-
-       if (match) {
-           path = xmlGetNodePath(xmlTextReaderCurrentNode(reader));
-           fprintf(out, "Node %s matches pattern %s\n", path, pattern);
-       }
-    }
-    if (patstream != NULL) {
-       int ret;
-
-       if (type == XML_READER_TYPE_ELEMENT) {
-           ret = xmlStreamPush(patstream,
-                               xmlTextReaderConstLocalName(reader),
-                               xmlTextReaderConstNamespaceUri(reader));
-           if (ret < 0) {
-               fprintf(out, "xmlStreamPush() failure\n");
-               xmlFreeStreamCtxt(patstream);
-               patstream = NULL;
-           } else if (ret != match) {
-               if (path == NULL) {
-                   path = xmlGetNodePath(
-                                  xmlTextReaderCurrentNode(reader));
-               }
-               fprintf(out,
-                       "xmlPatternMatch and xmlStreamPush disagree\n");
-               fprintf(out,
-                       "  pattern %s node %s\n",
-                       pattern, path);
-           }
-
-
-       }
-       if ((type == XML_READER_TYPE_END_ELEMENT) ||
-           ((type == XML_READER_TYPE_ELEMENT) && (empty))) {
-           ret = xmlStreamPop(patstream);
-           if (ret < 0) {
-               fprintf(out, "xmlStreamPop() failure\n");
-               xmlFreeStreamCtxt(patstream);
-               patstream = NULL;
-           }
-       }
-    }
-    if (path != NULL)
-       xmlFree(path);
-}
-
-/**
- * patternTest:
- * @filename: the schemas file
- * @result: the file with expected result
- * @err: the file with error messages
- *
- * Parse a set of files with streaming, applying an RNG schemas
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-patternTest(const char *filename,
-            const char *resul ATTRIBUTE_UNUSED,
-            const char *err ATTRIBUTE_UNUSED,
-            int options) {
-    xmlPatternPtr patternc = NULL;
-    xmlStreamCtxtPtr patstream = NULL;
-    FILE *o, *f;
-    char str[1024];
-    char xml[500];
-    char result[500];
-    int len, i;
-    int ret = 0, res;
-    char *temp;
-    xmlTextReaderPtr reader;
-    xmlDocPtr doc;
-
-    len = strlen(filename);
-    len -= 4;
-    memcpy(xml, filename, len);
-    xml[len] = 0;
-    snprintf(result, 499, "result/pattern/%s", baseFilename(xml));
-    result[499] = 0;
-    memcpy(xml + len, ".xml", 5);
-
-    if (!checkTestFile(xml)) {
-       fprintf(stderr, "Missing xml file %s\n", xml);
-       return(-1);
-    }
-    if (!checkTestFile(result)) {
-       fprintf(stderr, "Missing result file %s\n", result);
-       return(-1);
-    }
-    f = fopen(filename, "rb");
-    if (f == NULL) {
-        fprintf(stderr, "Failed to open %s\n", filename);
-       return(-1);
-    }
-    temp = resultFilename(filename, "", ".res");
-    if (temp == NULL) {
-        fprintf(stderr, "Out of memory\n");
-        fatalError();
-    }
-    o = fopen(temp, "wb");
-    if (o == NULL) {
-       fprintf(stderr, "failed to open output file %s\n", temp);
-       fclose(f);
-        free(temp);
-       return(-1);
-    }
-    while (1) {
-       /*
-        * read one line in string buffer.
-        */
-       if (fgets (&str[0], sizeof (str) - 1, f) == NULL)
-          break;
-
-       /*
-        * remove the ending spaces
-        */
-       i = strlen(str);
-       while ((i > 0) &&
-              ((str[i - 1] == '\n') || (str[i - 1] == '\r') ||
-               (str[i - 1] == ' ') || (str[i - 1] == '\t'))) {
-           i--;
-           str[i] = 0;
-       }
-       doc = xmlReadFile(xml, NULL, options);
-       if (doc == NULL) {
-           fprintf(stderr, "Failed to parse %s\n", xml);
-           ret = 1;
-       } else {
-           xmlNodePtr root;
-           const xmlChar *namespaces[22];
-           int j;
-           xmlNsPtr ns;
-
-           root = xmlDocGetRootElement(doc);
-           for (ns = root->nsDef, j = 0;ns != NULL && j < 20;ns=ns->next) {
-               namespaces[j++] = ns->href;
-               namespaces[j++] = ns->prefix;
-           }
-           namespaces[j++] = NULL;
-           namespaces[j] = NULL;
-
-           patternc = xmlPatterncompile((const xmlChar *) str, doc->dict,
-                                        0, &namespaces[0]);
-           if (patternc == NULL) {
-               testErrorHandler(NULL,
-                       "Pattern %s failed to compile\n", str);
-               xmlFreeDoc(doc);
-               ret = 1;
-               continue;
-           }
-           patstream = xmlPatternGetStreamCtxt(patternc);
-           if (patstream != NULL) {
-               ret = xmlStreamPush(patstream, NULL, NULL);
-               if (ret < 0) {
-                   fprintf(stderr, "xmlStreamPush() failure\n");
-                   xmlFreeStreamCtxt(patstream);
-                   patstream = NULL;
-               }
-           }
-           nb_tests++;
-
-           reader = xmlReaderWalker(doc);
-           res = xmlTextReaderRead(reader);
-           while (res == 1) {
-               patternNode(o, reader, str, patternc, patstream);
-               res = xmlTextReaderRead(reader);
-           }
-           if (res != 0) {
-               fprintf(o, "%s : failed to parse\n", filename);
-           }
-           xmlFreeTextReader(reader);
-           xmlFreeDoc(doc);
-           xmlFreeStreamCtxt(patstream);
-           patstream = NULL;
-           xmlFreePattern(patternc);
-
-       }
-    }
-
-    fclose(f);
-    fclose(o);
-
-    ret = compareFiles(temp, result);
-    if (ret) {
-       fprintf(stderr, "Result for %s failed\n", filename);
-       ret = 1;
-    }
-    if (temp != NULL) {
-        unlink(temp);
-        free(temp);
-    }
-    return(ret);
-}
-#endif /* READER */
-#endif /* PATTERN */
-#ifdef LIBXML_C14N_ENABLED
-/************************************************************************
- *                                                                     *
- *                     Canonicalization tests                          *
- *                                                                     *
- ************************************************************************/
-static xmlXPathObjectPtr
-load_xpath_expr (xmlDocPtr parent_doc, const char* filename) {
-    xmlXPathObjectPtr xpath;
-    xmlDocPtr doc;
-    xmlChar *expr;
-    xmlXPathContextPtr ctx;
-    xmlNodePtr node;
-    xmlNsPtr ns;
-
-    /*
-     * load XPath expr as a file
-     */
-    xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
-    xmlSubstituteEntitiesDefault(1);
-
-    doc = xmlReadFile(filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT);
-    if (doc == NULL) {
-       fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename);
-       return(NULL);
-    }
-
-    /*
-     * Check the document is of the right kind
-     */
-    if(xmlDocGetRootElement(doc) == NULL) {
-        fprintf(stderr,"Error: empty document for file \"%s\"\n", filename);
-       xmlFreeDoc(doc);
-       return(NULL);
-    }
-
-    node = doc->children;
-    while(node != NULL && !xmlStrEqual(node->name, (const xmlChar *)"XPath")) {
-       node = node->next;
-    }
-
-    if(node == NULL) {
-        fprintf(stderr,"Error: XPath element expected in the file  \"%s\"\n", filename);
-       xmlFreeDoc(doc);
-       return(NULL);
-    }
-
-    expr = xmlNodeGetContent(node);
-    if(expr == NULL) {
-        fprintf(stderr,"Error: XPath content element is NULL \"%s\"\n", filename);
-       xmlFreeDoc(doc);
-       return(NULL);
-    }
-
-    ctx = xmlXPathNewContext(parent_doc);
-    if(ctx == NULL) {
-        fprintf(stderr,"Error: unable to create new context\n");
-        xmlFree(expr);
-        xmlFreeDoc(doc);
-        return(NULL);
-    }
-
-    /*
-     * Register namespaces
-     */
-    ns = node->nsDef;
-    while(ns != NULL) {
-       if(xmlXPathRegisterNs(ctx, ns->prefix, ns->href) != 0) {
-           fprintf(stderr,"Error: unable to register NS with prefix=\"%s\" and href=\"%s\"\n", ns->prefix, ns->href);
-    xmlFree(expr);
-           xmlXPathFreeContext(ctx);
-           xmlFreeDoc(doc);
-           return(NULL);
-       }
-       ns = ns->next;
-    }
-
-    /*
-     * Evaluate xpath
-     */
-    xpath = xmlXPathEvalExpression(expr, ctx);
-    if(xpath == NULL) {
-        fprintf(stderr,"Error: unable to evaluate xpath expression\n");
-xmlFree(expr);
-        xmlXPathFreeContext(ctx);
-        xmlFreeDoc(doc);
-        return(NULL);
-    }
-
-    /* print_xpath_nodes(xpath->nodesetval); */
-
-    xmlFree(expr);
-    xmlXPathFreeContext(ctx);
-    xmlFreeDoc(doc);
-    return(xpath);
-}
-
-/*
- * Macro used to grow the current buffer.
- */
-#define xxx_growBufferReentrant() {                                            \
-    buffer_size *= 2;                                                  \
-    buffer = (xmlChar **)                                              \
-       xmlRealloc(buffer, buffer_size * sizeof(xmlChar*));     \
-    if (buffer == NULL) {                                              \
-       perror("realloc failed");                                       \
-       return(NULL);                                                   \
-    }                                                                  \
-}
-
-static xmlChar **
-parse_list(xmlChar *str) {
-    xmlChar **buffer;
-    xmlChar **out = NULL;
-    int buffer_size = 0;
-    int len;
-
-    if(str == NULL) {
-       return(NULL);
-    }
-
-    len = xmlStrlen(str);
-    if((str[0] == '\'') && (str[len - 1] == '\'')) {
-       str[len - 1] = '\0';
-       str++;
-    }
-    /*
-     * allocate an translation buffer.
-     */
-    buffer_size = 1000;
-    buffer = (xmlChar **) xmlMalloc(buffer_size * sizeof(xmlChar*));
-    if (buffer == NULL) {
-       perror("malloc failed");
-       return(NULL);
-    }
-    out = buffer;
-
-    while(*str != '\0') {
-       if (out - buffer > buffer_size - 10) {
-           int indx = out - buffer;
-
-           xxx_growBufferReentrant();
-           out = &buffer[indx];
-       }
-       (*out++) = str;
-       while(*str != ',' && *str != '\0') ++str;
-       if(*str == ',') *(str++) = '\0';
-    }
-    (*out) = NULL;
-    return buffer;
-}
-
-static int
-c14nRunTest(const char* xml_filename, int with_comments, int mode,
-           const char* xpath_filename, const char *ns_filename,
-           const char* result_file) {
-    xmlDocPtr doc;
-    xmlXPathObjectPtr xpath = NULL;
-    xmlChar *result = NULL;
-    int ret;
-    xmlChar **inclusive_namespaces = NULL;
-    const char *nslist = NULL;
-    int nssize;
-
-
-    /*
-     * build an XML tree from a the file; we need to add default
-     * attributes and resolve all character and entities references
-     */
-    xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
-    xmlSubstituteEntitiesDefault(1);
-
-    doc = xmlReadFile(xml_filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT);
-    if (doc == NULL) {
-       fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_filename);
-       return(-1);
-    }
-
-    /*
-     * Check the document is of the right kind
-     */
-    if(xmlDocGetRootElement(doc) == NULL) {
-        fprintf(stderr,"Error: empty document for file \"%s\"\n", xml_filename);
-       xmlFreeDoc(doc);
-       return(-1);
-    }
-
-    /*
-     * load xpath file if specified
-     */
-    if(xpath_filename) {
-       xpath = load_xpath_expr(doc, xpath_filename);
-       if(xpath == NULL) {
-           fprintf(stderr,"Error: unable to evaluate xpath expression\n");
-           xmlFreeDoc(doc);
-           return(-1);
-       }
-    }
-
-    if (ns_filename != NULL) {
-        if (loadMem(ns_filename, &nslist, &nssize)) {
-           fprintf(stderr,"Error: unable to evaluate xpath expression\n");
-           if(xpath != NULL) xmlXPathFreeObject(xpath);
-           xmlFreeDoc(doc);
-           return(-1);
-       }
-        inclusive_namespaces = parse_list((xmlChar *) nslist);
-    }
-
-    /*
-     * Canonical form
-     */
-    /* fprintf(stderr,"File \"%s\" loaded: start canonization\n", xml_filename); */
-    ret = xmlC14NDocDumpMemory(doc,
-           (xpath) ? xpath->nodesetval : NULL,
-           mode, inclusive_namespaces,
-           with_comments, &result);
-    if (ret >= 0) {
-       if(result != NULL) {
-           if (compareFileMem(result_file, (const char *) result, ret)) {
-               fprintf(stderr, "Result mismatch for %s\n", xml_filename);
-               fprintf(stderr, "RESULT:\n%s\n", (const char*)result);
-               ret = -1;
-           }
-       }
-    } else {
-       fprintf(stderr,"Error: failed to canonicalize XML file \"%s\" (ret=%d)\n", xml_filename, ret);
-       ret = -1;
-    }
-
-    /*
-     * Cleanup
-     */
-    if (result != NULL) xmlFree(result);
-    if(xpath != NULL) xmlXPathFreeObject(xpath);
-    if (inclusive_namespaces != NULL) xmlFree(inclusive_namespaces);
-    if (nslist != NULL) free((char *) nslist);
-    xmlFreeDoc(doc);
-
-    return(ret);
-}
-
-static int
-c14nCommonTest(const char *filename, int with_comments, int mode,
-               const char *subdir) {
-    char buf[500];
-    char prefix[500];
-    const char *base;
-    int len;
-    char *result = NULL;
-    char *xpath = NULL;
-    char *ns = NULL;
-    int ret = 0;
-
-    base = baseFilename(filename);
-    len = strlen(base);
-    len -= 4;
-    memcpy(prefix, base, len);
-    prefix[len] = 0;
-
-    snprintf(buf, 499, "result/c14n/%s/%s", subdir,prefix);
-    if (!checkTestFile(buf)) {
-        fprintf(stderr, "Missing result file %s", buf);
-       return(-1);
-    }
-    result = strdup(buf);
-    snprintf(buf, 499, "test/c14n/%s/%s.xpath", subdir,prefix);
-    if (checkTestFile(buf)) {
-       xpath = strdup(buf);
-    }
-    snprintf(buf, 499, "test/c14n/%s/%s.ns", subdir,prefix);
-    if (checkTestFile(buf)) {
-       ns = strdup(buf);
-    }
-
-    nb_tests++;
-    if (c14nRunTest(filename, with_comments, mode,
-                    xpath, ns, result) < 0)
-        ret = 1;
-
-    if (result != NULL) free(result);
-    if (xpath != NULL) free(xpath);
-    if (ns != NULL) free(ns);
-    return(ret);
-}
-
-static int
-c14nWithCommentTest(const char *filename,
-                    const char *resul ATTRIBUTE_UNUSED,
-                   const char *err ATTRIBUTE_UNUSED,
-                   int options ATTRIBUTE_UNUSED) {
-    return(c14nCommonTest(filename, 1, XML_C14N_1_0, "with-comments"));
-}
-static int
-c14nWithoutCommentTest(const char *filename,
-                    const char *resul ATTRIBUTE_UNUSED,
-                   const char *err ATTRIBUTE_UNUSED,
-                   int options ATTRIBUTE_UNUSED) {
-    return(c14nCommonTest(filename, 0, XML_C14N_1_0, "without-comments"));
-}
-static int
-c14nExcWithoutCommentTest(const char *filename,
-                    const char *resul ATTRIBUTE_UNUSED,
-                   const char *err ATTRIBUTE_UNUSED,
-                   int options ATTRIBUTE_UNUSED) {
-    return(c14nCommonTest(filename, 0, XML_C14N_EXCLUSIVE_1_0, "exc-without-comments"));
-}
-static int
-c14n11WithoutCommentTest(const char *filename,
-                    const char *resul ATTRIBUTE_UNUSED,
-                   const char *err ATTRIBUTE_UNUSED,
-                   int options ATTRIBUTE_UNUSED) {
-    return(c14nCommonTest(filename, 0, XML_C14N_1_1, "1-1-without-comments"));
-}
-#endif
-#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) && defined (LIBXML_SAX1_ENABLED)
-/************************************************************************
- *                                                                     *
- *                     Catalog and threads test                        *
- *                                                                     *
- ************************************************************************/
-
-/*
- * mostly a cut and paste from testThreads.c
- */
-#define        MAX_ARGC        20
-
-static const char *catalog = "test/threads/complex.xml";
-static const char *testfiles[] = {
-    "test/threads/abc.xml",
-    "test/threads/acb.xml",
-    "test/threads/bac.xml",
-    "test/threads/bca.xml",
-    "test/threads/cab.xml",
-    "test/threads/cba.xml",
-    "test/threads/invalid.xml",
-};
-
-static const char *Okay = "OK";
-static const char *Failed = "Failed";
-
-#ifndef xmlDoValidityCheckingDefaultValue
-#error xmlDoValidityCheckingDefaultValue is not a macro
-#endif
-#ifndef xmlGenericErrorContext
-#error xmlGenericErrorContext is not a macro
-#endif
-
-static void *
-thread_specific_data(void *private_data)
-{
-    xmlDocPtr myDoc;
-    const char *filename = (const char *) private_data;
-    int okay = 1;
-
-    if (!strcmp(filename, "test/threads/invalid.xml")) {
-        xmlDoValidityCheckingDefaultValue = 0;
-        xmlGenericErrorContext = stdout;
-    } else {
-        xmlDoValidityCheckingDefaultValue = 1;
-        xmlGenericErrorContext = stderr;
-    }
-    myDoc = xmlParseFile(filename);
-    if (myDoc) {
-        xmlFreeDoc(myDoc);
-    } else {
-        printf("parse failed\n");
-        okay = 0;
-    }
-    if (!strcmp(filename, "test/threads/invalid.xml")) {
-        if (xmlDoValidityCheckingDefaultValue != 0) {
-            printf("ValidityCheckingDefaultValue override failed\n");
-            okay = 0;
-        }
-        if (xmlGenericErrorContext != stdout) {
-            printf("xmlGenericErrorContext override failed\n");
-            okay = 0;
-        }
-    } else {
-        if (xmlDoValidityCheckingDefaultValue != 1) {
-            printf("ValidityCheckingDefaultValue override failed\n");
-            okay = 0;
-        }
-        if (xmlGenericErrorContext != stderr) {
-            printf("xmlGenericErrorContext override failed\n");
-            okay = 0;
-        }
-    }
-    if (okay == 0)
-        return ((void *) Failed);
-    return ((void *) Okay);
-}
-
-#if defined WIN32
-#include <windows.h>
-#include <string.h>
-
-#define TEST_REPEAT_COUNT 500
-
-static HANDLE tid[MAX_ARGC];
-
-static DWORD WINAPI
-win32_thread_specific_data(void *private_data)
-{
-    return((DWORD) thread_specific_data(private_data));
-}
-
-static int
-testThread(void)
-{
-    unsigned int i, repeat;
-    unsigned int num_threads = sizeof(testfiles) / sizeof(testfiles[0]);
-    DWORD results[MAX_ARGC];
-    BOOL ret;
-    int res = 0;
-
-    xmlInitParser();
-    for (repeat = 0; repeat < TEST_REPEAT_COUNT; repeat++) {
-        xmlLoadCatalog(catalog);
-        nb_tests++;
-
-        for (i = 0; i < num_threads; i++) {
-            results[i] = 0;
-            tid[i] = (HANDLE) - 1;
-        }
-
-        for (i = 0; i < num_threads; i++) {
-            DWORD useless;
-
-            tid[i] = CreateThread(NULL, 0,
-                                  win32_thread_specific_data,
-                                 (void *) testfiles[i], 0,
-                                  &useless);
-            if (tid[i] == NULL) {
-                fprintf(stderr, "CreateThread failed\n");
-                return(1);
-            }
-        }
-
-        if (WaitForMultipleObjects(num_threads, tid, TRUE, INFINITE) ==
-            WAIT_FAILED) {
-            fprintf(stderr, "WaitForMultipleObjects failed\n");
-           return(1);
-       }
-
-        for (i = 0; i < num_threads; i++) {
-            ret = GetExitCodeThread(tid[i], &results[i]);
-            if (ret == 0) {
-                fprintf(stderr, "GetExitCodeThread failed\n");
-                return(1);
-            }
-            CloseHandle(tid[i]);
-        }
-
-        xmlCatalogCleanup();
-        for (i = 0; i < num_threads; i++) {
-            if (results[i] != (DWORD) Okay) {
-                fprintf(stderr, "Thread %d handling %s failed\n",
-                       i, testfiles[i]);
-               res = 1;
-           }
-        }
-    }
-
-    return (res);
-}
-
-#elif defined __BEOS__
-#include <OS.h>
-
-static thread_id tid[MAX_ARGC];
-
-static int
-testThread(void)
-{
-    unsigned int i, repeat;
-    unsigned int num_threads = sizeof(testfiles) / sizeof(testfiles[0]);
-    void *results[MAX_ARGC];
-    status_t ret;
-    int res = 0;
-
-    xmlInitParser();
-    for (repeat = 0; repeat < 500; repeat++) {
-        xmlLoadCatalog(catalog);
-        for (i = 0; i < num_threads; i++) {
-            results[i] = NULL;
-            tid[i] = (thread_id) - 1;
-        }
-        for (i = 0; i < num_threads; i++) {
-            tid[i] =
-                spawn_thread(thread_specific_data, "xmlTestThread",
-                             B_NORMAL_PRIORITY, (void *) testfiles[i]);
-            if (tid[i] < B_OK) {
-                fprintf(stderr, "beos_thread_create failed\n");
-                return (1);
-            }
-            printf("beos_thread_create %d -> %d\n", i, tid[i]);
-        }
-        for (i = 0; i < num_threads; i++) {
-            ret = wait_for_thread(tid[i], &results[i]);
-            printf("beos_thread_wait %d -> %d\n", i, ret);
-            if (ret != B_OK) {
-                fprintf(stderr, "beos_thread_wait failed\n");
-                return (1);
-            }
-        }
-
-        xmlCatalogCleanup();
-        ret = B_OK;
-        for (i = 0; i < num_threads; i++)
-            if (results[i] != (void *) Okay) {
-                printf("Thread %d handling %s failed\n", i, testfiles[i]);
-                ret = B_ERROR;
-            }
-    }
-    if (ret != B_OK)
-        return(1);
-    return (0);
-}
-
-#elif defined HAVE_PTHREAD_H
-#include <pthread.h>
-
-static pthread_t tid[MAX_ARGC];
-
-static int
-testThread(void)
-{
-    unsigned int i, repeat;
-    unsigned int num_threads = sizeof(testfiles) / sizeof(testfiles[0]);
-    void *results[MAX_ARGC];
-    int ret;
-    int res = 0;
-
-    xmlInitParser();
-
-    for (repeat = 0; repeat < 500; repeat++) {
-        xmlLoadCatalog(catalog);
-        nb_tests++;
-
-        for (i = 0; i < num_threads; i++) {
-            results[i] = NULL;
-            tid[i] = (pthread_t) - 1;
-        }
-
-        for (i = 0; i < num_threads; i++) {
-            ret = pthread_create(&tid[i], 0, thread_specific_data,
-                                 (void *) testfiles[i]);
-            if (ret != 0) {
-                fprintf(stderr, "pthread_create failed\n");
-                return (1);
-            }
-        }
-        for (i = 0; i < num_threads; i++) {
-            ret = pthread_join(tid[i], &results[i]);
-            if (ret != 0) {
-                fprintf(stderr, "pthread_join failed\n");
-                return (1);
-            }
-        }
-
-        xmlCatalogCleanup();
-        for (i = 0; i < num_threads; i++)
-            if (results[i] != (void *) Okay) {
-                fprintf(stderr, "Thread %d handling %s failed\n",
-                        i, testfiles[i]);
-                res = 1;
-            }
-    }
-    return (res);
-}
-
-#else
-static int
-testThread(void)
-{
-    fprintf(stderr,
-            "Specific platform thread support not detected\n");
-    return (-1);
-}
-#endif
-static int
-threadsTest(const char *filename ATTRIBUTE_UNUSED,
-           const char *resul ATTRIBUTE_UNUSED,
-           const char *err ATTRIBUTE_UNUSED,
-           int options ATTRIBUTE_UNUSED) {
-    return(testThread());
-}
-#endif
-/************************************************************************
- *                                                                     *
- *                     Tests Descriptions                              *
- *                                                                     *
- ************************************************************************/
-
-static
-testDesc testDescriptions[] = {
-    { "XML regression tests" ,
-      oldParseTest, "./test/*", "result/", "", NULL,
-      0 },
-    { "XML regression tests on memory" ,
-      memParseTest, "./test/*", "result/", "", NULL,
-      0 },
-    { "XML entity subst regression tests" ,
-      noentParseTest, "./test/*", "result/noent/", "", NULL,
-      XML_PARSE_NOENT },
-    { "XML Namespaces regression tests",
-      errParseTest, "./test/namespaces/*", "result/namespaces/", "", ".err",
-      0 },
-    { "Error cases regression tests",
-      errParseTest, "./test/errors/*.xml", "result/errors/", "", ".err",
-      0 },
-#ifdef LIBXML_READER_ENABLED
-    { "Error cases stream regression tests",
-      streamParseTest, "./test/errors/*.xml", "result/errors/", NULL, ".str",
-      0 },
-    { "Reader regression tests",
-      streamParseTest, "./test/*", "result/", ".rdr", NULL,
-      0 },
-    { "Reader entities substitution regression tests",
-      streamParseTest, "./test/*", "result/", ".rde", NULL,
-      XML_PARSE_NOENT },
-    { "Reader on memory regression tests",
-      streamMemParseTest, "./test/*", "result/", ".rdr", NULL,
-      0 },
-    { "Walker regression tests",
-      walkerParseTest, "./test/*", "result/", ".rdr", NULL,
-      0 },
-#endif
-#ifdef LIBXML_SAX1_ENABLED
-    { "SAX1 callbacks regression tests" ,
-      saxParseTest, "./test/*", "result/", ".sax", NULL,
-      XML_PARSE_SAX1 },
-    { "SAX2 callbacks regression tests" ,
-      saxParseTest, "./test/*", "result/", ".sax2", NULL,
-      0 },
-#endif
-#ifdef LIBXML_PUSH_ENABLED
-    { "XML push regression tests" ,
-      pushParseTest, "./test/*", "result/", "", NULL,
-      0 },
-#endif
-#ifdef LIBXML_HTML_ENABLED
-    { "HTML regression tests" ,
-      errParseTest, "./test/HTML/*", "result/HTML/", "", ".err",
-      XML_PARSE_HTML },
-#ifdef LIBXML_PUSH_ENABLED
-    { "Push HTML regression tests" ,
-      pushParseTest, "./test/HTML/*", "result/HTML/", "", ".err",
-      XML_PARSE_HTML },
-#endif
-#ifdef LIBXML_SAX1_ENABLED
-    { "HTML SAX regression tests" ,
-      saxParseTest, "./test/HTML/*", "result/HTML/", ".sax", NULL,
-      XML_PARSE_HTML },
-#endif
-#endif
-#ifdef LIBXML_VALID_ENABLED
-    { "Valid documents regression tests" ,
-      errParseTest, "./test/VCM/*", NULL, NULL, NULL,
-      XML_PARSE_DTDVALID },
-    { "Validity checking regression tests" ,
-      errParseTest, "./test/VC/*", "result/VC/", NULL, "",
-      XML_PARSE_DTDVALID },
-    { "General documents valid regression tests" ,
-      errParseTest, "./test/valid/*", "result/valid/", "", ".err",
-      XML_PARSE_DTDVALID },
-#endif
-#ifdef LIBXML_XINCLUDE_ENABLED
-    { "XInclude regression tests" ,
-      errParseTest, "./test/XInclude/docs/*", "result/XInclude/", "", NULL,
-      /* Ignore errors at this point ".err", */
-      XML_PARSE_XINCLUDE },
-#ifdef LIBXML_READER_ENABLED
-    { "XInclude xmlReader regression tests",
-      streamParseTest, "./test/XInclude/docs/*", "result/XInclude/", ".rdr",
-      /* Ignore errors at this point ".err", */
-      NULL, XML_PARSE_XINCLUDE },
-#endif
-    { "XInclude regression tests stripping include nodes" ,
-      errParseTest, "./test/XInclude/docs/*", "result/XInclude/", "", NULL,
-      /* Ignore errors at this point ".err", */
-      XML_PARSE_XINCLUDE | XML_PARSE_NOXINCNODE },
-#ifdef LIBXML_READER_ENABLED
-    { "XInclude xmlReader regression tests stripping include nodes",
-      streamParseTest, "./test/XInclude/docs/*", "result/XInclude/", ".rdr",
-      /* Ignore errors at this point ".err", */
-      NULL, XML_PARSE_XINCLUDE | XML_PARSE_NOXINCNODE },
-#endif
-#endif
-#ifdef LIBXML_XPATH_ENABLED
-#ifdef LIBXML_DEBUG_ENABLED
-    { "XPath expressions regression tests" ,
-      xpathExprTest, "./test/XPath/expr/*", "result/XPath/expr/", "", NULL,
-      0 },
-    { "XPath document queries regression tests" ,
-      xpathDocTest, "./test/XPath/docs/*", NULL, NULL, NULL,
-      0 },
-#ifdef LIBXML_XPTR_ENABLED
-    { "XPointer document queries regression tests" ,
-      xptrDocTest, "./test/XPath/docs/*", NULL, NULL, NULL,
-      0 },
-#endif
-    { "xml:id regression tests" ,
-      xmlidDocTest, "./test/xmlid/*", "result/xmlid/", "", ".err",
-      0 },
-#endif
-#endif
-    { "URI parsing tests" ,
-      uriParseTest, "./test/URI/*.uri", "result/URI/", "", NULL,
-      0 },
-    { "URI base composition tests" ,
-      uriBaseTest, "./test/URI/*.data", "result/URI/", "", NULL,
-      0 },
-    { "Path URI conversion tests" ,
-      uriPathTest, NULL, NULL, NULL, NULL,
-      0 },
-#ifdef LIBXML_SCHEMAS_ENABLED
-    { "Schemas regression tests" ,
-      schemasTest, "./test/schemas/*_*.xsd", NULL, NULL, NULL,
-      0 },
-    { "Relax-NG regression tests" ,
-      rngTest, "./test/relaxng/*.rng", NULL, NULL, NULL,
-      XML_PARSE_DTDATTR | XML_PARSE_NOENT },
-#ifdef LIBXML_READER_ENABLED
-    { "Relax-NG streaming regression tests" ,
-      rngStreamTest, "./test/relaxng/*.rng", NULL, NULL, NULL,
-      XML_PARSE_DTDATTR | XML_PARSE_NOENT },
-#endif
-#endif
-#ifdef LIBXML_PATTERN_ENABLED
-#ifdef LIBXML_READER_ENABLED
-    { "Pattern regression tests" ,
-      patternTest, "./test/pattern/*.pat", "result/pattern/", NULL, NULL,
-      0 },
-#endif
-#endif
-#ifdef LIBXML_C14N_ENABLED
-    { "C14N with comments regression tests" ,
-      c14nWithCommentTest, "./test/c14n/with-comments/*.xml", NULL, NULL, NULL,
-      0 },
-    { "C14N without comments regression tests" ,
-      c14nWithoutCommentTest, "./test/c14n/without-comments/*.xml", NULL, NULL, NULL,
-      0 },
-    { "C14N exclusive without comments regression tests" ,
-      c14nExcWithoutCommentTest, "./test/c14n/exc-without-comments/*.xml", NULL, NULL, NULL,
-      0 },
-    { "C14N 1.1 without comments regression tests" ,
-      c14n11WithoutCommentTest, "./test/c14n/1-1-without-comments/*.xml", NULL, NULL, NULL,
-      0 },
-#endif
-#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_SAX1_ENABLED)
-    { "Catalog and Threads regression tests" ,
-      threadsTest, NULL, NULL, NULL, NULL,
-      0 },
-#endif
-    {NULL, NULL, NULL, NULL, NULL, NULL, 0}
-};
-
-/************************************************************************
- *                                                                     *
- *             The main code driving the tests                         *
- *                                                                     *
- ************************************************************************/
-
-static int
-launchTests(testDescPtr tst) {
-    int res = 0, err = 0;
-    size_t i;
-    char *result;
-    char *error;
-    int mem;
-
-    if (tst == NULL) return(-1);
-    if (tst->in != NULL) {
-       glob_t globbuf;
-
-       globbuf.gl_offs = 0;
-       glob(tst->in, GLOB_DOOFFS, NULL, &globbuf);
-       for (i = 0;i < globbuf.gl_pathc;i++) {
-           if (!checkTestFile(globbuf.gl_pathv[i]))
-               continue;
-           if (tst->suffix != NULL) {
-               result = resultFilename(globbuf.gl_pathv[i], tst->out,
-                                       tst->suffix);
-               if (result == NULL) {
-                   fprintf(stderr, "Out of memory !\n");
-                   fatalError();
-               }
-           } else {
-               result = NULL;
-           }
-           if (tst->err != NULL) {
-               error = resultFilename(globbuf.gl_pathv[i], tst->out,
-                                       tst->err);
-               if (error == NULL) {
-                   fprintf(stderr, "Out of memory !\n");
-                   fatalError();
-               }
-           } else {
-               error = NULL;
-           }
-           if ((result) &&(!checkTestFile(result))) {
-               fprintf(stderr, "Missing result file %s\n", result);
-           } else if ((error) &&(!checkTestFile(error))) {
-               fprintf(stderr, "Missing error file %s\n", error);
-           } else {
-               mem = xmlMemUsed();
-               extraMemoryFromResolver = 0;
-               testErrorsSize = 0;
-               testErrors[0] = 0;
-               res = tst->func(globbuf.gl_pathv[i], result, error,
-                               tst->options | XML_PARSE_COMPACT);
-               xmlResetLastError();
-               if (res != 0) {
-                   fprintf(stderr, "File %s generated an error\n",
-                           globbuf.gl_pathv[i]);
-                   nb_errors++;
-                   err++;
-               }
-               else if (xmlMemUsed() != mem) {
-                   if ((xmlMemUsed() != mem) &&
-                       (extraMemoryFromResolver == 0)) {
-                       fprintf(stderr, "File %s leaked %d bytes\n",
-                               globbuf.gl_pathv[i], xmlMemUsed() - mem);
-                       nb_leaks++;
-                       err++;
-                   }
-               }
-               testErrorsSize = 0;
-           }
-           if (result)
-               free(result);
-           if (error)
-               free(error);
-       }
-       globfree(&globbuf);
-    } else {
-        testErrorsSize = 0;
-       testErrors[0] = 0;
-       extraMemoryFromResolver = 0;
-        res = tst->func(NULL, NULL, NULL, tst->options);
-       if (res != 0) {
-           nb_errors++;
-           err++;
-       }
-    }
-    return(err);
-}
-
-static int verbose = 0;
-static int tests_quiet = 0;
-
-static int
-runtest(int i) {
-    int ret = 0, res;
-    int old_errors, old_tests, old_leaks;
-
-    old_errors = nb_errors;
-    old_tests = nb_tests;
-    old_leaks = nb_leaks;
-    if ((tests_quiet == 0) && (testDescriptions[i].desc != NULL))
-       printf("## %s\n", testDescriptions[i].desc);
-    res = launchTests(&testDescriptions[i]);
-    if (res != 0)
-       ret++;
-    if (verbose) {
-       if ((nb_errors == old_errors) && (nb_leaks == old_leaks))
-           printf("Ran %d tests, no errors\n", nb_tests - old_tests);
-       else
-           printf("Ran %d tests, %d errors, %d leaks\n",
-                  nb_tests - old_tests,
-                  nb_errors - old_errors,
-                  nb_leaks - old_leaks);
-    }
-    return(ret);
-}
-
-int
-main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    int i, a, ret = 0;
-    int subset = 0;
-
-    initializeLibxml2();
-
-    for (a = 1; a < argc;a++) {
-        if (!strcmp(argv[a], "-v"))
-           verbose = 1;
-        else if (!strcmp(argv[a], "-quiet"))
-           tests_quiet = 1;
-       else {
-           for (i = 0; testDescriptions[i].func != NULL; i++) {
-               if (strstr(testDescriptions[i].desc, argv[a])) {
-                   ret += runtest(i);
-                   subset++;
-               }
-           }
-       }
-    }
-    if (subset == 0) {
-       for (i = 0; testDescriptions[i].func != NULL; i++) {
-           ret += runtest(i);
-       }
-    }
-    if ((nb_errors == 0) && (nb_leaks == 0)) {
-        ret = 0;
-       printf("Total %d tests, no errors\n",
-              nb_tests);
-    } else {
-        ret = 1;
-       printf("Total %d tests, %d errors, %d leaks\n",
-              nb_tests, nb_errors, nb_leaks);
-    }
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(ret);
-}
-
-#else /* ! LIBXML_OUTPUT_ENABLED */
-int
-main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    fprintf(stderr, "runtest requires output to be enabled in libxml2\n");
-    return(1);
-}
-#endif
diff --git a/reactos/lib/3rdparty/libxml2/runxmlconf.c b/reactos/lib/3rdparty/libxml2/runxmlconf.c
deleted file mode 100644 (file)
index cef20f4..0000000
+++ /dev/null
@@ -1,607 +0,0 @@
-/*
- * runsuite.c: C program to run libxml2 againts published testsuites
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-#include <stdio.h>
-
-#ifdef LIBXML_XPATH_ENABLED
-
-#if !defined(_WIN32) || defined(__CYGWIN__)
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#include <libxml/parser.h>
-#include <libxml/parserInternals.h>
-#include <libxml/tree.h>
-#include <libxml/uri.h>
-#include <libxml/xmlreader.h>
-
-#include <libxml/xpath.h>
-#include <libxml/xpathInternals.h>
-
-#define LOGFILE "runxmlconf.log"
-static FILE *logfile = NULL;
-static int verbose = 0;
-
-#define NB_EXPECTED_ERRORS 15
-
-
-const char *skipped_tests[] = {
-/* http://lists.w3.org/Archives/Public/public-xml-testsuite/2008Jul/0000.html */
-    "rmt-ns10-035",
-    NULL
-};
-
-/************************************************************************
- *                                                                     *
- *             File name and path utilities                            *
- *                                                                     *
- ************************************************************************/
-
-static int checkTestFile(const char *filename) {
-    struct stat buf;
-
-    if (stat(filename, &buf) == -1)
-        return(0);
-
-#if defined(_WIN32) && !defined(__CYGWIN__)
-    if (!(buf.st_mode & _S_IFREG))
-        return(0);
-#else
-    if (!S_ISREG(buf.st_mode))
-        return(0);
-#endif
-
-    return(1);
-}
-
-static xmlChar *composeDir(const xmlChar *dir, const xmlChar *path) {
-    char buf[500];
-
-    if (dir == NULL) return(xmlStrdup(path));
-    if (path == NULL) return(NULL);
-
-    snprintf(buf, 500, "%s/%s", (const char *) dir, (const char *) path);
-    return(xmlStrdup((const xmlChar *) buf));
-}
-
-/************************************************************************
- *                                                                     *
- *             Libxml2 specific routines                               *
- *                                                                     *
- ************************************************************************/
-
-static int nb_skipped = 0;
-static int nb_tests = 0;
-static int nb_errors = 0;
-static int nb_leaks = 0;
-
-/*
- * We need to trap calls to the resolver to not account memory for the catalog
- * and not rely on any external resources.
- */
-static xmlParserInputPtr
-testExternalEntityLoader(const char *URL, const char *ID ATTRIBUTE_UNUSED,
-                        xmlParserCtxtPtr ctxt) {
-    xmlParserInputPtr ret;
-
-    ret = xmlNewInputFromFile(ctxt, (const char *) URL);
-
-    return(ret);
-}
-
-/*
- * Trapping the error messages at the generic level to grab the equivalent of
- * stderr messages on CLI tools.
- */
-static char testErrors[32769];
-static int testErrorsSize = 0;
-static int nbError = 0;
-static int nbFatal = 0;
-
-static void test_log(const char *msg, ...) {
-    va_list args;
-    if (logfile != NULL) {
-        fprintf(logfile, "\n------------\n");
-       va_start(args, msg);
-       vfprintf(logfile, msg, args);
-       va_end(args);
-       fprintf(logfile, "%s", testErrors);
-       testErrorsSize = 0; testErrors[0] = 0;
-    }
-    if (verbose) {
-       va_start(args, msg);
-       vfprintf(stderr, msg, args);
-       va_end(args);
-    }
-}
-
-static void
-testErrorHandler(void *userData ATTRIBUTE_UNUSED, xmlErrorPtr error) {
-    int res;
-
-    if (testErrorsSize >= 32768)
-        return;
-    res = snprintf(&testErrors[testErrorsSize],
-                    32768 - testErrorsSize,
-                  "%s:%d: %s\n", (error->file ? error->file : "entity"),
-                  error->line, error->message);
-    if (error->level == XML_ERR_FATAL)
-        nbFatal++;
-    else if (error->level == XML_ERR_ERROR)
-        nbError++;
-    if (testErrorsSize + res >= 32768) {
-        /* buffer is full */
-       testErrorsSize = 32768;
-       testErrors[testErrorsSize] = 0;
-    } else {
-        testErrorsSize += res;
-    }
-    testErrors[testErrorsSize] = 0;
-}
-
-static xmlXPathContextPtr ctxtXPath;
-
-static void
-initializeLibxml2(void) {
-    xmlGetWarningsDefaultValue = 0;
-    xmlPedanticParserDefault(0);
-
-    xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup);
-    xmlInitParser();
-    xmlSetExternalEntityLoader(testExternalEntityLoader);
-    ctxtXPath = xmlXPathNewContext(NULL);
-    /*
-    * Deactivate the cache if created; otherwise we have to create/free it
-    * for every test, since it will confuse the memory leak detection.
-    * Note that normally this need not be done, since the cache is not
-    * created until set explicitely with xmlXPathContextSetCache();
-    * but for test purposes it is sometimes usefull to activate the
-    * cache by default for the whole library.
-    */
-    if (ctxtXPath->cache != NULL)
-       xmlXPathContextSetCache(ctxtXPath, 0, -1, 0);
-    xmlSetStructuredErrorFunc(NULL, testErrorHandler);
-}
-
-/************************************************************************
- *                                                                     *
- *             Run the xmlconf test if found                           *
- *                                                                     *
- ************************************************************************/
-
-static int
-xmlconfTestInvalid(const char *id, const char *filename, int options) {
-    xmlDocPtr doc;
-    xmlParserCtxtPtr ctxt;
-    int ret = 1;
-
-    ctxt = xmlNewParserCtxt();
-    if (ctxt == NULL) {
-        test_log("test %s : %s out of memory\n",
-                id, filename);
-        return(0);
-    }
-    doc = xmlCtxtReadFile(ctxt, filename, NULL, options);
-    if (doc == NULL) {
-        test_log("test %s : %s invalid document turned not well-formed too\n",
-                id, filename);
-    } else {
-    /* invalidity should be reported both in the context and in the document */
-        if ((ctxt->valid != 0) || (doc->properties & XML_DOC_DTDVALID)) {
-           test_log("test %s : %s failed to detect invalid document\n",
-                    id, filename);
-           nb_errors++;
-           ret = 0;
-       }
-       xmlFreeDoc(doc);
-    }
-    xmlFreeParserCtxt(ctxt);
-    return(ret);
-}
-
-static int
-xmlconfTestValid(const char *id, const char *filename, int options) {
-    xmlDocPtr doc;
-    xmlParserCtxtPtr ctxt;
-    int ret = 1;
-
-    ctxt = xmlNewParserCtxt();
-    if (ctxt == NULL) {
-        test_log("test %s : %s out of memory\n",
-                id, filename);
-        return(0);
-    }
-    doc = xmlCtxtReadFile(ctxt, filename, NULL, options);
-    if (doc == NULL) {
-        test_log("test %s : %s failed to parse a valid document\n",
-                id, filename);
-        nb_errors++;
-       ret = 0;
-    } else {
-    /* validity should be reported both in the context and in the document */
-        if ((ctxt->valid == 0) || ((doc->properties & XML_DOC_DTDVALID) == 0)) {
-           test_log("test %s : %s failed to validate a valid document\n",
-                    id, filename);
-           nb_errors++;
-           ret = 0;
-       }
-       xmlFreeDoc(doc);
-    }
-    xmlFreeParserCtxt(ctxt);
-    return(ret);
-}
-
-static int
-xmlconfTestNotNSWF(const char *id, const char *filename, int options) {
-    xmlDocPtr doc;
-    int ret = 1;
-
-    /*
-     * In case of Namespace errors, libxml2 will still parse the document
-     * but log a Namesapce error.
-     */
-    doc = xmlReadFile(filename, NULL, options);
-    if (doc == NULL) {
-        test_log("test %s : %s failed to parse the XML\n",
-                id, filename);
-        nb_errors++;
-       ret = 0;
-    } else {
-       if ((xmlLastError.code == XML_ERR_OK) ||
-           (xmlLastError.domain != XML_FROM_NAMESPACE)) {
-           test_log("test %s : %s failed to detect namespace error\n",
-                    id, filename);
-           nb_errors++;
-           ret = 0;
-       }
-       xmlFreeDoc(doc);
-    }
-    return(ret);
-}
-
-static int
-xmlconfTestNotWF(const char *id, const char *filename, int options) {
-    xmlDocPtr doc;
-    int ret = 1;
-
-    doc = xmlReadFile(filename, NULL, options);
-    if (doc != NULL) {
-        test_log("test %s : %s failed to detect not well formedness\n",
-                id, filename);
-        nb_errors++;
-       xmlFreeDoc(doc);
-       ret = 0;
-    }
-    return(ret);
-}
-
-static int
-xmlconfTestItem(xmlDocPtr doc, xmlNodePtr cur) {
-    int ret = -1;
-    xmlChar *type = NULL;
-    xmlChar *filename = NULL;
-    xmlChar *uri = NULL;
-    xmlChar *base = NULL;
-    xmlChar *id = NULL;
-    xmlChar *rec = NULL;
-    xmlChar *version = NULL;
-    xmlChar *entities = NULL;
-    xmlChar *edition = NULL;
-    int options = 0;
-    int nstest = 0;
-    int mem, final;
-    int i;
-
-    testErrorsSize = 0; testErrors[0] = 0;
-    nbError = 0;
-    nbFatal = 0;
-    id = xmlGetProp(cur, BAD_CAST "ID");
-    if (id == NULL) {
-        test_log("test missing ID, line %ld\n", xmlGetLineNo(cur));
-       goto error;
-    }
-    for (i = 0;skipped_tests[i] != NULL;i++) {
-        if (!strcmp(skipped_tests[i], (char *) id)) {
-           test_log("Skipping test %s from skipped list\n", (char *) id);
-           ret = 0;
-           nb_skipped++;
-           goto error;
-       }
-    }
-    type = xmlGetProp(cur, BAD_CAST "TYPE");
-    if (type == NULL) {
-        test_log("test %s missing TYPE\n", (char *) id);
-       goto error;
-    }
-    uri = xmlGetProp(cur, BAD_CAST "URI");
-    if (uri == NULL) {
-        test_log("test %s missing URI\n", (char *) id);
-       goto error;
-    }
-    base = xmlNodeGetBase(doc, cur);
-    filename = composeDir(base, uri);
-    if (!checkTestFile((char *) filename)) {
-        test_log("test %s missing file %s \n", id,
-                (filename ? (char *)filename : "NULL"));
-       goto error;
-    }
-
-    version = xmlGetProp(cur, BAD_CAST "VERSION");
-
-    entities = xmlGetProp(cur, BAD_CAST "ENTITIES");
-    if (!xmlStrEqual(entities, BAD_CAST "none")) {
-        options |= XML_PARSE_DTDLOAD;
-        options |= XML_PARSE_NOENT;
-    }
-    rec = xmlGetProp(cur, BAD_CAST "RECOMMENDATION");
-    if ((rec == NULL) ||
-        (xmlStrEqual(rec, BAD_CAST "XML1.0")) ||
-       (xmlStrEqual(rec, BAD_CAST "XML1.0-errata2e")) ||
-       (xmlStrEqual(rec, BAD_CAST "XML1.0-errata3e")) ||
-       (xmlStrEqual(rec, BAD_CAST "XML1.0-errata4e"))) {
-       if ((version != NULL) && (!xmlStrEqual(version, BAD_CAST "1.0"))) {
-           test_log("Skipping test %s for %s\n", (char *) id,
-                    (char *) version);
-           ret = 0;
-           nb_skipped++;
-           goto error;
-       }
-       ret = 1;
-    } else if ((xmlStrEqual(rec, BAD_CAST "NS1.0")) ||
-              (xmlStrEqual(rec, BAD_CAST "NS1.0-errata1e"))) {
-       ret = 1;
-       nstest = 1;
-    } else {
-        test_log("Skipping test %s for REC %s\n", (char *) id, (char *) rec);
-       ret = 0;
-       nb_skipped++;
-       goto error;
-    }
-    edition = xmlGetProp(cur, BAD_CAST "EDITION");
-    if ((edition != NULL) && (xmlStrchr(edition, '5') == NULL)) {
-        /* test limited to all versions before 5th */
-       options |= XML_PARSE_OLD10;
-    }
-
-    /*
-     * Reset errors and check memory usage before the test
-     */
-    xmlResetLastError();
-    testErrorsSize = 0; testErrors[0] = 0;
-    mem = xmlMemUsed();
-
-    if (xmlStrEqual(type, BAD_CAST "not-wf")) {
-        if (nstest == 0)
-           xmlconfTestNotWF((char *) id, (char *) filename, options);
-        else
-           xmlconfTestNotNSWF((char *) id, (char *) filename, options);
-    } else if (xmlStrEqual(type, BAD_CAST "valid")) {
-        options |= XML_PARSE_DTDVALID;
-       xmlconfTestValid((char *) id, (char *) filename, options);
-    } else if (xmlStrEqual(type, BAD_CAST "invalid")) {
-        options |= XML_PARSE_DTDVALID;
-       xmlconfTestInvalid((char *) id, (char *) filename, options);
-    } else if (xmlStrEqual(type, BAD_CAST "error")) {
-        test_log("Skipping error test %s \n", (char *) id);
-       ret = 0;
-       nb_skipped++;
-       goto error;
-    } else {
-        test_log("test %s unknown TYPE value %s\n", (char *) id, (char *)type);
-       ret = -1;
-       goto error;
-    }
-
-    /*
-     * Reset errors and check memory usage after the test
-     */
-    xmlResetLastError();
-    final = xmlMemUsed();
-    if (final > mem) {
-        test_log("test %s : %s leaked %d bytes\n",
-                id, filename, final - mem);
-        nb_leaks++;
-       xmlMemDisplayLast(logfile, final - mem);
-    }
-    nb_tests++;
-
-error:
-    if (type != NULL)
-        xmlFree(type);
-    if (entities != NULL)
-        xmlFree(entities);
-    if (edition != NULL)
-        xmlFree(edition);
-    if (version != NULL)
-        xmlFree(version);
-    if (filename != NULL)
-        xmlFree(filename);
-    if (uri != NULL)
-        xmlFree(uri);
-    if (base != NULL)
-        xmlFree(base);
-    if (id != NULL)
-        xmlFree(id);
-    if (rec != NULL)
-        xmlFree(rec);
-    return(ret);
-}
-
-static int
-xmlconfTestCases(xmlDocPtr doc, xmlNodePtr cur, int level) {
-    xmlChar *profile;
-    int ret = 0;
-    int tests = 0;
-    int output = 0;
-
-    if (level == 1) {
-       profile = xmlGetProp(cur, BAD_CAST "PROFILE");
-       if (profile != NULL) {
-           output = 1;
-           level++;
-           printf("Test cases: %s\n", (char *) profile);
-           xmlFree(profile);
-       }
-    }
-    cur = cur->children;
-    while (cur != NULL) {
-        /* look only at elements we ignore everything else */
-        if (cur->type == XML_ELEMENT_NODE) {
-           if (xmlStrEqual(cur->name, BAD_CAST "TESTCASES")) {
-               ret += xmlconfTestCases(doc, cur, level);
-           } else if (xmlStrEqual(cur->name, BAD_CAST "TEST")) {
-               if (xmlconfTestItem(doc, cur) >= 0)
-                   ret++;
-               tests++;
-           } else {
-               fprintf(stderr, "Unhandled element %s\n", (char *)cur->name);
-           }
-       }
-        cur = cur->next;
-    }
-    if (output == 1) {
-       if (tests > 0)
-           printf("Test cases: %d tests\n", tests);
-    }
-    return(ret);
-}
-
-static int
-xmlconfTestSuite(xmlDocPtr doc, xmlNodePtr cur) {
-    xmlChar *profile;
-    int ret = 0;
-
-    profile = xmlGetProp(cur, BAD_CAST "PROFILE");
-    if (profile != NULL) {
-        printf("Test suite: %s\n", (char *) profile);
-       xmlFree(profile);
-    } else
-        printf("Test suite\n");
-    cur = cur->children;
-    while (cur != NULL) {
-        /* look only at elements we ignore everything else */
-        if (cur->type == XML_ELEMENT_NODE) {
-           if (xmlStrEqual(cur->name, BAD_CAST "TESTCASES")) {
-               ret += xmlconfTestCases(doc, cur, 1);
-           } else {
-               fprintf(stderr, "Unhandled element %s\n", (char *)cur->name);
-           }
-       }
-        cur = cur->next;
-    }
-    return(ret);
-}
-
-static void
-xmlconfInfo(void) {
-    fprintf(stderr, "  you need to fetch and extract the\n");
-    fprintf(stderr, "  latest XML Conformance Test Suites\n");
-    fprintf(stderr, "  http://www.w3.org/XML/Test/xmlts20080827.tar.gz\n");
-    fprintf(stderr, "  see http://www.w3.org/XML/Test/ for informations\n");
-}
-
-static int
-xmlconfTest(void) {
-    const char *confxml = "xmlconf/xmlconf.xml";
-    xmlDocPtr doc;
-    xmlNodePtr cur;
-    int ret = 0;
-
-    if (!checkTestFile(confxml)) {
-        fprintf(stderr, "%s is missing \n", confxml);
-       xmlconfInfo();
-       return(-1);
-    }
-    doc = xmlReadFile(confxml, NULL, XML_PARSE_NOENT);
-    if (doc == NULL) {
-        fprintf(stderr, "%s is corrupted \n", confxml);
-       xmlconfInfo();
-       return(-1);
-    }
-
-    cur = xmlDocGetRootElement(doc);
-    if ((cur == NULL) || (!xmlStrEqual(cur->name, BAD_CAST "TESTSUITE"))) {
-        fprintf(stderr, "Unexpected format %s\n", confxml);
-       xmlconfInfo();
-       ret = -1;
-    } else {
-        ret = xmlconfTestSuite(doc, cur);
-    }
-    xmlFreeDoc(doc);
-    return(ret);
-}
-
-/************************************************************************
- *                                                                     *
- *             The driver for the tests                                *
- *                                                                     *
- ************************************************************************/
-
-int
-main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    int ret = 0;
-    int old_errors, old_tests, old_leaks;
-
-    logfile = fopen(LOGFILE, "w");
-    if (logfile == NULL) {
-        fprintf(stderr,
-               "Could not open the log file, running in verbose mode\n");
-       verbose = 1;
-    }
-    initializeLibxml2();
-
-    if ((argc >= 2) && (!strcmp(argv[1], "-v")))
-        verbose = 1;
-
-
-    old_errors = nb_errors;
-    old_tests = nb_tests;
-    old_leaks = nb_leaks;
-    xmlconfTest();
-    if ((nb_errors == old_errors) && (nb_leaks == old_leaks))
-       printf("Ran %d tests, no errors\n", nb_tests - old_tests);
-    else
-       printf("Ran %d tests, %d errors, %d leaks\n",
-              nb_tests - old_tests,
-              nb_errors - old_errors,
-              nb_leaks - old_leaks);
-    if ((nb_errors == 0) && (nb_leaks == 0)) {
-        ret = 0;
-       printf("Total %d tests, no errors\n",
-              nb_tests);
-    } else {
-       ret = 1;
-       printf("Total %d tests, %d errors, %d leaks\n",
-              nb_tests, nb_errors, nb_leaks);
-       printf("See %s for detailed output\n", LOGFILE);
-       if ((nb_leaks == 0) && (nb_errors == NB_EXPECTED_ERRORS)) {
-           printf("%d errors were expected\n", nb_errors);
-           ret = 0;
-       }
-    }
-    xmlXPathFreeContext(ctxtXPath);
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    if (logfile != NULL)
-        fclose(logfile);
-    return(ret);
-}
-
-#else /* ! LIBXML_XPATH_ENABLED */
-#include <stdio.h>
-int
-main(int argc, char **argv) {
-    fprintf(stderr, "%s need XPath support\n", argv[0]);
-}
-#endif
diff --git a/reactos/lib/3rdparty/libxml2/testAutomata.c b/reactos/lib/3rdparty/libxml2/testAutomata.c
deleted file mode 100644 (file)
index 6c4de90..0000000
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- * testRegexp.c: simple module for testing regular expressions
- *
- * See Copyright for the status of this software.
- *
- * Daniel Veillard <veillard@redhat.com>
- */
-
-#include "libxml.h"
-#ifdef LIBXML_AUTOMATA_ENABLED
-#include <string.h>
-
-#include <libxml/tree.h>
-#include <libxml/xmlautomata.h>
-
-static int scanNumber(char **ptr) {
-    int ret = 0;
-    char *cur;
-
-    cur = *ptr;
-    while ((*cur >= '0') && (*cur <= '9')) {
-       ret = ret * 10 + (*cur - '0');
-       cur++;
-    }
-    *ptr = cur;
-    return(ret);
-}
-
-static void
-testRegexpFile(const char *filename) {
-    FILE *input;
-    char expr[5000];
-    int len;
-    int ret;
-    int i;
-    xmlAutomataPtr am;
-    xmlAutomataStatePtr states[1000];
-    xmlRegexpPtr regexp = NULL;
-    xmlRegExecCtxtPtr exec = NULL;
-
-    for (i = 0;i<1000;i++)
-       states[i] = NULL;
-
-    input = fopen(filename, "r");
-    if (input == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-               "Cannot open %s for reading\n", filename);
-       return;
-    }
-
-    am = xmlNewAutomata();
-    if (am == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-               "Cannot create automata\n");
-       fclose(input);
-       return;
-    }
-    states[0] = xmlAutomataGetInitState(am);
-    if (states[0] == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-               "Cannot get start state\n");
-       xmlFreeAutomata(am);
-       fclose(input);
-       return;
-    }
-    ret = 0;
-
-    while (fgets(expr, 4500, input) != NULL) {
-       if (expr[0] == '#')
-           continue;
-       len = strlen(expr);
-       len--;
-       while ((len >= 0) &&
-              ((expr[len] == '\n') || (expr[len] == '\t') ||
-               (expr[len] == '\r') || (expr[len] == ' '))) len--;
-       expr[len + 1] = 0;
-       if (len >= 0) {
-           if ((am != NULL) && (expr[0] == 't') && (expr[1] == ' ')) {
-               char *ptr = &expr[2];
-               int from, to;
-
-               from = scanNumber(&ptr);
-               if (*ptr != ' ') {
-                   xmlGenericError(xmlGenericErrorContext,
-                           "Bad line %s\n", expr);
-                   break;
-               }
-               if (states[from] == NULL)
-                   states[from] = xmlAutomataNewState(am);
-               ptr++;
-               to = scanNumber(&ptr);
-               if (*ptr != ' ') {
-                   xmlGenericError(xmlGenericErrorContext,
-                           "Bad line %s\n", expr);
-                   break;
-               }
-               if (states[to] == NULL)
-                   states[to] = xmlAutomataNewState(am);
-               ptr++;
-               xmlAutomataNewTransition(am, states[from], states[to],
-                                        BAD_CAST ptr, NULL);
-           } else if ((am != NULL) && (expr[0] == 'e') && (expr[1] == ' ')) {
-               char *ptr = &expr[2];
-               int from, to;
-
-               from = scanNumber(&ptr);
-               if (*ptr != ' ') {
-                   xmlGenericError(xmlGenericErrorContext,
-                           "Bad line %s\n", expr);
-                   break;
-               }
-               if (states[from] == NULL)
-                   states[from] = xmlAutomataNewState(am);
-               ptr++;
-               to = scanNumber(&ptr);
-               if (states[to] == NULL)
-                   states[to] = xmlAutomataNewState(am);
-               xmlAutomataNewEpsilon(am, states[from], states[to]);
-           } else if ((am != NULL) && (expr[0] == 'f') && (expr[1] == ' ')) {
-               char *ptr = &expr[2];
-               int state;
-
-               state = scanNumber(&ptr);
-               if (states[state] == NULL) {
-                   xmlGenericError(xmlGenericErrorContext,
-                           "Bad state %d : %s\n", state, expr);
-                   break;
-               }
-               xmlAutomataSetFinalState(am, states[state]);
-           } else if ((am != NULL) && (expr[0] == 'c') && (expr[1] == ' ')) {
-               char *ptr = &expr[2];
-               int from, to;
-               int min, max;
-
-               from = scanNumber(&ptr);
-               if (*ptr != ' ') {
-                   xmlGenericError(xmlGenericErrorContext,
-                           "Bad line %s\n", expr);
-                   break;
-               }
-               if (states[from] == NULL)
-                   states[from] = xmlAutomataNewState(am);
-               ptr++;
-               to = scanNumber(&ptr);
-               if (*ptr != ' ') {
-                   xmlGenericError(xmlGenericErrorContext,
-                           "Bad line %s\n", expr);
-                   break;
-               }
-               if (states[to] == NULL)
-                   states[to] = xmlAutomataNewState(am);
-               ptr++;
-               min = scanNumber(&ptr);
-               if (*ptr != ' ') {
-                   xmlGenericError(xmlGenericErrorContext,
-                           "Bad line %s\n", expr);
-                   break;
-               }
-               ptr++;
-               max = scanNumber(&ptr);
-               if (*ptr != ' ') {
-                   xmlGenericError(xmlGenericErrorContext,
-                           "Bad line %s\n", expr);
-                   break;
-               }
-               ptr++;
-               xmlAutomataNewCountTrans(am, states[from], states[to],
-                                        BAD_CAST ptr, min, max, NULL);
-           } else if ((am != NULL) && (expr[0] == '-') && (expr[1] == '-')) {
-               /* end of the automata */
-               regexp = xmlAutomataCompile(am);
-               xmlFreeAutomata(am);
-               am = NULL;
-               if (regexp == NULL) {
-                   xmlGenericError(xmlGenericErrorContext,
-                           "Failed to compile the automata");
-                   break;
-               }
-           } else if ((expr[0] == '=') && (expr[1] == '>')) {
-               if (regexp == NULL) {
-                   printf("=> failed not compiled\n");
-               } else {
-                   if (exec == NULL)
-                       exec = xmlRegNewExecCtxt(regexp, NULL, NULL);
-                   if (ret == 0) {
-                       ret = xmlRegExecPushString(exec, NULL, NULL);
-                   }
-                   if (ret == 1)
-                       printf("=> Passed\n");
-                   else if ((ret == 0) || (ret == -1))
-                       printf("=> Failed\n");
-                   else if (ret < 0)
-                       printf("=> Error\n");
-                   xmlRegFreeExecCtxt(exec);
-                   exec = NULL;
-               }
-               ret = 0;
-           } else if (regexp != NULL) {
-               if (exec == NULL)
-                   exec = xmlRegNewExecCtxt(regexp, NULL, NULL);
-               ret = xmlRegExecPushString(exec, BAD_CAST expr, NULL);
-           } else {
-               xmlGenericError(xmlGenericErrorContext,
-                       "Unexpected line %s\n", expr);
-           }
-       }
-    }
-    fclose(input);
-    if (regexp != NULL)
-       xmlRegFreeRegexp(regexp);
-    if (exec != NULL)
-       xmlRegFreeExecCtxt(exec);
-    if (am != NULL)
-       xmlFreeAutomata(am);
-}
-
-int main(int argc, char **argv) {
-
-    xmlInitMemory();
-
-    if (argc == 1) {
-       int ret;
-       xmlAutomataPtr am;
-       xmlAutomataStatePtr start, cur;
-       xmlRegexpPtr regexp;
-       xmlRegExecCtxtPtr exec;
-
-       am = xmlNewAutomata();
-       start = xmlAutomataGetInitState(am);
-
-       /* generate a[ba]*a */
-       cur = xmlAutomataNewTransition(am, start, NULL, BAD_CAST"a", NULL);
-       xmlAutomataNewTransition(am, cur, cur, BAD_CAST"b", NULL);
-       xmlAutomataNewTransition(am, cur, cur, BAD_CAST"a", NULL);
-       cur = xmlAutomataNewCountTrans(am, cur, NULL, BAD_CAST"a", 2, 3, NULL);
-       xmlAutomataSetFinalState(am, cur);
-
-       /* compile it in a regexp and free the automata */
-       regexp = xmlAutomataCompile(am);
-       xmlFreeAutomata(am);
-
-       /* test the regexp */
-       xmlRegexpPrint(stdout, regexp);
-       exec = xmlRegNewExecCtxt(regexp, NULL, NULL);
-       ret = xmlRegExecPushString(exec, BAD_CAST"a", NULL);
-       if (ret == 1)
-           printf("final\n");
-       else if (ret < 0)
-           printf("error\n");
-       ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL);
-       if (ret == 1)
-           printf("final\n");
-       else if (ret < 0)
-           printf("error\n");
-       ret =xmlRegExecPushString(exec, BAD_CAST"b", NULL);
-       if (ret == 1)
-           printf("final\n");
-       else if (ret < 0)
-           printf("error\n");
-       ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL);
-       if (ret == 1)
-           printf("final\n");
-       else if (ret < 0)
-           printf("error\n");
-       ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL);
-       if (ret == 1)
-           printf("final\n");
-       else if (ret < 0)
-           printf("error\n");
-       ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL);
-       if (ret == 1)
-           printf("final\n");
-       else if (ret < 0)
-           printf("error\n");
-       ret =xmlRegExecPushString(exec, BAD_CAST"a", NULL);
-       if (ret == 1)
-           printf("final\n");
-       else if (ret < 0)
-           printf("error\n");
-       if (ret == 0) {
-           ret = xmlRegExecPushString(exec, NULL, NULL);
-           if (ret == 1)
-               printf("final\n");
-           else if (ret < 0)
-               printf("error\n");
-       }
-       xmlRegFreeExecCtxt(exec);
-
-       /* free the regexp */
-       xmlRegFreeRegexp(regexp);
-    } else {
-       int i;
-
-       for (i = 1;i < argc;i++)
-           testRegexpFile(argv[i]);
-    }
-
-    xmlCleanupParser();
-    xmlMemoryDump();
-    return(0);
-}
-
-#else
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : Automata support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_AUTOMATA_ENABLED */
diff --git a/reactos/lib/3rdparty/libxml2/testC14N.c b/reactos/lib/3rdparty/libxml2/testC14N.c
deleted file mode 100644 (file)
index 86e58f2..0000000
+++ /dev/null
@@ -1,370 +0,0 @@
-/*
- * Canonical XML implementation test program
- * (http://www.w3.org/TR/2001/REC-xml-c14n-20010315)
- *
- * See Copyright for the status of this software.
- *
- * Author: Aleksey Sanin <aleksey@aleksey.com>
- */
-#include "libxml.h"
-#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-
-#include <stdio.h>
-#include <string.h>
-#ifndef STDOUT_FILENO
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#else
-#define STDOUT_FILENO fileno(stdout)
-#endif /* HAVE_UNISTD_H */
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-
-#include <libxml/xmlmemory.h>
-#include <libxml/parser.h>
-#include <libxml/xpath.h>
-#include <libxml/xpathInternals.h>
-
-#include <libxml/c14n.h>
-
-
-static void usage(const char *name) {
-    fprintf(stderr,
-       "Usage: %s <mode> <xml-file> [<xpath-expr>] [<inclusive-ns-list>]\n",
-           name);
-    fprintf(stderr, "where <mode> is one of following:\n");
-    fprintf(stderr,
-       "--with-comments       \t XML file canonicalization v1.0 w comments \n");
-    fprintf(stderr,
-       "--without-comments    \t XML file canonicalization v1.0 w/o comments\n");
-    fprintf(stderr,
-       "--1-1-with-comments       \t XML file canonicalization v1.1 w comments\n");
-    fprintf(stderr,
-       "--1-1-without-comments    \t XML file canonicalization v1.1 w/o comments\n");
-    fprintf(stderr,
-    "--exc-with-comments   \t Exclusive XML file canonicalization v1.0 w comments\n");
-    fprintf(stderr,
-    "--exc-without-comments\t Exclusive XML file canonicalization v1.0 w/o comments\n");
-}
-
-static xmlXPathObjectPtr
-load_xpath_expr (xmlDocPtr parent_doc, const char* filename);
-
-static xmlChar **parse_list(xmlChar *str);
-
-/* static void print_xpath_nodes(xmlNodeSetPtr nodes); */
-
-static int
-test_c14n(const char* xml_filename, int with_comments, int mode,
-       const char* xpath_filename, xmlChar **inclusive_namespaces) {
-    xmlDocPtr doc;
-    xmlXPathObjectPtr xpath = NULL;
-    xmlChar *result = NULL;
-    int ret;
-
-    /*
-     * build an XML tree from a the file; we need to add default
-     * attributes and resolve all character and entities references
-     */
-    xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
-    xmlSubstituteEntitiesDefault(1);
-
-    doc = xmlReadFile(xml_filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT);
-    if (doc == NULL) {
-       fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_filename);
-       return(-1);
-    }
-
-    /*
-     * Check the document is of the right kind
-     */
-    if(xmlDocGetRootElement(doc) == NULL) {
-        fprintf(stderr,"Error: empty document for file \"%s\"\n", xml_filename);
-       xmlFreeDoc(doc);
-       return(-1);
-    }
-
-    /*
-     * load xpath file if specified
-     */
-    if(xpath_filename) {
-       xpath = load_xpath_expr(doc, xpath_filename);
-       if(xpath == NULL) {
-           fprintf(stderr,"Error: unable to evaluate xpath expression\n");
-           xmlFreeDoc(doc);
-           return(-1);
-       }
-    }
-
-    /*
-     * Canonical form
-     */
-    /* fprintf(stderr,"File \"%s\" loaded: start canonization\n", xml_filename); */
-    ret = xmlC14NDocDumpMemory(doc,
-           (xpath) ? xpath->nodesetval : NULL,
-           mode, inclusive_namespaces,
-           with_comments, &result);
-    if(ret >= 0) {
-       if(result != NULL) {
-           if (write(STDOUT_FILENO, result, ret) == -1) {
-               fprintf(stderr, "Can't write data\n");
-           }
-           xmlFree(result);
-       }
-    } else {
-       fprintf(stderr,"Error: failed to canonicalize XML file \"%s\" (ret=%d)\n", xml_filename, ret);
-       if(result != NULL) xmlFree(result);
-       xmlFreeDoc(doc);
-       return(-1);
-    }
-
-    /*
-     * Cleanup
-     */
-    if(xpath != NULL) xmlXPathFreeObject(xpath);
-    xmlFreeDoc(doc);
-
-    return(ret);
-}
-
-int main(int argc, char **argv) {
-    int ret = -1;
-
-    /*
-     * Init libxml
-     */
-    xmlInitParser();
-    LIBXML_TEST_VERSION
-
-    /*
-     * Parse command line and process file
-     */
-    if( argc < 3 ) {
-       fprintf(stderr, "Error: wrong number of arguments.\n");
-       usage(argv[0]);
-    } else if(strcmp(argv[1], "--with-comments") == 0) {
-       ret = test_c14n(argv[2], 1, XML_C14N_1_0, (argc > 3) ? argv[3] : NULL, NULL);
-    } else if(strcmp(argv[1], "--without-comments") == 0) {
-       ret = test_c14n(argv[2], 0, XML_C14N_1_0, (argc > 3) ? argv[3] : NULL, NULL);
-    } else if(strcmp(argv[1], "--1-1-with-comments") == 0) {
-       ret = test_c14n(argv[2], 1, XML_C14N_1_1, (argc > 3) ? argv[3] : NULL, NULL);
-    } else if(strcmp(argv[1], "--1-1-without-comments") == 0) {
-       ret = test_c14n(argv[2], 0, XML_C14N_1_1, (argc > 3) ? argv[3] : NULL, NULL);
-    } else if(strcmp(argv[1], "--exc-with-comments") == 0) {
-       xmlChar **list;
-
-       /* load exclusive namespace from command line */
-       list = (argc > 4) ? parse_list((xmlChar *)argv[4]) : NULL;
-       ret = test_c14n(argv[2], 1, XML_C14N_EXCLUSIVE_1_0, (argc > 3) ? argv[3] : NULL, list);
-       if(list != NULL) xmlFree(list);
-    } else if(strcmp(argv[1], "--exc-without-comments") == 0) {
-       xmlChar **list;
-
-       /* load exclusive namespace from command line */
-       list = (argc > 4) ? parse_list((xmlChar *)argv[4]) : NULL;
-       ret = test_c14n(argv[2], 0, XML_C14N_EXCLUSIVE_1_0, (argc > 3) ? argv[3] : NULL, list);
-       if(list != NULL) xmlFree(list);
-    } else {
-       fprintf(stderr, "Error: bad option.\n");
-       usage(argv[0]);
-    }
-
-    /*
-     * Shutdown libxml
-     */
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return((ret >= 0) ? 0 : 1);
-}
-
-/*
- * Macro used to grow the current buffer.
- */
-#define growBufferReentrant() {                                                \
-    buffer_size *= 2;                                                  \
-    buffer = (xmlChar **)                                              \
-               xmlRealloc(buffer, buffer_size * sizeof(xmlChar*));     \
-    if (buffer == NULL) {                                              \
-       perror("realloc failed");                                       \
-       return(NULL);                                                   \
-    }                                                                  \
-}
-
-static xmlChar **
-parse_list(xmlChar *str) {
-    xmlChar **buffer;
-    xmlChar **out = NULL;
-    int buffer_size = 0;
-    int len;
-
-    if(str == NULL) {
-       return(NULL);
-    }
-
-    len = xmlStrlen(str);
-    if((str[0] == '\'') && (str[len - 1] == '\'')) {
-       str[len - 1] = '\0';
-       str++;
-    }
-    /*
-     * allocate an translation buffer.
-     */
-    buffer_size = 1000;
-    buffer = (xmlChar **) xmlMalloc(buffer_size * sizeof(xmlChar*));
-    if (buffer == NULL) {
-       perror("malloc failed");
-       return(NULL);
-    }
-    out = buffer;
-
-    while(*str != '\0') {
-       if (out - buffer > buffer_size - 10) {
-           int indx = out - buffer;
-
-           growBufferReentrant();
-           out = &buffer[indx];
-       }
-       (*out++) = str;
-       while(*str != ',' && *str != '\0') ++str;
-       if(*str == ',') *(str++) = '\0';
-    }
-    (*out) = NULL;
-    return buffer;
-}
-
-static xmlXPathObjectPtr
-load_xpath_expr (xmlDocPtr parent_doc, const char* filename) {
-    xmlXPathObjectPtr xpath;
-    xmlDocPtr doc;
-    xmlChar *expr;
-    xmlXPathContextPtr ctx;
-    xmlNodePtr node;
-    xmlNsPtr ns;
-
-    /*
-     * load XPath expr as a file
-     */
-    xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
-    xmlSubstituteEntitiesDefault(1);
-
-    doc = xmlReadFile(filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT);
-    if (doc == NULL) {
-       fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename);
-       return(NULL);
-    }
-
-    /*
-     * Check the document is of the right kind
-     */
-    if(xmlDocGetRootElement(doc) == NULL) {
-        fprintf(stderr,"Error: empty document for file \"%s\"\n", filename);
-       xmlFreeDoc(doc);
-       return(NULL);
-    }
-
-    node = doc->children;
-    while(node != NULL && !xmlStrEqual(node->name, (const xmlChar *)"XPath")) {
-       node = node->next;
-    }
-
-    if(node == NULL) {
-        fprintf(stderr,"Error: XPath element expected in the file  \"%s\"\n", filename);
-       xmlFreeDoc(doc);
-       return(NULL);
-    }
-
-    expr = xmlNodeGetContent(node);
-    if(expr == NULL) {
-        fprintf(stderr,"Error: XPath content element is NULL \"%s\"\n", filename);
-       xmlFreeDoc(doc);
-       return(NULL);
-    }
-
-    ctx = xmlXPathNewContext(parent_doc);
-    if(ctx == NULL) {
-        fprintf(stderr,"Error: unable to create new context\n");
-        xmlFree(expr);
-        xmlFreeDoc(doc);
-        return(NULL);
-    }
-
-    /*
-     * Register namespaces
-     */
-    ns = node->nsDef;
-    while(ns != NULL) {
-       if(xmlXPathRegisterNs(ctx, ns->prefix, ns->href) != 0) {
-           fprintf(stderr,"Error: unable to register NS with prefix=\"%s\" and href=\"%s\"\n", ns->prefix, ns->href);
-           xmlFree(expr);
-           xmlXPathFreeContext(ctx);
-           xmlFreeDoc(doc);
-           return(NULL);
-       }
-       ns = ns->next;
-    }
-
-    /*
-     * Evaluate xpath
-     */
-    xpath = xmlXPathEvalExpression(expr, ctx);
-    if(xpath == NULL) {
-        fprintf(stderr,"Error: unable to evaluate xpath expression\n");
-       xmlFree(expr);
-        xmlXPathFreeContext(ctx);
-        xmlFreeDoc(doc);
-        return(NULL);
-    }
-
-    /* print_xpath_nodes(xpath->nodesetval); */
-
-    xmlFree(expr);
-    xmlXPathFreeContext(ctx);
-    xmlFreeDoc(doc);
-    return(xpath);
-}
-
-/*
-static void
-print_xpath_nodes(xmlNodeSetPtr nodes) {
-    xmlNodePtr cur;
-    int i;
-
-    if(nodes == NULL ){
-       fprintf(stderr, "Error: no nodes set defined\n");
-       return;
-    }
-
-    fprintf(stderr, "Nodes Set:\n-----\n");
-    for(i = 0; i < nodes->nodeNr; ++i) {
-       if(nodes->nodeTab[i]->type == XML_NAMESPACE_DECL) {
-           xmlNsPtr ns;
-
-           ns = (xmlNsPtr)nodes->nodeTab[i];
-           cur = (xmlNodePtr)ns->next;
-           fprintf(stderr, "namespace \"%s\"=\"%s\" for node %s:%s\n",
-                   ns->prefix, ns->href,
-                   (cur->ns) ? cur->ns->prefix : BAD_CAST "", cur->name);
-       } else if(nodes->nodeTab[i]->type == XML_ELEMENT_NODE) {
-           cur = nodes->nodeTab[i];
-           fprintf(stderr, "element node \"%s:%s\"\n",
-                   (cur->ns) ? cur->ns->prefix : BAD_CAST "", cur->name);
-       } else {
-           cur = nodes->nodeTab[i];
-           fprintf(stderr, "node \"%s\": type %d\n", cur->name, cur->type);
-       }
-    }
-}
-*/
-
-#else
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : XPath/Canonicalization and output support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_C14N_ENABLED */
-
-
diff --git a/reactos/lib/3rdparty/libxml2/testHTML.c b/reactos/lib/3rdparty/libxml2/testHTML.c
deleted file mode 100644 (file)
index 9b42778..0000000
+++ /dev/null
@@ -1,880 +0,0 @@
-/*
- * testHTML.c : a small tester program for HTML input.
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-
-#ifdef LIBXML_HTML_ENABLED
-
-#include <string.h>
-#include <stdarg.h>
-
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-
-#include <libxml/xmlmemory.h>
-#include <libxml/HTMLparser.h>
-#include <libxml/HTMLtree.h>
-#include <libxml/debugXML.h>
-#include <libxml/xmlerror.h>
-#include <libxml/globals.h>
-
-#ifdef LIBXML_DEBUG_ENABLED
-static int debug = 0;
-#endif
-static int copy = 0;
-static int sax = 0;
-static int repeat = 0;
-static int noout = 0;
-#ifdef LIBXML_PUSH_ENABLED
-static int push = 0;
-#endif /* LIBXML_PUSH_ENABLED */
-static char *encoding = NULL;
-static int options = 0;
-
-static xmlSAXHandler emptySAXHandlerStruct = {
-    NULL, /* internalSubset */
-    NULL, /* isStandalone */
-    NULL, /* hasInternalSubset */
-    NULL, /* hasExternalSubset */
-    NULL, /* resolveEntity */
-    NULL, /* getEntity */
-    NULL, /* entityDecl */
-    NULL, /* notationDecl */
-    NULL, /* attributeDecl */
-    NULL, /* elementDecl */
-    NULL, /* unparsedEntityDecl */
-    NULL, /* setDocumentLocator */
-    NULL, /* startDocument */
-    NULL, /* endDocument */
-    NULL, /* startElement */
-    NULL, /* endElement */
-    NULL, /* reference */
-    NULL, /* characters */
-    NULL, /* ignorableWhitespace */
-    NULL, /* processingInstruction */
-    NULL, /* comment */
-    NULL, /* xmlParserWarning */
-    NULL, /* xmlParserError */
-    NULL, /* xmlParserError */
-    NULL, /* getParameterEntity */
-    NULL, /* cdataBlock */
-    NULL, /* externalSubset */
-    1,    /* initialized */
-    NULL, /* private */
-    NULL, /* startElementNsSAX2Func */
-    NULL, /* endElementNsSAX2Func */
-    NULL  /* xmlStructuredErrorFunc */
-};
-
-static xmlSAXHandlerPtr emptySAXHandler = &emptySAXHandlerStruct;
-extern xmlSAXHandlerPtr debugSAXHandler;
-
-/************************************************************************
- *                                                                     *
- *                             Debug Handlers                          *
- *                                                                     *
- ************************************************************************/
-
-/**
- * isStandaloneDebug:
- * @ctxt:  An XML parser context
- *
- * Is this document tagged standalone ?
- *
- * Returns 1 if true
- */
-static int
-isStandaloneDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.isStandalone()\n");
-    return(0);
-}
-
-/**
- * hasInternalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an internal subset
- *
- * Returns 1 if true
- */
-static int
-hasInternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.hasInternalSubset()\n");
-    return(0);
-}
-
-/**
- * hasExternalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an external subset
- *
- * Returns 1 if true
- */
-static int
-hasExternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.hasExternalSubset()\n");
-    return(0);
-}
-
-/**
- * hasInternalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an internal subset
- */
-static void
-internalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-              const xmlChar *ExternalID, const xmlChar *SystemID)
-{
-    fprintf(stdout, "SAX.internalSubset(%s,", name);
-    if (ExternalID == NULL)
-       fprintf(stdout, " ,");
-    else
-       fprintf(stdout, " %s,", ExternalID);
-    if (SystemID == NULL)
-       fprintf(stdout, " )\n");
-    else
-       fprintf(stdout, " %s)\n", SystemID);
-}
-
-/**
- * resolveEntityDebug:
- * @ctxt:  An XML parser context
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- *
- * Special entity resolver, better left to the parser, it has
- * more context than the application layer.
- * The default behaviour is to NOT resolve the entities, in that case
- * the ENTITY_REF nodes are built in the structure (and the parameter
- * values).
- *
- * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
- */
-static xmlParserInputPtr
-resolveEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *publicId, const xmlChar *systemId)
-{
-    /* xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; */
-
-
-    fprintf(stdout, "SAX.resolveEntity(");
-    if (publicId != NULL)
-       fprintf(stdout, "%s", (char *)publicId);
-    else
-       fprintf(stdout, " ");
-    if (systemId != NULL)
-       fprintf(stdout, ", %s)\n", (char *)systemId);
-    else
-       fprintf(stdout, ", )\n");
-/*********
-    if (systemId != NULL) {
-        return(xmlNewInputFromFile(ctxt, (char *) systemId));
-    }
- *********/
-    return(NULL);
-}
-
-/**
- * getEntityDebug:
- * @ctxt:  An XML parser context
- * @name: The entity name
- *
- * Get an entity by name
- *
- * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
- */
-static xmlEntityPtr
-getEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    fprintf(stdout, "SAX.getEntity(%s)\n", name);
-    return(NULL);
-}
-
-/**
- * getParameterEntityDebug:
- * @ctxt:  An XML parser context
- * @name: The entity name
- *
- * Get a parameter entity by name
- *
- * Returns the xmlParserInputPtr
- */
-static xmlEntityPtr
-getParameterEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    fprintf(stdout, "SAX.getParameterEntity(%s)\n", name);
-    return(NULL);
-}
-
-
-/**
- * entityDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the entity name
- * @type:  the entity type
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- * @content: the entity value (without processing).
- *
- * An entity definition has been parsed
- */
-static void
-entityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type,
-          const xmlChar *publicId, const xmlChar *systemId, xmlChar *content)
-{
-    fprintf(stdout, "SAX.entityDecl(%s, %d, %s, %s, %s)\n",
-            name, type, publicId, systemId, content);
-}
-
-/**
- * attributeDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the attribute name
- * @type:  the attribute type
- *
- * An attribute definition has been parsed
- */
-static void
-attributeDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *elem, const xmlChar *name,
-              int type, int def, const xmlChar *defaultValue,
-             xmlEnumerationPtr tree ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.attributeDecl(%s, %s, %d, %d, %s, ...)\n",
-            elem, name, type, def, defaultValue);
-}
-
-/**
- * elementDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the element name
- * @type:  the element type
- * @content: the element value (without processing).
- *
- * An element definition has been parsed
- */
-static void
-elementDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type,
-           xmlElementContentPtr content ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.elementDecl(%s, %d, ...)\n",
-            name, type);
-}
-
-/**
- * notationDeclDebug:
- * @ctxt:  An XML parser context
- * @name: The name of the notation
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- *
- * What to do when a notation declaration has been parsed.
- */
-static void
-notationDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-            const xmlChar *publicId, const xmlChar *systemId)
-{
-    fprintf(stdout, "SAX.notationDecl(%s, %s, %s)\n",
-            (char *) name, (char *) publicId, (char *) systemId);
-}
-
-/**
- * unparsedEntityDeclDebug:
- * @ctxt:  An XML parser context
- * @name: The name of the entity
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- * @notationName: the name of the notation
- *
- * What to do when an unparsed entity declaration is parsed
- */
-static void
-unparsedEntityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-                  const xmlChar *publicId, const xmlChar *systemId,
-                  const xmlChar *notationName)
-{
-    fprintf(stdout, "SAX.unparsedEntityDecl(%s, %s, %s, %s)\n",
-            (char *) name, (char *) publicId, (char *) systemId,
-           (char *) notationName);
-}
-
-/**
- * setDocumentLocatorDebug:
- * @ctxt:  An XML parser context
- * @loc: A SAX Locator
- *
- * Receive the document locator at startup, actually xmlDefaultSAXLocator
- * Everything is available on the context, so this is useless in our case.
- */
-static void
-setDocumentLocatorDebug(void *ctx ATTRIBUTE_UNUSED, xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.setDocumentLocator()\n");
-}
-
-/**
- * startDocumentDebug:
- * @ctxt:  An XML parser context
- *
- * called when the document start being processed.
- */
-static void
-startDocumentDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.startDocument()\n");
-}
-
-/**
- * endDocumentDebug:
- * @ctxt:  An XML parser context
- *
- * called when the document end has been detected.
- */
-static void
-endDocumentDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    fprintf(stdout, "SAX.endDocument()\n");
-}
-
-/**
- * startElementDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when an opening tag has been processed.
- */
-static void
-startElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, const xmlChar **atts)
-{
-    int i;
-
-    fprintf(stdout, "SAX.startElement(%s", (char *) name);
-    if (atts != NULL) {
-        for (i = 0;(atts[i] != NULL);i++) {
-           fprintf(stdout, ", %s", atts[i++]);
-           if (atts[i] != NULL) {
-               unsigned char output[40];
-               const unsigned char *att = atts[i];
-               int outlen, attlen;
-               fprintf(stdout, "='");
-               while ((attlen = strlen((char*)att)) > 0) {
-                   outlen = sizeof output - 1;
-                   htmlEncodeEntities(output, &outlen, att, &attlen, '\'');
-                   output[outlen] = 0;
-                   fprintf(stdout, "%s", (char *) output);
-                   att += attlen;
-               }
-               fprintf(stdout, "'");
-           }
-       }
-    }
-    fprintf(stdout, ")\n");
-}
-
-/**
- * endElementDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when the end of an element has been detected.
- */
-static void
-endElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    fprintf(stdout, "SAX.endElement(%s)\n", (char *) name);
-}
-
-/**
- * charactersDebug:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @len: the number of xmlChar
- *
- * receiving some chars from the parser.
- * Question: how much at a time ???
- */
-static void
-charactersDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len)
-{
-    unsigned char output[40];
-    int inlen = len, outlen = 30;
-
-    htmlEncodeEntities(output, &outlen, ch, &inlen, 0);
-    output[outlen] = 0;
-
-    fprintf(stdout, "SAX.characters(%s, %d)\n", output, len);
-}
-
-/**
- * cdataDebug:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @len: the number of xmlChar
- *
- * receiving some cdata chars from the parser.
- * Question: how much at a time ???
- */
-static void
-cdataDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len)
-{
-    unsigned char output[40];
-    int inlen = len, outlen = 30;
-
-    htmlEncodeEntities(output, &outlen, ch, &inlen, 0);
-    output[outlen] = 0;
-
-    fprintf(stdout, "SAX.cdata(%s, %d)\n", output, len);
-}
-
-/**
- * referenceDebug:
- * @ctxt:  An XML parser context
- * @name:  The entity name
- *
- * called when an entity reference is detected.
- */
-static void
-referenceDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    fprintf(stdout, "SAX.reference(%s)\n", name);
-}
-
-/**
- * ignorableWhitespaceDebug:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @start: the first char in the string
- * @len: the number of xmlChar
- *
- * receiving some ignorable whitespaces from the parser.
- * Question: how much at a time ???
- */
-static void
-ignorableWhitespaceDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len)
-{
-    char output[40];
-    int i;
-
-    for (i = 0;(i<len) && (i < 30);i++)
-       output[i] = ch[i];
-    output[i] = 0;
-
-    fprintf(stdout, "SAX.ignorableWhitespace(%s, %d)\n", output, len);
-}
-
-/**
- * processingInstructionDebug:
- * @ctxt:  An XML parser context
- * @target:  the target name
- * @data: the PI data's
- * @len: the number of xmlChar
- *
- * A processing instruction has been parsed.
- */
-static void
-processingInstructionDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *target,
-                      const xmlChar *data)
-{
-    fprintf(stdout, "SAX.processingInstruction(%s, %s)\n",
-            (char *) target, (char *) data);
-}
-
-/**
- * commentDebug:
- * @ctxt:  An XML parser context
- * @value:  the comment content
- *
- * A comment has been parsed.
- */
-static void
-commentDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *value)
-{
-    fprintf(stdout, "SAX.comment(%s)\n", value);
-}
-
-/**
- * warningDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a warning messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-warningDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    va_start(args, msg);
-    fprintf(stdout, "SAX.warning: ");
-    vfprintf(stdout, msg, args);
-    va_end(args);
-}
-
-/**
- * errorDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a error messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-errorDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    va_start(args, msg);
-    fprintf(stdout, "SAX.error: ");
-    vfprintf(stdout, msg, args);
-    va_end(args);
-}
-
-/**
- * fatalErrorDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a fatalError messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-fatalErrorDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    va_start(args, msg);
-    fprintf(stdout, "SAX.fatalError: ");
-    vfprintf(stdout, msg, args);
-    va_end(args);
-}
-
-static xmlSAXHandler debugSAXHandlerStruct = {
-    internalSubsetDebug,
-    isStandaloneDebug,
-    hasInternalSubsetDebug,
-    hasExternalSubsetDebug,
-    resolveEntityDebug,
-    getEntityDebug,
-    entityDeclDebug,
-    notationDeclDebug,
-    attributeDeclDebug,
-    elementDeclDebug,
-    unparsedEntityDeclDebug,
-    setDocumentLocatorDebug,
-    startDocumentDebug,
-    endDocumentDebug,
-    startElementDebug,
-    endElementDebug,
-    referenceDebug,
-    charactersDebug,
-    ignorableWhitespaceDebug,
-    processingInstructionDebug,
-    commentDebug,
-    warningDebug,
-    errorDebug,
-    fatalErrorDebug,
-    getParameterEntityDebug,
-    cdataDebug,
-    NULL,
-    1,
-    NULL,
-    NULL,
-    NULL,
-    NULL
-};
-
-xmlSAXHandlerPtr debugSAXHandler = &debugSAXHandlerStruct;
-/************************************************************************
- *                                                                     *
- *                             Debug                                   *
- *                                                                     *
- ************************************************************************/
-
-static void
-parseSAXFile(char *filename) {
-    htmlDocPtr doc = NULL;
-
-    /*
-     * Empty callbacks for checking
-     */
-#ifdef LIBXML_PUSH_ENABLED
-    if (push) {
-       FILE *f;
-
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
-       f = fopen(filename, "rb");
-#else
-       f = fopen(filename, "r");
-#endif
-       if (f != NULL) {
-           int res, size = 3;
-           char chars[4096];
-           htmlParserCtxtPtr ctxt;
-
-           /* if (repeat) */
-               size = 4096;
-           res = fread(chars, 1, 4, f);
-           if (res > 0) {
-               ctxt = htmlCreatePushParserCtxt(emptySAXHandler, NULL,
-                           chars, res, filename, XML_CHAR_ENCODING_NONE);
-               while ((res = fread(chars, 1, size, f)) > 0) {
-                   htmlParseChunk(ctxt, chars, res, 0);
-               }
-               htmlParseChunk(ctxt, chars, 0, 1);
-               doc = ctxt->myDoc;
-               htmlFreeParserCtxt(ctxt);
-           }
-           if (doc != NULL) {
-               fprintf(stdout, "htmlSAXParseFile returned non-NULL\n");
-               xmlFreeDoc(doc);
-           }
-           fclose(f);
-       }
-       if (!noout) {
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
-               f = fopen(filename, "rb");
-#else
-               f = fopen(filename, "r");
-#endif
-           if (f != NULL) {
-               int res, size = 3;
-               char chars[4096];
-               htmlParserCtxtPtr ctxt;
-
-               /* if (repeat) */
-                   size = 4096;
-               res = fread(chars, 1, 4, f);
-               if (res > 0) {
-                   ctxt = htmlCreatePushParserCtxt(debugSAXHandler, NULL,
-                               chars, res, filename, XML_CHAR_ENCODING_NONE);
-                   while ((res = fread(chars, 1, size, f)) > 0) {
-                       htmlParseChunk(ctxt, chars, res, 0);
-                   }
-                   htmlParseChunk(ctxt, chars, 0, 1);
-                   doc = ctxt->myDoc;
-                   htmlFreeParserCtxt(ctxt);
-               }
-               if (doc != NULL) {
-                   fprintf(stdout, "htmlSAXParseFile returned non-NULL\n");
-                   xmlFreeDoc(doc);
-               }
-               fclose(f);
-           }
-       }
-    } else {
-#endif /* LIBXML_PUSH_ENABLED */
-       doc = htmlSAXParseFile(filename, NULL, emptySAXHandler, NULL);
-       if (doc != NULL) {
-           fprintf(stdout, "htmlSAXParseFile returned non-NULL\n");
-           xmlFreeDoc(doc);
-       }
-
-       if (!noout) {
-           /*
-            * Debug callback
-            */
-           doc = htmlSAXParseFile(filename, NULL, debugSAXHandler, NULL);
-           if (doc != NULL) {
-               fprintf(stdout, "htmlSAXParseFile returned non-NULL\n");
-               xmlFreeDoc(doc);
-           }
-       }
-#ifdef LIBXML_PUSH_ENABLED
-    }
-#endif /* LIBXML_PUSH_ENABLED */
-}
-
-static void
-parseAndPrintFile(char *filename) {
-    htmlDocPtr doc = NULL;
-
-    /*
-     * build an HTML tree from a string;
-     */
-#ifdef LIBXML_PUSH_ENABLED
-    if (push) {
-       FILE *f;
-
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
-       f = fopen(filename, "rb");
-#else
-       f = fopen(filename, "r");
-#endif
-       if (f != NULL) {
-           int res, size = 3;
-           char chars[4096];
-           htmlParserCtxtPtr ctxt;
-
-           /* if (repeat) */
-               size = 4096;
-           res = fread(chars, 1, 4, f);
-           if (res > 0) {
-               ctxt = htmlCreatePushParserCtxt(NULL, NULL,
-                           chars, res, filename, XML_CHAR_ENCODING_NONE);
-               while ((res = fread(chars, 1, size, f)) > 0) {
-                   htmlParseChunk(ctxt, chars, res, 0);
-               }
-               htmlParseChunk(ctxt, chars, 0, 1);
-               doc = ctxt->myDoc;
-               htmlFreeParserCtxt(ctxt);
-           }
-           fclose(f);
-       }
-    } else {
-       doc = htmlReadFile(filename, NULL, options);
-    }
-#else
-       doc = htmlReadFile(filename,NULL,options);
-#endif
-    if (doc == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-               "Could not parse %s\n", filename);
-    }
-
-#ifdef LIBXML_TREE_ENABLED
-    /*
-     * test intermediate copy if needed.
-     */
-    if (copy) {
-        htmlDocPtr tmp;
-
-        tmp = doc;
-       doc = xmlCopyDoc(doc, 1);
-       xmlFreeDoc(tmp);
-    }
-#endif
-
-#ifdef LIBXML_OUTPUT_ENABLED
-    /*
-     * print it.
-     */
-    if (!noout) {
-#ifdef LIBXML_DEBUG_ENABLED
-       if (!debug) {
-           if (encoding)
-               htmlSaveFileEnc("-", doc, encoding);
-           else
-               htmlDocDump(stdout, doc);
-       } else
-           xmlDebugDumpDocument(stdout, doc);
-#else
-       if (encoding)
-           htmlSaveFileEnc("-", doc, encoding);
-       else
-           htmlDocDump(stdout, doc);
-#endif
-    }
-#endif /* LIBXML_OUTPUT_ENABLED */
-
-    /*
-     * free it.
-     */
-    xmlFreeDoc(doc);
-}
-
-int main(int argc, char **argv) {
-    int i, count;
-    int files = 0;
-
-    for (i = 1; i < argc ; i++) {
-#ifdef LIBXML_DEBUG_ENABLED
-       if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug")))
-           debug++;
-       else
-#endif
-           if ((!strcmp(argv[i], "-copy")) || (!strcmp(argv[i], "--copy")))
-           copy++;
-#ifdef LIBXML_PUSH_ENABLED
-       else if ((!strcmp(argv[i], "-push")) || (!strcmp(argv[i], "--push")))
-           push++;
-#endif /* LIBXML_PUSH_ENABLED */
-       else if ((!strcmp(argv[i], "-sax")) || (!strcmp(argv[i], "--sax")))
-           sax++;
-       else if ((!strcmp(argv[i], "-noout")) || (!strcmp(argv[i], "--noout")))
-           noout++;
-       else if ((!strcmp(argv[i], "-repeat")) ||
-                (!strcmp(argv[i], "--repeat")))
-           repeat++;
-       else if ((!strcmp(argv[i], "-encode")) ||
-                (!strcmp(argv[i], "--encode"))) {
-           i++;
-           encoding = argv[i];
-        }
-    }
-    for (i = 1; i < argc ; i++) {
-       if ((!strcmp(argv[i], "-encode")) ||
-                (!strcmp(argv[i], "--encode"))) {
-           i++;
-           continue;
-        }
-       if (argv[i][0] != '-') {
-           if (repeat) {
-               for (count = 0;count < 100 * repeat;count++) {
-                   if (sax)
-                       parseSAXFile(argv[i]);
-                   else
-                       parseAndPrintFile(argv[i]);
-               }
-           } else {
-               if (sax)
-                   parseSAXFile(argv[i]);
-               else
-                   parseAndPrintFile(argv[i]);
-           }
-           files ++;
-       }
-    }
-    if (files == 0) {
-       printf("Usage : %s [--debug] [--copy] [--copy] HTMLfiles ...\n",
-              argv[0]);
-       printf("\tParse the HTML files and output the result of the parsing\n");
-#ifdef LIBXML_DEBUG_ENABLED
-       printf("\t--debug : dump a debug tree of the in-memory document\n");
-#endif
-       printf("\t--copy : used to test the internal copy implementation\n");
-       printf("\t--sax : debug the sequence of SAX callbacks\n");
-       printf("\t--repeat : parse the file 100 times, for timing\n");
-       printf("\t--noout : do not print the result\n");
-#ifdef LIBXML_PUSH_ENABLED
-       printf("\t--push : use the push mode parser\n");
-#endif /* LIBXML_PUSH_ENABLED */
-       printf("\t--encode encoding : output in the given encoding\n");
-    }
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(0);
-}
-#else /* !LIBXML_HTML_ENABLED */
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : HTML support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif
diff --git a/reactos/lib/3rdparty/libxml2/testModule.c b/reactos/lib/3rdparty/libxml2/testModule.c
deleted file mode 100644 (file)
index e399f5c..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * testModule.c : a small tester program for xmlModule
- *
- * See Copyright for the status of this software.
- *
- * joelwreed@comcast.net
- */
-
-#include "libxml.h"
-#ifdef LIBXML_MODULES_ENABLED
-#include <libxml/xmlversion.h>
-
-#include <limits.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-
-#include <libxml/xmlmemory.h>
-#include <libxml/debugXML.h>
-#include <libxml/xmlmodule.h>
-
-#ifdef _WIN32
-#define MODULE_PATH "."
-#include <stdlib.h> /* for _MAX_PATH */
-#ifndef __MINGW32__
-#define PATH_MAX _MAX_PATH
-#endif
-#else
-#define MODULE_PATH ".libs"
-#endif
-
-/* Used for SCO Openserver*/
-#ifndef PATH_MAX
-#ifdef _POSIX_PATH_MAX
-#define PATH_MAX _POSIX_PATH_MAX
-#else
-#define PATH_MAX 4096
-#endif
-#endif
-
-typedef int (*hello_world_t)(void);
-
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    xmlChar filename[PATH_MAX];
-    xmlModulePtr module = NULL;
-    hello_world_t hello_world = NULL;
-
-    /* build the module filename, and confirm the module exists */
-    xmlStrPrintf(filename, sizeof(filename),
-                 (const xmlChar*) "%s/testdso%s",
-                 (const xmlChar*)MODULE_PATH,
-                (const xmlChar*)LIBXML_MODULE_EXTENSION);
-
-    module = xmlModuleOpen((const char*)filename, 0);
-    if (module)
-      {
-        if (xmlModuleSymbol(module, "hello_world", (void **) &hello_world)) {
-           fprintf(stderr, "Failure to lookup\n");
-           return(1);
-       }
-       if (hello_world == NULL) {
-           fprintf(stderr, "Lookup returned NULL\n");
-           return(1);
-       }
-
-        (*hello_world)();
-
-        xmlModuleClose(module);
-      }
-
-    xmlMemoryDump();
-
-    return(0);
-}
-
-#else
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : Module support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_SCHEMAS_ENABLED */
diff --git a/reactos/lib/3rdparty/libxml2/testReader.c b/reactos/lib/3rdparty/libxml2/testReader.c
deleted file mode 100644 (file)
index 8f8e26d..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * testSAX.c : a small tester program for parsing using the SAX API.
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-
-#ifdef LIBXML_READER_ENABLED
-#include <string.h>
-#include <stdarg.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-
-#include <libxml/xmlreader.h>
-
-static int debug = 0;
-static int dump = 0;
-static int noent = 0;
-static int count = 0;
-static int valid = 0;
-static int consumed = 0;
-
-static void usage(const char *progname) {
-    printf("Usage : %s [options] XMLfiles ...\n", progname);
-    printf("\tParse the XML files using the xmlTextReader API\n");
-    printf("\t --count: count the number of attribute and elements\n");
-    printf("\t --valid: validate the document\n");
-    printf("\t --consumed: count the number of bytes consumed\n");
-    exit(1);
-}
-static int elem, attrs;
-
-static void processNode(xmlTextReaderPtr reader) {
-    int type;
-
-    type = xmlTextReaderNodeType(reader);
-    if (count) {
-       if (type == 1) {
-           elem++;
-           attrs += xmlTextReaderAttributeCount(reader);
-       }
-    }
-}
-
-static void handleFile(const char *filename) {
-    xmlTextReaderPtr reader;
-    int ret;
-
-    if (count) {
-       elem = 0;
-       attrs = 0;
-    }
-
-    reader = xmlNewTextReaderFilename(filename);
-    if (reader != NULL) {
-       if (valid)
-           xmlTextReaderSetParserProp(reader, XML_PARSER_VALIDATE, 1);
-
-       /*
-        * Process all nodes in sequence
-        */
-       ret = xmlTextReaderRead(reader);
-       while (ret == 1) {
-           processNode(reader);
-           ret = xmlTextReaderRead(reader);
-       }
-
-       /*
-        * Done, cleanup and status
-        */
-       if (consumed)
-               printf("%ld bytes consumed by parser\n", xmlTextReaderByteConsumed(reader));
-       xmlFreeTextReader(reader);
-       if (ret != 0) {
-           printf("%s : failed to parse\n", filename);
-       } else if (count)
-           printf("%s : %d elements, %d attributes\n", filename, elem, attrs);
-    } else {
-       fprintf(stderr, "Unable to open %s\n", filename);
-    }
-}
-
-int main(int argc, char **argv) {
-    int i;
-    int files = 0;
-
-    if (argc <= 1) {
-       usage(argv[0]);
-       return(1);
-    }
-    LIBXML_TEST_VERSION
-    for (i = 1; i < argc ; i++) {
-       if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug")))
-           debug++;
-       else if ((!strcmp(argv[i], "-dump")) || (!strcmp(argv[i], "--dump")))
-           dump++;
-       else if ((!strcmp(argv[i], "-count")) || (!strcmp(argv[i], "--count")))
-           count++;
-       else if ((!strcmp(argv[i], "-consumed")) || (!strcmp(argv[i], "--consumed")))
-           consumed++;
-       else if ((!strcmp(argv[i], "-valid")) || (!strcmp(argv[i], "--valid")))
-           valid++;
-       else if ((!strcmp(argv[i], "-noent")) ||
-                (!strcmp(argv[i], "--noent")))
-           noent++;
-    }
-    if (noent != 0) xmlSubstituteEntitiesDefault(1);
-    for (i = 1; i < argc ; i++) {
-       if (argv[i][0] != '-') {
-           handleFile(argv[i]);
-           files ++;
-       }
-    }
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(0);
-}
-#else
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : xmlReader parser support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_READER_ENABLED */
diff --git a/reactos/lib/3rdparty/libxml2/testRegexp.c b/reactos/lib/3rdparty/libxml2/testRegexp.c
deleted file mode 100644 (file)
index 21dac94..0000000
+++ /dev/null
@@ -1,402 +0,0 @@
-/*
- * testRegexp.c: simple module for testing regular expressions
- *
- * See Copyright for the status of this software.
- *
- * Daniel Veillard <veillard@redhat.com>
- */
-
-#include "libxml.h"
-#ifdef LIBXML_REGEXP_ENABLED
-#include <string.h>
-
-#include <libxml/tree.h>
-#include <libxml/xmlregexp.h>
-
-static int repeat = 0;
-static int debug = 0;
-
-static void testRegexp(xmlRegexpPtr comp, const char *value) {
-    int ret;
-
-    ret = xmlRegexpExec(comp, (const xmlChar *) value);
-    if (ret == 1)
-       printf("%s: Ok\n", value);
-    else if (ret == 0)
-       printf("%s: Fail\n", value);
-    else
-       printf("%s: Error: %d\n", value, ret);
-    if (repeat) {
-       int j;
-       for (j = 0;j < 999999;j++)
-           xmlRegexpExec(comp, (const xmlChar *) value);
-    }
-}
-
-static void
-testRegexpFile(const char *filename) {
-    xmlRegexpPtr comp = NULL;
-    FILE *input;
-    char expression[5000];
-    int len;
-
-    input = fopen(filename, "r");
-    if (input == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-               "Cannot open %s for reading\n", filename);
-       return;
-    }
-    while (fgets(expression, 4500, input) != NULL) {
-       len = strlen(expression);
-       len--;
-       while ((len >= 0) &&
-              ((expression[len] == '\n') || (expression[len] == '\t') ||
-               (expression[len] == '\r') || (expression[len] == ' '))) len--;
-       expression[len + 1] = 0;
-       if (len >= 0) {
-           if (expression[0] == '#')
-               continue;
-           if ((expression[0] == '=') && (expression[1] == '>')) {
-               char *pattern = &expression[2];
-
-               if (comp != NULL) {
-                   xmlRegFreeRegexp(comp);
-                   comp = NULL;
-               }
-               printf("Regexp: %s\n", pattern) ;
-               comp = xmlRegexpCompile((const xmlChar *) pattern);
-               if (comp == NULL) {
-                   printf("   failed to compile\n");
-                   break;
-               }
-           } else if (comp == NULL) {
-               printf("Regexp: %s\n", expression) ;
-               comp = xmlRegexpCompile((const xmlChar *) expression);
-               if (comp == NULL) {
-                   printf("   failed to compile\n");
-                   break;
-               }
-           } else if (comp != NULL) {
-               testRegexp(comp, expression);
-           }
-       }
-    }
-    fclose(input);
-    if (comp != NULL)
-       xmlRegFreeRegexp(comp);
-}
-
-#ifdef LIBXML_EXPR_ENABLED
-static void
-runFileTest(xmlExpCtxtPtr ctxt, const char *filename) {
-    xmlExpNodePtr expr = NULL, sub;
-    FILE *input;
-    char expression[5000];
-    int len;
-
-    input = fopen(filename, "r");
-    if (input == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-               "Cannot open %s for reading\n", filename);
-       return;
-    }
-    while (fgets(expression, 4500, input) != NULL) {
-       len = strlen(expression);
-       len--;
-       while ((len >= 0) &&
-              ((expression[len] == '\n') || (expression[len] == '\t') ||
-               (expression[len] == '\r') || (expression[len] == ' '))) len--;
-       expression[len + 1] = 0;
-       if (len >= 0) {
-           if (expression[0] == '#')
-               continue;
-           if ((expression[0] == '=') && (expression[1] == '>')) {
-               char *str = &expression[2];
-
-               if (expr != NULL) {
-                   xmlExpFree(ctxt, expr);
-                   if (xmlExpCtxtNbNodes(ctxt) != 0)
-                       printf(" Parse/free of Expression leaked %d\n",
-                              xmlExpCtxtNbNodes(ctxt));
-                   expr = NULL;
-               }
-               printf("Expression: %s\n", str) ;
-               expr = xmlExpParse(ctxt, str);
-               if (expr == NULL) {
-                   printf("   parsing Failed\n");
-                   break;
-               }
-           } else if (expr != NULL) {
-               int expect = -1;
-               int nodes1, nodes2;
-
-               if (expression[0] == '0')
-                   expect = 0;
-               if (expression[0] == '1')
-                   expect = 1;
-               printf("Subexp: %s", expression + 2) ;
-               nodes1 = xmlExpCtxtNbNodes(ctxt);
-               sub = xmlExpParse(ctxt, expression + 2);
-               if (sub == NULL) {
-                   printf("   parsing Failed\n");
-                   break;
-               } else {
-                   int ret;
-
-                   nodes2 = xmlExpCtxtNbNodes(ctxt);
-                   ret = xmlExpSubsume(ctxt, expr, sub);
-
-                   if ((expect == 1) && (ret == 1)) {
-                       printf(" => accept, Ok\n");
-                   } else if ((expect == 0) && (ret == 0)) {
-                       printf(" => reject, Ok\n");
-                   } else if ((expect == 1) && (ret == 0)) {
-                       printf(" => reject, Failed\n");
-                   } else if ((expect == 0) && (ret == 1)) {
-                       printf(" => accept, Failed\n");
-                   } else {
-                       printf(" => fail internally\n");
-                   }
-                   if (xmlExpCtxtNbNodes(ctxt) > nodes2) {
-                       printf(" Subsume leaked %d\n",
-                              xmlExpCtxtNbNodes(ctxt) - nodes2);
-                       nodes1 += xmlExpCtxtNbNodes(ctxt) - nodes2;
-                   }
-                   xmlExpFree(ctxt, sub);
-                   if (xmlExpCtxtNbNodes(ctxt) > nodes1) {
-                       printf(" Parse/free leaked %d\n",
-                              xmlExpCtxtNbNodes(ctxt) - nodes1);
-                   }
-               }
-
-           }
-       }
-    }
-    if (expr != NULL) {
-       xmlExpFree(ctxt, expr);
-       if (xmlExpCtxtNbNodes(ctxt) != 0)
-           printf(" Parse/free of Expression leaked %d\n",
-                  xmlExpCtxtNbNodes(ctxt));
-    }
-    fclose(input);
-}
-
-static void
-testReduce(xmlExpCtxtPtr ctxt, xmlExpNodePtr expr, const char *tst) {
-    xmlBufferPtr xmlExpBuf;
-    xmlExpNodePtr sub, deriv;
-    xmlExpBuf = xmlBufferCreate();
-
-    sub = xmlExpParse(ctxt, tst);
-    if (sub == NULL) {
-        printf("Subset %s failed to parse\n", tst);
-       return;
-    }
-    xmlExpDump(xmlExpBuf, sub);
-    printf("Subset parsed as: %s\n",
-           (const char *) xmlBufferContent(xmlExpBuf));
-    deriv = xmlExpExpDerive(ctxt, expr, sub);
-    if (deriv == NULL) {
-        printf("Derivation led to an internal error, report this !\n");
-       return;
-    } else {
-        xmlBufferEmpty(xmlExpBuf);
-       xmlExpDump(xmlExpBuf, deriv);
-       if (xmlExpIsNillable(deriv))
-           printf("Resulting nillable derivation: %s\n",
-                  (const char *) xmlBufferContent(xmlExpBuf));
-       else
-           printf("Resulting derivation: %s\n",
-                  (const char *) xmlBufferContent(xmlExpBuf));
-       xmlExpFree(ctxt, deriv);
-    }
-    xmlExpFree(ctxt, sub);
-}
-
-static void
-exprDebug(xmlExpCtxtPtr ctxt, xmlExpNodePtr expr) {
-    xmlBufferPtr xmlExpBuf;
-    xmlExpNodePtr deriv;
-    const char *list[40];
-    int ret;
-
-    xmlExpBuf = xmlBufferCreate();
-
-    if (expr == NULL) {
-        printf("Failed to parse\n");
-       return;
-    }
-    xmlExpDump(xmlExpBuf, expr);
-    printf("Parsed as: %s\n", (const char *) xmlBufferContent(xmlExpBuf));
-    printf("Max token input = %d\n", xmlExpMaxToken(expr));
-    if (xmlExpIsNillable(expr) == 1)
-       printf("Is nillable\n");
-    ret = xmlExpGetLanguage(ctxt, expr, (const xmlChar **) &list[0], 40);
-    if (ret < 0)
-       printf("Failed to get list: %d\n", ret);
-    else {
-       int i;
-
-       printf("Language has %d strings, testing string derivations\n", ret);
-       for (i = 0;i < ret;i++) {
-           deriv = xmlExpStringDerive(ctxt, expr, BAD_CAST list[i], -1);
-           if (deriv == NULL) {
-               printf("  %s -> derivation failed\n", list[i]);
-           } else {
-               xmlBufferEmpty(xmlExpBuf);
-               xmlExpDump(xmlExpBuf, deriv);
-               printf("  %s -> %s\n", list[i],
-                      (const char *) xmlBufferContent(xmlExpBuf));
-           }
-           xmlExpFree(ctxt, deriv);
-       }
-    }
-    xmlBufferFree(xmlExpBuf);
-}
-#endif
-
-static void usage(const char *name) {
-    fprintf(stderr, "Usage: %s [flags]\n", name);
-    fprintf(stderr, "Testing tool for libxml2 string and pattern regexps\n");
-    fprintf(stderr, "   --debug: switch on debugging\n");
-    fprintf(stderr, "   --repeat: loop on the operation\n");
-#ifdef LIBXML_EXPR_ENABLED
-    fprintf(stderr, "   --expr: test xmlExp and not xmlRegexp\n");
-#endif
-    fprintf(stderr, "   --input filename: use the given filename for regexp\n");
-    fprintf(stderr, "   --input filename: use the given filename for exp\n");
-}
-
-int main(int argc, char **argv) {
-    xmlRegexpPtr comp = NULL;
-#ifdef LIBXML_EXPR_ENABLED
-    xmlExpNodePtr expr = NULL;
-    int use_exp = 0;
-    xmlExpCtxtPtr ctxt = NULL;
-#endif
-    const char *pattern = NULL;
-    char *filename = NULL;
-    int i;
-
-    xmlInitMemory();
-
-    if (argc <= 1) {
-       usage(argv[0]);
-       return(1);
-    }
-    for (i = 1; i < argc ; i++) {
-       if (!strcmp(argv[i], "-"))
-           break;
-
-       if (argv[i][0] != '-')
-           continue;
-       if (!strcmp(argv[i], "--"))
-           break;
-
-       if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug"))) {
-           debug++;
-       } else if ((!strcmp(argv[i], "-repeat")) ||
-                (!strcmp(argv[i], "--repeat"))) {
-           repeat++;
-#ifdef LIBXML_EXPR_ENABLED
-       } else if ((!strcmp(argv[i], "-expr")) ||
-                (!strcmp(argv[i], "--expr"))) {
-           use_exp++;
-#endif
-       } else if ((!strcmp(argv[i], "-i")) || (!strcmp(argv[i], "-f")) ||
-                  (!strcmp(argv[i], "--input")))
-           filename = argv[++i];
-        else {
-           fprintf(stderr, "Unknown option %s\n", argv[i]);
-           usage(argv[0]);
-       }
-    }
-
-#ifdef LIBXML_EXPR_ENABLED
-    if (use_exp)
-       ctxt = xmlExpNewCtxt(0, NULL);
-#endif
-
-    if (filename != NULL) {
-#ifdef LIBXML_EXPR_ENABLED
-        if (use_exp)
-           runFileTest(ctxt, filename);
-       else
-#endif
-           testRegexpFile(filename);
-    } else {
-        int  data = 0;
-#ifdef LIBXML_EXPR_ENABLED
-
-        if (use_exp) {
-           for (i = 1; i < argc ; i++) {
-               if (strcmp(argv[i], "--") == 0)
-                   data = 1;
-               else if ((argv[i][0] != '-') || (strcmp(argv[i], "-") == 0) ||
-                   (data == 1)) {
-                   if (pattern == NULL) {
-                       pattern = argv[i];
-                       printf("Testing expr %s:\n", pattern);
-                       expr = xmlExpParse(ctxt, pattern);
-                       if (expr == NULL) {
-                           printf("   failed to compile\n");
-                           break;
-                       }
-                       if (debug) {
-                           exprDebug(ctxt, expr);
-                       }
-                   } else {
-                       testReduce(ctxt, expr, argv[i]);
-                   }
-               }
-           }
-           if (expr != NULL) {
-               xmlExpFree(ctxt, expr);
-               expr = NULL;
-           }
-       } else
-#endif
-        {
-           for (i = 1; i < argc ; i++) {
-               if (strcmp(argv[i], "--") == 0)
-                   data = 1;
-               else if ((argv[i][0] != '-') || (strcmp(argv[i], "-") == 0) ||
-                        (data == 1)) {
-                   if (pattern == NULL) {
-                       pattern = argv[i];
-                       printf("Testing %s:\n", pattern);
-                       comp = xmlRegexpCompile((const xmlChar *) pattern);
-                       if (comp == NULL) {
-                           printf("   failed to compile\n");
-                           break;
-                       }
-                       if (debug)
-                           xmlRegexpPrint(stdout, comp);
-                   } else {
-                       testRegexp(comp, argv[i]);
-                   }
-               }
-           }
-           if (comp != NULL)
-               xmlRegFreeRegexp(comp);
-        }
-    }
-#ifdef LIBXML_EXPR_ENABLED
-    if (ctxt != NULL) {
-       printf("Ops: %d nodes, %d cons\n",
-              xmlExpCtxtNbNodes(ctxt), xmlExpCtxtNbCons(ctxt));
-       xmlExpFreeCtxt(ctxt);
-    }
-#endif
-    xmlCleanupParser();
-    xmlMemoryDump();
-    return(0);
-}
-
-#else
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : Regexp support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_REGEXP_ENABLED */
diff --git a/reactos/lib/3rdparty/libxml2/testRelax.c b/reactos/lib/3rdparty/libxml2/testRelax.c
deleted file mode 100644 (file)
index 8e94a7a..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * testRelax.c : a small tester program for RelaxNG validation
- *
- * See Copyright for the status of this software.
- *
- * Daniel.Veillard@w3.org
- */
-
-#include "libxml.h"
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#include <libxml/xmlversion.h>
-#include <libxml/parser.h>
-
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_SYS_MMAN_H
-#include <sys/mman.h>
-/* seems needed for Solaris */
-#ifndef MAP_FAILED
-#define MAP_FAILED ((void *) -1)
-#endif
-#endif
-
-#include <libxml/xmlmemory.h>
-#include <libxml/debugXML.h>
-#include <libxml/relaxng.h>
-
-#ifdef LIBXML_DEBUG_ENABLED
-static int debug = 0;
-#endif
-static int noout = 0;
-static int tree = 0;
-#ifdef HAVE_MMAP
-static int memory = 0;
-#endif
-
-
-int main(int argc, char **argv) {
-    int i;
-    int files = 0;
-    xmlRelaxNGPtr schema = NULL;
-
-    for (i = 1; i < argc ; i++) {
-#ifdef LIBXML_DEBUG_ENABLED
-       if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug")))
-           debug++;
-       else
-#endif
-#ifdef HAVE_MMAP
-       if ((!strcmp(argv[i], "-memory")) || (!strcmp(argv[i], "--memory"))) {
-           memory++;
-        } else
-#endif
-       if ((!strcmp(argv[i], "-noout")) || (!strcmp(argv[i], "--noout"))) {
-           noout++;
-        } else
-       if ((!strcmp(argv[i], "-tree")) || (!strcmp(argv[i], "--tree"))) {
-           tree++;
-        }
-    }
-    xmlLineNumbersDefault(1);
-    xmlSubstituteEntitiesDefault(1);
-    for (i = 1; i < argc ; i++) {
-       if (argv[i][0] != '-') {
-           if (schema == NULL) {
-               xmlRelaxNGParserCtxtPtr ctxt;
-
-#ifdef HAVE_MMAP
-               if (memory) {
-                   int fd;
-                   struct stat info;
-                   const char *base;
-                   if (stat(argv[i], &info) < 0)
-                       break;
-                   if ((fd = open(argv[i], O_RDONLY)) < 0)
-                       break;
-                   base = mmap(NULL, info.st_size, PROT_READ,
-                               MAP_SHARED, fd, 0) ;
-                   if (base == (void *) MAP_FAILED)
-                       break;
-
-                   ctxt = xmlRelaxNGNewMemParserCtxt((char *)base,info.st_size);
-
-                   xmlRelaxNGSetParserErrors(ctxt,
-                           (xmlRelaxNGValidityErrorFunc) fprintf,
-                           (xmlRelaxNGValidityWarningFunc) fprintf,
-                           stderr);
-                   schema = xmlRelaxNGParse(ctxt);
-                   xmlRelaxNGFreeParserCtxt(ctxt);
-                   munmap((char *) base, info.st_size);
-               } else
-#endif
-               {
-                   ctxt = xmlRelaxNGNewParserCtxt(argv[i]);
-                   xmlRelaxNGSetParserErrors(ctxt,
-                           (xmlRelaxNGValidityErrorFunc) fprintf,
-                           (xmlRelaxNGValidityWarningFunc) fprintf,
-                           stderr);
-                   schema = xmlRelaxNGParse(ctxt);
-                   xmlRelaxNGFreeParserCtxt(ctxt);
-               }
-               if (schema == NULL) {
-                   printf("Relax-NG schema %s failed to compile\n", argv[i]);
-                   files = -1;
-                   break;
-               }
-#ifdef LIBXML_OUTPUT_ENABLED
-#ifdef LIBXML_DEBUG_ENABLED
-               if (debug)
-                   xmlRelaxNGDump(stdout, schema);
-#endif
-               if (tree)
-                   xmlRelaxNGDumpTree(stdout, schema);
-#endif /* LIBXML_OUTPUT_ENABLED */
-           } else {
-               xmlDocPtr doc;
-
-               doc = xmlReadFile(argv[i],NULL,0);
-
-               if (doc == NULL) {
-                   fprintf(stderr, "Could not parse %s\n", argv[i]);
-               } else {
-                   xmlRelaxNGValidCtxtPtr ctxt;
-                   int ret;
-
-                   ctxt = xmlRelaxNGNewValidCtxt(schema);
-                   xmlRelaxNGSetValidErrors(ctxt,
-                           (xmlRelaxNGValidityErrorFunc) fprintf,
-                           (xmlRelaxNGValidityWarningFunc) fprintf,
-                           stderr);
-                   ret = xmlRelaxNGValidateDoc(ctxt, doc);
-                   if (ret == 0) {
-                       printf("%s validates\n", argv[i]);
-                   } else if (ret > 0) {
-                       printf("%s fails to validate\n", argv[i]);
-                   } else {
-                       printf("%s validation generated an internal error\n",
-                              argv[i]);
-                   }
-                   xmlRelaxNGFreeValidCtxt(ctxt);
-                   xmlFreeDoc(doc);
-               }
-           }
-           files ++;
-       }
-    }
-    if (schema != NULL)
-       xmlRelaxNGFree(schema);
-    if (files == 0) {
-       printf("Usage : %s [--debug] [--noout] schemas XMLfiles ...\n",
-              argv[0]);
-       printf("\tParse the HTML files and output the result of the parsing\n");
-#ifdef LIBXML_DEBUG_ENABLED
-       printf("\t--debug : dump a debug tree of the in-memory document\n");
-#endif
-       printf("\t--noout : do not print the result\n");
-       printf("\t--tree : print the intermediate Relax-NG document tree\n");
-#ifdef HAVE_MMAP
-       printf("\t--memory : test the schemas in memory parsing\n");
-#endif
-    }
-    xmlRelaxNGCleanupTypes();
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(0);
-}
-
-#else
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : RelaxNG support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_SCHEMAS_ENABLED */
diff --git a/reactos/lib/3rdparty/libxml2/testSAX.c b/reactos/lib/3rdparty/libxml2/testSAX.c
deleted file mode 100644 (file)
index 81c4b93..0000000
+++ /dev/null
@@ -1,1198 +0,0 @@
-/*
- * testSAX.c : a small tester program for parsing using the SAX API.
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_SYS_TIMEB_H
-#include <sys/timeb.h>
-#endif
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-
-#ifdef LIBXML_SAX1_ENABLED
-#include <string.h>
-#include <stdarg.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-
-#include <libxml/globals.h>
-#include <libxml/xmlerror.h>
-#include <libxml/parser.h>
-#include <libxml/parserInternals.h> /* only for xmlNewInputFromFile() */
-#include <libxml/tree.h>
-#include <libxml/debugXML.h>
-#include <libxml/xmlmemory.h>
-
-static int debug = 0;
-static int copy = 0;
-static int recovery = 0;
-static int push = 0;
-static int speed = 0;
-static int noent = 0;
-static int quiet = 0;
-static int nonull = 0;
-static int sax2 = 0;
-static int repeat = 0;
-static int callbacks = 0;
-static int timing = 0;
-
-/*
- * Timing routines.
- */
-/*
- * Internal timing routines to remove the necessity to have unix-specific
- * function calls
- */
-
-#ifndef HAVE_GETTIMEOFDAY
-#ifdef HAVE_SYS_TIMEB_H
-#ifdef HAVE_SYS_TIME_H
-#ifdef HAVE_FTIME
-
-static int
-my_gettimeofday(struct timeval *tvp, void *tzp)
-{
-       struct timeb timebuffer;
-
-       ftime(&timebuffer);
-       if (tvp) {
-               tvp->tv_sec = timebuffer.time;
-               tvp->tv_usec = timebuffer.millitm * 1000L;
-       }
-       return (0);
-}
-#define HAVE_GETTIMEOFDAY 1
-#define gettimeofday my_gettimeofday
-
-#endif /* HAVE_FTIME */
-#endif /* HAVE_SYS_TIME_H */
-#endif /* HAVE_SYS_TIMEB_H */
-#endif /* !HAVE_GETTIMEOFDAY */
-
-#if defined(HAVE_GETTIMEOFDAY)
-static struct timeval begin, end;
-
-/*
- * startTimer: call where you want to start timing
- */
-static void
-startTimer(void)
-{
-    gettimeofday(&begin, NULL);
-}
-
-/*
- * endTimer: call where you want to stop timing and to print out a
- *           message about the timing performed; format is a printf
- *           type argument
- */
-static void XMLCDECL
-endTimer(const char *fmt, ...)
-{
-    long msec;
-    va_list ap;
-
-    gettimeofday(&end, NULL);
-    msec = end.tv_sec - begin.tv_sec;
-    msec *= 1000;
-    msec += (end.tv_usec - begin.tv_usec) / 1000;
-
-#ifndef HAVE_STDARG_H
-#error "endTimer required stdarg functions"
-#endif
-    va_start(ap, fmt);
-    vfprintf(stderr, fmt, ap);
-    va_end(ap);
-
-    fprintf(stderr, " took %ld ms\n", msec);
-}
-#elif defined(HAVE_TIME_H)
-/*
- * No gettimeofday function, so we have to make do with calling clock.
- * This is obviously less accurate, but there's little we can do about
- * that.
- */
-#ifndef CLOCKS_PER_SEC
-#define CLOCKS_PER_SEC 100
-#endif
-
-static clock_t begin, end;
-static void
-startTimer(void)
-{
-    begin = clock();
-}
-static void XMLCDECL
-endTimer(const char *fmt, ...)
-{
-    long msec;
-    va_list ap;
-
-    end = clock();
-    msec = ((end - begin) * 1000) / CLOCKS_PER_SEC;
-
-#ifndef HAVE_STDARG_H
-#error "endTimer required stdarg functions"
-#endif
-    va_start(ap, fmt);
-    vfprintf(stderr, fmt, ap);
-    va_end(ap);
-    fprintf(stderr, " took %ld ms\n", msec);
-}
-#else
-
-/*
- * We don't have a gettimeofday or time.h, so we just don't do timing
- */
-static void
-startTimer(void)
-{
-    /*
-     * Do nothing
-     */
-}
-static void XMLCDECL
-endTimer(char *format, ...)
-{
-    /*
-     * We cannot do anything because we don't have a timing function
-     */
-#ifdef HAVE_STDARG_H
-    va_start(ap, format);
-    vfprintf(stderr, format, ap);
-    va_end(ap);
-    fprintf(stderr, " was not timed\n", msec);
-#else
-    /* We don't have gettimeofday, time or stdarg.h, what crazy world is
-     * this ?!
-     */
-#endif
-}
-#endif
-
-/*
- * empty SAX block
- */
-static xmlSAXHandler emptySAXHandlerStruct = {
-    NULL, /* internalSubset */
-    NULL, /* isStandalone */
-    NULL, /* hasInternalSubset */
-    NULL, /* hasExternalSubset */
-    NULL, /* resolveEntity */
-    NULL, /* getEntity */
-    NULL, /* entityDecl */
-    NULL, /* notationDecl */
-    NULL, /* attributeDecl */
-    NULL, /* elementDecl */
-    NULL, /* unparsedEntityDecl */
-    NULL, /* setDocumentLocator */
-    NULL, /* startDocument */
-    NULL, /* endDocument */
-    NULL, /* startElement */
-    NULL, /* endElement */
-    NULL, /* reference */
-    NULL, /* characters */
-    NULL, /* ignorableWhitespace */
-    NULL, /* processingInstruction */
-    NULL, /* comment */
-    NULL, /* xmlParserWarning */
-    NULL, /* xmlParserError */
-    NULL, /* xmlParserError */
-    NULL, /* getParameterEntity */
-    NULL, /* cdataBlock; */
-    NULL, /* externalSubset; */
-    1,
-    NULL,
-    NULL, /* startElementNs */
-    NULL, /* endElementNs */
-    NULL  /* xmlStructuredErrorFunc */
-};
-
-static xmlSAXHandlerPtr emptySAXHandler = &emptySAXHandlerStruct;
-extern xmlSAXHandlerPtr debugSAXHandler;
-
-/************************************************************************
- *                                                                     *
- *                             Debug Handlers                          *
- *                                                                     *
- ************************************************************************/
-
-/**
- * isStandaloneDebug:
- * @ctxt:  An XML parser context
- *
- * Is this document tagged standalone ?
- *
- * Returns 1 if true
- */
-static int
-isStandaloneDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-       return(0);
-    fprintf(stdout, "SAX.isStandalone()\n");
-    return(0);
-}
-
-/**
- * hasInternalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an internal subset
- *
- * Returns 1 if true
- */
-static int
-hasInternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-       return(0);
-    fprintf(stdout, "SAX.hasInternalSubset()\n");
-    return(0);
-}
-
-/**
- * hasExternalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an external subset
- *
- * Returns 1 if true
- */
-static int
-hasExternalSubsetDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-       return(0);
-    fprintf(stdout, "SAX.hasExternalSubset()\n");
-    return(0);
-}
-
-/**
- * internalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an internal subset
- */
-static void
-internalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-              const xmlChar *ExternalID, const xmlChar *SystemID)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.internalSubset(%s,", name);
-    if (ExternalID == NULL)
-       fprintf(stdout, " ,");
-    else
-       fprintf(stdout, " %s,", ExternalID);
-    if (SystemID == NULL)
-       fprintf(stdout, " )\n");
-    else
-       fprintf(stdout, " %s)\n", SystemID);
-}
-
-/**
- * externalSubsetDebug:
- * @ctxt:  An XML parser context
- *
- * Does this document has an external subset
- */
-static void
-externalSubsetDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-              const xmlChar *ExternalID, const xmlChar *SystemID)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.externalSubset(%s,", name);
-    if (ExternalID == NULL)
-       fprintf(stdout, " ,");
-    else
-       fprintf(stdout, " %s,", ExternalID);
-    if (SystemID == NULL)
-       fprintf(stdout, " )\n");
-    else
-       fprintf(stdout, " %s)\n", SystemID);
-}
-
-/**
- * resolveEntityDebug:
- * @ctxt:  An XML parser context
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- *
- * Special entity resolver, better left to the parser, it has
- * more context than the application layer.
- * The default behaviour is to NOT resolve the entities, in that case
- * the ENTITY_REF nodes are built in the structure (and the parameter
- * values).
- *
- * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
- */
-static xmlParserInputPtr
-resolveEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *publicId, const xmlChar *systemId)
-{
-    callbacks++;
-    if (quiet)
-       return(NULL);
-    /* xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; */
-
-
-    fprintf(stdout, "SAX.resolveEntity(");
-    if (publicId != NULL)
-       fprintf(stdout, "%s", (char *)publicId);
-    else
-       fprintf(stdout, " ");
-    if (systemId != NULL)
-       fprintf(stdout, ", %s)\n", (char *)systemId);
-    else
-       fprintf(stdout, ", )\n");
-/*********
-    if (systemId != NULL) {
-        return(xmlNewInputFromFile(ctxt, (char *) systemId));
-    }
- *********/
-    return(NULL);
-}
-
-/**
- * getEntityDebug:
- * @ctxt:  An XML parser context
- * @name: The entity name
- *
- * Get an entity by name
- *
- * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
- */
-static xmlEntityPtr
-getEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    callbacks++;
-    if (quiet)
-       return(NULL);
-    fprintf(stdout, "SAX.getEntity(%s)\n", name);
-    return(NULL);
-}
-
-/**
- * getParameterEntityDebug:
- * @ctxt:  An XML parser context
- * @name: The entity name
- *
- * Get a parameter entity by name
- *
- * Returns the xmlParserInputPtr
- */
-static xmlEntityPtr
-getParameterEntityDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    callbacks++;
-    if (quiet)
-       return(NULL);
-    fprintf(stdout, "SAX.getParameterEntity(%s)\n", name);
-    return(NULL);
-}
-
-
-/**
- * entityDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the entity name
- * @type:  the entity type
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- * @content: the entity value (without processing).
- *
- * An entity definition has been parsed
- */
-static void
-entityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type,
-          const xmlChar *publicId, const xmlChar *systemId, xmlChar *content)
-{
-const xmlChar *nullstr = BAD_CAST "(null)";
-    /* not all libraries handle printing null pointers nicely */
-    if (publicId == NULL)
-        publicId = nullstr;
-    if (systemId == NULL)
-        systemId = nullstr;
-    if (content == NULL)
-        content = (xmlChar *)nullstr;
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.entityDecl(%s, %d, %s, %s, %s)\n",
-            name, type, publicId, systemId, content);
-}
-
-/**
- * attributeDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the attribute name
- * @type:  the attribute type
- *
- * An attribute definition has been parsed
- */
-static void
-attributeDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar * elem,
-                   const xmlChar * name, int type, int def,
-                   const xmlChar * defaultValue, xmlEnumerationPtr tree)
-{
-    callbacks++;
-    if (quiet)
-        return;
-    if (defaultValue == NULL)
-        fprintf(stdout, "SAX.attributeDecl(%s, %s, %d, %d, NULL, ...)\n",
-                elem, name, type, def);
-    else
-        fprintf(stdout, "SAX.attributeDecl(%s, %s, %d, %d, %s, ...)\n",
-                elem, name, type, def, defaultValue);
-    xmlFreeEnumeration(tree);
-}
-
-/**
- * elementDeclDebug:
- * @ctxt:  An XML parser context
- * @name:  the element name
- * @type:  the element type
- * @content: the element value (without processing).
- *
- * An element definition has been parsed
- */
-static void
-elementDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, int type,
-           xmlElementContentPtr content ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.elementDecl(%s, %d, ...)\n",
-            name, type);
-}
-
-/**
- * notationDeclDebug:
- * @ctxt:  An XML parser context
- * @name: The name of the notation
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- *
- * What to do when a notation declaration has been parsed.
- */
-static void
-notationDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-            const xmlChar *publicId, const xmlChar *systemId)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.notationDecl(%s, %s, %s)\n",
-            (char *) name, (char *) publicId, (char *) systemId);
-}
-
-/**
- * unparsedEntityDeclDebug:
- * @ctxt:  An XML parser context
- * @name: The name of the entity
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- * @notationName: the name of the notation
- *
- * What to do when an unparsed entity declaration is parsed
- */
-static void
-unparsedEntityDeclDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name,
-                  const xmlChar *publicId, const xmlChar *systemId,
-                  const xmlChar *notationName)
-{
-const xmlChar *nullstr = BAD_CAST "(null)";
-
-    if (publicId == NULL)
-        publicId = nullstr;
-    if (systemId == NULL)
-        systemId = nullstr;
-    if (notationName == NULL)
-        notationName = nullstr;
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.unparsedEntityDecl(%s, %s, %s, %s)\n",
-            (char *) name, (char *) publicId, (char *) systemId,
-           (char *) notationName);
-}
-
-/**
- * setDocumentLocatorDebug:
- * @ctxt:  An XML parser context
- * @loc: A SAX Locator
- *
- * Receive the document locator at startup, actually xmlDefaultSAXLocator
- * Everything is available on the context, so this is useless in our case.
- */
-static void
-setDocumentLocatorDebug(void *ctx ATTRIBUTE_UNUSED, xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.setDocumentLocator()\n");
-}
-
-/**
- * startDocumentDebug:
- * @ctxt:  An XML parser context
- *
- * called when the document start being processed.
- */
-static void
-startDocumentDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.startDocument()\n");
-}
-
-/**
- * endDocumentDebug:
- * @ctxt:  An XML parser context
- *
- * called when the document end has been detected.
- */
-static void
-endDocumentDebug(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.endDocument()\n");
-}
-
-/**
- * startElementDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when an opening tag has been processed.
- */
-static void
-startElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, const xmlChar **atts)
-{
-    int i;
-
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.startElement(%s", (char *) name);
-    if (atts != NULL) {
-        for (i = 0;(atts[i] != NULL);i++) {
-           fprintf(stdout, ", %s='", atts[i++]);
-           if (atts[i] != NULL)
-               fprintf(stdout, "%s'", atts[i]);
-       }
-    }
-    fprintf(stdout, ")\n");
-}
-
-/**
- * endElementDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when the end of an element has been detected.
- */
-static void
-endElementDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.endElement(%s)\n", (char *) name);
-}
-
-/**
- * charactersDebug:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @len: the number of xmlChar
- *
- * receiving some chars from the parser.
- * Question: how much at a time ???
- */
-static void
-charactersDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len)
-{
-    char output[40];
-    int i;
-
-    callbacks++;
-    if (quiet)
-       return;
-    for (i = 0;(i<len) && (i < 30);i++)
-       output[i] = ch[i];
-    output[i] = 0;
-
-    fprintf(stdout, "SAX.characters(%s, %d)\n", output, len);
-}
-
-/**
- * referenceDebug:
- * @ctxt:  An XML parser context
- * @name:  The entity name
- *
- * called when an entity reference is detected.
- */
-static void
-referenceDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.reference(%s)\n", name);
-}
-
-/**
- * ignorableWhitespaceDebug:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @start: the first char in the string
- * @len: the number of xmlChar
- *
- * receiving some ignorable whitespaces from the parser.
- * Question: how much at a time ???
- */
-static void
-ignorableWhitespaceDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *ch, int len)
-{
-    char output[40];
-    int i;
-
-    callbacks++;
-    if (quiet)
-       return;
-    for (i = 0;(i<len) && (i < 30);i++)
-       output[i] = ch[i];
-    output[i] = 0;
-    fprintf(stdout, "SAX.ignorableWhitespace(%s, %d)\n", output, len);
-}
-
-/**
- * processingInstructionDebug:
- * @ctxt:  An XML parser context
- * @target:  the target name
- * @data: the PI data's
- * @len: the number of xmlChar
- *
- * A processing instruction has been parsed.
- */
-static void
-processingInstructionDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *target,
-                      const xmlChar *data)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    if (data != NULL)
-       fprintf(stdout, "SAX.processingInstruction(%s, %s)\n",
-               (char *) target, (char *) data);
-    else
-       fprintf(stdout, "SAX.processingInstruction(%s, NULL)\n",
-               (char *) target);
-}
-
-/**
- * cdataBlockDebug:
- * @ctx: the user data (XML parser context)
- * @value:  The pcdata content
- * @len:  the block length
- *
- * called when a pcdata block has been parsed
- */
-static void
-cdataBlockDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *value, int len)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.pcdata(%.20s, %d)\n",
-           (char *) value, len);
-}
-
-/**
- * commentDebug:
- * @ctxt:  An XML parser context
- * @value:  the comment content
- *
- * A comment has been parsed.
- */
-static void
-commentDebug(void *ctx ATTRIBUTE_UNUSED, const xmlChar *value)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.comment(%s)\n", value);
-}
-
-/**
- * warningDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a warning messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-warningDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    callbacks++;
-    if (quiet)
-       return;
-    va_start(args, msg);
-    fprintf(stdout, "SAX.warning: ");
-    vfprintf(stdout, msg, args);
-    va_end(args);
-}
-
-/**
- * errorDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a error messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-errorDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    callbacks++;
-    if (quiet)
-       return;
-    va_start(args, msg);
-    fprintf(stdout, "SAX.error: ");
-    vfprintf(stdout, msg, args);
-    va_end(args);
-}
-
-/**
- * fatalErrorDebug:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a fatalError messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-fatalErrorDebug(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...)
-{
-    va_list args;
-
-    callbacks++;
-    if (quiet)
-       return;
-    va_start(args, msg);
-    fprintf(stdout, "SAX.fatalError: ");
-    vfprintf(stdout, msg, args);
-    va_end(args);
-}
-
-static xmlSAXHandler debugSAXHandlerStruct = {
-    internalSubsetDebug,
-    isStandaloneDebug,
-    hasInternalSubsetDebug,
-    hasExternalSubsetDebug,
-    resolveEntityDebug,
-    getEntityDebug,
-    entityDeclDebug,
-    notationDeclDebug,
-    attributeDeclDebug,
-    elementDeclDebug,
-    unparsedEntityDeclDebug,
-    setDocumentLocatorDebug,
-    startDocumentDebug,
-    endDocumentDebug,
-    startElementDebug,
-    endElementDebug,
-    referenceDebug,
-    charactersDebug,
-    ignorableWhitespaceDebug,
-    processingInstructionDebug,
-    commentDebug,
-    warningDebug,
-    errorDebug,
-    fatalErrorDebug,
-    getParameterEntityDebug,
-    cdataBlockDebug,
-    externalSubsetDebug,
-    1,
-    NULL,
-    NULL,
-    NULL,
-    NULL
-};
-
-xmlSAXHandlerPtr debugSAXHandler = &debugSAXHandlerStruct;
-
-/*
- * SAX2 specific callbacks
- */
-/**
- * startElementNsDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when an opening tag has been processed.
- */
-static void
-startElementNsDebug(void *ctx ATTRIBUTE_UNUSED,
-                    const xmlChar *localname,
-                    const xmlChar *prefix,
-                    const xmlChar *URI,
-                   int nb_namespaces,
-                   const xmlChar **namespaces,
-                   int nb_attributes,
-                   int nb_defaulted,
-                   const xmlChar **attributes)
-{
-    int i;
-
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.startElementNs(%s", (char *) localname);
-    if (prefix == NULL)
-       fprintf(stdout, ", NULL");
-    else
-       fprintf(stdout, ", %s", (char *) prefix);
-    if (URI == NULL)
-       fprintf(stdout, ", NULL");
-    else
-       fprintf(stdout, ", '%s'", (char *) URI);
-    fprintf(stdout, ", %d", nb_namespaces);
-
-    if (namespaces != NULL) {
-        for (i = 0;i < nb_namespaces * 2;i++) {
-           fprintf(stdout, ", xmlns");
-           if (namespaces[i] != NULL)
-               fprintf(stdout, ":%s", namespaces[i]);
-           i++;
-           fprintf(stdout, "='%s'", namespaces[i]);
-       }
-    }
-    fprintf(stdout, ", %d, %d", nb_attributes, nb_defaulted);
-    if (attributes != NULL) {
-        for (i = 0;i < nb_attributes * 5;i += 5) {
-           if (attributes[i + 1] != NULL)
-               fprintf(stdout, ", %s:%s='", attributes[i + 1], attributes[i]);
-           else
-               fprintf(stdout, ", %s='", attributes[i]);
-           fprintf(stdout, "%.4s...', %d", attributes[i + 3],
-                   (int)(attributes[i + 4] - attributes[i + 3]));
-       }
-    }
-    fprintf(stdout, ")\n");
-}
-
-/**
- * endElementDebug:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when the end of an element has been detected.
- */
-static void
-endElementNsDebug(void *ctx ATTRIBUTE_UNUSED,
-                  const xmlChar *localname,
-                  const xmlChar *prefix,
-                  const xmlChar *URI)
-{
-    callbacks++;
-    if (quiet)
-       return;
-    fprintf(stdout, "SAX.endElementNs(%s", (char *) localname);
-    if (prefix == NULL)
-       fprintf(stdout, ", NULL");
-    else
-       fprintf(stdout, ", %s", (char *) prefix);
-    if (URI == NULL)
-       fprintf(stdout, ", NULL)\n");
-    else
-       fprintf(stdout, ", '%s')\n", (char *) URI);
-}
-
-static xmlSAXHandler debugSAX2HandlerStruct = {
-    internalSubsetDebug,
-    isStandaloneDebug,
-    hasInternalSubsetDebug,
-    hasExternalSubsetDebug,
-    resolveEntityDebug,
-    getEntityDebug,
-    entityDeclDebug,
-    notationDeclDebug,
-    attributeDeclDebug,
-    elementDeclDebug,
-    unparsedEntityDeclDebug,
-    setDocumentLocatorDebug,
-    startDocumentDebug,
-    endDocumentDebug,
-    NULL,
-    NULL,
-    referenceDebug,
-    charactersDebug,
-    ignorableWhitespaceDebug,
-    processingInstructionDebug,
-    commentDebug,
-    warningDebug,
-    errorDebug,
-    fatalErrorDebug,
-    getParameterEntityDebug,
-    cdataBlockDebug,
-    externalSubsetDebug,
-    XML_SAX2_MAGIC,
-    NULL,
-    startElementNsDebug,
-    endElementNsDebug,
-    NULL
-};
-
-static xmlSAXHandlerPtr debugSAX2Handler = &debugSAX2HandlerStruct;
-
-/************************************************************************
- *                                                                     *
- *                             Debug                                   *
- *                                                                     *
- ************************************************************************/
-
-static void
-parseAndPrintFile(char *filename) {
-    int res;
-
-#ifdef LIBXML_PUSH_ENABLED
-    if (push) {
-       FILE *f;
-
-        if ((!quiet) && (!nonull)) {
-           /*
-            * Empty callbacks for checking
-            */
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
-           f = fopen(filename, "rb");
-#else
-           f = fopen(filename, "r");
-#endif
-           if (f != NULL) {
-               int ret;
-               char chars[10];
-               xmlParserCtxtPtr ctxt;
-
-               ret = fread(chars, 1, 4, f);
-               if (ret > 0) {
-                   ctxt = xmlCreatePushParserCtxt(emptySAXHandler, NULL,
-                               chars, ret, filename);
-                   while ((ret = fread(chars, 1, 3, f)) > 0) {
-                       xmlParseChunk(ctxt, chars, ret, 0);
-                   }
-                   xmlParseChunk(ctxt, chars, 0, 1);
-                   xmlFreeParserCtxt(ctxt);
-               }
-               fclose(f);
-           } else {
-               xmlGenericError(xmlGenericErrorContext,
-                       "Cannot read file %s\n", filename);
-           }
-       }
-       /*
-        * Debug callback
-        */
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
-       f = fopen(filename, "rb");
-#else
-       f = fopen(filename, "r");
-#endif
-       if (f != NULL) {
-           int ret;
-           char chars[10];
-           xmlParserCtxtPtr ctxt;
-
-           ret = fread(chars, 1, 4, f);
-           if (ret > 0) {
-               if (sax2)
-                   ctxt = xmlCreatePushParserCtxt(debugSAX2Handler, NULL,
-                               chars, ret, filename);
-               else
-                   ctxt = xmlCreatePushParserCtxt(debugSAXHandler, NULL,
-                               chars, ret, filename);
-               while ((ret = fread(chars, 1, 3, f)) > 0) {
-                   xmlParseChunk(ctxt, chars, ret, 0);
-               }
-               ret = xmlParseChunk(ctxt, chars, 0, 1);
-               xmlFreeParserCtxt(ctxt);
-               if (ret != 0) {
-                   fprintf(stdout,
-                           "xmlSAXUserParseFile returned error %d\n", ret);
-               }
-           }
-           fclose(f);
-       }
-    } else {
-#endif /* LIBXML_PUSH_ENABLED */
-       if (!speed) {
-           /*
-            * Empty callbacks for checking
-            */
-           if ((!quiet) && (!nonull)) {
-               res = xmlSAXUserParseFile(emptySAXHandler, NULL, filename);
-               if (res != 0) {
-                   fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res);
-               }
-           }
-
-           /*
-            * Debug callback
-            */
-           callbacks = 0;
-           if (repeat) {
-               int i;
-               for (i = 0;i < 99;i++) {
-                   if (sax2)
-                       res = xmlSAXUserParseFile(debugSAX2Handler, NULL,
-                                                 filename);
-                   else
-                       res = xmlSAXUserParseFile(debugSAXHandler, NULL,
-                                                 filename);
-               }
-           }
-           if (sax2)
-               res = xmlSAXUserParseFile(debugSAX2Handler, NULL, filename);
-           else
-               res = xmlSAXUserParseFile(debugSAXHandler, NULL, filename);
-           if (res != 0) {
-               fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res);
-           }
-           if (quiet)
-               fprintf(stdout, "%d callbacks generated\n", callbacks);
-       } else {
-           /*
-            * test 100x the SAX parse
-            */
-           int i;
-
-           for (i = 0; i<100;i++)
-               res = xmlSAXUserParseFile(emptySAXHandler, NULL, filename);
-           if (res != 0) {
-               fprintf(stdout, "xmlSAXUserParseFile returned error %d\n", res);
-           }
-       }
-#ifdef LIBXML_PUSH_ENABLED
-    }
-#endif
-}
-
-
-int main(int argc, char **argv) {
-    int i;
-    int files = 0;
-
-    LIBXML_TEST_VERSION        /* be safe, plus calls xmlInitParser */
-
-    for (i = 1; i < argc ; i++) {
-       if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug")))
-           debug++;
-       else if ((!strcmp(argv[i], "-copy")) || (!strcmp(argv[i], "--copy")))
-           copy++;
-       else if ((!strcmp(argv[i], "-recover")) ||
-                (!strcmp(argv[i], "--recover")))
-           recovery++;
-       else if ((!strcmp(argv[i], "-push")) ||
-                (!strcmp(argv[i], "--push")))
-#ifdef LIBXML_PUSH_ENABLED
-           push++;
-#else
-           fprintf(stderr,"'push' not enabled in library - ignoring\n");
-#endif /* LIBXML_PUSH_ENABLED */
-       else if ((!strcmp(argv[i], "-speed")) ||
-                (!strcmp(argv[i], "--speed")))
-           speed++;
-       else if ((!strcmp(argv[i], "-timing")) ||
-                (!strcmp(argv[i], "--timing"))) {
-           nonull++;
-           timing++;
-           quiet++;
-       } else if ((!strcmp(argv[i], "-repeat")) ||
-                (!strcmp(argv[i], "--repeat"))) {
-           repeat++;
-           quiet++;
-       } else if ((!strcmp(argv[i], "-noent")) ||
-                (!strcmp(argv[i], "--noent")))
-           noent++;
-       else if ((!strcmp(argv[i], "-quiet")) ||
-                (!strcmp(argv[i], "--quiet")))
-           quiet++;
-       else if ((!strcmp(argv[i], "-sax2")) ||
-                (!strcmp(argv[i], "--sax2")))
-           sax2++;
-       else if ((!strcmp(argv[i], "-nonull")) ||
-                (!strcmp(argv[i], "--nonull")))
-           nonull++;
-    }
-    if (noent != 0) xmlSubstituteEntitiesDefault(1);
-    for (i = 1; i < argc ; i++) {
-       if (argv[i][0] != '-') {
-           if (timing) {
-               startTimer();
-           }
-           parseAndPrintFile(argv[i]);
-           if (timing) {
-               endTimer("Parsing");
-           }
-           files ++;
-       }
-    }
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(0);
-}
-#else
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : SAX1 parsing support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_SAX1_ENABLED */
diff --git a/reactos/lib/3rdparty/libxml2/testSchemas.c b/reactos/lib/3rdparty/libxml2/testSchemas.c
deleted file mode 100644 (file)
index b98e631..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * testSchemas.c : a small tester program for Schema validation
- *
- * See Copyright for the status of this software.
- *
- * Daniel.Veillard@w3.org
- */
-
-#include "libxml.h"
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#include <libxml/xmlversion.h>
-#include <libxml/parser.h>
-
-#include <stdio.h>
-#include <string.h>
-#include <stdarg.h>
-
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_SYS_MMAN_H
-#include <sys/mman.h>
-/* seems needed for Solaris */
-#ifndef MAP_FAILED
-#define MAP_FAILED ((void *) -1)
-#endif
-#endif
-
-#include <libxml/xmlmemory.h>
-#include <libxml/debugXML.h>
-#include <libxml/xmlschemas.h>
-#include <libxml/xmlschemastypes.h>
-
-#ifdef LIBXML_DEBUG_ENABLED
-static int debug = 0;
-#endif
-static int noout = 0;
-#ifdef HAVE_MMAP
-static int memory = 0;
-#endif
-
-
-int main(int argc, char **argv) {
-    int i;
-    int files = 0;
-    xmlSchemaPtr schema = NULL;
-
-    for (i = 1; i < argc ; i++) {
-#ifdef LIBXML_DEBUG_ENABLED
-       if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug")))
-           debug++;
-       else
-#endif
-#ifdef HAVE_MMAP
-       if ((!strcmp(argv[i], "-memory")) || (!strcmp(argv[i], "--memory"))) {
-           memory++;
-        } else
-#endif
-       if ((!strcmp(argv[i], "-noout")) || (!strcmp(argv[i], "--noout"))) {
-           noout++;
-        }
-    }
-    xmlLineNumbersDefault(1);
-    for (i = 1; i < argc ; i++) {
-       if (argv[i][0] != '-') {
-           if (schema == NULL) {
-               xmlSchemaParserCtxtPtr ctxt;
-
-#ifdef HAVE_MMAP
-               if (memory) {
-                   int fd;
-                   struct stat info;
-                   const char *base;
-                   if (stat(argv[i], &info) < 0)
-                       break;
-                   if ((fd = open(argv[i], O_RDONLY)) < 0)
-                       break;
-                   base = mmap(NULL, info.st_size, PROT_READ,
-                               MAP_SHARED, fd, 0) ;
-                   if (base == (void *) MAP_FAILED)
-                       break;
-
-                   ctxt = xmlSchemaNewMemParserCtxt((char *)base,info.st_size);
-
-                   xmlSchemaSetParserErrors(ctxt,
-                           (xmlSchemaValidityErrorFunc) fprintf,
-                           (xmlSchemaValidityWarningFunc) fprintf,
-                           stderr);
-                   schema = xmlSchemaParse(ctxt);
-                   xmlSchemaFreeParserCtxt(ctxt);
-                   munmap((char *) base, info.st_size);
-               } else
-#endif
-               {
-                   ctxt = xmlSchemaNewParserCtxt(argv[i]);
-                   xmlSchemaSetParserErrors(ctxt,
-                           (xmlSchemaValidityErrorFunc) fprintf,
-                           (xmlSchemaValidityWarningFunc) fprintf,
-                           stderr);
-                   schema = xmlSchemaParse(ctxt);
-                   xmlSchemaFreeParserCtxt(ctxt);
-               }
-#ifdef LIBXML_OUTPUT_ENABLED
-#ifdef LIBXML_DEBUG_ENABLED
-               if (debug)
-                   xmlSchemaDump(stdout, schema);
-#endif
-#endif /* LIBXML_OUTPUT_ENABLED */
-               if (schema == NULL)
-                   goto failed_schemas;
-           } else {
-               xmlDocPtr doc;
-
-               doc = xmlReadFile(argv[i],NULL,0);
-
-               if (doc == NULL) {
-                   fprintf(stderr, "Could not parse %s\n", argv[i]);
-               } else {
-                   xmlSchemaValidCtxtPtr ctxt;
-                   int ret;
-
-                   ctxt = xmlSchemaNewValidCtxt(schema);
-                   xmlSchemaSetValidErrors(ctxt,
-                           (xmlSchemaValidityErrorFunc) fprintf,
-                           (xmlSchemaValidityWarningFunc) fprintf,
-                           stderr);
-                   ret = xmlSchemaValidateDoc(ctxt, doc);
-                   if (ret == 0) {
-                       printf("%s validates\n", argv[i]);
-                   } else if (ret > 0) {
-                       printf("%s fails to validate\n", argv[i]);
-                   } else {
-                       printf("%s validation generated an internal error\n",
-                              argv[i]);
-                   }
-                   xmlSchemaFreeValidCtxt(ctxt);
-                   xmlFreeDoc(doc);
-               }
-           }
-           files ++;
-       }
-    }
-    if (schema != NULL)
-       xmlSchemaFree(schema);
-    if (files == 0) {
-       printf("Usage : %s [--debug] [--noout] schemas XMLfiles ...\n",
-              argv[0]);
-       printf("\tParse the HTML files and output the result of the parsing\n");
-#ifdef LIBXML_DEBUG_ENABLED
-       printf("\t--debug : dump a debug tree of the in-memory document\n");
-#endif
-       printf("\t--noout : do not print the result\n");
-#ifdef HAVE_MMAP
-       printf("\t--memory : test the schemas in memory parsing\n");
-#endif
-    }
-failed_schemas:
-    xmlSchemaCleanupTypes();
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(0);
-}
-
-#else
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : Schemas support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_SCHEMAS_ENABLED */
diff --git a/reactos/lib/3rdparty/libxml2/testThreads.c b/reactos/lib/3rdparty/libxml2/testThreads.c
deleted file mode 100644 (file)
index bff5391..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-#include "libxml.h"
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_SAX1_ENABLED)
-#include <libxml/globals.h>
-#include <libxml/threads.h>
-#include <libxml/parser.h>
-#include <libxml/catalog.h>
-#ifdef HAVE_PTHREAD_H
-#include <pthread.h>
-#elif defined HAVE_BEOS_THREADS
-#include <OS.h>
-#endif
-#include <string.h>
-#if !defined(_MSC_VER)
-#include <unistd.h>
-#endif
-#include <assert.h>
-
-#define        MAX_ARGC        20
-#ifdef HAVE_PTHREAD_H
-static pthread_t tid[MAX_ARGC];
-#elif defined HAVE_BEOS_THREADS
-static thread_id tid[MAX_ARGC];
-#endif
-
-static const char *catalog = "test/threads/complex.xml";
-static const char *testfiles[] = {
-    "test/threads/abc.xml",
-    "test/threads/acb.xml",
-    "test/threads/bac.xml",
-    "test/threads/bca.xml",
-    "test/threads/cab.xml",
-    "test/threads/cba.xml",
-    "test/threads/invalid.xml",
-};
-
-static const char *Okay = "OK";
-static const char *Failed = "Failed";
-
-#ifndef xmlDoValidityCheckingDefaultValue
-#error xmlDoValidityCheckingDefaultValue is not a macro
-#endif
-#ifndef xmlGenericErrorContext
-#error xmlGenericErrorContext is not a macro
-#endif
-
-static void *
-thread_specific_data(void *private_data)
-{
-    xmlDocPtr myDoc;
-    const char *filename = (const char *) private_data;
-    int okay = 1;
-
-    if (!strcmp(filename, "test/threads/invalid.xml")) {
-        xmlDoValidityCheckingDefaultValue = 0;
-        xmlGenericErrorContext = stdout;
-    } else {
-        xmlDoValidityCheckingDefaultValue = 1;
-        xmlGenericErrorContext = stderr;
-    }
-    myDoc = xmlParseFile(filename);
-    if (myDoc) {
-        xmlFreeDoc(myDoc);
-    } else {
-        printf("parse failed\n");
-       okay = 0;
-    }
-    if (!strcmp(filename, "test/threads/invalid.xml")) {
-        if (xmlDoValidityCheckingDefaultValue != 0) {
-           printf("ValidityCheckingDefaultValue override failed\n");
-           okay = 0;
-       }
-        if (xmlGenericErrorContext != stdout) {
-           printf("xmlGenericErrorContext override failed\n");
-           okay = 0;
-       }
-    } else {
-        if (xmlDoValidityCheckingDefaultValue != 1) {
-           printf("ValidityCheckingDefaultValue override failed\n");
-           okay = 0;
-       }
-        if (xmlGenericErrorContext != stderr) {
-           printf("xmlGenericErrorContext override failed\n");
-           okay = 0;
-       }
-    }
-    if (okay == 0)
-       return((void *) Failed);
-    return ((void *) Okay);
-}
-
-#ifdef HAVE_PTHREAD_H
-int
-main(void)
-{
-    unsigned int i, repeat;
-    unsigned int num_threads = sizeof(testfiles) / sizeof(testfiles[0]);
-    void *results[MAX_ARGC];
-    int ret;
-
-    xmlInitParser();
-    for (repeat = 0;repeat < 500;repeat++) {
-       xmlLoadCatalog(catalog);
-
-        memset(results, 0, sizeof(*results)*num_threads);
-        memset(tid, 0xff, sizeof(*tid)*num_threads);
-
-       for (i = 0; i < num_threads; i++) {
-           ret = pthread_create(&tid[i], NULL, thread_specific_data,
-                                (void *) testfiles[i]);
-           if (ret != 0) {
-               perror("pthread_create");
-               exit(1);
-           }
-       }
-       for (i = 0; i < num_threads; i++) {
-           ret = pthread_join(tid[i], &results[i]);
-           if (ret != 0) {
-               perror("pthread_join");
-               exit(1);
-           }
-       }
-
-       xmlCatalogCleanup();
-       for (i = 0; i < num_threads; i++)
-           if (results[i] != (void *) Okay)
-               printf("Thread %d handling %s failed\n", i, testfiles[i]);
-    }
-    xmlCleanupParser();
-    xmlMemoryDump();
-    return (0);
-}
-#elif defined HAVE_BEOS_THREADS
-int
-main(void)
-{
-    unsigned int i, repeat;
-    unsigned int num_threads = sizeof(testfiles) / sizeof(testfiles[0]);
-    void *results[MAX_ARGC];
-    status_t ret;
-
-    xmlInitParser();
-    printf("Parser initialized\n");
-    for (repeat = 0;repeat < 500;repeat++) {
-    printf("repeat: %d\n",repeat);
-       xmlLoadCatalog(catalog);
-       printf("loaded catalog: %s\n", catalog);
-       for (i = 0; i < num_threads; i++) {
-           results[i] = NULL;
-           tid[i] = (thread_id) -1;
-       }
-       printf("cleaned threads\n");
-       for (i = 0; i < num_threads; i++) {
-               tid[i] = spawn_thread(thread_specific_data, "xmlTestThread", B_NORMAL_PRIORITY, (void *) testfiles[i]);
-               if (tid[i] < B_OK) {
-                       perror("beos_thread_create");
-                       exit(1);
-               }
-               printf("beos_thread_create %d -> %d\n", i, tid[i]);
-       }
-       for (i = 0; i < num_threads; i++) {
-           ret = wait_for_thread(tid[i], &results[i]);
-           printf("beos_thread_wait %d -> %d\n", i, ret);
-           if (ret != B_OK) {
-                       perror("beos_thread_wait");
-                       exit(1);
-           }
-       }
-
-       xmlCatalogCleanup();
-       ret = B_OK;
-       for (i = 0; i < num_threads; i++)
-           if (results[i] != (void *) Okay) {
-                       printf("Thread %d handling %s failed\n", i, testfiles[i]);
-                       ret = B_ERROR;
-               }
-    }
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-       if (ret == B_OK)
-               printf("testThread : BeOS : SUCCESS!\n");
-       else
-               printf("testThread : BeOS : FAILED!\n");
-
-    return (0);
-}
-#endif /* pthreads or BeOS threads */
-
-#else /* !LIBXML_THREADS_ENABLED */
-int
-main(void)
-{
-    fprintf(stderr, "libxml was not compiled with thread or catalog support\n");
-    return (0);
-}
-#endif
diff --git a/reactos/lib/3rdparty/libxml2/testThreadsWin32.c b/reactos/lib/3rdparty/libxml2/testThreadsWin32.c
deleted file mode 100644 (file)
index 3d1a5ba..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-#include "libxml.h"
-#include <stdlib.h>
-#include <stdio.h>
-
-#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED)
-#include <libxml/globals.h>
-#include <libxml/threads.h>
-#include <libxml/parser.h>
-#include <libxml/catalog.h>
-#include <windows.h>
-#include <string.h>
-#include <assert.h>
-
-#define        MAX_ARGC        20
-#define TEST_REPEAT_COUNT 500
-
-static HANDLE tid[MAX_ARGC];
-
-static const char *catalog = "test/threads/complex.xml";
-static char *testfiles[] = {
-    "test/threads/abc.xml",
-    "test/threads/acb.xml",
-    "test/threads/bac.xml",
-    "test/threads/bca.xml",
-    "test/threads/cab.xml",
-    "test/threads/cba.xml",
-    "test/threads/invalid.xml",
-};
-
-const char *Okay = "OK";
-const char *Failed = "Failed";
-
-#ifndef xmlDoValidityCheckingDefaultValue
-#error xmlDoValidityCheckingDefaultValue is not a macro
-#endif
-#ifndef xmlGenericErrorContext
-#error xmlGenericErrorContext is not a macro
-#endif
-
-static DWORD WINAPI
-thread_specific_data(void *private_data)
-{
-    xmlDocPtr myDoc;
-    const char *filename = (const char *) private_data;
-    int okay = 1;
-
-    if (!strcmp(filename, "test/threads/invalid.xml")) {
-        xmlDoValidityCheckingDefaultValue = 0;
-        xmlGenericErrorContext = stdout;
-    } else {
-        xmlDoValidityCheckingDefaultValue = 1;
-        xmlGenericErrorContext = stderr;
-    }
-    myDoc = xmlParseFile(filename);
-    if (myDoc) {
-        xmlFreeDoc(myDoc);
-    } else {
-        printf("parse failed\n");
-       okay = 0;
-    }
-    if (!strcmp(filename, "test/threads/invalid.xml")) {
-        if (xmlDoValidityCheckingDefaultValue != 0) {
-           printf("ValidityCheckingDefaultValue override failed\n");
-           okay = 0;
-       }
-        if (xmlGenericErrorContext != stdout) {
-           printf("xmlGenericErrorContext override failed\n");
-           okay = 0;
-       }
-    } else {
-        if (xmlDoValidityCheckingDefaultValue != 1) {
-           printf("ValidityCheckingDefaultValue override failed\n");
-           okay = 0;
-       }
-        if (xmlGenericErrorContext != stderr) {
-           printf("xmlGenericErrorContext override failed\n");
-           okay = 0;
-       }
-    }
-    if (okay == 0)
-       return ((DWORD) Failed);
-    return ((DWORD) Okay);
-}
-
-int
-main()
-{
-       unsigned int i, repeat;
-       unsigned int num_threads = sizeof(testfiles) / sizeof(testfiles[0]);
-       DWORD results[MAX_ARGC];
-       BOOL ret;
-
-       xmlInitParser();
-       for (repeat = 0;repeat < TEST_REPEAT_COUNT;repeat++)
-       {
-               xmlLoadCatalog(catalog);
-
-               for (i = 0; i < num_threads; i++)
-               {
-                       results[i] = 0;
-                       tid[i] = (HANDLE) -1;
-               }
-
-               for (i = 0; i < num_threads; i++)
-               {
-                       DWORD useless;
-                       tid[i] = CreateThread(NULL, 0,
-                               thread_specific_data, testfiles[i], 0, &useless);
-                       if (tid[i] == NULL)
-                       {
-                               perror("CreateThread");
-                               exit(1);
-                       }
-               }
-
-               if (WaitForMultipleObjects (num_threads, tid, TRUE, INFINITE) == WAIT_FAILED)
-                       perror ("WaitForMultipleObjects failed");
-
-               for (i = 0; i < num_threads; i++)
-               {
-                       ret = GetExitCodeThread (tid[i], &results[i]);
-                       if (ret == 0)
-                       {
-                               perror("GetExitCodeThread");
-                               exit(1);
-                       }
-                       CloseHandle (tid[i]);
-               }
-
-               xmlCatalogCleanup();
-               for (i = 0; i < num_threads; i++) {
-                   if (results[i] != (DWORD) Okay)
-                       printf("Thread %d handling %s failed\n", i, testfiles[i]);
-               }
-       }
-
-       xmlCleanupParser();
-       xmlMemoryDump();
-
-       return (0);
-}
-
-#else /* !LIBXML_THREADS_ENABLED */
-int
-main()
-{
-    fprintf(stderr, "libxml was not compiled with thread or catalog support\n");
-    return (0);
-}
-#endif
diff --git a/reactos/lib/3rdparty/libxml2/testURI.c b/reactos/lib/3rdparty/libxml2/testURI.c
deleted file mode 100644 (file)
index d20989d..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * testURI.c : a small tester program for XML input.
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-
-#include <string.h>
-#include <stdio.h>
-#include <stdarg.h>
-
-#include <libxml/xmlmemory.h>
-#include <libxml/uri.h>
-#include <libxml/globals.h>
-
-static const char *base = NULL;
-static int escape = 0;
-static int debug = 0;
-
-static void handleURI(const char *str) {
-    int ret;
-    xmlURIPtr uri;
-    xmlChar *res = NULL, *parsed = NULL;
-
-    uri = xmlCreateURI();
-
-    if (base == NULL) {
-       ret = xmlParseURIReference(uri, str);
-       if (ret != 0)
-           printf("%s : error %d\n", str, ret);
-       else {
-           if (debug) {
-               if (uri->scheme) printf("scheme: %s\n", uri->scheme);
-               if (uri->opaque) printf("opaque: %s\n", uri->opaque);
-               if (uri->authority) printf("authority: %s\n", uri->authority);
-               if (uri->server) printf("server: %s\n", uri->server);
-               if (uri->user) printf("user: %s\n", uri->user);
-               if (uri->port != 0) printf("port: %d\n", uri->port);
-               if (uri->path) printf("path: %s\n", uri->path);
-               if (uri->query) printf("query: %s\n", uri->query);
-               if (uri->fragment) printf("fragment: %s\n", uri->fragment);
-               if (uri->query_raw) printf("query_raw: %s\n", uri->query_raw);
-               if (uri->cleanup != 0) printf("cleanup\n");
-           }
-           xmlNormalizeURIPath(uri->path);
-           if (escape != 0) {
-               parsed = xmlSaveUri(uri);
-               res = xmlURIEscape(parsed);
-               printf("%s\n", (char *) res);
-
-           } else {
-               xmlPrintURI(stdout, uri);
-               printf("\n");
-           }
-       }
-    } else {
-       res = xmlBuildURI((xmlChar *)str, (xmlChar *) base);
-       if (res != NULL) {
-           printf("%s\n", (char *) res);
-       }
-       else
-           printf("::ERROR::\n");
-    }
-    if (res != NULL)
-       xmlFree(res);
-    if (parsed != NULL)
-       xmlFree(parsed);
-    xmlFreeURI(uri);
-}
-
-int main(int argc, char **argv) {
-    int i, arg = 1;
-
-    if ((argc > arg) && (argv[arg] != NULL) &&
-       ((!strcmp(argv[arg], "-base")) || (!strcmp(argv[arg], "--base")))) {
-       arg++;
-       base = argv[arg];
-       if (base != NULL)
-           arg++;
-    }
-    if ((argc > arg) && (argv[arg] != NULL) &&
-       ((!strcmp(argv[arg], "-escape")) || (!strcmp(argv[arg], "--escape")))) {
-       arg++;
-       escape++;
-    }
-    if ((argc > arg) && (argv[arg] != NULL) &&
-       ((!strcmp(argv[arg], "-debug")) || (!strcmp(argv[arg], "--debug")))) {
-       arg++;
-       debug++;
-    }
-    if (argv[arg] == NULL) {
-       char str[1024];
-
-        while (1) {
-           /*
-            * read one line in string buffer.
-            */
-           if (fgets (&str[0], sizeof (str) - 1, stdin) == NULL)
-              break;
-
-           /*
-            * remove the ending spaces
-            */
-           i = strlen(str);
-           while ((i > 0) &&
-                  ((str[i - 1] == '\n') || (str[i - 1] == '\r') ||
-                   (str[i - 1] == ' ') || (str[i - 1] == '\t'))) {
-               i--;
-               str[i] = 0;
-           }
-           handleURI(str);
-        }
-    } else {
-       while (argv[arg] != NULL) {
-           handleURI(argv[arg]);
-           arg++;
-       }
-    }
-    xmlMemoryDump();
-    return(0);
-}
diff --git a/reactos/lib/3rdparty/libxml2/testXPath.c b/reactos/lib/3rdparty/libxml2/testXPath.c
deleted file mode 100644 (file)
index ebb9ff7..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * testXPath.c : a small tester program for XPath.
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED)
-
-#include <string.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-
-
-#include <libxml/xpath.h>
-#include <libxml/tree.h>
-#include <libxml/parser.h>
-#include <libxml/debugXML.h>
-#include <libxml/xmlmemory.h>
-#include <libxml/parserInternals.h>
-#include <libxml/xpathInternals.h>
-#include <libxml/xmlerror.h>
-#include <libxml/globals.h>
-#if defined(LIBXML_XPTR_ENABLED)
-#include <libxml/xpointer.h>
-static int xptr = 0;
-#endif
-static int debug = 0;
-static int valid = 0;
-static int expr = 0;
-static int tree = 0;
-static int nocdata = 0;
-static xmlDocPtr document = NULL;
-
-/*
- * Default document
- */
-static xmlChar buffer[] =
-"<?xml version=\"1.0\"?>\n\
-<EXAMPLE prop1=\"gnome is great\" prop2=\"&amp; linux too\">\n\
-  <head>\n\
-   <title>Welcome to Gnome</title>\n\
-  </head>\n\
-  <chapter>\n\
-   <title>The Linux adventure</title>\n\
-   <p>bla bla bla ...</p>\n\
-   <image href=\"linus.gif\"/>\n\
-   <p>...</p>\n\
-  </chapter>\n\
-  <chapter>\n\
-   <title>Chapter 2</title>\n\
-   <p>this is chapter 2 ...</p>\n\
-  </chapter>\n\
-  <chapter>\n\
-   <title>Chapter 3</title>\n\
-   <p>this is chapter 3 ...</p>\n\
-  </chapter>\n\
-</EXAMPLE>\n\
-";
-
-
-static void
-testXPath(const char *str) {
-    xmlXPathObjectPtr res;
-    xmlXPathContextPtr ctxt;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    if (xptr) {
-       ctxt = xmlXPtrNewContext(document, NULL, NULL);
-       res = xmlXPtrEval(BAD_CAST str, ctxt);
-    } else {
-#endif
-       ctxt = xmlXPathNewContext(document);
-       ctxt->node = xmlDocGetRootElement(document);
-       if (expr)
-           res = xmlXPathEvalExpression(BAD_CAST str, ctxt);
-       else {
-           /* res = xmlXPathEval(BAD_CAST str, ctxt); */
-           xmlXPathCompExprPtr comp;
-
-           comp = xmlXPathCompile(BAD_CAST str);
-           if (comp != NULL) {
-               if (tree)
-                   xmlXPathDebugDumpCompExpr(stdout, comp, 0);
-
-               res = xmlXPathCompiledEval(comp, ctxt);
-               xmlXPathFreeCompExpr(comp);
-           } else
-               res = NULL;
-       }
-#if defined(LIBXML_XPTR_ENABLED)
-    }
-#endif
-    xmlXPathDebugDumpObject(stdout, res, 0);
-    xmlXPathFreeObject(res);
-    xmlXPathFreeContext(ctxt);
-}
-
-static void
-testXPathFile(const char *filename) {
-    FILE *input;
-    char expression[5000];
-    int len;
-
-    input = fopen(filename, "r");
-    if (input == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-               "Cannot open %s for reading\n", filename);
-       return;
-    }
-    while (fgets(expression, 4500, input) != NULL) {
-       len = strlen(expression);
-       len--;
-       while ((len >= 0) &&
-              ((expression[len] == '\n') || (expression[len] == '\t') ||
-               (expression[len] == '\r') || (expression[len] == ' '))) len--;
-       expression[len + 1] = 0;
-       if (len >= 0) {
-           printf("\n========================\nExpression: %s\n", expression) ;
-           testXPath(expression);
-       }
-    }
-
-    fclose(input);
-}
-
-int main(int argc, char **argv) {
-    int i;
-    int strings = 0;
-    int usefile = 0;
-    char *filename = NULL;
-
-    for (i = 1; i < argc ; i++) {
-#if defined(LIBXML_XPTR_ENABLED)
-       if ((!strcmp(argv[i], "-xptr")) || (!strcmp(argv[i], "--xptr")))
-           xptr++;
-       else
-#endif
-       if ((!strcmp(argv[i], "-debug")) || (!strcmp(argv[i], "--debug")))
-           debug++;
-       else if ((!strcmp(argv[i], "-valid")) || (!strcmp(argv[i], "--valid")))
-           valid++;
-       else if ((!strcmp(argv[i], "-expr")) || (!strcmp(argv[i], "--expr")))
-           expr++;
-       else if ((!strcmp(argv[i], "-tree")) || (!strcmp(argv[i], "--tree")))
-           tree++;
-       else if ((!strcmp(argv[i], "-nocdata")) ||
-                (!strcmp(argv[i], "--nocdata")))
-           nocdata++;
-       else if ((!strcmp(argv[i], "-i")) || (!strcmp(argv[i], "--input")))
-           filename = argv[++i];
-       else if ((!strcmp(argv[i], "-f")) || (!strcmp(argv[i], "--file")))
-           usefile++;
-    }
-    if (valid != 0) xmlDoValidityCheckingDefaultValue = 1;
-    xmlLoadExtDtdDefaultValue |= XML_DETECT_IDS;
-    xmlLoadExtDtdDefaultValue |= XML_COMPLETE_ATTRS;
-    xmlSubstituteEntitiesDefaultValue = 1;
-#ifdef LIBXML_SAX1_ENABLED
-    if (nocdata != 0) {
-       xmlDefaultSAXHandlerInit();
-       xmlDefaultSAXHandler.cdataBlock = NULL;
-    }
-#endif
-    if (document == NULL) {
-        if (filename == NULL)
-           document = xmlReadDoc(buffer,NULL,NULL,XML_PARSE_COMPACT);
-       else
-           document = xmlReadFile(filename,NULL,XML_PARSE_COMPACT);
-    }
-    for (i = 1; i < argc ; i++) {
-       if ((!strcmp(argv[i], "-i")) || (!strcmp(argv[i], "--input"))) {
-           i++; continue;
-       }
-       if (argv[i][0] != '-') {
-           if (usefile)
-               testXPathFile(argv[i]);
-           else
-               testXPath(argv[i]);
-           strings ++;
-       }
-    }
-    if (strings == 0) {
-       printf("Usage : %s [--debug] [--copy] stringsorfiles ...\n",
-              argv[0]);
-       printf("\tParse the XPath strings and output the result of the parsing\n");
-       printf("\t--debug : dump a debug version of the result\n");
-       printf("\t--valid : switch on DTD support in the parser\n");
-#if defined(LIBXML_XPTR_ENABLED)
-       printf("\t--xptr : expressions are XPointer expressions\n");
-#endif
-       printf("\t--expr : debug XPath expressions only\n");
-       printf("\t--tree : show the compiled XPath tree\n");
-       printf("\t--nocdata : do not generate CDATA nodes\n");
-       printf("\t--input filename : or\n");
-       printf("\t-i filename      : read the document from filename\n");
-       printf("\t--file : or\n");
-       printf("\t-f     : read queries from files, args\n");
-    }
-    if (document != NULL)
-       xmlFreeDoc(document);
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(0);
-}
-#else
-#include <stdio.h>
-int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    printf("%s : XPath/Debug support not compiled in\n", argv[0]);
-    return(0);
-}
-#endif /* LIBXML_XPATH_ENABLED */
diff --git a/reactos/lib/3rdparty/libxml2/testapi.c b/reactos/lib/3rdparty/libxml2/testapi.c
deleted file mode 100644 (file)
index 48656b3..0000000
+++ /dev/null
@@ -1,52060 +0,0 @@
-/*
- * testapi.c: libxml2 API tester program.
- *
- * Automatically generated by gentest.py from libxml2-api.xml
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-#include <stdio.h>
-
-#include <stdlib.h> /* for putenv() */
-#include <string.h>
-#include <libxml/xmlerror.h>
-#include <libxml/relaxng.h>
-
-
-static int testlibxml2(void);
-static int test_module(const char *module);
-
-static int generic_errors = 0;
-static int call_tests = 0;
-static int function_tests = 0;
-
-static xmlChar chartab[1024];
-static int inttab[1024];
-static unsigned long longtab[1024];
-
-static xmlDocPtr api_doc = NULL;
-static xmlDtdPtr api_dtd = NULL;
-static xmlNodePtr api_root = NULL;
-static xmlAttrPtr api_attr = NULL;
-static xmlNsPtr api_ns = NULL;
-
-static void
-structured_errors(void *userData ATTRIBUTE_UNUSED,
-                  xmlErrorPtr error ATTRIBUTE_UNUSED) {
-    generic_errors++;
-}
-
-static void
-free_api_doc(void) {
-    xmlFreeDoc(api_doc);
-    api_doc = NULL;
-    api_dtd = NULL;
-    api_root = NULL;
-    api_attr = NULL;
-    api_ns = NULL;
-}
-
-static xmlDocPtr
-get_api_doc(void) {
-    if (api_doc == NULL) {
-        api_doc = xmlReadMemory("<!DOCTYPE root [<!ELEMENT root EMPTY>]><root xmlns:h='http://example.com/' h:foo='bar'/>", 88, "root_test", NULL, 0);
-       api_root = NULL;
-       api_attr = NULL;
-    }
-    return(api_doc);
-}
-
-static xmlDtdPtr
-get_api_dtd(void) {
-    if ((api_dtd == NULL) || (api_dtd->type != XML_DTD_NODE)) {
-        get_api_doc();
-       if ((api_doc != NULL) && (api_doc->children != NULL) &&
-           (api_doc->children->type == XML_DTD_NODE))
-           api_dtd = (xmlDtdPtr) api_doc->children;
-    }
-    return(api_dtd);
-}
-
-static xmlNodePtr
-get_api_root(void) {
-    if ((api_root == NULL) || (api_root->type != XML_ELEMENT_NODE)) {
-        get_api_doc();
-       if ((api_doc != NULL) && (api_doc->children != NULL) &&
-           (api_doc->children->next != NULL) &&
-           (api_doc->children->next->type == XML_ELEMENT_NODE))
-           api_root = api_doc->children->next;
-    }
-    return(api_root);
-}
-
-static xmlNsPtr
-get_api_ns(void) {
-    get_api_root();
-    if (api_root != NULL)
-        api_ns = api_root->nsDef;
-    return(api_ns);
-}
-
-static xmlAttrPtr
-get_api_attr(void) {
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
-    static int nr = 0;
-    xmlChar name[20];
-#endif
-
-    if ((api_root == NULL) || (api_root->type != XML_ELEMENT_NODE)) {
-        get_api_root();
-    }
-    if (api_root == NULL)
-        return(NULL);
-    if (api_root->properties != NULL) {
-        api_attr = api_root->properties;
-        return(api_root->properties);
-    }
-    api_attr = NULL;
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
-    snprintf((char *) name, 20, "foo%d", nr++);
-    api_attr = xmlSetProp(api_root, name, (const xmlChar *) "bar");
-#endif
-    return(api_attr);
-}
-
-static int quiet = 0;
-
-int main(int argc, char **argv) {
-    int ret;
-    int blocks, mem;
-
-#ifdef HAVE_PUTENV
-    /* access to the proxy can slow up regression tests a lot */
-    putenv((char *) "http_proxy=");
-#endif
-
-    memset(chartab, 0, sizeof(chartab));
-    strncpy((char *) chartab, "  chartab\n", 20);
-    memset(inttab, 0, sizeof(inttab));
-    memset(longtab, 0, sizeof(longtab));
-
-    xmlInitParser();
-#ifdef LIBXML_SCHEMAS_ENABLED
-    xmlRelaxNGInitTypes();
-#endif
-
-    LIBXML_TEST_VERSION
-
-    xmlSetStructuredErrorFunc(NULL, structured_errors);
-
-    if (argc >= 2) {
-        if (!strcmp(argv[1], "-q")) {
-           quiet = 1;
-           if (argc >= 3)
-               ret = test_module(argv[2]);
-           else
-               ret = testlibxml2();
-        } else {
-          ret = test_module(argv[1]);
-       }
-    } else
-       ret = testlibxml2();
-
-    xmlCleanupParser();
-    blocks = xmlMemBlocks();
-    mem = xmlMemUsed();
-    if ((blocks != 0) || (mem != 0)) {
-        printf("testapi leaked %d bytes in %d blocks\n", mem, blocks);
-    }
-    xmlMemoryDump();
-
-    return (ret != 0);
-}
-
-#include <libxml/HTMLparser.h>
-#include <libxml/HTMLtree.h>
-#include <libxml/catalog.h>
-#include <libxml/chvalid.h>
-#include <libxml/dict.h>
-#include <libxml/encoding.h>
-#include <libxml/entities.h>
-#include <libxml/hash.h>
-#include <libxml/list.h>
-#include <libxml/nanoftp.h>
-#include <libxml/nanohttp.h>
-#include <libxml/parser.h>
-#include <libxml/parserInternals.h>
-#include <libxml/pattern.h>
-#include <libxml/relaxng.h>
-#include <libxml/schemasInternals.h>
-#include <libxml/schematron.h>
-#include <libxml/tree.h>
-#include <libxml/uri.h>
-#include <libxml/valid.h>
-#include <libxml/xinclude.h>
-#include <libxml/xmlIO.h>
-#include <libxml/xmlerror.h>
-#include <libxml/xmlreader.h>
-#include <libxml/xmlsave.h>
-#include <libxml/xmlschemas.h>
-#include <libxml/xmlschemastypes.h>
-#include <libxml/xmlstring.h>
-#include <libxml/xmlwriter.h>
-#include <libxml/xpath.h>
-#include <libxml/xpointer.h>
-#include <libxml/debugXML.h>
-
-/*
-  We manually define xmlErrMemory because it's normal declaration
-  is "hidden" by #ifdef IN_LIBXML
-*/
-void xmlErrMemory(xmlParserCtxtPtr ctxt, const char *extra);
-
-/*
- We need some "remote" addresses, but want to avoid getting into
- name resolution delays, so we use these
-*/
-#define        REMOTE1GOOD     "http://localhost/"
-#define        REMOTE1BAD      "http:http://http"
-#define        REMOTE2GOOD     "ftp://localhost/foo"
-
-#define gen_nb_void_ptr 2
-
-static void *gen_void_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_void_ptr(int no ATTRIBUTE_UNUSED, void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#if 0
-#define gen_nb_const_void_ptr 2
-
-static const void *gen_const_void_ptr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return((const void *) "immutable string");
-    return(NULL);
-}
-static void des_const_void_ptr(int no ATTRIBUTE_UNUSED, const void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-#define gen_nb_userdata 3
-
-static void *gen_userdata(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return((void *) &call_tests);
-    if (no == 1) return((void *) -1);
-    return(NULL);
-}
-static void des_userdata(int no ATTRIBUTE_UNUSED, void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-
-#define gen_nb_int 4
-
-static int gen_int(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(0);
-    if (no == 1) return(1);
-    if (no == 2) return(-1);
-    if (no == 3) return(122);
-    return(-1);
-}
-
-static void des_int(int no ATTRIBUTE_UNUSED, int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_parseroptions 5
-
-static int gen_parseroptions(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(XML_PARSE_NOBLANKS | XML_PARSE_RECOVER);
-    if (no == 1) return(XML_PARSE_NOENT | XML_PARSE_DTDLOAD | XML_PARSE_DTDATTR | XML_PARSE_DTDVALID | XML_PARSE_NOCDATA);
-    if (no == 2) return(XML_PARSE_XINCLUDE | XML_PARSE_NOXINCNODE | XML_PARSE_NSCLEAN);
-    if (no == 3) return(XML_PARSE_XINCLUDE | XML_PARSE_NODICT);
-    return(XML_PARSE_SAX1);
-}
-
-static void des_parseroptions(int no ATTRIBUTE_UNUSED, int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#if 0
-#define gen_nb_long 5
-
-static long gen_long(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(0);
-    if (no == 1) return(1);
-    if (no == 2) return(-1);
-    if (no == 3) return(122);
-    return(-1);
-}
-
-static void des_long(int no ATTRIBUTE_UNUSED, long val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-#define gen_nb_xmlChar 4
-
-static xmlChar gen_xmlChar(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return('a');
-    if (no == 1) return(' ');
-    if (no == 2) return((xmlChar) '\xf8');
-    return(0);
-}
-
-static void des_xmlChar(int no ATTRIBUTE_UNUSED, xmlChar val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_unsigned_int 3
-
-static unsigned int gen_unsigned_int(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(0);
-    if (no == 1) return(1);
-    if (no == 2) return(122);
-    return((unsigned int) -1);
-}
-
-static void des_unsigned_int(int no ATTRIBUTE_UNUSED, unsigned int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_unsigned_long 4
-
-static unsigned long gen_unsigned_long(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(0);
-    if (no == 1) return(1);
-    if (no == 2) return(122);
-    return((unsigned long) -1);
-}
-
-static void des_unsigned_long(int no ATTRIBUTE_UNUSED, unsigned long val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_double 4
-
-static double gen_double(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(0);
-    if (no == 1) return(-1.1);
-#if defined(LIBXML_XPATH_ENABLED)
-    if (no == 2) return(xmlXPathNAN);
-#endif
-    return(-1);
-}
-
-static void des_double(int no ATTRIBUTE_UNUSED, double val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_unsigned_long_ptr 2
-
-static unsigned long *gen_unsigned_long_ptr(int no, int nr) {
-    if (no == 0) return(&longtab[nr]);
-    return(NULL);
-}
-
-static void des_unsigned_long_ptr(int no ATTRIBUTE_UNUSED, unsigned long *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_int_ptr 2
-
-static int *gen_int_ptr(int no, int nr) {
-    if (no == 0) return(&inttab[nr]);
-    return(NULL);
-}
-
-static void des_int_ptr(int no ATTRIBUTE_UNUSED, int *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_const_char_ptr 4
-
-static char *gen_const_char_ptr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return((char *) "foo");
-    if (no == 1) return((char *) "<foo/>");
-    if (no == 2) return((char *) "test/ent2");
-    return(NULL);
-}
-static void des_const_char_ptr(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_xmlChar_ptr 2
-
-static xmlChar *gen_xmlChar_ptr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(&chartab[0]);
-    return(NULL);
-}
-static void des_xmlChar_ptr(int no ATTRIBUTE_UNUSED, xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_FILE_ptr 2
-
-static FILE *gen_FILE_ptr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(fopen("test.out", "a+"));
-    return(NULL);
-}
-static void des_FILE_ptr(int no ATTRIBUTE_UNUSED, FILE *val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL) fclose(val);
-}
-
-#define gen_nb_debug_FILE_ptr 2
-static FILE *gen_debug_FILE_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(fopen("test.out", "a+"));
-}
-static void des_debug_FILE_ptr(int no ATTRIBUTE_UNUSED, FILE *val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL) fclose(val);
-}
-
-#define gen_nb_const_xmlChar_ptr 5
-
-static xmlChar *gen_const_xmlChar_ptr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return((xmlChar *) "foo");
-    if (no == 1) return((xmlChar *) "<foo/>");
-    if (no == 2) return((xmlChar *) "n" "\xf8" "ne");
-    if (no == 3) return((xmlChar *) " 2ab ");
-    return(NULL);
-}
-static void des_const_xmlChar_ptr(int no ATTRIBUTE_UNUSED, const xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_filepath 8
-
-static const char *gen_filepath(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return("missing.xml");
-    if (no == 1) return("<foo/>");
-    if (no == 2) return("test/ent2");
-    if (no == 3) return("test/valid/REC-xml-19980210.xml");
-    if (no == 4) return("test/valid/dtds/xhtml1-strict.dtd");
-    if (no == 5) return(REMOTE1GOOD);
-    if (no == 6) return(REMOTE1BAD);
-    return(NULL);
-}
-static void des_filepath(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_eaten_name 2
-
-static xmlChar *gen_eaten_name(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlStrdup(BAD_CAST "eaten"));
-    return(NULL);
-}
-static void des_eaten_name(int no ATTRIBUTE_UNUSED, xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_fileoutput 6
-
-static const char *gen_fileoutput(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return("/missing.xml");
-    if (no == 1) return("<foo/>");
-    if (no == 2) return(REMOTE2GOOD);
-    if (no == 3) return(REMOTE1GOOD);
-    if (no == 4) return(REMOTE1BAD);
-    return(NULL);
-}
-static void des_fileoutput(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_xmlParserCtxtPtr 3
-static xmlParserCtxtPtr gen_xmlParserCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlNewParserCtxt());
-    if (no == 1) return(xmlCreateMemoryParserCtxt("<doc/>", 6));
-    return(NULL);
-}
-static void des_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlParserCtxtPtr val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL)
-        xmlFreeParserCtxt(val);
-}
-
-#define gen_nb_xmlSAXHandlerPtr 2
-static xmlSAXHandlerPtr gen_xmlSAXHandlerPtr(int no, int nr ATTRIBUTE_UNUSED) {
-#ifdef LIBXML_SAX1_ENABLED
-    if (no == 0) return((xmlSAXHandlerPtr) &xmlDefaultSAXHandler);
-#endif
-    return(NULL);
-}
-static void des_xmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, xmlSAXHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_xmlValidCtxtPtr 2
-static xmlValidCtxtPtr gen_xmlValidCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
-#ifdef LIBXML_VALID_ENABLED
-    if (no == 0) return(xmlNewValidCtxt());
-#endif
-    return(NULL);
-}
-static void des_xmlValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlValidCtxtPtr val, int nr ATTRIBUTE_UNUSED) {
-#ifdef LIBXML_VALID_ENABLED
-    if (val != NULL)
-        xmlFreeValidCtxt(val);
-#endif
-}
-
-#define gen_nb_xmlParserInputBufferPtr 8
-
-static xmlParserInputBufferPtr gen_xmlParserInputBufferPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlParserInputBufferCreateFilename("missing.xml", XML_CHAR_ENCODING_NONE));
-    if (no == 1) return(xmlParserInputBufferCreateFilename("<foo/>", XML_CHAR_ENCODING_NONE));
-    if (no == 2) return(xmlParserInputBufferCreateFilename("test/ent2", XML_CHAR_ENCODING_NONE));
-    if (no == 3) return(xmlParserInputBufferCreateFilename("test/valid/REC-xml-19980210.xml", XML_CHAR_ENCODING_NONE));
-    if (no == 4) return(xmlParserInputBufferCreateFilename("test/valid/dtds/xhtml1-strict.dtd", XML_CHAR_ENCODING_NONE));
-    if (no == 5) return(xmlParserInputBufferCreateFilename(REMOTE1GOOD, XML_CHAR_ENCODING_NONE));
-    if (no == 6) return(xmlParserInputBufferCreateFilename(REMOTE1BAD, XML_CHAR_ENCODING_NONE));
-    return(NULL);
-}
-static void des_xmlParserInputBufferPtr(int no ATTRIBUTE_UNUSED, xmlParserInputBufferPtr val, int nr ATTRIBUTE_UNUSED) {
-    xmlFreeParserInputBuffer(val);
-}
-
-#define gen_nb_xmlDocPtr 4
-static xmlDocPtr gen_xmlDocPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlNewDoc(BAD_CAST "1.0"));
-    if (no == 1) return(xmlReadMemory("<foo/>", 6, "test", NULL, 0));
-    if (no == 2) return(xmlReadMemory("<!DOCTYPE foo []> <foo/>", 24, "test", NULL, 0));
-    return(NULL);
-}
-static void des_xmlDocPtr(int no ATTRIBUTE_UNUSED, xmlDocPtr val, int nr ATTRIBUTE_UNUSED) {
-    if ((val != NULL) && (val != api_doc) && (val->doc != api_doc))
-        xmlFreeDoc(val);
-}
-
-#define gen_nb_xmlAttrPtr 2
-static xmlAttrPtr gen_xmlAttrPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(get_api_attr());
-    return(NULL);
-}
-static void des_xmlAttrPtr(int no, xmlAttrPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) free_api_doc();
-}
-
-#define gen_nb_xmlDictPtr 2
-static xmlDictPtr gen_xmlDictPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlDictCreate());
-    return(NULL);
-}
-static void des_xmlDictPtr(int no ATTRIBUTE_UNUSED, xmlDictPtr val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL)
-        xmlDictFree(val);
-}
-
-#define gen_nb_xmlNodePtr 3
-static xmlNodePtr gen_xmlNodePtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlNewPI(BAD_CAST "test", NULL));
-    if (no == 1) return(get_api_root());
-    return(NULL);
-/*     if (no == 2) return((xmlNodePtr) get_api_doc()); */
-}
-static void des_xmlNodePtr(int no, xmlNodePtr val, int nr ATTRIBUTE_UNUSED) {
-    if (no == 1) {
-        free_api_doc();
-    } else if (val != NULL) {
-        xmlUnlinkNode(val);
-        xmlFreeNode(val);
-    }
-}
-
-#define gen_nb_xmlDtdPtr 3
-static xmlDtdPtr gen_xmlDtdPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0)
-        return(xmlNewDtd(NULL, BAD_CAST "dtd", BAD_CAST"foo", BAD_CAST"bar"));
-    if (no == 1) return(get_api_dtd());
-    return(NULL);
-}
-static void des_xmlDtdPtr(int no, xmlDtdPtr val, int nr ATTRIBUTE_UNUSED) {
-    if (no == 1) free_api_doc();
-    else if (val != NULL) {
-        xmlUnlinkNode((xmlNodePtr) val);
-        xmlFreeNode((xmlNodePtr) val);
-    }
-}
-
-#define gen_nb_xmlNsPtr 2
-static xmlNsPtr gen_xmlNsPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(get_api_ns());
-    return(NULL);
-}
-static void des_xmlNsPtr(int no, xmlNsPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) free_api_doc();
-}
-
-#define gen_nb_xmlNodePtr_in 3
-static xmlNodePtr gen_xmlNodePtr_in(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlNewPI(BAD_CAST "test", NULL));
-    if (no == 0) return(xmlNewText(BAD_CAST "text"));
-    return(NULL);
-}
-static void des_xmlNodePtr_in(int no ATTRIBUTE_UNUSED, xmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#ifdef LIBXML_WRITER_ENABLED
-#define gen_nb_xmlTextWriterPtr 2
-static xmlTextWriterPtr gen_xmlTextWriterPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlNewTextWriterFilename("test.out", 0));
-    return(NULL);
-}
-static void des_xmlTextWriterPtr(int no ATTRIBUTE_UNUSED, xmlTextWriterPtr val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL) xmlFreeTextWriter(val);
-}
-#endif
-
-#ifdef LIBXML_READER_ENABLED
-#define gen_nb_xmlTextReaderPtr 4
-static xmlTextReaderPtr gen_xmlTextReaderPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlNewTextReaderFilename("test/ent2"));
-    if (no == 1) return(xmlNewTextReaderFilename("test/valid/REC-xml-19980210.xml"));
-    if (no == 2) return(xmlNewTextReaderFilename("test/valid/dtds/xhtml1-strict.dtd"));
-    return(NULL);
-}
-static void des_xmlTextReaderPtr(int no ATTRIBUTE_UNUSED, xmlTextReaderPtr val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL) xmlFreeTextReader(val);
-}
-#endif
-
-#define gen_nb_xmlBufferPtr 3
-static const xmlChar *static_buf_content = (xmlChar *)"a static buffer";
-static xmlBufferPtr gen_xmlBufferPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlBufferCreate());
-    if (no == 1) return(xmlBufferCreateStatic((void *)static_buf_content, 13));
-    return(NULL);
-}
-static void des_xmlBufferPtr(int no ATTRIBUTE_UNUSED, xmlBufferPtr val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL) {
-        xmlBufferFree(val);
-    }
-}
-
-#define gen_nb_xmlListPtr 2
-static xmlListPtr gen_xmlListPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlListCreate(NULL, NULL));
-    return(NULL);
-}
-static void des_xmlListPtr(int no ATTRIBUTE_UNUSED, xmlListPtr val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL) {
-        xmlListDelete(val);
-    }
-}
-
-#define gen_nb_xmlHashTablePtr 2
-static xmlHashTablePtr gen_xmlHashTablePtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlHashCreate(10));
-    return(NULL);
-}
-static void des_xmlHashTablePtr(int no ATTRIBUTE_UNUSED, xmlHashTablePtr val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL) {
-        xmlHashFree(val, NULL);
-    }
-}
-
-#include <libxml/xpathInternals.h>
-
-#ifdef LIBXML_XPATH_ENABLED
-#define gen_nb_xmlXPathObjectPtr 5
-static xmlXPathObjectPtr gen_xmlXPathObjectPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlXPathNewString(BAD_CAST "string object"));
-    if (no == 1) return(xmlXPathNewFloat(1.1));
-    if (no == 2) return(xmlXPathNewBoolean(1));
-    if (no == 3) return(xmlXPathNewNodeSet(NULL));
-    return(NULL);
-}
-static void des_xmlXPathObjectPtr(int no ATTRIBUTE_UNUSED, xmlXPathObjectPtr val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL) {
-        xmlXPathFreeObject(val);
-    }
-}
-#endif
-
-#ifdef LIBXML_OUTPUT_ENABLED
-#define gen_nb_xmlOutputBufferPtr 2
-static xmlOutputBufferPtr gen_xmlOutputBufferPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlOutputBufferCreateFilename("test.out", NULL, 0));
-    return(NULL);
-}
-static void des_xmlOutputBufferPtr(int no ATTRIBUTE_UNUSED, xmlOutputBufferPtr val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL) {
-        xmlOutputBufferClose(val);
-    }
-}
-#endif
-
-#ifdef LIBXML_FTP_ENABLED
-#define gen_nb_xmlNanoFTPCtxtPtr 4
-static void *gen_xmlNanoFTPCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlNanoFTPNewCtxt(REMOTE2GOOD));
-    if (no == 1) return(xmlNanoFTPNewCtxt(REMOTE1GOOD));
-    if (no == 2) return(xmlNanoFTPNewCtxt("foo"));
-    return(NULL);
-}
-static void des_xmlNanoFTPCtxtPtr(int no ATTRIBUTE_UNUSED, void *val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL) {
-        xmlNanoFTPFreeCtxt(val);
-    }
-}
-#endif
-
-#ifdef LIBXML_HTTP_ENABLED
-#define gen_nb_xmlNanoHTTPCtxtPtr 1
-static void *gen_xmlNanoHTTPCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlNanoHTTPOpen(REMOTE1GOOD, NULL));
-    if (no == 1) return(xmlNanoHTTPOpen(REMOTE2GOOD, NULL));
-    if (no == 2) return(xmlNanoHTTPOpen(REMOTE1BAD, NULL));
-    return(NULL);
-}
-static void des_xmlNanoHTTPCtxtPtr(int no ATTRIBUTE_UNUSED, void *val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL) {
-       xmlNanoHTTPClose(val);
-    }
-}
-#endif
-
-#define gen_nb_xmlCharEncoding 4
-static xmlCharEncoding gen_xmlCharEncoding(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(XML_CHAR_ENCODING_UTF8);
-    if (no == 1) return(XML_CHAR_ENCODING_NONE);
-    if (no == 2) return(XML_CHAR_ENCODING_8859_1);
-    return(XML_CHAR_ENCODING_ERROR);
-}
-static void des_xmlCharEncoding(int no ATTRIBUTE_UNUSED, xmlCharEncoding val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
-
-#define gen_nb_xmlExpCtxtPtr 1
-static xmlExpCtxtPtr gen_xmlExpCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlExpCtxtPtr(int no ATTRIBUTE_UNUSED, xmlExpCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_xmlExpNodePtr 1
-static xmlExpNodePtr gen_xmlExpNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlExpNodePtr(int no ATTRIBUTE_UNUSED, xmlExpNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#endif
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-#define gen_nb_xmlSchemaPtr 1
-static xmlSchemaPtr gen_xmlSchemaPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaPtr(int no ATTRIBUTE_UNUSED, xmlSchemaPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_xmlSchemaValidCtxtPtr 1
-static xmlSchemaValidCtxtPtr gen_xmlSchemaValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchemaValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#endif /* LIBXML_SCHEMAS_ENABLED */
-
-#define gen_nb_xmlHashDeallocator 2
-static void
-test_xmlHashDeallocator(void *payload ATTRIBUTE_UNUSED, xmlChar *name ATTRIBUTE_UNUSED) {
-}
-
-static xmlHashDeallocator gen_xmlHashDeallocator(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(test_xmlHashDeallocator);
-    return(NULL);
-}
-static void des_xmlHashDeallocator(int no ATTRIBUTE_UNUSED, xmlHashDeallocator val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-
-static void desret_int(int val ATTRIBUTE_UNUSED) {
-}
-static void desret_xmlChar(xmlChar val ATTRIBUTE_UNUSED) {
-}
-static void desret_long(long val ATTRIBUTE_UNUSED) {
-}
-static void desret_unsigned_long(unsigned long val ATTRIBUTE_UNUSED) {
-}
-static void desret_double(double val ATTRIBUTE_UNUSED) {
-}
-static void desret_xmlCharEncoding(xmlCharEncoding val ATTRIBUTE_UNUSED) {
-}
-#if 0
-static void desret_const_void_ptr(void *val ATTRIBUTE_UNUSED) {
-}
-#endif
-static void desret_void_ptr(void *val ATTRIBUTE_UNUSED) {
-}
-static void desret_const_char_ptr(const char *val ATTRIBUTE_UNUSED) {
-}
-static void desret_const_xmlChar_ptr(const xmlChar *val ATTRIBUTE_UNUSED) {
-}
-static void desret_xmlChar_ptr(xmlChar *val) {
-    if (val != NULL)
-       xmlFree(val);
-}
-static void desret_xmlDocPtr(xmlDocPtr val) {
-    if (val != api_doc)
-       xmlFreeDoc(val);
-}
-static void desret_xmlDictPtr(xmlDictPtr val) {
-    xmlDictFree(val);
-}
-#ifdef LIBXML_OUTPUT_ENABLED
-static void desret_xmlOutputBufferPtr(xmlOutputBufferPtr val) {
-    xmlOutputBufferClose(val);
-}
-#endif
-#ifdef LIBXML_READER_ENABLED
-static void desret_xmlTextReaderPtr(xmlTextReaderPtr val) {
-    xmlFreeTextReader(val);
-}
-#endif
-static void desret_xmlNodePtr(xmlNodePtr val) {
-    if ((val != NULL) && (val != api_root) && (val != (xmlNodePtr) api_doc)) {
-       xmlUnlinkNode(val);
-       xmlFreeNode(val);
-    }
-}
-static void desret_xmlAttrPtr(xmlAttrPtr val) {
-    if (val != NULL) {
-       xmlUnlinkNode((xmlNodePtr) val);
-       xmlFreeNode((xmlNodePtr) val);
-    }
-}
-static void desret_xmlEntityPtr(xmlEntityPtr val) {
-    if (val != NULL) {
-       xmlUnlinkNode((xmlNodePtr) val);
-       xmlFreeNode((xmlNodePtr) val);
-    }
-}
-static void desret_xmlElementPtr(xmlElementPtr val) {
-    if (val != NULL) {
-       xmlUnlinkNode((xmlNodePtr) val);
-    }
-}
-static void desret_xmlAttributePtr(xmlAttributePtr val) {
-    if (val != NULL) {
-       xmlUnlinkNode((xmlNodePtr) val);
-    }
-}
-static void desret_xmlNsPtr(xmlNsPtr val ATTRIBUTE_UNUSED) {
-}
-static void desret_xmlDtdPtr(xmlDtdPtr val) {
-    desret_xmlNodePtr((xmlNodePtr)val);
-}
-#ifdef LIBXML_XPATH_ENABLED
-static void desret_xmlXPathObjectPtr(xmlXPathObjectPtr val) {
-    xmlXPathFreeObject(val);
-}
-static void desret_xmlNodeSetPtr(xmlNodeSetPtr val) {
-    xmlXPathFreeNodeSet(val);
-}
-#endif
-static void desret_xmlParserCtxtPtr(xmlParserCtxtPtr val) {
-    xmlFreeParserCtxt(val);
-}
-static void desret_xmlParserInputBufferPtr(xmlParserInputBufferPtr val) {
-    xmlFreeParserInputBuffer(val);
-}
-static void desret_xmlParserInputPtr(xmlParserInputPtr val) {
-    xmlFreeInputStream(val);
-}
-#ifdef LIBXML_WRITER_ENABLED
-static void desret_xmlTextWriterPtr(xmlTextWriterPtr val) {
-    xmlFreeTextWriter(val);
-}
-#endif
-static void desret_xmlBufferPtr(xmlBufferPtr val) {
-    xmlBufferFree(val);
-}
-#ifdef LIBXML_SCHEMAS_ENABLED
-static void desret_xmlSchemaParserCtxtPtr(xmlSchemaParserCtxtPtr val) {
-    xmlSchemaFreeParserCtxt(val);
-}
-static void desret_xmlSchemaTypePtr(xmlSchemaTypePtr val ATTRIBUTE_UNUSED) {
-}
-static void desret_xmlRelaxNGParserCtxtPtr(xmlRelaxNGParserCtxtPtr val) {
-    xmlRelaxNGFreeParserCtxt(val);
-}
-#endif
-#ifdef LIBXML_HTML_ENABLED
-static void desret_const_htmlEntityDesc_ptr(const htmlEntityDesc * val ATTRIBUTE_UNUSED) {
-}
-#endif
-#ifdef LIBXML_HTTP_ENABLED
-static void desret_xmlNanoHTTPCtxtPtr(void *val) {
-    xmlNanoHTTPClose(val);
-}
-#endif
-#ifdef LIBXML_FTP_ENABLED
-static void desret_xmlNanoFTPCtxtPtr(void *val) {
-    xmlNanoFTPClose(val);
-}
-#endif
-/* cut and pasted from autogenerated to avoid troubles */
-#define gen_nb_const_xmlChar_ptr_ptr 1
-static xmlChar ** gen_const_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, const xmlChar ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_unsigned_char_ptr 1
-static unsigned char * gen_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, unsigned char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_const_unsigned_char_ptr 1
-static unsigned char * gen_const_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, const unsigned char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#ifdef LIBXML_HTML_ENABLED
-#define gen_nb_const_htmlNodePtr 1
-static htmlNodePtr gen_const_htmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_htmlNodePtr(int no ATTRIBUTE_UNUSED, const htmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-#ifdef LIBXML_HTML_ENABLED
-#define gen_nb_htmlDocPtr 3
-static htmlDocPtr gen_htmlDocPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(htmlNewDoc(NULL, NULL));
-    if (no == 1) return(htmlReadMemory("<html/>", 7, "test", NULL, 0));
-    return(NULL);
-}
-static void des_htmlDocPtr(int no ATTRIBUTE_UNUSED, htmlDocPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    if ((val != NULL) && (val != api_doc) && (val->doc != api_doc))
-        xmlFreeDoc(val);
-}
-static void desret_htmlDocPtr(htmlDocPtr val) {
-    if ((val != NULL) && (val != api_doc) && (val->doc != api_doc))
-        xmlFreeDoc(val);
-}
-#define gen_nb_htmlParserCtxtPtr 3
-static htmlParserCtxtPtr gen_htmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    if (no == 0) return(xmlNewParserCtxt());
-    if (no == 1) return(htmlCreateMemoryParserCtxt("<html/>", 7));
-    return(NULL);
-}
-static void des_htmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, htmlParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL)
-        htmlFreeParserCtxt(val);
-}
-static void desret_htmlParserCtxtPtr(htmlParserCtxtPtr val) {
-    if (val != NULL)
-        htmlFreeParserCtxt(val);
-}
-#endif
-
-#ifdef LIBXML_XPATH_ENABLED
-#define gen_nb_xmlNodeSetPtr 1
-static xmlNodeSetPtr gen_xmlNodeSetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlNodeSetPtr(int no ATTRIBUTE_UNUSED, xmlNodeSetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-#ifdef LIBXML_DEBUG_ENABLED
-#ifdef LIBXML_XPATH_ENABLED
-#define gen_nb_xmlShellCtxtPtr 1
-static xmlShellCtxtPtr gen_xmlShellCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlShellCtxtPtr(int no ATTRIBUTE_UNUSED, xmlShellCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-#endif
-
-#ifdef LIBXML_PATTERN_ENABLED
-#define gen_nb_xmlPatternPtr 1
-static xmlPatternPtr gen_xmlPatternPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlPatternPtr(int no ATTRIBUTE_UNUSED, xmlPatternPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-#define gen_nb_xmlElementContentPtr 1
-static xmlElementContentPtr gen_xmlElementContentPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlElementContentPtr(int no ATTRIBUTE_UNUSED, xmlElementContentPtr val, int nr ATTRIBUTE_UNUSED) {
-    if (val != NULL)
-        xmlFreeElementContent(val);
-}
-static void desret_xmlElementContentPtr(xmlElementContentPtr val) {
-    if (val != NULL)
-        xmlFreeElementContent(val);
-}
-
-#define gen_nb_xmlParserNodeInfoSeqPtr 1
-static xmlParserNodeInfoSeqPtr gen_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, xmlParserNodeInfoSeqPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static void desret_const_xmlParserNodeInfo_ptr(const xmlParserNodeInfo *val ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_void_ptr_ptr 1
-static void ** gen_void_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_void_ptr_ptr(int no ATTRIBUTE_UNUSED, void ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-/************************************************************************
- *                                                                     *
- *   WARNING: end of the manually maintained part of the test code     *
- *            do not remove or alter the CUT HERE line                 *
- *                                                                     *
- ************************************************************************/
-
-/* CUT HERE: everything below that line is generated */
-#ifdef LIBXML_HTML_ENABLED
-static void desret_htmlStatus(htmlStatus val ATTRIBUTE_UNUSED) {
-}
-
-#endif
-
-#define gen_nb_xmlAttributeDefault 4
-static xmlAttributeDefault gen_xmlAttributeDefault(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 1) return(XML_ATTRIBUTE_FIXED);
-    if (no == 2) return(XML_ATTRIBUTE_IMPLIED);
-    if (no == 3) return(XML_ATTRIBUTE_NONE);
-    if (no == 4) return(XML_ATTRIBUTE_REQUIRED);
-    return(0);
-}
-
-static void des_xmlAttributeDefault(int no ATTRIBUTE_UNUSED, xmlAttributeDefault val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_xmlAttributeType 4
-static xmlAttributeType gen_xmlAttributeType(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 1) return(XML_ATTRIBUTE_CDATA);
-    if (no == 2) return(XML_ATTRIBUTE_ENTITIES);
-    if (no == 3) return(XML_ATTRIBUTE_ENTITY);
-    if (no == 4) return(XML_ATTRIBUTE_ENUMERATION);
-    return(0);
-}
-
-static void des_xmlAttributeType(int no ATTRIBUTE_UNUSED, xmlAttributeType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_xmlBufferAllocationScheme 4
-static xmlBufferAllocationScheme gen_xmlBufferAllocationScheme(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 1) return(XML_BUFFER_ALLOC_DOUBLEIT);
-    if (no == 2) return(XML_BUFFER_ALLOC_EXACT);
-    if (no == 3) return(XML_BUFFER_ALLOC_HYBRID);
-    if (no == 4) return(XML_BUFFER_ALLOC_IMMUTABLE);
-    return(0);
-}
-
-static void des_xmlBufferAllocationScheme(int no ATTRIBUTE_UNUSED, xmlBufferAllocationScheme val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static void desret_xmlBufferAllocationScheme(xmlBufferAllocationScheme val ATTRIBUTE_UNUSED) {
-}
-
-#ifdef LIBXML_CATALOG_ENABLED
-#define gen_nb_xmlCatalogAllow 4
-static xmlCatalogAllow gen_xmlCatalogAllow(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 1) return(XML_CATA_ALLOW_ALL);
-    if (no == 2) return(XML_CATA_ALLOW_DOCUMENT);
-    if (no == 3) return(XML_CATA_ALLOW_GLOBAL);
-    if (no == 4) return(XML_CATA_ALLOW_NONE);
-    return(0);
-}
-
-static void des_xmlCatalogAllow(int no ATTRIBUTE_UNUSED, xmlCatalogAllow val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static void desret_xmlCatalogAllow(xmlCatalogAllow val ATTRIBUTE_UNUSED) {
-}
-
-#endif
-
-#ifdef LIBXML_CATALOG_ENABLED
-#define gen_nb_xmlCatalogPrefer 3
-static xmlCatalogPrefer gen_xmlCatalogPrefer(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 1) return(XML_CATA_PREFER_NONE);
-    if (no == 2) return(XML_CATA_PREFER_PUBLIC);
-    if (no == 3) return(XML_CATA_PREFER_SYSTEM);
-    return(0);
-}
-
-static void des_xmlCatalogPrefer(int no ATTRIBUTE_UNUSED, xmlCatalogPrefer val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static void desret_xmlCatalogPrefer(xmlCatalogPrefer val ATTRIBUTE_UNUSED) {
-}
-
-#endif
-
-#define gen_nb_xmlElementContentType 4
-static xmlElementContentType gen_xmlElementContentType(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 1) return(XML_ELEMENT_CONTENT_ELEMENT);
-    if (no == 2) return(XML_ELEMENT_CONTENT_OR);
-    if (no == 3) return(XML_ELEMENT_CONTENT_PCDATA);
-    if (no == 4) return(XML_ELEMENT_CONTENT_SEQ);
-    return(0);
-}
-
-static void des_xmlElementContentType(int no ATTRIBUTE_UNUSED, xmlElementContentType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_xmlElementTypeVal 4
-static xmlElementTypeVal gen_xmlElementTypeVal(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 1) return(XML_ELEMENT_TYPE_ANY);
-    if (no == 2) return(XML_ELEMENT_TYPE_ELEMENT);
-    if (no == 3) return(XML_ELEMENT_TYPE_EMPTY);
-    if (no == 4) return(XML_ELEMENT_TYPE_MIXED);
-    return(0);
-}
-
-static void des_xmlElementTypeVal(int no ATTRIBUTE_UNUSED, xmlElementTypeVal val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_xmlFeature 4
-static xmlFeature gen_xmlFeature(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 1) return(XML_WITH_AUTOMATA);
-    if (no == 2) return(XML_WITH_C14N);
-    if (no == 3) return(XML_WITH_CATALOG);
-    if (no == 4) return(XML_WITH_DEBUG);
-    return(0);
-}
-
-static void des_xmlFeature(int no ATTRIBUTE_UNUSED, xmlFeature val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static void desret_xmlParserErrors(xmlParserErrors val ATTRIBUTE_UNUSED) {
-}
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-#define gen_nb_xmlSchemaValType 4
-static xmlSchemaValType gen_xmlSchemaValType(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 1) return(XML_SCHEMAS_ANYSIMPLETYPE);
-    if (no == 2) return(XML_SCHEMAS_ANYTYPE);
-    if (no == 3) return(XML_SCHEMAS_ANYURI);
-    if (no == 4) return(XML_SCHEMAS_BASE64BINARY);
-    return(0);
-}
-
-static void des_xmlSchemaValType(int no ATTRIBUTE_UNUSED, xmlSchemaValType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static void desret_xmlSchemaValType(xmlSchemaValType val ATTRIBUTE_UNUSED) {
-}
-
-#endif
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-#define gen_nb_xmlSchemaWhitespaceValueType 4
-static xmlSchemaWhitespaceValueType gen_xmlSchemaWhitespaceValueType(int no, int nr ATTRIBUTE_UNUSED) {
-    if (no == 1) return(XML_SCHEMA_WHITESPACE_COLLAPSE);
-    if (no == 2) return(XML_SCHEMA_WHITESPACE_PRESERVE);
-    if (no == 3) return(XML_SCHEMA_WHITESPACE_REPLACE);
-    if (no == 4) return(XML_SCHEMA_WHITESPACE_UNKNOWN);
-    return(0);
-}
-
-static void des_xmlSchemaWhitespaceValueType(int no ATTRIBUTE_UNUSED, xmlSchemaWhitespaceValueType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#endif
-
-#include <libxml/HTMLparser.h>
-#include <libxml/HTMLtree.h>
-#include <libxml/SAX2.h>
-#include <libxml/c14n.h>
-#include <libxml/catalog.h>
-#include <libxml/chvalid.h>
-#include <libxml/debugXML.h>
-#include <libxml/dict.h>
-#include <libxml/encoding.h>
-#include <libxml/entities.h>
-#include <libxml/hash.h>
-#include <libxml/list.h>
-#include <libxml/nanoftp.h>
-#include <libxml/nanohttp.h>
-#include <libxml/parser.h>
-#include <libxml/parserInternals.h>
-#include <libxml/pattern.h>
-#include <libxml/relaxng.h>
-#include <libxml/schemasInternals.h>
-#include <libxml/schematron.h>
-#include <libxml/tree.h>
-#include <libxml/uri.h>
-#include <libxml/valid.h>
-#include <libxml/xinclude.h>
-#include <libxml/xmlIO.h>
-#include <libxml/xmlautomata.h>
-#include <libxml/xmlerror.h>
-#include <libxml/xmlmodule.h>
-#include <libxml/xmlreader.h>
-#include <libxml/xmlregexp.h>
-#include <libxml/xmlsave.h>
-#include <libxml/xmlschemas.h>
-#include <libxml/xmlschemastypes.h>
-#include <libxml/xmlstring.h>
-#include <libxml/xmlunicode.h>
-#include <libxml/xmlwriter.h>
-#include <libxml/xpath.h>
-#include <libxml/xpathInternals.h>
-#include <libxml/xpointer.h>
-static int test_HTMLparser(void);
-static int test_HTMLtree(void);
-static int test_SAX2(void);
-static int test_c14n(void);
-static int test_catalog(void);
-static int test_chvalid(void);
-static int test_debugXML(void);
-static int test_dict(void);
-static int test_encoding(void);
-static int test_entities(void);
-static int test_hash(void);
-static int test_list(void);
-static int test_nanoftp(void);
-static int test_nanohttp(void);
-static int test_parser(void);
-static int test_parserInternals(void);
-static int test_pattern(void);
-static int test_relaxng(void);
-static int test_schemasInternals(void);
-static int test_schematron(void);
-static int test_tree(void);
-static int test_uri(void);
-static int test_valid(void);
-static int test_xinclude(void);
-static int test_xmlIO(void);
-static int test_xmlautomata(void);
-static int test_xmlerror(void);
-static int test_xmlmodule(void);
-static int test_xmlreader(void);
-static int test_xmlregexp(void);
-static int test_xmlsave(void);
-static int test_xmlschemas(void);
-static int test_xmlschemastypes(void);
-static int test_xmlstring(void);
-static int test_xmlunicode(void);
-static int test_xmlwriter(void);
-static int test_xpath(void);
-static int test_xpathInternals(void);
-static int test_xpointer(void);
-
-/**
- * testlibxml2:
- *
- * Main entry point of the tester for the full libxml2 module,
- * it calls all the tester entry point for each module.
- *
- * Returns the number of error found
- */
-static int
-testlibxml2(void)
-{
-    int test_ret = 0;
-
-    test_ret += test_HTMLparser();
-    test_ret += test_HTMLtree();
-    test_ret += test_SAX2();
-    test_ret += test_c14n();
-    test_ret += test_catalog();
-    test_ret += test_chvalid();
-    test_ret += test_debugXML();
-    test_ret += test_dict();
-    test_ret += test_encoding();
-    test_ret += test_entities();
-    test_ret += test_hash();
-    test_ret += test_list();
-    test_ret += test_nanoftp();
-    test_ret += test_nanohttp();
-    test_ret += test_parser();
-    test_ret += test_parserInternals();
-    test_ret += test_pattern();
-    test_ret += test_relaxng();
-    test_ret += test_schemasInternals();
-    test_ret += test_schematron();
-    test_ret += test_tree();
-    test_ret += test_uri();
-    test_ret += test_valid();
-    test_ret += test_xinclude();
-    test_ret += test_xmlIO();
-    test_ret += test_xmlautomata();
-    test_ret += test_xmlerror();
-    test_ret += test_xmlmodule();
-    test_ret += test_xmlreader();
-    test_ret += test_xmlregexp();
-    test_ret += test_xmlsave();
-    test_ret += test_xmlschemas();
-    test_ret += test_xmlschemastypes();
-    test_ret += test_xmlstring();
-    test_ret += test_xmlunicode();
-    test_ret += test_xmlwriter();
-    test_ret += test_xpath();
-    test_ret += test_xpathInternals();
-    test_ret += test_xpointer();
-
-    printf("Total: %d functions, %d tests, %d errors\n",
-           function_tests, call_tests, test_ret);
-    return(test_ret);
-}
-
-
-static int
-test_UTF8ToHtml(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    int ret_val;
-    unsigned char * out; /* a pointer to an array of bytes to store the result */
-    int n_out;
-    int * outlen; /* the length of @out */
-    int n_outlen;
-    unsigned char * in; /* a pointer to an array of UTF-8 chars */
-    int n_in;
-    int * inlen; /* the length of @in */
-    int n_inlen;
-
-    for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
-    for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
-    for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
-    for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
-        mem_base = xmlMemBlocks();
-        out = gen_unsigned_char_ptr(n_out, 0);
-        outlen = gen_int_ptr(n_outlen, 1);
-        in = gen_const_unsigned_char_ptr(n_in, 2);
-        inlen = gen_int_ptr(n_inlen, 3);
-
-        ret_val = UTF8ToHtml(out, outlen, (const unsigned char *)in, inlen);
-        desret_int(ret_val);
-        call_tests++;
-        des_unsigned_char_ptr(n_out, out, 0);
-        des_int_ptr(n_outlen, outlen, 1);
-        des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
-        des_int_ptr(n_inlen, inlen, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in UTF8ToHtml",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out);
-            printf(" %d", n_outlen);
-            printf(" %d", n_in);
-            printf(" %d", n_inlen);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-#ifdef LIBXML_HTML_ENABLED
-
-#define gen_nb_const_htmlElemDesc_ptr 1
-static htmlElemDesc * gen_const_htmlElemDesc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_htmlElemDesc_ptr(int no ATTRIBUTE_UNUSED, const htmlElemDesc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_htmlAttrAllowed(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlStatus ret_val;
-    htmlElemDesc * elt; /* HTML element */
-    int n_elt;
-    xmlChar * attr; /* HTML attribute */
-    int n_attr;
-    int legacy; /* whether to allow deprecated attributes */
-    int n_legacy;
-
-    for (n_elt = 0;n_elt < gen_nb_const_htmlElemDesc_ptr;n_elt++) {
-    for (n_attr = 0;n_attr < gen_nb_const_xmlChar_ptr;n_attr++) {
-    for (n_legacy = 0;n_legacy < gen_nb_int;n_legacy++) {
-        mem_base = xmlMemBlocks();
-        elt = gen_const_htmlElemDesc_ptr(n_elt, 0);
-        attr = gen_const_xmlChar_ptr(n_attr, 1);
-        legacy = gen_int(n_legacy, 2);
-
-        ret_val = htmlAttrAllowed((const htmlElemDesc *)elt, (const xmlChar *)attr, legacy);
-        desret_htmlStatus(ret_val);
-        call_tests++;
-        des_const_htmlElemDesc_ptr(n_elt, (const htmlElemDesc *)elt, 0);
-        des_const_xmlChar_ptr(n_attr, (const xmlChar *)attr, 1);
-        des_int(n_legacy, legacy, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlAttrAllowed",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_elt);
-            printf(" %d", n_attr);
-            printf(" %d", n_legacy);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-#ifdef LIBXML_HTML_ENABLED
-
-#define gen_nb_htmlNodePtr 1
-static htmlNodePtr gen_htmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_htmlNodePtr(int no ATTRIBUTE_UNUSED, htmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_htmlAutoCloseTag(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    int ret_val;
-    htmlDocPtr doc; /* the HTML document */
-    int n_doc;
-    xmlChar * name; /* The tag name */
-    int n_name;
-    htmlNodePtr elem; /* the HTML element */
-    int n_elem;
-
-    for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_elem = 0;n_elem < gen_nb_htmlNodePtr;n_elem++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_htmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        elem = gen_htmlNodePtr(n_elem, 2);
-
-        ret_val = htmlAutoCloseTag(doc, (const xmlChar *)name, elem);
-        desret_int(ret_val);
-        call_tests++;
-        des_htmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_htmlNodePtr(n_elem, elem, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlAutoCloseTag",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf(" %d", n_elem);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlCreateMemoryParserCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlParserCtxtPtr ret_val;
-    char * buffer; /* a pointer to a char array */
-    int n_buffer;
-    int size; /* the size of the array */
-    int n_size;
-
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-        mem_base = xmlMemBlocks();
-        buffer = gen_const_char_ptr(n_buffer, 0);
-        size = gen_int(n_size, 1);
-
-        ret_val = htmlCreateMemoryParserCtxt((const char *)buffer, size);
-        desret_htmlParserCtxtPtr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
-        des_int(n_size, size, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlCreateMemoryParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-#ifdef LIBXML_HTML_ENABLED
-
-#define gen_nb_htmlSAXHandlerPtr 1
-static htmlSAXHandlerPtr gen_htmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_htmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, htmlSAXHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_htmlCreatePushParserCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED)
-    int mem_base;
-    htmlParserCtxtPtr ret_val;
-    htmlSAXHandlerPtr sax; /* a SAX handler */
-    int n_sax;
-    void * user_data; /* The user data returned on SAX callbacks */
-    int n_user_data;
-    char * chunk; /* a pointer to an array of chars */
-    int n_chunk;
-    int size; /* number of chars in the array */
-    int n_size;
-    const char * filename; /* an optional file name or URI */
-    int n_filename;
-    xmlCharEncoding enc; /* an optional encoding */
-    int n_enc;
-
-    for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) {
-    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
-    for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
-        mem_base = xmlMemBlocks();
-        sax = gen_htmlSAXHandlerPtr(n_sax, 0);
-        user_data = gen_userdata(n_user_data, 1);
-        chunk = gen_const_char_ptr(n_chunk, 2);
-        size = gen_int(n_size, 3);
-        filename = gen_fileoutput(n_filename, 4);
-        enc = gen_xmlCharEncoding(n_enc, 5);
-
-        ret_val = htmlCreatePushParserCtxt(sax, user_data, (const char *)chunk, size, filename, enc);
-        desret_htmlParserCtxtPtr(ret_val);
-        call_tests++;
-        des_htmlSAXHandlerPtr(n_sax, sax, 0);
-        des_userdata(n_user_data, user_data, 1);
-        des_const_char_ptr(n_chunk, (const char *)chunk, 2);
-        des_int(n_size, size, 3);
-        des_fileoutput(n_filename, filename, 4);
-        des_xmlCharEncoding(n_enc, enc, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlCreatePushParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_sax);
-            printf(" %d", n_user_data);
-            printf(" %d", n_chunk);
-            printf(" %d", n_size);
-            printf(" %d", n_filename);
-            printf(" %d", n_enc);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlCtxtReadDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlDocPtr ret_val;
-    htmlParserCtxtPtr ctxt; /* an HTML parser context */
-    int n_ctxt;
-    xmlChar * cur; /* a pointer to a zero terminated string */
-    int n_cur;
-    const char * URL; /* the base URL to use for the document */
-    int n_URL;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of htmlParserOption(s) */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
-        cur = gen_const_xmlChar_ptr(n_cur, 1);
-        URL = gen_filepath(n_URL, 2);
-        encoding = gen_const_char_ptr(n_encoding, 3);
-        options = gen_int(n_options, 4);
-
-        ret_val = htmlCtxtReadDoc(ctxt, (const xmlChar *)cur, URL, (const char *)encoding, options);
-        desret_htmlDocPtr(ret_val);
-        call_tests++;
-        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
-        des_filepath(n_URL, URL, 2);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
-        des_int(n_options, options, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlCtxtReadDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf(" %d", n_URL);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlCtxtReadFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    htmlDocPtr ret_val;
-    htmlParserCtxtPtr ctxt; /* an HTML parser context */
-    int n_ctxt;
-    const char * filename; /* a file or URL */
-    int n_filename;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of htmlParserOption(s) */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
-        filename = gen_filepath(n_filename, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-        options = gen_int(n_options, 3);
-
-        ret_val = htmlCtxtReadFile(ctxt, filename, (const char *)encoding, options);
-        desret_htmlDocPtr(ret_val);
-        call_tests++;
-        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_filepath(n_filename, filename, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        des_int(n_options, options, 3);
-        xmlResetLastError();
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlCtxtReadMemory(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlDocPtr ret_val;
-    htmlParserCtxtPtr ctxt; /* an HTML parser context */
-    int n_ctxt;
-    char * buffer; /* a pointer to a char array */
-    int n_buffer;
-    int size; /* the size of the array */
-    int n_size;
-    const char * URL; /* the base URL to use for the document */
-    int n_URL;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of htmlParserOption(s) */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
-        buffer = gen_const_char_ptr(n_buffer, 1);
-        size = gen_int(n_size, 2);
-        URL = gen_filepath(n_URL, 3);
-        encoding = gen_const_char_ptr(n_encoding, 4);
-        options = gen_int(n_options, 5);
-
-        ret_val = htmlCtxtReadMemory(ctxt, (const char *)buffer, size, URL, (const char *)encoding, options);
-        desret_htmlDocPtr(ret_val);
-        call_tests++;
-        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_char_ptr(n_buffer, (const char *)buffer, 1);
-        des_int(n_size, size, 2);
-        des_filepath(n_URL, URL, 3);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 4);
-        des_int(n_options, options, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlCtxtReadMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf(" %d", n_URL);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlCtxtReset(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlParserCtxtPtr ctxt; /* an HTML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
-
-        htmlCtxtReset(ctxt);
-        call_tests++;
-        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlCtxtReset",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlCtxtUseOptions(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    int ret_val;
-    htmlParserCtxtPtr ctxt; /* an HTML parser context */
-    int n_ctxt;
-    int options; /* a combination of htmlParserOption(s) */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
-        options = gen_int(n_options, 1);
-
-        ret_val = htmlCtxtUseOptions(ctxt, options);
-        desret_int(ret_val);
-        call_tests++;
-        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_int(n_options, options, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlCtxtUseOptions",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlElementAllowedHere(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    int ret_val;
-    htmlElemDesc * parent; /* HTML parent element */
-    int n_parent;
-    xmlChar * elt; /* HTML element */
-    int n_elt;
-
-    for (n_parent = 0;n_parent < gen_nb_const_htmlElemDesc_ptr;n_parent++) {
-    for (n_elt = 0;n_elt < gen_nb_const_xmlChar_ptr;n_elt++) {
-        mem_base = xmlMemBlocks();
-        parent = gen_const_htmlElemDesc_ptr(n_parent, 0);
-        elt = gen_const_xmlChar_ptr(n_elt, 1);
-
-        ret_val = htmlElementAllowedHere((const htmlElemDesc *)parent, (const xmlChar *)elt);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_htmlElemDesc_ptr(n_parent, (const htmlElemDesc *)parent, 0);
-        des_const_xmlChar_ptr(n_elt, (const xmlChar *)elt, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlElementAllowedHere",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_parent);
-            printf(" %d", n_elt);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlElementStatusHere(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlStatus ret_val;
-    htmlElemDesc * parent; /* HTML parent element */
-    int n_parent;
-    htmlElemDesc * elt; /* HTML element */
-    int n_elt;
-
-    for (n_parent = 0;n_parent < gen_nb_const_htmlElemDesc_ptr;n_parent++) {
-    for (n_elt = 0;n_elt < gen_nb_const_htmlElemDesc_ptr;n_elt++) {
-        mem_base = xmlMemBlocks();
-        parent = gen_const_htmlElemDesc_ptr(n_parent, 0);
-        elt = gen_const_htmlElemDesc_ptr(n_elt, 1);
-
-        ret_val = htmlElementStatusHere((const htmlElemDesc *)parent, (const htmlElemDesc *)elt);
-        desret_htmlStatus(ret_val);
-        call_tests++;
-        des_const_htmlElemDesc_ptr(n_parent, (const htmlElemDesc *)parent, 0);
-        des_const_htmlElemDesc_ptr(n_elt, (const htmlElemDesc *)elt, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlElementStatusHere",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_parent);
-            printf(" %d", n_elt);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlEncodeEntities(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    int ret_val;
-    unsigned char * out; /* a pointer to an array of bytes to store the result */
-    int n_out;
-    int * outlen; /* the length of @out */
-    int n_outlen;
-    unsigned char * in; /* a pointer to an array of UTF-8 chars */
-    int n_in;
-    int * inlen; /* the length of @in */
-    int n_inlen;
-    int quoteChar; /* the quote character to escape (' or ") or zero. */
-    int n_quoteChar;
-
-    for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
-    for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
-    for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
-    for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
-    for (n_quoteChar = 0;n_quoteChar < gen_nb_int;n_quoteChar++) {
-        mem_base = xmlMemBlocks();
-        out = gen_unsigned_char_ptr(n_out, 0);
-        outlen = gen_int_ptr(n_outlen, 1);
-        in = gen_const_unsigned_char_ptr(n_in, 2);
-        inlen = gen_int_ptr(n_inlen, 3);
-        quoteChar = gen_int(n_quoteChar, 4);
-
-        ret_val = htmlEncodeEntities(out, outlen, (const unsigned char *)in, inlen, quoteChar);
-        desret_int(ret_val);
-        call_tests++;
-        des_unsigned_char_ptr(n_out, out, 0);
-        des_int_ptr(n_outlen, outlen, 1);
-        des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
-        des_int_ptr(n_inlen, inlen, 3);
-        des_int(n_quoteChar, quoteChar, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlEncodeEntities",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out);
-            printf(" %d", n_outlen);
-            printf(" %d", n_in);
-            printf(" %d", n_inlen);
-            printf(" %d", n_quoteChar);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlEntityLookup(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    const htmlEntityDesc * ret_val;
-    xmlChar * name; /* the entity name */
-    int n_name;
-
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        name = gen_const_xmlChar_ptr(n_name, 0);
-
-        ret_val = htmlEntityLookup((const xmlChar *)name);
-        desret_const_htmlEntityDesc_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlEntityLookup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlEntityValueLookup(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    const htmlEntityDesc * ret_val;
-    unsigned int value; /* the entity's unicode value */
-    int n_value;
-
-    for (n_value = 0;n_value < gen_nb_unsigned_int;n_value++) {
-        mem_base = xmlMemBlocks();
-        value = gen_unsigned_int(n_value, 0);
-
-        ret_val = htmlEntityValueLookup(value);
-        desret_const_htmlEntityDesc_ptr(ret_val);
-        call_tests++;
-        des_unsigned_int(n_value, value, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlEntityValueLookup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlHandleOmittedElem(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    int ret_val;
-    int val; /* int 0 or 1 */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_int;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_int(n_val, 0);
-
-        ret_val = htmlHandleOmittedElem(val);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlHandleOmittedElem",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlIsAutoClosed(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    int ret_val;
-    htmlDocPtr doc; /* the HTML document */
-    int n_doc;
-    htmlNodePtr elem; /* the HTML element */
-    int n_elem;
-
-    for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_htmlNodePtr;n_elem++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_htmlDocPtr(n_doc, 0);
-        elem = gen_htmlNodePtr(n_elem, 1);
-
-        ret_val = htmlIsAutoClosed(doc, elem);
-        desret_int(ret_val);
-        call_tests++;
-        des_htmlDocPtr(n_doc, doc, 0);
-        des_htmlNodePtr(n_elem, elem, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlIsAutoClosed",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlIsScriptAttribute(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlChar * name; /* an attribute name */
-    int n_name;
-
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        name = gen_const_xmlChar_ptr(n_name, 0);
-
-        ret_val = htmlIsScriptAttribute((const xmlChar *)name);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlIsScriptAttribute",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlNewParserCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlParserCtxtPtr ret_val;
-
-        mem_base = xmlMemBlocks();
-
-        ret_val = htmlNewParserCtxt();
-        desret_htmlParserCtxtPtr(ret_val);
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlNewParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlNodeStatus(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlStatus ret_val;
-    htmlNodePtr node; /* an htmlNodePtr in a tree */
-    int n_node;
-    int legacy; /* whether to allow deprecated elements (YES is faster here for Element nodes) */
-    int n_legacy;
-
-    for (n_node = 0;n_node < gen_nb_const_htmlNodePtr;n_node++) {
-    for (n_legacy = 0;n_legacy < gen_nb_int;n_legacy++) {
-        mem_base = xmlMemBlocks();
-        node = gen_const_htmlNodePtr(n_node, 0);
-        legacy = gen_int(n_legacy, 1);
-
-        ret_val = htmlNodeStatus((const htmlNodePtr)node, legacy);
-        desret_htmlStatus(ret_val);
-        call_tests++;
-        des_const_htmlNodePtr(n_node, (const htmlNodePtr)node, 0);
-        des_int(n_legacy, legacy, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlNodeStatus",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_legacy);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlParseCharRef(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    int ret_val;
-    htmlParserCtxtPtr ctxt; /* an HTML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
-
-        ret_val = htmlParseCharRef(ctxt);
-        desret_int(ret_val);
-        call_tests++;
-        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlParseCharRef",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlParseChunk(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED)
-    int mem_base;
-    int ret_val;
-    htmlParserCtxtPtr ctxt; /* an HTML parser context */
-    int n_ctxt;
-    char * chunk; /* an char array */
-    int n_chunk;
-    int size; /* the size in byte of the chunk */
-    int n_size;
-    int terminate; /* last chunk indicator */
-    int n_terminate;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
-    for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_terminate = 0;n_terminate < gen_nb_int;n_terminate++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
-        chunk = gen_const_char_ptr(n_chunk, 1);
-        size = gen_int(n_size, 2);
-        terminate = gen_int(n_terminate, 3);
-
-        ret_val = htmlParseChunk(ctxt, (const char *)chunk, size, terminate);
-        if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
-        desret_int(ret_val);
-        call_tests++;
-        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_char_ptr(n_chunk, (const char *)chunk, 1);
-        des_int(n_size, size, 2);
-        des_int(n_terminate, terminate, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlParseChunk",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_chunk);
-            printf(" %d", n_size);
-            printf(" %d", n_terminate);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlParseDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlDocPtr ret_val;
-    xmlChar * cur; /* a pointer to an array of xmlChar */
-    int n_cur;
-    char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
-    int n_encoding;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlChar_ptr;n_cur++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlChar_ptr(n_cur, 0);
-        encoding = gen_const_char_ptr(n_encoding, 1);
-
-        ret_val = htmlParseDoc(cur, (const char *)encoding);
-        desret_htmlDocPtr(ret_val);
-        call_tests++;
-        des_xmlChar_ptr(n_cur, cur, 0);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlParseDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_encoding);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlParseDocument(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    int ret_val;
-    htmlParserCtxtPtr ctxt; /* an HTML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
-
-        ret_val = htmlParseDocument(ctxt);
-        if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
-        desret_int(ret_val);
-        call_tests++;
-        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlParseDocument",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlParseElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlParserCtxtPtr ctxt; /* an HTML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
-
-        htmlParseElement(ctxt);
-        call_tests++;
-        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlParseElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlParseEntityRef(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    const htmlEntityDesc * ret_val;
-    htmlParserCtxtPtr ctxt; /* an HTML parser context */
-    int n_ctxt;
-    xmlChar ** str; /* location to store the entity name */
-    int n_str;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr_ptr;n_str++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
-        str = gen_const_xmlChar_ptr_ptr(n_str, 1);
-
-        ret_val = htmlParseEntityRef(ctxt, (const xmlChar **)str);
-        desret_const_htmlEntityDesc_ptr(ret_val);
-        call_tests++;
-        des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr_ptr(n_str, (const xmlChar **)str, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlParseEntityRef",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_str);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlParseFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    htmlDocPtr ret_val;
-    const char * filename; /* the filename */
-    int n_filename;
-    char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
-    int n_encoding;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-        filename = gen_filepath(n_filename, 0);
-        encoding = gen_const_char_ptr(n_encoding, 1);
-
-        ret_val = htmlParseFile(filename, (const char *)encoding);
-        desret_htmlDocPtr(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
-        xmlResetLastError();
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlReadDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlDocPtr ret_val;
-    xmlChar * cur; /* a pointer to a zero terminated string */
-    int n_cur;
-    const char * URL; /* the base URL to use for the document */
-    int n_URL;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of htmlParserOption(s) */
-    int n_options;
-
-    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_const_xmlChar_ptr(n_cur, 0);
-        URL = gen_filepath(n_URL, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-        options = gen_int(n_options, 3);
-
-        ret_val = htmlReadDoc((const xmlChar *)cur, URL, (const char *)encoding, options);
-        desret_htmlDocPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
-        des_filepath(n_URL, URL, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        des_int(n_options, options, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlReadDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_URL);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlReadFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlDocPtr ret_val;
-    const char * filename; /* a file or URL */
-    int n_filename;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of htmlParserOption(s) */
-    int n_options;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_filepath(n_filename, 0);
-        encoding = gen_const_char_ptr(n_encoding, 1);
-        options = gen_int(n_options, 2);
-
-        ret_val = htmlReadFile(filename, (const char *)encoding, options);
-        desret_htmlDocPtr(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
-        des_int(n_options, options, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlReadFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlReadMemory(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlDocPtr ret_val;
-    char * buffer; /* a pointer to a char array */
-    int n_buffer;
-    int size; /* the size of the array */
-    int n_size;
-    const char * URL; /* the base URL to use for the document */
-    int n_URL;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of htmlParserOption(s) */
-    int n_options;
-
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        mem_base = xmlMemBlocks();
-        buffer = gen_const_char_ptr(n_buffer, 0);
-        size = gen_int(n_size, 1);
-        URL = gen_filepath(n_URL, 2);
-        encoding = gen_const_char_ptr(n_encoding, 3);
-        options = gen_int(n_options, 4);
-
-        ret_val = htmlReadMemory((const char *)buffer, size, URL, (const char *)encoding, options);
-        desret_htmlDocPtr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
-        des_int(n_size, size, 1);
-        des_filepath(n_URL, URL, 2);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
-        des_int(n_options, options, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlReadMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf(" %d", n_URL);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlSAXParseDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlDocPtr ret_val;
-    xmlChar * cur; /* a pointer to an array of xmlChar */
-    int n_cur;
-    char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
-    int n_encoding;
-    htmlSAXHandlerPtr sax; /* the SAX handler block */
-    int n_sax;
-    void * userData; /* if using SAX, this pointer will be provided on callbacks. */
-    int n_userData;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlChar_ptr;n_cur++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) {
-    for (n_userData = 0;n_userData < gen_nb_userdata;n_userData++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlChar_ptr(n_cur, 0);
-        encoding = gen_const_char_ptr(n_encoding, 1);
-        sax = gen_htmlSAXHandlerPtr(n_sax, 2);
-        userData = gen_userdata(n_userData, 3);
-
-        ret_val = htmlSAXParseDoc(cur, (const char *)encoding, sax, userData);
-        desret_htmlDocPtr(ret_val);
-        call_tests++;
-        des_xmlChar_ptr(n_cur, cur, 0);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
-        des_htmlSAXHandlerPtr(n_sax, sax, 2);
-        des_userdata(n_userData, userData, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlSAXParseDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_encoding);
-            printf(" %d", n_sax);
-            printf(" %d", n_userData);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlSAXParseFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlDocPtr ret_val;
-    const char * filename; /* the filename */
-    int n_filename;
-    char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
-    int n_encoding;
-    htmlSAXHandlerPtr sax; /* the SAX handler block */
-    int n_sax;
-    void * userData; /* if using SAX, this pointer will be provided on callbacks. */
-    int n_userData;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) {
-    for (n_userData = 0;n_userData < gen_nb_userdata;n_userData++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_filepath(n_filename, 0);
-        encoding = gen_const_char_ptr(n_encoding, 1);
-        sax = gen_htmlSAXHandlerPtr(n_sax, 2);
-        userData = gen_userdata(n_userData, 3);
-
-        ret_val = htmlSAXParseFile(filename, (const char *)encoding, sax, userData);
-        desret_htmlDocPtr(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
-        des_htmlSAXHandlerPtr(n_sax, sax, 2);
-        des_userdata(n_userData, userData, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlSAXParseFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf(" %d", n_encoding);
-            printf(" %d", n_sax);
-            printf(" %d", n_userData);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlTagLookup(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-static int
-test_HTMLparser(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing HTMLparser : 32 of 38 functions ...\n");
-    test_ret += test_UTF8ToHtml();
-    test_ret += test_htmlAttrAllowed();
-    test_ret += test_htmlAutoCloseTag();
-    test_ret += test_htmlCreateMemoryParserCtxt();
-    test_ret += test_htmlCreatePushParserCtxt();
-    test_ret += test_htmlCtxtReadDoc();
-    test_ret += test_htmlCtxtReadFile();
-    test_ret += test_htmlCtxtReadMemory();
-    test_ret += test_htmlCtxtReset();
-    test_ret += test_htmlCtxtUseOptions();
-    test_ret += test_htmlElementAllowedHere();
-    test_ret += test_htmlElementStatusHere();
-    test_ret += test_htmlEncodeEntities();
-    test_ret += test_htmlEntityLookup();
-    test_ret += test_htmlEntityValueLookup();
-    test_ret += test_htmlHandleOmittedElem();
-    test_ret += test_htmlIsAutoClosed();
-    test_ret += test_htmlIsScriptAttribute();
-    test_ret += test_htmlNewParserCtxt();
-    test_ret += test_htmlNodeStatus();
-    test_ret += test_htmlParseCharRef();
-    test_ret += test_htmlParseChunk();
-    test_ret += test_htmlParseDoc();
-    test_ret += test_htmlParseDocument();
-    test_ret += test_htmlParseElement();
-    test_ret += test_htmlParseEntityRef();
-    test_ret += test_htmlParseFile();
-    test_ret += test_htmlReadDoc();
-    test_ret += test_htmlReadFile();
-    test_ret += test_htmlReadMemory();
-    test_ret += test_htmlSAXParseDoc();
-    test_ret += test_htmlSAXParseFile();
-    test_ret += test_htmlTagLookup();
-
-    if (test_ret != 0)
-       printf("Module HTMLparser: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_htmlDocContentDumpFormatOutput(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlOutputBufferPtr buf; /* the HTML buffer output */
-    int n_buf;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-    char * encoding; /* the encoding string */
-    int n_encoding;
-    int format; /* should formatting spaces been added */
-    int n_format;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_format = 0;n_format < gen_nb_int;n_format++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlOutputBufferPtr(n_buf, 0);
-        cur = gen_xmlDocPtr(n_cur, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-        format = gen_int(n_format, 3);
-
-        htmlDocContentDumpFormatOutput(buf, cur, (const char *)encoding, format);
-        call_tests++;
-        des_xmlOutputBufferPtr(n_buf, buf, 0);
-        des_xmlDocPtr(n_cur, cur, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        des_int(n_format, format, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlDocContentDumpFormatOutput",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_cur);
-            printf(" %d", n_encoding);
-            printf(" %d", n_format);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlDocContentDumpOutput(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlOutputBufferPtr buf; /* the HTML buffer output */
-    int n_buf;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-    char * encoding; /* the encoding string */
-    int n_encoding;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlOutputBufferPtr(n_buf, 0);
-        cur = gen_xmlDocPtr(n_cur, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-
-        htmlDocContentDumpOutput(buf, cur, (const char *)encoding);
-        call_tests++;
-        des_xmlOutputBufferPtr(n_buf, buf, 0);
-        des_xmlDocPtr(n_cur, cur, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlDocContentDumpOutput",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_cur);
-            printf(" %d", n_encoding);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlDocDump(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    FILE * f; /* the FILE* */
-    int n_f;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-
-    for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        f = gen_FILE_ptr(n_f, 0);
-        cur = gen_xmlDocPtr(n_cur, 1);
-
-        ret_val = htmlDocDump(f, cur);
-        desret_int(ret_val);
-        call_tests++;
-        des_FILE_ptr(n_f, f, 0);
-        des_xmlDocPtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlDocDump",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_f);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlChar_ptr_ptr 1
-static xmlChar ** gen_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, xmlChar ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_htmlDocDumpMemory(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-    xmlChar ** mem; /* OUT: the memory pointer */
-    int n_mem;
-    int * size; /* OUT: the memory length */
-    int n_size;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-    for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
-    for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlDocPtr(n_cur, 0);
-        mem = gen_xmlChar_ptr_ptr(n_mem, 1);
-        size = gen_int_ptr(n_size, 2);
-
-        htmlDocDumpMemory(cur, mem, size);
-        call_tests++;
-        des_xmlDocPtr(n_cur, cur, 0);
-        des_xmlChar_ptr_ptr(n_mem, mem, 1);
-        des_int_ptr(n_size, size, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlDocDumpMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_mem);
-            printf(" %d", n_size);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlDocDumpMemoryFormat(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-    xmlChar ** mem; /* OUT: the memory pointer */
-    int n_mem;
-    int * size; /* OUT: the memory length */
-    int n_size;
-    int format; /* should formatting spaces been added */
-    int n_format;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-    for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
-    for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
-    for (n_format = 0;n_format < gen_nb_int;n_format++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlDocPtr(n_cur, 0);
-        mem = gen_xmlChar_ptr_ptr(n_mem, 1);
-        size = gen_int_ptr(n_size, 2);
-        format = gen_int(n_format, 3);
-
-        htmlDocDumpMemoryFormat(cur, mem, size, format);
-        call_tests++;
-        des_xmlDocPtr(n_cur, cur, 0);
-        des_xmlChar_ptr_ptr(n_mem, mem, 1);
-        des_int_ptr(n_size, size, 2);
-        des_int(n_format, format, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlDocDumpMemoryFormat",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_mem);
-            printf(" %d", n_size);
-            printf(" %d", n_format);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlGetMetaEncoding(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    const xmlChar * ret_val;
-    htmlDocPtr doc; /* the document */
-    int n_doc;
-
-    for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_htmlDocPtr(n_doc, 0);
-
-        ret_val = htmlGetMetaEncoding(doc);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_htmlDocPtr(n_doc, doc, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlGetMetaEncoding",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlIsBooleanAttr(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlChar * name; /* the name of the attribute to check */
-    int n_name;
-
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        name = gen_const_xmlChar_ptr(n_name, 0);
-
-        ret_val = htmlIsBooleanAttr((const xmlChar *)name);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlIsBooleanAttr",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlNewDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlDocPtr ret_val;
-    xmlChar * URI; /* URI for the dtd, or NULL */
-    int n_URI;
-    xmlChar * ExternalID; /* the external ID of the DTD, or NULL */
-    int n_ExternalID;
-
-    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
-    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
-        mem_base = xmlMemBlocks();
-        URI = gen_const_xmlChar_ptr(n_URI, 0);
-        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1);
-
-        ret_val = htmlNewDoc((const xmlChar *)URI, (const xmlChar *)ExternalID);
-        desret_htmlDocPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
-        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlNewDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URI);
-            printf(" %d", n_ExternalID);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlNewDocNoDtD(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlDocPtr ret_val;
-    xmlChar * URI; /* URI for the dtd, or NULL */
-    int n_URI;
-    xmlChar * ExternalID; /* the external ID of the DTD, or NULL */
-    int n_ExternalID;
-
-    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
-    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
-        mem_base = xmlMemBlocks();
-        URI = gen_const_xmlChar_ptr(n_URI, 0);
-        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1);
-
-        ret_val = htmlNewDocNoDtD((const xmlChar *)URI, (const xmlChar *)ExternalID);
-        desret_htmlDocPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
-        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlNewDocNoDtD",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URI);
-            printf(" %d", n_ExternalID);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlNodeDump(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlBufferPtr buf; /* the HTML buffer output */
-    int n_buf;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr cur; /* the current node */
-    int n_cur;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        cur = gen_xmlNodePtr(n_cur, 2);
-
-        ret_val = htmlNodeDump(buf, doc, cur);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_cur, cur, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlNodeDump",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_doc);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlNodeDumpFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    FILE * out; /* the FILE pointer */
-    int n_out;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr cur; /* the current node */
-    int n_cur;
-
-    for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        out = gen_FILE_ptr(n_out, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        cur = gen_xmlNodePtr(n_cur, 2);
-
-        htmlNodeDumpFile(out, doc, cur);
-        call_tests++;
-        des_FILE_ptr(n_out, out, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_cur, cur, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlNodeDumpFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out);
-            printf(" %d", n_doc);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlNodeDumpFileFormat(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    FILE * out; /* the FILE pointer */
-    int n_out;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr cur; /* the current node */
-    int n_cur;
-    char * encoding; /* the document encoding */
-    int n_encoding;
-    int format; /* should formatting spaces been added */
-    int n_format;
-
-    for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_format = 0;n_format < gen_nb_int;n_format++) {
-        mem_base = xmlMemBlocks();
-        out = gen_FILE_ptr(n_out, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        cur = gen_xmlNodePtr(n_cur, 2);
-        encoding = gen_const_char_ptr(n_encoding, 3);
-        format = gen_int(n_format, 4);
-
-        ret_val = htmlNodeDumpFileFormat(out, doc, cur, (const char *)encoding, format);
-        desret_int(ret_val);
-        call_tests++;
-        des_FILE_ptr(n_out, out, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_cur, cur, 2);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
-        des_int(n_format, format, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlNodeDumpFileFormat",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out);
-            printf(" %d", n_doc);
-            printf(" %d", n_cur);
-            printf(" %d", n_encoding);
-            printf(" %d", n_format);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlNodeDumpFormatOutput(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlOutputBufferPtr buf; /* the HTML buffer output */
-    int n_buf;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr cur; /* the current node */
-    int n_cur;
-    char * encoding; /* the encoding string */
-    int n_encoding;
-    int format; /* should formatting spaces been added */
-    int n_format;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_format = 0;n_format < gen_nb_int;n_format++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlOutputBufferPtr(n_buf, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        cur = gen_xmlNodePtr(n_cur, 2);
-        encoding = gen_const_char_ptr(n_encoding, 3);
-        format = gen_int(n_format, 4);
-
-        htmlNodeDumpFormatOutput(buf, doc, cur, (const char *)encoding, format);
-        call_tests++;
-        des_xmlOutputBufferPtr(n_buf, buf, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_cur, cur, 2);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
-        des_int(n_format, format, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlNodeDumpFormatOutput",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_doc);
-            printf(" %d", n_cur);
-            printf(" %d", n_encoding);
-            printf(" %d", n_format);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlNodeDumpOutput(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlOutputBufferPtr buf; /* the HTML buffer output */
-    int n_buf;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr cur; /* the current node */
-    int n_cur;
-    char * encoding; /* the encoding string */
-    int n_encoding;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlOutputBufferPtr(n_buf, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        cur = gen_xmlNodePtr(n_cur, 2);
-        encoding = gen_const_char_ptr(n_encoding, 3);
-
-        htmlNodeDumpOutput(buf, doc, cur, (const char *)encoding);
-        call_tests++;
-        des_xmlOutputBufferPtr(n_buf, buf, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_cur, cur, 2);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlNodeDumpOutput",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_doc);
-            printf(" %d", n_cur);
-            printf(" %d", n_encoding);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlSaveFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    const char * filename; /* the filename (or URL) */
-    int n_filename;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_fileoutput(n_filename, 0);
-        cur = gen_xmlDocPtr(n_cur, 1);
-
-        ret_val = htmlSaveFile(filename, cur);
-        desret_int(ret_val);
-        call_tests++;
-        des_fileoutput(n_filename, filename, 0);
-        des_xmlDocPtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlSaveFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlSaveFileEnc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    const char * filename; /* the filename */
-    int n_filename;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-    char * encoding; /* the document encoding */
-    int n_encoding;
-
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_fileoutput(n_filename, 0);
-        cur = gen_xmlDocPtr(n_cur, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-
-        ret_val = htmlSaveFileEnc(filename, cur, (const char *)encoding);
-        desret_int(ret_val);
-        call_tests++;
-        des_fileoutput(n_filename, filename, 0);
-        des_xmlDocPtr(n_cur, cur, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlSaveFileEnc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf(" %d", n_cur);
-            printf(" %d", n_encoding);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlSaveFileFormat(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    const char * filename; /* the filename */
-    int n_filename;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-    char * encoding; /* the document encoding */
-    int n_encoding;
-    int format; /* should formatting spaces been added */
-    int n_format;
-
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_format = 0;n_format < gen_nb_int;n_format++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_fileoutput(n_filename, 0);
-        cur = gen_xmlDocPtr(n_cur, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-        format = gen_int(n_format, 3);
-
-        ret_val = htmlSaveFileFormat(filename, cur, (const char *)encoding, format);
-        desret_int(ret_val);
-        call_tests++;
-        des_fileoutput(n_filename, filename, 0);
-        des_xmlDocPtr(n_cur, cur, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        des_int(n_format, format, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlSaveFileFormat",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf(" %d", n_cur);
-            printf(" %d", n_encoding);
-            printf(" %d", n_format);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlSetMetaEncoding(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    int ret_val;
-    htmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * encoding; /* the encoding string */
-    int n_encoding;
-
-    for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_xmlChar_ptr;n_encoding++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_htmlDocPtr(n_doc, 0);
-        encoding = gen_const_xmlChar_ptr(n_encoding, 1);
-
-        ret_val = htmlSetMetaEncoding(doc, (const xmlChar *)encoding);
-        desret_int(ret_val);
-        call_tests++;
-        des_htmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_encoding, (const xmlChar *)encoding, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlSetMetaEncoding",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_encoding);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_HTMLtree(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing HTMLtree : 18 of 18 functions ...\n");
-    test_ret += test_htmlDocContentDumpFormatOutput();
-    test_ret += test_htmlDocContentDumpOutput();
-    test_ret += test_htmlDocDump();
-    test_ret += test_htmlDocDumpMemory();
-    test_ret += test_htmlDocDumpMemoryFormat();
-    test_ret += test_htmlGetMetaEncoding();
-    test_ret += test_htmlIsBooleanAttr();
-    test_ret += test_htmlNewDoc();
-    test_ret += test_htmlNewDocNoDtD();
-    test_ret += test_htmlNodeDump();
-    test_ret += test_htmlNodeDumpFile();
-    test_ret += test_htmlNodeDumpFileFormat();
-    test_ret += test_htmlNodeDumpFormatOutput();
-    test_ret += test_htmlNodeDumpOutput();
-    test_ret += test_htmlSaveFile();
-    test_ret += test_htmlSaveFileEnc();
-    test_ret += test_htmlSaveFileFormat();
-    test_ret += test_htmlSetMetaEncoding();
-
-    if (test_ret != 0)
-       printf("Module HTMLtree: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_docbDefaultSAXHandlerInit(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DOCB_ENABLED)
-#ifdef LIBXML_DOCB_ENABLED
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        docbDefaultSAXHandlerInit();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in docbDefaultSAXHandlerInit",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlDefaultSAXHandlerInit(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-#ifdef LIBXML_HTML_ENABLED
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        htmlDefaultSAXHandlerInit();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlDefaultSAXHandlerInit",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDefaultSAXHandlerInit(void) {
-    int test_ret = 0;
-
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlDefaultSAXHandlerInit();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDefaultSAXHandlerInit",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlEnumerationPtr 1
-static xmlEnumerationPtr gen_xmlEnumerationPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlEnumerationPtr(int no ATTRIBUTE_UNUSED, xmlEnumerationPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlSAX2AttributeDecl(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * elem; /* the name of the element */
-    int n_elem;
-    xmlChar * fullname; /* the attribute name */
-    int n_fullname;
-    int type; /* the attribute type */
-    int n_type;
-    int def; /* the type of default value */
-    int n_def;
-    xmlChar * defaultValue; /* the attribute default value */
-    int n_defaultValue;
-    xmlEnumerationPtr tree; /* the tree of enumerated value set */
-    int n_tree;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
-    for (n_fullname = 0;n_fullname < gen_nb_const_xmlChar_ptr;n_fullname++) {
-    for (n_type = 0;n_type < gen_nb_int;n_type++) {
-    for (n_def = 0;n_def < gen_nb_int;n_def++) {
-    for (n_defaultValue = 0;n_defaultValue < gen_nb_const_xmlChar_ptr;n_defaultValue++) {
-    for (n_tree = 0;n_tree < gen_nb_xmlEnumerationPtr;n_tree++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        elem = gen_const_xmlChar_ptr(n_elem, 1);
-        fullname = gen_const_xmlChar_ptr(n_fullname, 2);
-        type = gen_int(n_type, 3);
-        def = gen_int(n_def, 4);
-        defaultValue = gen_const_xmlChar_ptr(n_defaultValue, 5);
-        tree = gen_xmlEnumerationPtr(n_tree, 6);
-
-        xmlSAX2AttributeDecl(ctx, (const xmlChar *)elem, (const xmlChar *)fullname, type, def, (const xmlChar *)defaultValue, tree);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1);
-        des_const_xmlChar_ptr(n_fullname, (const xmlChar *)fullname, 2);
-        des_int(n_type, type, 3);
-        des_int(n_def, def, 4);
-        des_const_xmlChar_ptr(n_defaultValue, (const xmlChar *)defaultValue, 5);
-        des_xmlEnumerationPtr(n_tree, tree, 6);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2AttributeDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_elem);
-            printf(" %d", n_fullname);
-            printf(" %d", n_type);
-            printf(" %d", n_def);
-            printf(" %d", n_defaultValue);
-            printf(" %d", n_tree);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2CDataBlock(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * value; /* The pcdata content */
-    int n_value;
-    int len; /* the block length */
-    int n_len;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        value = gen_const_xmlChar_ptr(n_value, 1);
-        len = gen_int(n_len, 2);
-
-        xmlSAX2CDataBlock(ctx, (const xmlChar *)value, len);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2CDataBlock",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_value);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2Characters(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * ch; /* a xmlChar string */
-    int n_ch;
-    int len; /* the number of xmlChar */
-    int n_len;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_ch = 0;n_ch < gen_nb_const_xmlChar_ptr;n_ch++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        ch = gen_const_xmlChar_ptr(n_ch, 1);
-        len = gen_int(n_len, 2);
-
-        xmlSAX2Characters(ctx, (const xmlChar *)ch, len);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_ch, (const xmlChar *)ch, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2Characters",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_ch);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2Comment(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * value; /* the xmlSAX2Comment content */
-    int n_value;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        value = gen_const_xmlChar_ptr(n_value, 1);
-
-        xmlSAX2Comment(ctx, (const xmlChar *)value);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2Comment",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2ElementDecl(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * name; /* the element name */
-    int n_name;
-    int type; /* the element type */
-    int n_type;
-    xmlElementContentPtr content; /* the element value tree */
-    int n_content;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_type = 0;n_type < gen_nb_int;n_type++) {
-    for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        type = gen_int(n_type, 2);
-        content = gen_xmlElementContentPtr(n_content, 3);
-
-        xmlSAX2ElementDecl(ctx, (const xmlChar *)name, type, content);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_int(n_type, type, 2);
-        des_xmlElementContentPtr(n_content, content, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2ElementDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_name);
-            printf(" %d", n_type);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2EndDocument(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-
-        xmlSAX2EndDocument(ctx);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2EndDocument",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2EndElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * name; /* The element name */
-    int n_name;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        xmlSAX2EndElement(ctx, (const xmlChar *)name);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2EndElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2EndElementNs(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * localname; /* the local name of the element */
-    int n_localname;
-    xmlChar * prefix; /* the element namespace prefix if available */
-    int n_prefix;
-    xmlChar * URI; /* the element namespace name if available */
-    int n_URI;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_localname = 0;n_localname < gen_nb_const_xmlChar_ptr;n_localname++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        localname = gen_const_xmlChar_ptr(n_localname, 1);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 2);
-        URI = gen_const_xmlChar_ptr(n_URI, 3);
-
-        xmlSAX2EndElementNs(ctx, (const xmlChar *)localname, (const xmlChar *)prefix, (const xmlChar *)URI);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_localname, (const xmlChar *)localname, 1);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
-        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2EndElementNs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_localname);
-            printf(" %d", n_prefix);
-            printf(" %d", n_URI);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2EntityDecl(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * name; /* the entity name */
-    int n_name;
-    int type; /* the entity type */
-    int n_type;
-    xmlChar * publicId; /* The public ID of the entity */
-    int n_publicId;
-    xmlChar * systemId; /* The system ID of the entity */
-    int n_systemId;
-    xmlChar * content; /* the entity value (without processing). */
-    int n_content;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_type = 0;n_type < gen_nb_int;n_type++) {
-    for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
-    for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
-    for (n_content = 0;n_content < gen_nb_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        type = gen_int(n_type, 2);
-        publicId = gen_const_xmlChar_ptr(n_publicId, 3);
-        systemId = gen_const_xmlChar_ptr(n_systemId, 4);
-        content = gen_xmlChar_ptr(n_content, 5);
-
-        xmlSAX2EntityDecl(ctx, (const xmlChar *)name, type, (const xmlChar *)publicId, (const xmlChar *)systemId, content);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_int(n_type, type, 2);
-        des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 3);
-        des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 4);
-        des_xmlChar_ptr(n_content, content, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2EntityDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_name);
-            printf(" %d", n_type);
-            printf(" %d", n_publicId);
-            printf(" %d", n_systemId);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2ExternalSubset(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * name; /* the root element name */
-    int n_name;
-    xmlChar * ExternalID; /* the external ID */
-    int n_ExternalID;
-    xmlChar * SystemID; /* the SYSTEM ID (e.g. filename or URL) */
-    int n_SystemID;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
-    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
-        SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
-
-        xmlSAX2ExternalSubset(ctx, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
-        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2ExternalSubset",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_name);
-            printf(" %d", n_ExternalID);
-            printf(" %d", n_SystemID);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2GetColumnNumber(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-
-        ret_val = xmlSAX2GetColumnNumber(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2GetColumnNumber",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2GetEntity(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlEntityPtr ret_val;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * name; /* The entity name */
-    int n_name;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlSAX2GetEntity(ctx, (const xmlChar *)name);
-        desret_xmlEntityPtr(ret_val);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2GetEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2GetLineNumber(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-
-        ret_val = xmlSAX2GetLineNumber(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2GetLineNumber",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2GetParameterEntity(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlEntityPtr ret_val;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * name; /* The entity name */
-    int n_name;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlSAX2GetParameterEntity(ctx, (const xmlChar *)name);
-        desret_xmlEntityPtr(ret_val);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2GetParameterEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2GetPublicId(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const xmlChar * ret_val;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-
-        ret_val = xmlSAX2GetPublicId(ctx);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2GetPublicId",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2GetSystemId(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const xmlChar * ret_val;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-
-        ret_val = xmlSAX2GetSystemId(ctx);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2GetSystemId",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2HasExternalSubset(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-
-        ret_val = xmlSAX2HasExternalSubset(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2HasExternalSubset",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2HasInternalSubset(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-
-        ret_val = xmlSAX2HasInternalSubset(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2HasInternalSubset",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2IgnorableWhitespace(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * ch; /* a xmlChar string */
-    int n_ch;
-    int len; /* the number of xmlChar */
-    int n_len;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_ch = 0;n_ch < gen_nb_const_xmlChar_ptr;n_ch++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        ch = gen_const_xmlChar_ptr(n_ch, 1);
-        len = gen_int(n_len, 2);
-
-        xmlSAX2IgnorableWhitespace(ctx, (const xmlChar *)ch, len);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_ch, (const xmlChar *)ch, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2IgnorableWhitespace",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_ch);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlSAXHandler_ptr 1
-static xmlSAXHandler * gen_xmlSAXHandler_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSAXHandler_ptr(int no ATTRIBUTE_UNUSED, xmlSAXHandler * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlSAX2InitDefaultSAXHandler(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlSAXHandler * hdlr; /* the SAX handler */
-    int n_hdlr;
-    int warning; /* flag if non-zero sets the handler warning procedure */
-    int n_warning;
-
-    for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
-    for (n_warning = 0;n_warning < gen_nb_int;n_warning++) {
-        mem_base = xmlMemBlocks();
-        hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
-        warning = gen_int(n_warning, 1);
-
-        xmlSAX2InitDefaultSAXHandler(hdlr, warning);
-        call_tests++;
-        des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
-        des_int(n_warning, warning, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2InitDefaultSAXHandler",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_hdlr);
-            printf(" %d", n_warning);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2InitDocbDefaultSAXHandler(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DOCB_ENABLED)
-    int mem_base;
-    xmlSAXHandler * hdlr; /* the SAX handler */
-    int n_hdlr;
-
-    for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
-        mem_base = xmlMemBlocks();
-        hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
-
-        xmlSAX2InitDocbDefaultSAXHandler(hdlr);
-        call_tests++;
-        des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2InitDocbDefaultSAXHandler",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_hdlr);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2InitHtmlDefaultSAXHandler(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    xmlSAXHandler * hdlr; /* the SAX handler */
-    int n_hdlr;
-
-    for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
-        mem_base = xmlMemBlocks();
-        hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
-
-        xmlSAX2InitHtmlDefaultSAXHandler(hdlr);
-        call_tests++;
-        des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2InitHtmlDefaultSAXHandler",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_hdlr);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2InternalSubset(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * name; /* the root element name */
-    int n_name;
-    xmlChar * ExternalID; /* the external ID */
-    int n_ExternalID;
-    xmlChar * SystemID; /* the SYSTEM ID (e.g. filename or URL) */
-    int n_SystemID;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
-    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
-        SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
-
-        xmlSAX2InternalSubset(ctx, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
-        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2InternalSubset",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_name);
-            printf(" %d", n_ExternalID);
-            printf(" %d", n_SystemID);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2IsStandalone(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-
-        ret_val = xmlSAX2IsStandalone(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2IsStandalone",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2NotationDecl(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * name; /* The name of the notation */
-    int n_name;
-    xmlChar * publicId; /* The public ID of the entity */
-    int n_publicId;
-    xmlChar * systemId; /* The system ID of the entity */
-    int n_systemId;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
-    for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        publicId = gen_const_xmlChar_ptr(n_publicId, 2);
-        systemId = gen_const_xmlChar_ptr(n_systemId, 3);
-
-        xmlSAX2NotationDecl(ctx, (const xmlChar *)name, (const xmlChar *)publicId, (const xmlChar *)systemId);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 2);
-        des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2NotationDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_name);
-            printf(" %d", n_publicId);
-            printf(" %d", n_systemId);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2ProcessingInstruction(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * target; /* the target name */
-    int n_target;
-    xmlChar * data; /* the PI data's */
-    int n_data;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) {
-    for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        target = gen_const_xmlChar_ptr(n_target, 1);
-        data = gen_const_xmlChar_ptr(n_data, 2);
-
-        xmlSAX2ProcessingInstruction(ctx, (const xmlChar *)target, (const xmlChar *)data);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1);
-        des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2ProcessingInstruction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_target);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2Reference(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * name; /* The entity name */
-    int n_name;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        xmlSAX2Reference(ctx, (const xmlChar *)name);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2Reference",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2ResolveEntity(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputPtr ret_val;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * publicId; /* The public ID of the entity */
-    int n_publicId;
-    xmlChar * systemId; /* The system ID of the entity */
-    int n_systemId;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
-    for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        publicId = gen_const_xmlChar_ptr(n_publicId, 1);
-        systemId = gen_const_xmlChar_ptr(n_systemId, 2);
-
-        ret_val = xmlSAX2ResolveEntity(ctx, (const xmlChar *)publicId, (const xmlChar *)systemId);
-        desret_xmlParserInputPtr(ret_val);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 1);
-        des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2ResolveEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_publicId);
-            printf(" %d", n_systemId);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlSAXLocatorPtr 1
-static xmlSAXLocatorPtr gen_xmlSAXLocatorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSAXLocatorPtr(int no ATTRIBUTE_UNUSED, xmlSAXLocatorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlSAX2SetDocumentLocator(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlSAXLocatorPtr loc; /* A SAX Locator */
-    int n_loc;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_loc = 0;n_loc < gen_nb_xmlSAXLocatorPtr;n_loc++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        loc = gen_xmlSAXLocatorPtr(n_loc, 1);
-
-        xmlSAX2SetDocumentLocator(ctx, loc);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_xmlSAXLocatorPtr(n_loc, loc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2SetDocumentLocator",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_loc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2StartDocument(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-
-        xmlSAX2StartDocument(ctx);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2StartDocument",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2StartElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * fullname; /* The element name, including namespace prefix */
-    int n_fullname;
-    xmlChar ** atts; /* An array of name/value attributes pairs, NULL terminated */
-    int n_atts;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_fullname = 0;n_fullname < gen_nb_const_xmlChar_ptr;n_fullname++) {
-    for (n_atts = 0;n_atts < gen_nb_const_xmlChar_ptr_ptr;n_atts++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        fullname = gen_const_xmlChar_ptr(n_fullname, 1);
-        atts = gen_const_xmlChar_ptr_ptr(n_atts, 2);
-
-        xmlSAX2StartElement(ctx, (const xmlChar *)fullname, (const xmlChar **)atts);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_fullname, (const xmlChar *)fullname, 1);
-        des_const_xmlChar_ptr_ptr(n_atts, (const xmlChar **)atts, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2StartElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_fullname);
-            printf(" %d", n_atts);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2StartElementNs(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * localname; /* the local name of the element */
-    int n_localname;
-    xmlChar * prefix; /* the element namespace prefix if available */
-    int n_prefix;
-    xmlChar * URI; /* the element namespace name if available */
-    int n_URI;
-    int nb_namespaces; /* number of namespace definitions on that node */
-    int n_nb_namespaces;
-    xmlChar ** namespaces; /* pointer to the array of prefix/URI pairs namespace definitions */
-    int n_namespaces;
-    int nb_attributes; /* the number of attributes on that node */
-    int n_nb_attributes;
-    int nb_defaulted; /* the number of defaulted attributes. */
-    int n_nb_defaulted;
-    xmlChar ** attributes; /* pointer to the array of (localname/prefix/URI/value/end) attribute values. */
-    int n_attributes;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_localname = 0;n_localname < gen_nb_const_xmlChar_ptr;n_localname++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
-    for (n_nb_namespaces = 0;n_nb_namespaces < gen_nb_int;n_nb_namespaces++) {
-    for (n_namespaces = 0;n_namespaces < gen_nb_const_xmlChar_ptr_ptr;n_namespaces++) {
-    for (n_nb_attributes = 0;n_nb_attributes < gen_nb_int;n_nb_attributes++) {
-    for (n_nb_defaulted = 0;n_nb_defaulted < gen_nb_int;n_nb_defaulted++) {
-    for (n_attributes = 0;n_attributes < gen_nb_const_xmlChar_ptr_ptr;n_attributes++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        localname = gen_const_xmlChar_ptr(n_localname, 1);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 2);
-        URI = gen_const_xmlChar_ptr(n_URI, 3);
-        nb_namespaces = gen_int(n_nb_namespaces, 4);
-        namespaces = gen_const_xmlChar_ptr_ptr(n_namespaces, 5);
-        nb_attributes = gen_int(n_nb_attributes, 6);
-        nb_defaulted = gen_int(n_nb_defaulted, 7);
-        attributes = gen_const_xmlChar_ptr_ptr(n_attributes, 8);
-
-        xmlSAX2StartElementNs(ctx, (const xmlChar *)localname, (const xmlChar *)prefix, (const xmlChar *)URI, nb_namespaces, (const xmlChar **)namespaces, nb_attributes, nb_defaulted, (const xmlChar **)attributes);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_localname, (const xmlChar *)localname, 1);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
-        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 3);
-        des_int(n_nb_namespaces, nb_namespaces, 4);
-        des_const_xmlChar_ptr_ptr(n_namespaces, (const xmlChar **)namespaces, 5);
-        des_int(n_nb_attributes, nb_attributes, 6);
-        des_int(n_nb_defaulted, nb_defaulted, 7);
-        des_const_xmlChar_ptr_ptr(n_attributes, (const xmlChar **)attributes, 8);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2StartElementNs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_localname);
-            printf(" %d", n_prefix);
-            printf(" %d", n_URI);
-            printf(" %d", n_nb_namespaces);
-            printf(" %d", n_namespaces);
-            printf(" %d", n_nb_attributes);
-            printf(" %d", n_nb_defaulted);
-            printf(" %d", n_attributes);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAX2UnparsedEntityDecl(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* the user data (XML parser context) */
-    int n_ctx;
-    xmlChar * name; /* The name of the entity */
-    int n_name;
-    xmlChar * publicId; /* The public ID of the entity */
-    int n_publicId;
-    xmlChar * systemId; /* The system ID of the entity */
-    int n_systemId;
-    xmlChar * notationName; /* the name of the notation */
-    int n_notationName;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
-    for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
-    for (n_notationName = 0;n_notationName < gen_nb_const_xmlChar_ptr;n_notationName++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        publicId = gen_const_xmlChar_ptr(n_publicId, 2);
-        systemId = gen_const_xmlChar_ptr(n_systemId, 3);
-        notationName = gen_const_xmlChar_ptr(n_notationName, 4);
-
-        xmlSAX2UnparsedEntityDecl(ctx, (const xmlChar *)name, (const xmlChar *)publicId, (const xmlChar *)systemId, (const xmlChar *)notationName);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 2);
-        des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 3);
-        des_const_xmlChar_ptr(n_notationName, (const xmlChar *)notationName, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAX2UnparsedEntityDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_name);
-            printf(" %d", n_publicId);
-            printf(" %d", n_systemId);
-            printf(" %d", n_notationName);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAXDefaultVersion(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    int ret_val;
-    int version; /* the version, 1 or 2 */
-    int n_version;
-
-    for (n_version = 0;n_version < gen_nb_int;n_version++) {
-        mem_base = xmlMemBlocks();
-        version = gen_int(n_version, 0);
-
-        ret_val = xmlSAXDefaultVersion(version);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_version, version, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAXDefaultVersion",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_version);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAXVersion(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlSAXHandler * hdlr; /* the SAX handler */
-    int n_hdlr;
-    int version; /* the version, 1 or 2 */
-    int n_version;
-
-    for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
-    for (n_version = 0;n_version < gen_nb_int;n_version++) {
-        mem_base = xmlMemBlocks();
-        hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
-        version = gen_int(n_version, 1);
-
-        ret_val = xmlSAXVersion(hdlr, version);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
-        des_int(n_version, version, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAXVersion",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_hdlr);
-            printf(" %d", n_version);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-static int
-test_SAX2(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing SAX2 : 38 of 38 functions ...\n");
-    test_ret += test_docbDefaultSAXHandlerInit();
-    test_ret += test_htmlDefaultSAXHandlerInit();
-    test_ret += test_xmlDefaultSAXHandlerInit();
-    test_ret += test_xmlSAX2AttributeDecl();
-    test_ret += test_xmlSAX2CDataBlock();
-    test_ret += test_xmlSAX2Characters();
-    test_ret += test_xmlSAX2Comment();
-    test_ret += test_xmlSAX2ElementDecl();
-    test_ret += test_xmlSAX2EndDocument();
-    test_ret += test_xmlSAX2EndElement();
-    test_ret += test_xmlSAX2EndElementNs();
-    test_ret += test_xmlSAX2EntityDecl();
-    test_ret += test_xmlSAX2ExternalSubset();
-    test_ret += test_xmlSAX2GetColumnNumber();
-    test_ret += test_xmlSAX2GetEntity();
-    test_ret += test_xmlSAX2GetLineNumber();
-    test_ret += test_xmlSAX2GetParameterEntity();
-    test_ret += test_xmlSAX2GetPublicId();
-    test_ret += test_xmlSAX2GetSystemId();
-    test_ret += test_xmlSAX2HasExternalSubset();
-    test_ret += test_xmlSAX2HasInternalSubset();
-    test_ret += test_xmlSAX2IgnorableWhitespace();
-    test_ret += test_xmlSAX2InitDefaultSAXHandler();
-    test_ret += test_xmlSAX2InitDocbDefaultSAXHandler();
-    test_ret += test_xmlSAX2InitHtmlDefaultSAXHandler();
-    test_ret += test_xmlSAX2InternalSubset();
-    test_ret += test_xmlSAX2IsStandalone();
-    test_ret += test_xmlSAX2NotationDecl();
-    test_ret += test_xmlSAX2ProcessingInstruction();
-    test_ret += test_xmlSAX2Reference();
-    test_ret += test_xmlSAX2ResolveEntity();
-    test_ret += test_xmlSAX2SetDocumentLocator();
-    test_ret += test_xmlSAX2StartDocument();
-    test_ret += test_xmlSAX2StartElement();
-    test_ret += test_xmlSAX2StartElementNs();
-    test_ret += test_xmlSAX2UnparsedEntityDecl();
-    test_ret += test_xmlSAXDefaultVersion();
-    test_ret += test_xmlSAXVersion();
-
-    if (test_ret != 0)
-       printf("Module SAX2: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlC14NDocDumpMemory(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* the XML document for canonization */
-    int n_doc;
-    xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */
-    int n_nodes;
-    int mode; /* the c14n mode (see @xmlC14NMode) */
-    int n_mode;
-    xmlChar ** inclusive_ns_prefixes; /* the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise) */
-    int n_inclusive_ns_prefixes;
-    int with_comments; /* include comments in the result (!=0) or not (==0) */
-    int n_with_comments;
-    xmlChar ** doc_txt_ptr; /* the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory */
-    int n_doc_txt_ptr;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
-    for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
-    for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) {
-    for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) {
-    for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        nodes = gen_xmlNodeSetPtr(n_nodes, 1);
-        mode = gen_int(n_mode, 2);
-        inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3);
-        with_comments = gen_int(n_with_comments, 4);
-        doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 5);
-
-        ret_val = xmlC14NDocDumpMemory(doc, nodes, mode, inclusive_ns_prefixes, with_comments, doc_txt_ptr);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNodeSetPtr(n_nodes, nodes, 1);
-        des_int(n_mode, mode, 2);
-        des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3);
-        des_int(n_with_comments, with_comments, 4);
-        des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlC14NDocDumpMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_nodes);
-            printf(" %d", n_mode);
-            printf(" %d", n_inclusive_ns_prefixes);
-            printf(" %d", n_with_comments);
-            printf(" %d", n_doc_txt_ptr);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlC14NDocSave(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* the XML document for canonization */
-    int n_doc;
-    xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */
-    int n_nodes;
-    int mode; /* the c14n mode (see @xmlC14NMode) */
-    int n_mode;
-    xmlChar ** inclusive_ns_prefixes; /* the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise) */
-    int n_inclusive_ns_prefixes;
-    int with_comments; /* include comments in the result (!=0) or not (==0) */
-    int n_with_comments;
-    const char * filename; /* the filename to store canonical XML image */
-    int n_filename;
-    int compression; /* the compression level (zlib requred): -1 - libxml default, 0 - uncompressed, >0 - compression level */
-    int n_compression;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
-    for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
-    for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) {
-    for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) {
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-    for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        nodes = gen_xmlNodeSetPtr(n_nodes, 1);
-        mode = gen_int(n_mode, 2);
-        inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3);
-        with_comments = gen_int(n_with_comments, 4);
-        filename = gen_fileoutput(n_filename, 5);
-        compression = gen_int(n_compression, 6);
-
-        ret_val = xmlC14NDocSave(doc, nodes, mode, inclusive_ns_prefixes, with_comments, filename, compression);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNodeSetPtr(n_nodes, nodes, 1);
-        des_int(n_mode, mode, 2);
-        des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3);
-        des_int(n_with_comments, with_comments, 4);
-        des_fileoutput(n_filename, filename, 5);
-        des_int(n_compression, compression, 6);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlC14NDocSave",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_nodes);
-            printf(" %d", n_mode);
-            printf(" %d", n_inclusive_ns_prefixes);
-            printf(" %d", n_with_comments);
-            printf(" %d", n_filename);
-            printf(" %d", n_compression);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlC14NDocSaveTo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* the XML document for canonization */
-    int n_doc;
-    xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */
-    int n_nodes;
-    int mode; /* the c14n mode (see @xmlC14NMode) */
-    int n_mode;
-    xmlChar ** inclusive_ns_prefixes; /* the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise) */
-    int n_inclusive_ns_prefixes;
-    int with_comments; /* include comments in the result (!=0) or not (==0) */
-    int n_with_comments;
-    xmlOutputBufferPtr buf; /* the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output */
-    int n_buf;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
-    for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
-    for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) {
-    for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) {
-    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        nodes = gen_xmlNodeSetPtr(n_nodes, 1);
-        mode = gen_int(n_mode, 2);
-        inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3);
-        with_comments = gen_int(n_with_comments, 4);
-        buf = gen_xmlOutputBufferPtr(n_buf, 5);
-
-        ret_val = xmlC14NDocSaveTo(doc, nodes, mode, inclusive_ns_prefixes, with_comments, buf);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNodeSetPtr(n_nodes, nodes, 1);
-        des_int(n_mode, mode, 2);
-        des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3);
-        des_int(n_with_comments, with_comments, 4);
-        des_xmlOutputBufferPtr(n_buf, buf, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlC14NDocSaveTo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_nodes);
-            printf(" %d", n_mode);
-            printf(" %d", n_inclusive_ns_prefixes);
-            printf(" %d", n_with_comments);
-            printf(" %d", n_buf);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlC14NExecute(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-static int
-test_c14n(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing c14n : 3 of 4 functions ...\n");
-    test_ret += test_xmlC14NDocDumpMemory();
-    test_ret += test_xmlC14NDocSave();
-    test_ret += test_xmlC14NDocSaveTo();
-    test_ret += test_xmlC14NExecute();
-
-    if (test_ret != 0)
-       printf("Module c14n: %d errors\n", test_ret);
-    return(test_ret);
-}
-#ifdef LIBXML_CATALOG_ENABLED
-
-#define gen_nb_xmlCatalogPtr 1
-static xmlCatalogPtr gen_xmlCatalogPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlCatalogPtr(int no ATTRIBUTE_UNUSED, xmlCatalogPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlACatalogAdd(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlCatalogPtr catal; /* a Catalog */
-    int n_catal;
-    xmlChar * type; /* the type of record to add to the catalog */
-    int n_type;
-    xmlChar * orig; /* the system, public or prefix to match */
-    int n_orig;
-    xmlChar * replace; /* the replacement value for the match */
-    int n_replace;
-
-    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
-    for (n_type = 0;n_type < gen_nb_const_xmlChar_ptr;n_type++) {
-    for (n_orig = 0;n_orig < gen_nb_const_xmlChar_ptr;n_orig++) {
-    for (n_replace = 0;n_replace < gen_nb_const_xmlChar_ptr;n_replace++) {
-        mem_base = xmlMemBlocks();
-        catal = gen_xmlCatalogPtr(n_catal, 0);
-        type = gen_const_xmlChar_ptr(n_type, 1);
-        orig = gen_const_xmlChar_ptr(n_orig, 2);
-        replace = gen_const_xmlChar_ptr(n_replace, 3);
-
-        ret_val = xmlACatalogAdd(catal, (const xmlChar *)type, (const xmlChar *)orig, (const xmlChar *)replace);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlCatalogPtr(n_catal, catal, 0);
-        des_const_xmlChar_ptr(n_type, (const xmlChar *)type, 1);
-        des_const_xmlChar_ptr(n_orig, (const xmlChar *)orig, 2);
-        des_const_xmlChar_ptr(n_replace, (const xmlChar *)replace, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlACatalogAdd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_catal);
-            printf(" %d", n_type);
-            printf(" %d", n_orig);
-            printf(" %d", n_replace);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlACatalogDump(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlCatalogPtr catal; /* a Catalog */
-    int n_catal;
-    FILE * out; /* the file. */
-    int n_out;
-
-    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
-    for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
-        mem_base = xmlMemBlocks();
-        catal = gen_xmlCatalogPtr(n_catal, 0);
-        out = gen_FILE_ptr(n_out, 1);
-
-        xmlACatalogDump(catal, out);
-        call_tests++;
-        des_xmlCatalogPtr(n_catal, catal, 0);
-        des_FILE_ptr(n_out, out, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlACatalogDump",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_catal);
-            printf(" %d", n_out);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlACatalogRemove(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlCatalogPtr catal; /* a Catalog */
-    int n_catal;
-    xmlChar * value; /* the value to remove */
-    int n_value;
-
-    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        catal = gen_xmlCatalogPtr(n_catal, 0);
-        value = gen_const_xmlChar_ptr(n_value, 1);
-
-        ret_val = xmlACatalogRemove(catal, (const xmlChar *)value);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlCatalogPtr(n_catal, catal, 0);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlACatalogRemove",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_catal);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlACatalogResolve(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlCatalogPtr catal; /* a Catalog */
-    int n_catal;
-    xmlChar * pubID; /* the public ID string */
-    int n_pubID;
-    xmlChar * sysID; /* the system ID string */
-    int n_sysID;
-
-    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
-    for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
-    for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
-        mem_base = xmlMemBlocks();
-        catal = gen_xmlCatalogPtr(n_catal, 0);
-        pubID = gen_const_xmlChar_ptr(n_pubID, 1);
-        sysID = gen_const_xmlChar_ptr(n_sysID, 2);
-
-        ret_val = xmlACatalogResolve(catal, (const xmlChar *)pubID, (const xmlChar *)sysID);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlCatalogPtr(n_catal, catal, 0);
-        des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1);
-        des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlACatalogResolve",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_catal);
-            printf(" %d", n_pubID);
-            printf(" %d", n_sysID);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlACatalogResolvePublic(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlCatalogPtr catal; /* a Catalog */
-    int n_catal;
-    xmlChar * pubID; /* the public ID string */
-    int n_pubID;
-
-    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
-    for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
-        mem_base = xmlMemBlocks();
-        catal = gen_xmlCatalogPtr(n_catal, 0);
-        pubID = gen_const_xmlChar_ptr(n_pubID, 1);
-
-        ret_val = xmlACatalogResolvePublic(catal, (const xmlChar *)pubID);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlCatalogPtr(n_catal, catal, 0);
-        des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlACatalogResolvePublic",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_catal);
-            printf(" %d", n_pubID);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlACatalogResolveSystem(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlCatalogPtr catal; /* a Catalog */
-    int n_catal;
-    xmlChar * sysID; /* the system ID string */
-    int n_sysID;
-
-    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
-    for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
-        mem_base = xmlMemBlocks();
-        catal = gen_xmlCatalogPtr(n_catal, 0);
-        sysID = gen_const_xmlChar_ptr(n_sysID, 1);
-
-        ret_val = xmlACatalogResolveSystem(catal, (const xmlChar *)sysID);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlCatalogPtr(n_catal, catal, 0);
-        des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlACatalogResolveSystem",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_catal);
-            printf(" %d", n_sysID);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlACatalogResolveURI(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlCatalogPtr catal; /* a Catalog */
-    int n_catal;
-    xmlChar * URI; /* the URI */
-    int n_URI;
-
-    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
-    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
-        mem_base = xmlMemBlocks();
-        catal = gen_xmlCatalogPtr(n_catal, 0);
-        URI = gen_const_xmlChar_ptr(n_URI, 1);
-
-        ret_val = xmlACatalogResolveURI(catal, (const xmlChar *)URI);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlCatalogPtr(n_catal, catal, 0);
-        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlACatalogResolveURI",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_catal);
-            printf(" %d", n_URI);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogAdd(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlChar * type; /* the type of record to add to the catalog */
-    int n_type;
-    xmlChar * orig; /* the system, public or prefix to match */
-    int n_orig;
-    xmlChar * replace; /* the replacement value for the match */
-    int n_replace;
-
-    for (n_type = 0;n_type < gen_nb_const_xmlChar_ptr;n_type++) {
-    for (n_orig = 0;n_orig < gen_nb_const_xmlChar_ptr;n_orig++) {
-    for (n_replace = 0;n_replace < gen_nb_const_xmlChar_ptr;n_replace++) {
-        mem_base = xmlMemBlocks();
-        type = gen_const_xmlChar_ptr(n_type, 0);
-        orig = gen_const_xmlChar_ptr(n_orig, 1);
-        replace = gen_const_xmlChar_ptr(n_replace, 2);
-
-        ret_val = xmlCatalogAdd((const xmlChar *)type, (const xmlChar *)orig, (const xmlChar *)replace);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_type, (const xmlChar *)type, 0);
-        des_const_xmlChar_ptr(n_orig, (const xmlChar *)orig, 1);
-        des_const_xmlChar_ptr(n_replace, (const xmlChar *)replace, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCatalogAdd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_type);
-            printf(" %d", n_orig);
-            printf(" %d", n_replace);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogCleanup(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-
-
-        xmlCatalogCleanup();
-        call_tests++;
-        xmlResetLastError();
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogConvert(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int ret_val;
-
-
-        ret_val = xmlCatalogConvert();
-        desret_int(ret_val);
-        call_tests++;
-        xmlResetLastError();
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogDump(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    FILE * out; /* the file. */
-    int n_out;
-
-    for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
-        mem_base = xmlMemBlocks();
-        out = gen_FILE_ptr(n_out, 0);
-
-        xmlCatalogDump(out);
-        call_tests++;
-        des_FILE_ptr(n_out, out, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCatalogDump",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogGetDefaults(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    xmlCatalogAllow ret_val;
-
-        mem_base = xmlMemBlocks();
-
-        ret_val = xmlCatalogGetDefaults();
-        desret_xmlCatalogAllow(ret_val);
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCatalogGetDefaults",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogIsEmpty(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlCatalogPtr catal; /* should this create an SGML catalog */
-    int n_catal;
-
-    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
-        mem_base = xmlMemBlocks();
-        catal = gen_xmlCatalogPtr(n_catal, 0);
-
-        ret_val = xmlCatalogIsEmpty(catal);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlCatalogPtr(n_catal, catal, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCatalogIsEmpty",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_catal);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogLocalResolve(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    void * catalogs; /* a document's list of catalogs */
-    int n_catalogs;
-    xmlChar * pubID; /* the public ID string */
-    int n_pubID;
-    xmlChar * sysID; /* the system ID string */
-    int n_sysID;
-
-    for (n_catalogs = 0;n_catalogs < gen_nb_void_ptr;n_catalogs++) {
-    for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
-    for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
-        mem_base = xmlMemBlocks();
-        catalogs = gen_void_ptr(n_catalogs, 0);
-        pubID = gen_const_xmlChar_ptr(n_pubID, 1);
-        sysID = gen_const_xmlChar_ptr(n_sysID, 2);
-
-        ret_val = xmlCatalogLocalResolve(catalogs, (const xmlChar *)pubID, (const xmlChar *)sysID);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_void_ptr(n_catalogs, catalogs, 0);
-        des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1);
-        des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCatalogLocalResolve",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_catalogs);
-            printf(" %d", n_pubID);
-            printf(" %d", n_sysID);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogLocalResolveURI(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    void * catalogs; /* a document's list of catalogs */
-    int n_catalogs;
-    xmlChar * URI; /* the URI */
-    int n_URI;
-
-    for (n_catalogs = 0;n_catalogs < gen_nb_void_ptr;n_catalogs++) {
-    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
-        mem_base = xmlMemBlocks();
-        catalogs = gen_void_ptr(n_catalogs, 0);
-        URI = gen_const_xmlChar_ptr(n_URI, 1);
-
-        ret_val = xmlCatalogLocalResolveURI(catalogs, (const xmlChar *)URI);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_void_ptr(n_catalogs, catalogs, 0);
-        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCatalogLocalResolveURI",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_catalogs);
-            printf(" %d", n_URI);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogRemove(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int ret_val;
-    xmlChar * value; /* the value to remove */
-    int n_value;
-
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        value = gen_const_xmlChar_ptr(n_value, 0);
-
-        ret_val = xmlCatalogRemove((const xmlChar *)value);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
-        xmlResetLastError();
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogResolve(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    xmlChar * ret_val;
-    xmlChar * pubID; /* the public ID string */
-    int n_pubID;
-    xmlChar * sysID; /* the system ID string */
-    int n_sysID;
-
-    for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
-    for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
-        pubID = gen_const_xmlChar_ptr(n_pubID, 0);
-        sysID = gen_const_xmlChar_ptr(n_sysID, 1);
-
-        ret_val = xmlCatalogResolve((const xmlChar *)pubID, (const xmlChar *)sysID);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 0);
-        des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 1);
-        xmlResetLastError();
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogResolvePublic(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * pubID; /* the public ID string */
-    int n_pubID;
-
-    for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
-        mem_base = xmlMemBlocks();
-        pubID = gen_const_xmlChar_ptr(n_pubID, 0);
-
-        ret_val = xmlCatalogResolvePublic((const xmlChar *)pubID);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCatalogResolvePublic",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_pubID);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogResolveSystem(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * sysID; /* the system ID string */
-    int n_sysID;
-
-    for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
-        mem_base = xmlMemBlocks();
-        sysID = gen_const_xmlChar_ptr(n_sysID, 0);
-
-        ret_val = xmlCatalogResolveSystem((const xmlChar *)sysID);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCatalogResolveSystem",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_sysID);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogResolveURI(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * URI; /* the URI */
-    int n_URI;
-
-    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
-        mem_base = xmlMemBlocks();
-        URI = gen_const_xmlChar_ptr(n_URI, 0);
-
-        ret_val = xmlCatalogResolveURI((const xmlChar *)URI);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCatalogResolveURI",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URI);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogSetDefaultPrefer(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    xmlCatalogPrefer ret_val;
-    xmlCatalogPrefer prefer; /* the default preference for delegation */
-    int n_prefer;
-
-    for (n_prefer = 0;n_prefer < gen_nb_xmlCatalogPrefer;n_prefer++) {
-        mem_base = xmlMemBlocks();
-        prefer = gen_xmlCatalogPrefer(n_prefer, 0);
-
-        ret_val = xmlCatalogSetDefaultPrefer(prefer);
-        desret_xmlCatalogPrefer(ret_val);
-        call_tests++;
-        des_xmlCatalogPrefer(n_prefer, prefer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCatalogSetDefaultPrefer",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_prefer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCatalogSetDefaults(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    xmlCatalogAllow allow; /* what catalogs should be accepted */
-    int n_allow;
-
-    for (n_allow = 0;n_allow < gen_nb_xmlCatalogAllow;n_allow++) {
-        mem_base = xmlMemBlocks();
-        allow = gen_xmlCatalogAllow(n_allow, 0);
-
-        xmlCatalogSetDefaults(allow);
-        call_tests++;
-        des_xmlCatalogAllow(n_allow, allow, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCatalogSetDefaults",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_allow);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlConvertSGMLCatalog(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlCatalogPtr catal; /* the catalog */
-    int n_catal;
-
-    for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
-        mem_base = xmlMemBlocks();
-        catal = gen_xmlCatalogPtr(n_catal, 0);
-
-        ret_val = xmlConvertSGMLCatalog(catal);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlCatalogPtr(n_catal, catal, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlConvertSGMLCatalog",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_catal);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlInitializeCatalog(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlInitializeCatalog();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlInitializeCatalog",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlLoadACatalog(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlLoadCatalog(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int ret_val;
-    const char * filename; /* a file path */
-    int n_filename;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        filename = gen_filepath(n_filename, 0);
-
-        ret_val = xmlLoadCatalog(filename);
-        desret_int(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        xmlResetLastError();
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlLoadCatalogs(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    char * pathss; /* a list of directories separated by a colon or a space. */
-    int n_pathss;
-
-    for (n_pathss = 0;n_pathss < gen_nb_const_char_ptr;n_pathss++) {
-        pathss = gen_const_char_ptr(n_pathss, 0);
-
-        xmlLoadCatalogs((const char *)pathss);
-        call_tests++;
-        des_const_char_ptr(n_pathss, (const char *)pathss, 0);
-        xmlResetLastError();
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlLoadSGMLSuperCatalog(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewCatalog(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseCatalogFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_CATALOG_ENABLED)
-    int mem_base;
-    xmlDocPtr ret_val;
-    const char * filename; /* the filename */
-    int n_filename;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_filepath(n_filename, 0);
-
-        ret_val = xmlParseCatalogFile(filename);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseCatalogFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_catalog(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing catalog : 27 of 36 functions ...\n");
-    test_ret += test_xmlACatalogAdd();
-    test_ret += test_xmlACatalogDump();
-    test_ret += test_xmlACatalogRemove();
-    test_ret += test_xmlACatalogResolve();
-    test_ret += test_xmlACatalogResolvePublic();
-    test_ret += test_xmlACatalogResolveSystem();
-    test_ret += test_xmlACatalogResolveURI();
-    test_ret += test_xmlCatalogAdd();
-    test_ret += test_xmlCatalogCleanup();
-    test_ret += test_xmlCatalogConvert();
-    test_ret += test_xmlCatalogDump();
-    test_ret += test_xmlCatalogGetDefaults();
-    test_ret += test_xmlCatalogIsEmpty();
-    test_ret += test_xmlCatalogLocalResolve();
-    test_ret += test_xmlCatalogLocalResolveURI();
-    test_ret += test_xmlCatalogRemove();
-    test_ret += test_xmlCatalogResolve();
-    test_ret += test_xmlCatalogResolvePublic();
-    test_ret += test_xmlCatalogResolveSystem();
-    test_ret += test_xmlCatalogResolveURI();
-    test_ret += test_xmlCatalogSetDefaultPrefer();
-    test_ret += test_xmlCatalogSetDefaults();
-    test_ret += test_xmlConvertSGMLCatalog();
-    test_ret += test_xmlInitializeCatalog();
-    test_ret += test_xmlLoadACatalog();
-    test_ret += test_xmlLoadCatalog();
-    test_ret += test_xmlLoadCatalogs();
-    test_ret += test_xmlLoadSGMLSuperCatalog();
-    test_ret += test_xmlNewCatalog();
-    test_ret += test_xmlParseCatalogFile();
-
-    if (test_ret != 0)
-       printf("Module catalog: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-#define gen_nb_const_xmlChRangeGroup_ptr 1
-static xmlChRangeGroup * gen_const_xmlChRangeGroup_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlChRangeGroup_ptr(int no ATTRIBUTE_UNUSED, const xmlChRangeGroup * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlCharInRange(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    unsigned int val; /* character to be validated */
-    int n_val;
-    xmlChRangeGroup * rptr; /* pointer to range to be used to validate */
-    int n_rptr;
-
-    for (n_val = 0;n_val < gen_nb_unsigned_int;n_val++) {
-    for (n_rptr = 0;n_rptr < gen_nb_const_xmlChRangeGroup_ptr;n_rptr++) {
-        mem_base = xmlMemBlocks();
-        val = gen_unsigned_int(n_val, 0);
-        rptr = gen_const_xmlChRangeGroup_ptr(n_rptr, 1);
-
-        ret_val = xmlCharInRange(val, (const xmlChRangeGroup *)rptr);
-        desret_int(ret_val);
-        call_tests++;
-        des_unsigned_int(n_val, val, 0);
-        des_const_xmlChRangeGroup_ptr(n_rptr, (const xmlChRangeGroup *)rptr, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCharInRange",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf(" %d", n_rptr);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIsBaseChar(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    unsigned int ch; /* character to validate */
-    int n_ch;
-
-    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
-        mem_base = xmlMemBlocks();
-        ch = gen_unsigned_int(n_ch, 0);
-
-        ret_val = xmlIsBaseChar(ch);
-        desret_int(ret_val);
-        call_tests++;
-        des_unsigned_int(n_ch, ch, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIsBaseChar",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ch);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIsBlank(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    unsigned int ch; /* character to validate */
-    int n_ch;
-
-    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
-        mem_base = xmlMemBlocks();
-        ch = gen_unsigned_int(n_ch, 0);
-
-        ret_val = xmlIsBlank(ch);
-        desret_int(ret_val);
-        call_tests++;
-        des_unsigned_int(n_ch, ch, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIsBlank",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ch);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIsChar(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    unsigned int ch; /* character to validate */
-    int n_ch;
-
-    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
-        mem_base = xmlMemBlocks();
-        ch = gen_unsigned_int(n_ch, 0);
-
-        ret_val = xmlIsChar(ch);
-        desret_int(ret_val);
-        call_tests++;
-        des_unsigned_int(n_ch, ch, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIsChar",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ch);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIsCombining(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    unsigned int ch; /* character to validate */
-    int n_ch;
-
-    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
-        mem_base = xmlMemBlocks();
-        ch = gen_unsigned_int(n_ch, 0);
-
-        ret_val = xmlIsCombining(ch);
-        desret_int(ret_val);
-        call_tests++;
-        des_unsigned_int(n_ch, ch, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIsCombining",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ch);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIsDigit(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    unsigned int ch; /* character to validate */
-    int n_ch;
-
-    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
-        mem_base = xmlMemBlocks();
-        ch = gen_unsigned_int(n_ch, 0);
-
-        ret_val = xmlIsDigit(ch);
-        desret_int(ret_val);
-        call_tests++;
-        des_unsigned_int(n_ch, ch, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIsDigit",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ch);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIsExtender(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    unsigned int ch; /* character to validate */
-    int n_ch;
-
-    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
-        mem_base = xmlMemBlocks();
-        ch = gen_unsigned_int(n_ch, 0);
-
-        ret_val = xmlIsExtender(ch);
-        desret_int(ret_val);
-        call_tests++;
-        des_unsigned_int(n_ch, ch, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIsExtender",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ch);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIsIdeographic(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    unsigned int ch; /* character to validate */
-    int n_ch;
-
-    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
-        mem_base = xmlMemBlocks();
-        ch = gen_unsigned_int(n_ch, 0);
-
-        ret_val = xmlIsIdeographic(ch);
-        desret_int(ret_val);
-        call_tests++;
-        des_unsigned_int(n_ch, ch, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIsIdeographic",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ch);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIsPubidChar(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    unsigned int ch; /* character to validate */
-    int n_ch;
-
-    for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
-        mem_base = xmlMemBlocks();
-        ch = gen_unsigned_int(n_ch, 0);
-
-        ret_val = xmlIsPubidChar(ch);
-        desret_int(ret_val);
-        call_tests++;
-        des_unsigned_int(n_ch, ch, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIsPubidChar",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ch);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-static int
-test_chvalid(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing chvalid : 9 of 9 functions ...\n");
-    test_ret += test_xmlCharInRange();
-    test_ret += test_xmlIsBaseChar();
-    test_ret += test_xmlIsBlank();
-    test_ret += test_xmlIsChar();
-    test_ret += test_xmlIsCombining();
-    test_ret += test_xmlIsDigit();
-    test_ret += test_xmlIsExtender();
-    test_ret += test_xmlIsIdeographic();
-    test_ret += test_xmlIsPubidChar();
-
-    if (test_ret != 0)
-       printf("Module chvalid: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlBoolToText(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    const char * ret_val;
-    int boolval; /* a bool to turn into text */
-    int n_boolval;
-
-    for (n_boolval = 0;n_boolval < gen_nb_int;n_boolval++) {
-        mem_base = xmlMemBlocks();
-        boolval = gen_int(n_boolval, 0);
-
-        ret_val = xmlBoolToText(boolval);
-        desret_const_char_ptr(ret_val);
-        call_tests++;
-        des_int(n_boolval, boolval, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBoolToText",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_boolval);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDebugCheckDocument(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    int ret_val;
-    FILE * output; /* the FILE * for the output */
-    int n_output;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-
-    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        output = gen_debug_FILE_ptr(n_output, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-
-        ret_val = xmlDebugCheckDocument(output, doc);
-        desret_int(ret_val);
-        call_tests++;
-        des_debug_FILE_ptr(n_output, output, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDebugCheckDocument",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDebugDumpAttr(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    FILE * output; /* the FILE * for the output */
-    int n_output;
-    xmlAttrPtr attr; /* the attribute */
-    int n_attr;
-    int depth; /* the indentation level. */
-    int n_depth;
-
-    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
-    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
-    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
-        mem_base = xmlMemBlocks();
-        output = gen_debug_FILE_ptr(n_output, 0);
-        attr = gen_xmlAttrPtr(n_attr, 1);
-        depth = gen_int(n_depth, 2);
-
-        xmlDebugDumpAttr(output, attr, depth);
-        call_tests++;
-        des_debug_FILE_ptr(n_output, output, 0);
-        des_xmlAttrPtr(n_attr, attr, 1);
-        des_int(n_depth, depth, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDebugDumpAttr",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_attr);
-            printf(" %d", n_depth);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDebugDumpAttrList(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    FILE * output; /* the FILE * for the output */
-    int n_output;
-    xmlAttrPtr attr; /* the attribute list */
-    int n_attr;
-    int depth; /* the indentation level. */
-    int n_depth;
-
-    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
-    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
-    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
-        mem_base = xmlMemBlocks();
-        output = gen_debug_FILE_ptr(n_output, 0);
-        attr = gen_xmlAttrPtr(n_attr, 1);
-        depth = gen_int(n_depth, 2);
-
-        xmlDebugDumpAttrList(output, attr, depth);
-        call_tests++;
-        des_debug_FILE_ptr(n_output, output, 0);
-        des_xmlAttrPtr(n_attr, attr, 1);
-        des_int(n_depth, depth, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDebugDumpAttrList",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_attr);
-            printf(" %d", n_depth);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDebugDumpDTD(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    FILE * output; /* the FILE * for the output */
-    int n_output;
-    xmlDtdPtr dtd; /* the DTD */
-    int n_dtd;
-
-    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
-    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
-        mem_base = xmlMemBlocks();
-        output = gen_debug_FILE_ptr(n_output, 0);
-        dtd = gen_xmlDtdPtr(n_dtd, 1);
-
-        xmlDebugDumpDTD(output, dtd);
-        call_tests++;
-        des_debug_FILE_ptr(n_output, output, 0);
-        des_xmlDtdPtr(n_dtd, dtd, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDebugDumpDTD",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_dtd);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDebugDumpDocument(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    FILE * output; /* the FILE * for the output */
-    int n_output;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-
-    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        output = gen_debug_FILE_ptr(n_output, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-
-        xmlDebugDumpDocument(output, doc);
-        call_tests++;
-        des_debug_FILE_ptr(n_output, output, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDebugDumpDocument",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDebugDumpDocumentHead(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    FILE * output; /* the FILE * for the output */
-    int n_output;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-
-    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        output = gen_debug_FILE_ptr(n_output, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-
-        xmlDebugDumpDocumentHead(output, doc);
-        call_tests++;
-        des_debug_FILE_ptr(n_output, output, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDebugDumpDocumentHead",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDebugDumpEntities(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    FILE * output; /* the FILE * for the output */
-    int n_output;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-
-    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        output = gen_debug_FILE_ptr(n_output, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-
-        xmlDebugDumpEntities(output, doc);
-        call_tests++;
-        des_debug_FILE_ptr(n_output, output, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDebugDumpEntities",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDebugDumpNode(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    FILE * output; /* the FILE * for the output */
-    int n_output;
-    xmlNodePtr node; /* the node */
-    int n_node;
-    int depth; /* the indentation level. */
-    int n_depth;
-
-    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
-        mem_base = xmlMemBlocks();
-        output = gen_debug_FILE_ptr(n_output, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-        depth = gen_int(n_depth, 2);
-
-        xmlDebugDumpNode(output, node, depth);
-        call_tests++;
-        des_debug_FILE_ptr(n_output, output, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        des_int(n_depth, depth, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDebugDumpNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_node);
-            printf(" %d", n_depth);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDebugDumpNodeList(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    FILE * output; /* the FILE * for the output */
-    int n_output;
-    xmlNodePtr node; /* the node list */
-    int n_node;
-    int depth; /* the indentation level. */
-    int n_depth;
-
-    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
-        mem_base = xmlMemBlocks();
-        output = gen_debug_FILE_ptr(n_output, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-        depth = gen_int(n_depth, 2);
-
-        xmlDebugDumpNodeList(output, node, depth);
-        call_tests++;
-        des_debug_FILE_ptr(n_output, output, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        des_int(n_depth, depth, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDebugDumpNodeList",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_node);
-            printf(" %d", n_depth);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDebugDumpOneNode(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    FILE * output; /* the FILE * for the output */
-    int n_output;
-    xmlNodePtr node; /* the node */
-    int n_node;
-    int depth; /* the indentation level. */
-    int n_depth;
-
-    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
-        mem_base = xmlMemBlocks();
-        output = gen_debug_FILE_ptr(n_output, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-        depth = gen_int(n_depth, 2);
-
-        xmlDebugDumpOneNode(output, node, depth);
-        call_tests++;
-        des_debug_FILE_ptr(n_output, output, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        des_int(n_depth, depth, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDebugDumpOneNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_node);
-            printf(" %d", n_depth);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDebugDumpString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    FILE * output; /* the FILE * for the output */
-    int n_output;
-    xmlChar * str; /* the string */
-    int n_str;
-
-    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-        mem_base = xmlMemBlocks();
-        output = gen_debug_FILE_ptr(n_output, 0);
-        str = gen_const_xmlChar_ptr(n_str, 1);
-
-        xmlDebugDumpString(output, (const xmlChar *)str);
-        call_tests++;
-        des_debug_FILE_ptr(n_output, output, 0);
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDebugDumpString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_str);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlLsCountNode(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlNodePtr node; /* the node to count */
-    int n_node;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-
-        ret_val = xmlLsCountNode(node);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlLsCountNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlLsOneNode(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    FILE * output; /* the FILE * for the output */
-    int n_output;
-    xmlNodePtr node; /* the node to dump */
-    int n_node;
-
-    for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        output = gen_debug_FILE_ptr(n_output, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-
-        xmlLsOneNode(output, node);
-        call_tests++;
-        des_debug_FILE_ptr(n_output, output, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlLsOneNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-#define gen_nb_char_ptr 1
-static char * gen_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_char_ptr(int no ATTRIBUTE_UNUSED, char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlShell(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlShellBase(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlShellCtxtPtr ctxt; /* the shell context */
-    int n_ctxt;
-    char * arg; /* unused */
-    int n_arg;
-    xmlNodePtr node; /* a node */
-    int n_node;
-    xmlNodePtr node2; /* unused */
-    int n_node2;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
-    for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
-        arg = gen_char_ptr(n_arg, 1);
-        node = gen_xmlNodePtr(n_node, 2);
-        node2 = gen_xmlNodePtr(n_node2, 3);
-
-        ret_val = xmlShellBase(ctxt, arg, node, node2);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
-        des_char_ptr(n_arg, arg, 1);
-        des_xmlNodePtr(n_node, node, 2);
-        des_xmlNodePtr(n_node2, node2, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlShellBase",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_arg);
-            printf(" %d", n_node);
-            printf(" %d", n_node2);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlShellCat(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlShellCtxtPtr ctxt; /* the shell context */
-    int n_ctxt;
-    char * arg; /* unused */
-    int n_arg;
-    xmlNodePtr node; /* a node */
-    int n_node;
-    xmlNodePtr node2; /* unused */
-    int n_node2;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
-    for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
-        arg = gen_char_ptr(n_arg, 1);
-        node = gen_xmlNodePtr(n_node, 2);
-        node2 = gen_xmlNodePtr(n_node2, 3);
-
-        ret_val = xmlShellCat(ctxt, arg, node, node2);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
-        des_char_ptr(n_arg, arg, 1);
-        des_xmlNodePtr(n_node, node, 2);
-        des_xmlNodePtr(n_node2, node2, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlShellCat",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_arg);
-            printf(" %d", n_node);
-            printf(" %d", n_node2);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlShellDir(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlShellCtxtPtr ctxt; /* the shell context */
-    int n_ctxt;
-    char * arg; /* unused */
-    int n_arg;
-    xmlNodePtr node; /* a node */
-    int n_node;
-    xmlNodePtr node2; /* unused */
-    int n_node2;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
-    for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
-        arg = gen_char_ptr(n_arg, 1);
-        node = gen_xmlNodePtr(n_node, 2);
-        node2 = gen_xmlNodePtr(n_node2, 3);
-
-        ret_val = xmlShellDir(ctxt, arg, node, node2);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
-        des_char_ptr(n_arg, arg, 1);
-        des_xmlNodePtr(n_node, node, 2);
-        des_xmlNodePtr(n_node2, node2, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlShellDir",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_arg);
-            printf(" %d", n_node);
-            printf(" %d", n_node2);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlShellDu(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlShellCtxtPtr ctxt; /* the shell context */
-    int n_ctxt;
-    char * arg; /* unused */
-    int n_arg;
-    xmlNodePtr tree; /* a node defining a subtree */
-    int n_tree;
-    xmlNodePtr node2; /* unused */
-    int n_node2;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
-    for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
-    for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
-    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
-        arg = gen_char_ptr(n_arg, 1);
-        tree = gen_xmlNodePtr(n_tree, 2);
-        node2 = gen_xmlNodePtr(n_node2, 3);
-
-        ret_val = xmlShellDu(ctxt, arg, tree, node2);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
-        des_char_ptr(n_arg, arg, 1);
-        des_xmlNodePtr(n_tree, tree, 2);
-        des_xmlNodePtr(n_node2, node2, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlShellDu",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_arg);
-            printf(" %d", n_tree);
-            printf(" %d", n_node2);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlShellList(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlShellCtxtPtr ctxt; /* the shell context */
-    int n_ctxt;
-    char * arg; /* unused */
-    int n_arg;
-    xmlNodePtr node; /* a node */
-    int n_node;
-    xmlNodePtr node2; /* unused */
-    int n_node2;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
-    for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
-        arg = gen_char_ptr(n_arg, 1);
-        node = gen_xmlNodePtr(n_node, 2);
-        node2 = gen_xmlNodePtr(n_node2, 3);
-
-        ret_val = xmlShellList(ctxt, arg, node, node2);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
-        des_char_ptr(n_arg, arg, 1);
-        des_xmlNodePtr(n_node, node, 2);
-        des_xmlNodePtr(n_node2, node2, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlShellList",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_arg);
-            printf(" %d", n_node);
-            printf(" %d", n_node2);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlShellLoad(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlShellCtxtPtr ctxt; /* the shell context */
-    int n_ctxt;
-    char * filename; /* the file name */
-    int n_filename;
-    xmlNodePtr node; /* unused */
-    int n_node;
-    xmlNodePtr node2; /* unused */
-    int n_node2;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
-    for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
-        filename = gen_char_ptr(n_filename, 1);
-        node = gen_xmlNodePtr(n_node, 2);
-        node2 = gen_xmlNodePtr(n_node2, 3);
-
-        ret_val = xmlShellLoad(ctxt, filename, node, node2);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
-        des_char_ptr(n_filename, filename, 1);
-        des_xmlNodePtr(n_node, node, 2);
-        des_xmlNodePtr(n_node2, node2, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlShellLoad",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_filename);
-            printf(" %d", n_node);
-            printf(" %d", n_node2);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlShellPrintXPathResult(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr list; /* a valid result generated by an xpath evaluation */
-    int n_list;
-
-    for (n_list = 0;n_list < gen_nb_xmlXPathObjectPtr;n_list++) {
-        mem_base = xmlMemBlocks();
-        list = gen_xmlXPathObjectPtr(n_list, 0);
-
-        xmlShellPrintXPathResult(list);
-        call_tests++;
-        des_xmlXPathObjectPtr(n_list, list, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlShellPrintXPathResult",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_list);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlShellPwd(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlShellCtxtPtr ctxt; /* the shell context */
-    int n_ctxt;
-    char * buffer; /* the output buffer */
-    int n_buffer;
-    xmlNodePtr node; /* a node */
-    int n_node;
-    xmlNodePtr node2; /* unused */
-    int n_node2;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
-    for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
-        buffer = gen_char_ptr(n_buffer, 1);
-        node = gen_xmlNodePtr(n_node, 2);
-        node2 = gen_xmlNodePtr(n_node2, 3);
-
-        ret_val = xmlShellPwd(ctxt, buffer, node, node2);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
-        des_char_ptr(n_buffer, buffer, 1);
-        des_xmlNodePtr(n_node, node, 2);
-        des_xmlNodePtr(n_node2, node2, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlShellPwd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_buffer);
-            printf(" %d", n_node);
-            printf(" %d", n_node2);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlShellSave(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlShellCtxtPtr ctxt; /* the shell context */
-    int n_ctxt;
-    char * filename; /* the file name (optional) */
-    int n_filename;
-    xmlNodePtr node; /* unused */
-    int n_node;
-    xmlNodePtr node2; /* unused */
-    int n_node2;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
-    for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
-        filename = gen_char_ptr(n_filename, 1);
-        node = gen_xmlNodePtr(n_node, 2);
-        node2 = gen_xmlNodePtr(n_node2, 3);
-
-        ret_val = xmlShellSave(ctxt, filename, node, node2);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
-        des_char_ptr(n_filename, filename, 1);
-        des_xmlNodePtr(n_node, node, 2);
-        des_xmlNodePtr(n_node2, node2, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlShellSave",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_filename);
-            printf(" %d", n_node);
-            printf(" %d", n_node2);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlShellValidate(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlShellCtxtPtr ctxt; /* the shell context */
-    int n_ctxt;
-    char * dtd; /* the DTD URI (optional) */
-    int n_dtd;
-    xmlNodePtr node; /* unused */
-    int n_node;
-    xmlNodePtr node2; /* unused */
-    int n_node2;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
-    for (n_dtd = 0;n_dtd < gen_nb_char_ptr;n_dtd++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
-        dtd = gen_char_ptr(n_dtd, 1);
-        node = gen_xmlNodePtr(n_node, 2);
-        node2 = gen_xmlNodePtr(n_node2, 3);
-
-        ret_val = xmlShellValidate(ctxt, dtd, node, node2);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
-        des_char_ptr(n_dtd, dtd, 1);
-        des_xmlNodePtr(n_node, node, 2);
-        des_xmlNodePtr(n_node2, node2, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlShellValidate",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_dtd);
-            printf(" %d", n_node);
-            printf(" %d", n_node2);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlShellWrite(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlShellCtxtPtr ctxt; /* the shell context */
-    int n_ctxt;
-    char * filename; /* the file name */
-    int n_filename;
-    xmlNodePtr node; /* a node in the tree */
-    int n_node;
-    xmlNodePtr node2; /* unused */
-    int n_node2;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
-    for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
-        filename = gen_char_ptr(n_filename, 1);
-        node = gen_xmlNodePtr(n_node, 2);
-        node2 = gen_xmlNodePtr(n_node2, 3);
-
-        ret_val = xmlShellWrite(ctxt, filename, node, node2);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
-        des_char_ptr(n_filename, filename, 1);
-        des_xmlNodePtr(n_node, node, 2);
-        des_xmlNodePtr(n_node2, node2, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlShellWrite",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_filename);
-            printf(" %d", n_node);
-            printf(" %d", n_node2);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_debugXML(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing debugXML : 25 of 28 functions ...\n");
-    test_ret += test_xmlBoolToText();
-    test_ret += test_xmlDebugCheckDocument();
-    test_ret += test_xmlDebugDumpAttr();
-    test_ret += test_xmlDebugDumpAttrList();
-    test_ret += test_xmlDebugDumpDTD();
-    test_ret += test_xmlDebugDumpDocument();
-    test_ret += test_xmlDebugDumpDocumentHead();
-    test_ret += test_xmlDebugDumpEntities();
-    test_ret += test_xmlDebugDumpNode();
-    test_ret += test_xmlDebugDumpNodeList();
-    test_ret += test_xmlDebugDumpOneNode();
-    test_ret += test_xmlDebugDumpString();
-    test_ret += test_xmlLsCountNode();
-    test_ret += test_xmlLsOneNode();
-    test_ret += test_xmlShell();
-    test_ret += test_xmlShellBase();
-    test_ret += test_xmlShellCat();
-    test_ret += test_xmlShellDir();
-    test_ret += test_xmlShellDu();
-    test_ret += test_xmlShellList();
-    test_ret += test_xmlShellLoad();
-    test_ret += test_xmlShellPrintXPathResult();
-    test_ret += test_xmlShellPwd();
-    test_ret += test_xmlShellSave();
-    test_ret += test_xmlShellValidate();
-    test_ret += test_xmlShellWrite();
-
-    if (test_ret != 0)
-       printf("Module debugXML: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlDictCleanup(void) {
-    int test_ret = 0;
-
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlDictCleanup();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDictCleanup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDictCreate(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlDictPtr ret_val;
-
-        mem_base = xmlMemBlocks();
-
-        ret_val = xmlDictCreate();
-        desret_xmlDictPtr(ret_val);
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDictCreate",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDictCreateSub(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlDictPtr ret_val;
-    xmlDictPtr sub; /* an existing dictionnary */
-    int n_sub;
-
-    for (n_sub = 0;n_sub < gen_nb_xmlDictPtr;n_sub++) {
-        mem_base = xmlMemBlocks();
-        sub = gen_xmlDictPtr(n_sub, 0);
-
-        ret_val = xmlDictCreateSub(sub);
-        desret_xmlDictPtr(ret_val);
-        call_tests++;
-        des_xmlDictPtr(n_sub, sub, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDictCreateSub",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_sub);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDictExists(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlDictPtr dict; /* the dictionnary */
-    int n_dict;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    int len; /* the length of the name, if -1 it is recomputed */
-    int n_len;
-
-    for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        dict = gen_xmlDictPtr(n_dict, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlDictExists(dict, (const xmlChar *)name, len);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlDictPtr(n_dict, dict, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDictExists",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_dict);
-            printf(" %d", n_name);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDictGetUsage(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlDictLookup(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlDictPtr dict; /* the dictionnary */
-    int n_dict;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    int len; /* the length of the name, if -1 it is recomputed */
-    int n_len;
-
-    for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        dict = gen_xmlDictPtr(n_dict, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlDictLookup(dict, (const xmlChar *)name, len);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlDictPtr(n_dict, dict, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDictLookup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_dict);
-            printf(" %d", n_name);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDictOwns(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlDictPtr dict; /* the dictionnary */
-    int n_dict;
-    xmlChar * str; /* the string */
-    int n_str;
-
-    for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-        mem_base = xmlMemBlocks();
-        dict = gen_xmlDictPtr(n_dict, 0);
-        str = gen_const_xmlChar_ptr(n_str, 1);
-
-        ret_val = xmlDictOwns(dict, (const xmlChar *)str);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDictPtr(n_dict, dict, 0);
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDictOwns",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_dict);
-            printf(" %d", n_str);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDictQLookup(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlDictPtr dict; /* the dictionnary */
-    int n_dict;
-    xmlChar * prefix; /* the prefix */
-    int n_prefix;
-    xmlChar * name; /* the name */
-    int n_name;
-
-    for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        dict = gen_xmlDictPtr(n_dict, 0);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-
-        ret_val = xmlDictQLookup(dict, (const xmlChar *)prefix, (const xmlChar *)name);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlDictPtr(n_dict, dict, 0);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDictQLookup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_dict);
-            printf(" %d", n_prefix);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDictReference(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlDictPtr dict; /* the dictionnary */
-    int n_dict;
-
-    for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
-        mem_base = xmlMemBlocks();
-        dict = gen_xmlDictPtr(n_dict, 0);
-
-        ret_val = xmlDictReference(dict);
-        xmlDictFree(dict);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDictPtr(n_dict, dict, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDictReference",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_dict);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDictSetLimit(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlDictSize(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlDictPtr dict; /* the dictionnary */
-    int n_dict;
-
-    for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
-        mem_base = xmlMemBlocks();
-        dict = gen_xmlDictPtr(n_dict, 0);
-
-        ret_val = xmlDictSize(dict);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDictPtr(n_dict, dict, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDictSize",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_dict);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlInitializeDict(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-
-        mem_base = xmlMemBlocks();
-
-        ret_val = xmlInitializeDict();
-        desret_int(ret_val);
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlInitializeDict",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-
-    return(test_ret);
-}
-
-static int
-test_dict(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing dict : 10 of 13 functions ...\n");
-    test_ret += test_xmlDictCleanup();
-    test_ret += test_xmlDictCreate();
-    test_ret += test_xmlDictCreateSub();
-    test_ret += test_xmlDictExists();
-    test_ret += test_xmlDictGetUsage();
-    test_ret += test_xmlDictLookup();
-    test_ret += test_xmlDictOwns();
-    test_ret += test_xmlDictQLookup();
-    test_ret += test_xmlDictReference();
-    test_ret += test_xmlDictSetLimit();
-    test_ret += test_xmlDictSize();
-    test_ret += test_xmlInitializeDict();
-
-    if (test_ret != 0)
-       printf("Module dict: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_UTF8Toisolat1(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-#ifdef LIBXML_OUTPUT_ENABLED
-    int mem_base;
-    int ret_val;
-    unsigned char * out; /* a pointer to an array of bytes to store the result */
-    int n_out;
-    int * outlen; /* the length of @out */
-    int n_outlen;
-    unsigned char * in; /* a pointer to an array of UTF-8 chars */
-    int n_in;
-    int * inlen; /* the length of @in */
-    int n_inlen;
-
-    for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
-    for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
-    for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
-    for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
-        mem_base = xmlMemBlocks();
-        out = gen_unsigned_char_ptr(n_out, 0);
-        outlen = gen_int_ptr(n_outlen, 1);
-        in = gen_const_unsigned_char_ptr(n_in, 2);
-        inlen = gen_int_ptr(n_inlen, 3);
-
-        ret_val = UTF8Toisolat1(out, outlen, (const unsigned char *)in, inlen);
-        desret_int(ret_val);
-        call_tests++;
-        des_unsigned_char_ptr(n_out, out, 0);
-        des_int_ptr(n_outlen, outlen, 1);
-        des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
-        des_int_ptr(n_inlen, inlen, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in UTF8Toisolat1",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out);
-            printf(" %d", n_outlen);
-            printf(" %d", n_in);
-            printf(" %d", n_inlen);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_isolat1ToUTF8(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    unsigned char * out; /* a pointer to an array of bytes to store the result */
-    int n_out;
-    int * outlen; /* the length of @out */
-    int n_outlen;
-    unsigned char * in; /* a pointer to an array of ISO Latin 1 chars */
-    int n_in;
-    int * inlen; /* the length of @in */
-    int n_inlen;
-
-    for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
-    for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
-    for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
-    for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
-        mem_base = xmlMemBlocks();
-        out = gen_unsigned_char_ptr(n_out, 0);
-        outlen = gen_int_ptr(n_outlen, 1);
-        in = gen_const_unsigned_char_ptr(n_in, 2);
-        inlen = gen_int_ptr(n_inlen, 3);
-
-        ret_val = isolat1ToUTF8(out, outlen, (const unsigned char *)in, inlen);
-        desret_int(ret_val);
-        call_tests++;
-        des_unsigned_char_ptr(n_out, out, 0);
-        des_int_ptr(n_outlen, outlen, 1);
-        des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
-        des_int_ptr(n_inlen, inlen, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in isolat1ToUTF8",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out);
-            printf(" %d", n_outlen);
-            printf(" %d", n_in);
-            printf(" %d", n_inlen);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlAddEncodingAlias(void) {
-    int test_ret = 0;
-
-    int ret_val;
-    char * name; /* the encoding name as parsed, in UTF-8 format (ASCII actually) */
-    int n_name;
-    char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */
-    int n_alias;
-
-    for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
-    for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) {
-        name = gen_const_char_ptr(n_name, 0);
-        alias = gen_const_char_ptr(n_alias, 1);
-
-        ret_val = xmlAddEncodingAlias((const char *)name, (const char *)alias);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_name, (const char *)name, 0);
-        des_const_char_ptr(n_alias, (const char *)alias, 1);
-        xmlResetLastError();
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlCharEncodingHandler_ptr 1
-static xmlCharEncodingHandler * gen_xmlCharEncodingHandler_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlCharEncodingHandler_ptr(int no ATTRIBUTE_UNUSED, xmlCharEncodingHandler * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlCharEncCloseFunc(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlCharEncodingHandler * handler; /* char enconding transformation data structure */
-    int n_handler;
-
-    for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
-        mem_base = xmlMemBlocks();
-        handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
-
-        ret_val = xmlCharEncCloseFunc(handler);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCharEncCloseFunc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_handler);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCharEncFirstLine(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlCharEncodingHandler * handler; /* char enconding transformation data structure */
-    int n_handler;
-    xmlBufferPtr out; /* an xmlBuffer for the output. */
-    int n_out;
-    xmlBufferPtr in; /* an xmlBuffer for the input */
-    int n_in;
-
-    for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
-    for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) {
-    for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) {
-        mem_base = xmlMemBlocks();
-        handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
-        out = gen_xmlBufferPtr(n_out, 1);
-        in = gen_xmlBufferPtr(n_in, 2);
-
-        ret_val = xmlCharEncFirstLine(handler, out, in);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
-        des_xmlBufferPtr(n_out, out, 1);
-        des_xmlBufferPtr(n_in, in, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCharEncFirstLine",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_handler);
-            printf(" %d", n_out);
-            printf(" %d", n_in);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCharEncInFunc(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlCharEncodingHandler * handler; /* char encoding transformation data structure */
-    int n_handler;
-    xmlBufferPtr out; /* an xmlBuffer for the output. */
-    int n_out;
-    xmlBufferPtr in; /* an xmlBuffer for the input */
-    int n_in;
-
-    for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
-    for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) {
-    for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) {
-        mem_base = xmlMemBlocks();
-        handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
-        out = gen_xmlBufferPtr(n_out, 1);
-        in = gen_xmlBufferPtr(n_in, 2);
-
-        ret_val = xmlCharEncInFunc(handler, out, in);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
-        des_xmlBufferPtr(n_out, out, 1);
-        des_xmlBufferPtr(n_in, in, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCharEncInFunc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_handler);
-            printf(" %d", n_out);
-            printf(" %d", n_in);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCharEncOutFunc(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlCharEncodingHandler * handler; /* char enconding transformation data structure */
-    int n_handler;
-    xmlBufferPtr out; /* an xmlBuffer for the output. */
-    int n_out;
-    xmlBufferPtr in; /* an xmlBuffer for the input */
-    int n_in;
-
-    for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
-    for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) {
-    for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) {
-        mem_base = xmlMemBlocks();
-        handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
-        out = gen_xmlBufferPtr(n_out, 1);
-        in = gen_xmlBufferPtr(n_in, 2);
-
-        ret_val = xmlCharEncOutFunc(handler, out, in);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
-        des_xmlBufferPtr(n_out, out, 1);
-        des_xmlBufferPtr(n_in, in, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCharEncOutFunc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_handler);
-            printf(" %d", n_out);
-            printf(" %d", n_in);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCleanupCharEncodingHandlers(void) {
-    int test_ret = 0;
-
-
-
-        xmlCleanupCharEncodingHandlers();
-        call_tests++;
-        xmlResetLastError();
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCleanupEncodingAliases(void) {
-    int test_ret = 0;
-
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlCleanupEncodingAliases();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCleanupEncodingAliases",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDelEncodingAlias(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */
-    int n_alias;
-
-    for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) {
-        mem_base = xmlMemBlocks();
-        alias = gen_const_char_ptr(n_alias, 0);
-
-        ret_val = xmlDelEncodingAlias((const char *)alias);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_alias, (const char *)alias, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDelEncodingAlias",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_alias);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDetectCharEncoding(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlCharEncoding ret_val;
-    unsigned char * in; /* a pointer to the first bytes of the XML entity, must be at least 2 bytes long (at least 4 if encoding is UTF4 variant). */
-    int n_in;
-    int len; /* pointer to the length of the buffer */
-    int n_len;
-
-    for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        in = gen_const_unsigned_char_ptr(n_in, 0);
-        len = gen_int(n_len, 1);
-
-        ret_val = xmlDetectCharEncoding((const unsigned char *)in, len);
-        desret_xmlCharEncoding(ret_val);
-        call_tests++;
-        des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 0);
-        des_int(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDetectCharEncoding",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_in);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlFindCharEncodingHandler(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetCharEncodingHandler(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetCharEncodingName(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const char * ret_val;
-    xmlCharEncoding enc; /* the encoding */
-    int n_enc;
-
-    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
-        mem_base = xmlMemBlocks();
-        enc = gen_xmlCharEncoding(n_enc, 0);
-
-        ret_val = xmlGetCharEncodingName(enc);
-        desret_const_char_ptr(ret_val);
-        call_tests++;
-        des_xmlCharEncoding(n_enc, enc, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetCharEncodingName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_enc);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetEncodingAlias(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const char * ret_val;
-    char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */
-    int n_alias;
-
-    for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) {
-        mem_base = xmlMemBlocks();
-        alias = gen_const_char_ptr(n_alias, 0);
-
-        ret_val = xmlGetEncodingAlias((const char *)alias);
-        desret_const_char_ptr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_alias, (const char *)alias, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetEncodingAlias",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_alias);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlInitCharEncodingHandlers(void) {
-    int test_ret = 0;
-
-
-
-        xmlInitCharEncodingHandlers();
-        call_tests++;
-        xmlResetLastError();
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewCharEncodingHandler(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseCharEncoding(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlCharEncoding ret_val;
-    char * name; /* the encoding name as parsed, in UTF-8 format (ASCII actually) */
-    int n_name;
-
-    for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        name = gen_const_char_ptr(n_name, 0);
-
-        ret_val = xmlParseCharEncoding((const char *)name);
-        desret_xmlCharEncoding(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_name, (const char *)name, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseCharEncoding",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlCharEncodingHandlerPtr 1
-static xmlCharEncodingHandlerPtr gen_xmlCharEncodingHandlerPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlCharEncodingHandlerPtr(int no ATTRIBUTE_UNUSED, xmlCharEncodingHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlRegisterCharEncodingHandler(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlCharEncodingHandlerPtr handler; /* the xmlCharEncodingHandlerPtr handler block */
-    int n_handler;
-
-    for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) {
-        mem_base = xmlMemBlocks();
-        handler = gen_xmlCharEncodingHandlerPtr(n_handler, 0);
-
-        xmlRegisterCharEncodingHandler(handler);
-        call_tests++;
-        des_xmlCharEncodingHandlerPtr(n_handler, handler, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRegisterCharEncodingHandler",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_handler);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-static int
-test_encoding(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing encoding : 16 of 19 functions ...\n");
-    test_ret += test_UTF8Toisolat1();
-    test_ret += test_isolat1ToUTF8();
-    test_ret += test_xmlAddEncodingAlias();
-    test_ret += test_xmlCharEncCloseFunc();
-    test_ret += test_xmlCharEncFirstLine();
-    test_ret += test_xmlCharEncInFunc();
-    test_ret += test_xmlCharEncOutFunc();
-    test_ret += test_xmlCleanupCharEncodingHandlers();
-    test_ret += test_xmlCleanupEncodingAliases();
-    test_ret += test_xmlDelEncodingAlias();
-    test_ret += test_xmlDetectCharEncoding();
-    test_ret += test_xmlFindCharEncodingHandler();
-    test_ret += test_xmlGetCharEncodingHandler();
-    test_ret += test_xmlGetCharEncodingName();
-    test_ret += test_xmlGetEncodingAlias();
-    test_ret += test_xmlInitCharEncodingHandlers();
-    test_ret += test_xmlNewCharEncodingHandler();
-    test_ret += test_xmlParseCharEncoding();
-    test_ret += test_xmlRegisterCharEncodingHandler();
-
-    if (test_ret != 0)
-       printf("Module encoding: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlAddDocEntity(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlEntityPtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * name; /* the entity name */
-    int n_name;
-    int type; /* the entity type XML_xxx_yyy_ENTITY */
-    int n_type;
-    xmlChar * ExternalID; /* the entity external ID if available */
-    int n_ExternalID;
-    xmlChar * SystemID; /* the entity system ID if available */
-    int n_SystemID;
-    xmlChar * content; /* the entity content */
-    int n_content;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_type = 0;n_type < gen_nb_int;n_type++) {
-    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
-    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        type = gen_int(n_type, 2);
-        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3);
-        SystemID = gen_const_xmlChar_ptr(n_SystemID, 4);
-        content = gen_const_xmlChar_ptr(n_content, 5);
-
-        ret_val = xmlAddDocEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content);
-        desret_xmlEntityPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_int(n_type, type, 2);
-        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3);
-        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAddDocEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf(" %d", n_type);
-            printf(" %d", n_ExternalID);
-            printf(" %d", n_SystemID);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlAddDtdEntity(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlEntityPtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * name; /* the entity name */
-    int n_name;
-    int type; /* the entity type XML_xxx_yyy_ENTITY */
-    int n_type;
-    xmlChar * ExternalID; /* the entity external ID if available */
-    int n_ExternalID;
-    xmlChar * SystemID; /* the entity system ID if available */
-    int n_SystemID;
-    xmlChar * content; /* the entity content */
-    int n_content;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_type = 0;n_type < gen_nb_int;n_type++) {
-    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
-    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        type = gen_int(n_type, 2);
-        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3);
-        SystemID = gen_const_xmlChar_ptr(n_SystemID, 4);
-        content = gen_const_xmlChar_ptr(n_content, 5);
-
-        ret_val = xmlAddDtdEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content);
-        desret_xmlEntityPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_int(n_type, type, 2);
-        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3);
-        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAddDtdEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf(" %d", n_type);
-            printf(" %d", n_ExternalID);
-            printf(" %d", n_SystemID);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCleanupPredefinedEntities(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_LEGACY_ENABLED)
-#ifdef LIBXML_LEGACY_ENABLED
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlCleanupPredefinedEntities();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCleanupPredefinedEntities",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlEntitiesTablePtr 1
-static xmlEntitiesTablePtr gen_xmlEntitiesTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlEntitiesTablePtr(int no ATTRIBUTE_UNUSED, xmlEntitiesTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlCopyEntitiesTable(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlCreateEntitiesTable(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlDumpEntitiesTable(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlBufferPtr buf; /* An XML buffer. */
-    int n_buf;
-    xmlEntitiesTablePtr table; /* An entity table */
-    int n_table;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_table = 0;n_table < gen_nb_xmlEntitiesTablePtr;n_table++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        table = gen_xmlEntitiesTablePtr(n_table, 1);
-
-        xmlDumpEntitiesTable(buf, table);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_xmlEntitiesTablePtr(n_table, table, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDumpEntitiesTable",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_table);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlEntityPtr 1
-static xmlEntityPtr gen_xmlEntityPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlEntityPtr(int no ATTRIBUTE_UNUSED, xmlEntityPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlDumpEntityDecl(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlBufferPtr buf; /* An XML buffer. */
-    int n_buf;
-    xmlEntityPtr ent; /* An entity table */
-    int n_ent;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_ent = 0;n_ent < gen_nb_xmlEntityPtr;n_ent++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        ent = gen_xmlEntityPtr(n_ent, 1);
-
-        xmlDumpEntityDecl(buf, ent);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_xmlEntityPtr(n_ent, ent, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDumpEntityDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_ent);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlEncodeEntitiesReentrant(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlDocPtr doc; /* the document containing the string */
-    int n_doc;
-    xmlChar * input; /* A string to convert to XML. */
-    int n_input;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_input = 0;n_input < gen_nb_const_xmlChar_ptr;n_input++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        input = gen_const_xmlChar_ptr(n_input, 1);
-
-        ret_val = xmlEncodeEntitiesReentrant(doc, (const xmlChar *)input);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_input, (const xmlChar *)input, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlEncodeEntitiesReentrant",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_input);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlEncodeSpecialChars(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlDocPtr doc; /* the document containing the string */
-    int n_doc;
-    xmlChar * input; /* A string to convert to XML. */
-    int n_input;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_input = 0;n_input < gen_nb_const_xmlChar_ptr;n_input++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        input = gen_const_xmlChar_ptr(n_input, 1);
-
-        ret_val = xmlEncodeSpecialChars(doc, (const xmlChar *)input);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_input, (const xmlChar *)input, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlEncodeSpecialChars",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_input);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetDocEntity(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlEntityPtr ret_val;
-    xmlDocPtr doc; /* the document referencing the entity */
-    int n_doc;
-    xmlChar * name; /* the entity name */
-    int n_name;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlGetDocEntity(doc, (const xmlChar *)name);
-        desret_xmlEntityPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetDocEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetDtdEntity(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlEntityPtr ret_val;
-    xmlDocPtr doc; /* the document referencing the entity */
-    int n_doc;
-    xmlChar * name; /* the entity name */
-    int n_name;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlGetDtdEntity(doc, (const xmlChar *)name);
-        desret_xmlEntityPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetDtdEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetParameterEntity(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlEntityPtr ret_val;
-    xmlDocPtr doc; /* the document referencing the entity */
-    int n_doc;
-    xmlChar * name; /* the entity name */
-    int n_name;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlGetParameterEntity(doc, (const xmlChar *)name);
-        desret_xmlEntityPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetParameterEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetPredefinedEntity(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlEntityPtr ret_val;
-    xmlChar * name; /* the entity name */
-    int n_name;
-
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        name = gen_const_xmlChar_ptr(n_name, 0);
-
-        ret_val = xmlGetPredefinedEntity((const xmlChar *)name);
-        desret_xmlEntityPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetPredefinedEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlInitializePredefinedEntities(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_LEGACY_ENABLED)
-#ifdef LIBXML_LEGACY_ENABLED
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlInitializePredefinedEntities();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlInitializePredefinedEntities",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewEntity(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlEntityPtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * name; /* the entity name */
-    int n_name;
-    int type; /* the entity type XML_xxx_yyy_ENTITY */
-    int n_type;
-    xmlChar * ExternalID; /* the entity external ID if available */
-    int n_ExternalID;
-    xmlChar * SystemID; /* the entity system ID if available */
-    int n_SystemID;
-    xmlChar * content; /* the entity content */
-    int n_content;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_type = 0;n_type < gen_nb_int;n_type++) {
-    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
-    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        type = gen_int(n_type, 2);
-        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3);
-        SystemID = gen_const_xmlChar_ptr(n_SystemID, 4);
-        content = gen_const_xmlChar_ptr(n_content, 5);
-
-        ret_val = xmlNewEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content);
-        desret_xmlEntityPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_int(n_type, type, 2);
-        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3);
-        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf(" %d", n_type);
-            printf(" %d", n_ExternalID);
-            printf(" %d", n_SystemID);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-static int
-test_entities(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing entities : 13 of 17 functions ...\n");
-    test_ret += test_xmlAddDocEntity();
-    test_ret += test_xmlAddDtdEntity();
-    test_ret += test_xmlCleanupPredefinedEntities();
-    test_ret += test_xmlCopyEntitiesTable();
-    test_ret += test_xmlCreateEntitiesTable();
-    test_ret += test_xmlDumpEntitiesTable();
-    test_ret += test_xmlDumpEntityDecl();
-    test_ret += test_xmlEncodeEntitiesReentrant();
-    test_ret += test_xmlEncodeSpecialChars();
-    test_ret += test_xmlGetDocEntity();
-    test_ret += test_xmlGetDtdEntity();
-    test_ret += test_xmlGetParameterEntity();
-    test_ret += test_xmlGetPredefinedEntity();
-    test_ret += test_xmlInitializePredefinedEntities();
-    test_ret += test_xmlNewEntity();
-
-    if (test_ret != 0)
-       printf("Module entities: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlHashAddEntry(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    void * userdata; /* a pointer to the userdata */
-    int n_userdata;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        userdata = gen_userdata(n_userdata, 2);
-
-        ret_val = xmlHashAddEntry(table, (const xmlChar *)name, userdata);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_userdata(n_userdata, userdata, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashAddEntry",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_name);
-            printf(" %d", n_userdata);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashAddEntry2(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    xmlChar * name2; /* a second name of the userdata */
-    int n_name2;
-    void * userdata; /* a pointer to the userdata */
-    int n_userdata;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
-    for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        name2 = gen_const_xmlChar_ptr(n_name2, 2);
-        userdata = gen_userdata(n_userdata, 3);
-
-        ret_val = xmlHashAddEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, userdata);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
-        des_userdata(n_userdata, userdata, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashAddEntry2",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_name);
-            printf(" %d", n_name2);
-            printf(" %d", n_userdata);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashAddEntry3(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    xmlChar * name2; /* a second name of the userdata */
-    int n_name2;
-    xmlChar * name3; /* a third name of the userdata */
-    int n_name3;
-    void * userdata; /* a pointer to the userdata */
-    int n_userdata;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
-    for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
-    for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        name2 = gen_const_xmlChar_ptr(n_name2, 2);
-        name3 = gen_const_xmlChar_ptr(n_name3, 3);
-        userdata = gen_userdata(n_userdata, 4);
-
-        ret_val = xmlHashAddEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, userdata);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
-        des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
-        des_userdata(n_userdata, userdata, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashAddEntry3",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_name);
-            printf(" %d", n_name2);
-            printf(" %d", n_name3);
-            printf(" %d", n_userdata);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashCopy(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashCreate(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashCreateDict(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashLookup(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlHashLookup(table, (const xmlChar *)name);
-        desret_void_ptr(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashLookup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashLookup2(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    xmlChar * name2; /* a second name of the userdata */
-    int n_name2;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        name2 = gen_const_xmlChar_ptr(n_name2, 2);
-
-        ret_val = xmlHashLookup2(table, (const xmlChar *)name, (const xmlChar *)name2);
-        desret_void_ptr(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashLookup2",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_name);
-            printf(" %d", n_name2);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashLookup3(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    xmlChar * name2; /* a second name of the userdata */
-    int n_name2;
-    xmlChar * name3; /* a third name of the userdata */
-    int n_name3;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
-    for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        name2 = gen_const_xmlChar_ptr(n_name2, 2);
-        name3 = gen_const_xmlChar_ptr(n_name3, 3);
-
-        ret_val = xmlHashLookup3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3);
-        desret_void_ptr(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
-        des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashLookup3",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_name);
-            printf(" %d", n_name2);
-            printf(" %d", n_name3);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashQLookup(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * prefix; /* the prefix of the userdata */
-    int n_prefix;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-
-        ret_val = xmlHashQLookup(table, (const xmlChar *)prefix, (const xmlChar *)name);
-        desret_void_ptr(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashQLookup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_prefix);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashQLookup2(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * prefix; /* the prefix of the userdata */
-    int n_prefix;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    xmlChar * prefix2; /* the second prefix of the userdata */
-    int n_prefix2;
-    xmlChar * name2; /* a second name of the userdata */
-    int n_name2;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_prefix2 = 0;n_prefix2 < gen_nb_const_xmlChar_ptr;n_prefix2++) {
-    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        prefix2 = gen_const_xmlChar_ptr(n_prefix2, 3);
-        name2 = gen_const_xmlChar_ptr(n_name2, 4);
-
-        ret_val = xmlHashQLookup2(table, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)prefix2, (const xmlChar *)name2);
-        desret_void_ptr(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_prefix2, (const xmlChar *)prefix2, 3);
-        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashQLookup2",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_prefix);
-            printf(" %d", n_name);
-            printf(" %d", n_prefix2);
-            printf(" %d", n_name2);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashQLookup3(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * prefix; /* the prefix of the userdata */
-    int n_prefix;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    xmlChar * prefix2; /* the second prefix of the userdata */
-    int n_prefix2;
-    xmlChar * name2; /* a second name of the userdata */
-    int n_name2;
-    xmlChar * prefix3; /* the third prefix of the userdata */
-    int n_prefix3;
-    xmlChar * name3; /* a third name of the userdata */
-    int n_name3;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_prefix2 = 0;n_prefix2 < gen_nb_const_xmlChar_ptr;n_prefix2++) {
-    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
-    for (n_prefix3 = 0;n_prefix3 < gen_nb_const_xmlChar_ptr;n_prefix3++) {
-    for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        prefix2 = gen_const_xmlChar_ptr(n_prefix2, 3);
-        name2 = gen_const_xmlChar_ptr(n_name2, 4);
-        prefix3 = gen_const_xmlChar_ptr(n_prefix3, 5);
-        name3 = gen_const_xmlChar_ptr(n_name3, 6);
-
-        ret_val = xmlHashQLookup3(table, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)prefix2, (const xmlChar *)name2, (const xmlChar *)prefix3, (const xmlChar *)name3);
-        desret_void_ptr(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_prefix2, (const xmlChar *)prefix2, 3);
-        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 4);
-        des_const_xmlChar_ptr(n_prefix3, (const xmlChar *)prefix3, 5);
-        des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 6);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashQLookup3",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_prefix);
-            printf(" %d", n_name);
-            printf(" %d", n_prefix2);
-            printf(" %d", n_name2);
-            printf(" %d", n_prefix3);
-            printf(" %d", n_name3);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashRemoveEntry(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    xmlHashDeallocator f; /* the deallocator function for removed item (if any) */
-    int n_f;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        f = gen_xmlHashDeallocator(n_f, 2);
-
-        ret_val = xmlHashRemoveEntry(table, (const xmlChar *)name, f);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_xmlHashDeallocator(n_f, f, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashRemoveEntry",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_name);
-            printf(" %d", n_f);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashRemoveEntry2(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    xmlChar * name2; /* a second name of the userdata */
-    int n_name2;
-    xmlHashDeallocator f; /* the deallocator function for removed item (if any) */
-    int n_f;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
-    for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        name2 = gen_const_xmlChar_ptr(n_name2, 2);
-        f = gen_xmlHashDeallocator(n_f, 3);
-
-        ret_val = xmlHashRemoveEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, f);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
-        des_xmlHashDeallocator(n_f, f, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashRemoveEntry2",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_name);
-            printf(" %d", n_name2);
-            printf(" %d", n_f);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashRemoveEntry3(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    xmlChar * name2; /* a second name of the userdata */
-    int n_name2;
-    xmlChar * name3; /* a third name of the userdata */
-    int n_name3;
-    xmlHashDeallocator f; /* the deallocator function for removed item (if any) */
-    int n_f;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
-    for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
-    for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        name2 = gen_const_xmlChar_ptr(n_name2, 2);
-        name3 = gen_const_xmlChar_ptr(n_name3, 3);
-        f = gen_xmlHashDeallocator(n_f, 4);
-
-        ret_val = xmlHashRemoveEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, f);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
-        des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
-        des_xmlHashDeallocator(n_f, f, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashRemoveEntry3",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_name);
-            printf(" %d", n_name2);
-            printf(" %d", n_name3);
-            printf(" %d", n_f);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashScan(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashScan3(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashScanFull(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashScanFull3(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashSize(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-
-        ret_val = xmlHashSize(table);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashSize",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashUpdateEntry(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    void * userdata; /* a pointer to the userdata */
-    int n_userdata;
-    xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */
-    int n_f;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
-    for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        userdata = gen_userdata(n_userdata, 2);
-        f = gen_xmlHashDeallocator(n_f, 3);
-
-        ret_val = xmlHashUpdateEntry(table, (const xmlChar *)name, userdata, f);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_userdata(n_userdata, userdata, 2);
-        des_xmlHashDeallocator(n_f, f, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashUpdateEntry",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_name);
-            printf(" %d", n_userdata);
-            printf(" %d", n_f);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashUpdateEntry2(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    xmlChar * name2; /* a second name of the userdata */
-    int n_name2;
-    void * userdata; /* a pointer to the userdata */
-    int n_userdata;
-    xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */
-    int n_f;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
-    for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
-    for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        name2 = gen_const_xmlChar_ptr(n_name2, 2);
-        userdata = gen_userdata(n_userdata, 3);
-        f = gen_xmlHashDeallocator(n_f, 4);
-
-        ret_val = xmlHashUpdateEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, userdata, f);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
-        des_userdata(n_userdata, userdata, 3);
-        des_xmlHashDeallocator(n_f, f, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashUpdateEntry2",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_name);
-            printf(" %d", n_name2);
-            printf(" %d", n_userdata);
-            printf(" %d", n_f);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHashUpdateEntry3(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlHashTablePtr table; /* the hash table */
-    int n_table;
-    xmlChar * name; /* the name of the userdata */
-    int n_name;
-    xmlChar * name2; /* a second name of the userdata */
-    int n_name2;
-    xmlChar * name3; /* a third name of the userdata */
-    int n_name3;
-    void * userdata; /* a pointer to the userdata */
-    int n_userdata;
-    xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */
-    int n_f;
-
-    for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
-    for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
-    for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
-    for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
-        mem_base = xmlMemBlocks();
-        table = gen_xmlHashTablePtr(n_table, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        name2 = gen_const_xmlChar_ptr(n_name2, 2);
-        name3 = gen_const_xmlChar_ptr(n_name3, 3);
-        userdata = gen_userdata(n_userdata, 4);
-        f = gen_xmlHashDeallocator(n_f, 5);
-
-        ret_val = xmlHashUpdateEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, userdata, f);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlHashTablePtr(n_table, table, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
-        des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
-        des_userdata(n_userdata, userdata, 4);
-        des_xmlHashDeallocator(n_f, f, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHashUpdateEntry3",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_table);
-            printf(" %d", n_name);
-            printf(" %d", n_name2);
-            printf(" %d", n_name3);
-            printf(" %d", n_userdata);
-            printf(" %d", n_f);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-static int
-test_hash(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing hash : 16 of 24 functions ...\n");
-    test_ret += test_xmlHashAddEntry();
-    test_ret += test_xmlHashAddEntry2();
-    test_ret += test_xmlHashAddEntry3();
-    test_ret += test_xmlHashCopy();
-    test_ret += test_xmlHashCreate();
-    test_ret += test_xmlHashCreateDict();
-    test_ret += test_xmlHashLookup();
-    test_ret += test_xmlHashLookup2();
-    test_ret += test_xmlHashLookup3();
-    test_ret += test_xmlHashQLookup();
-    test_ret += test_xmlHashQLookup2();
-    test_ret += test_xmlHashQLookup3();
-    test_ret += test_xmlHashRemoveEntry();
-    test_ret += test_xmlHashRemoveEntry2();
-    test_ret += test_xmlHashRemoveEntry3();
-    test_ret += test_xmlHashScan();
-    test_ret += test_xmlHashScan3();
-    test_ret += test_xmlHashScanFull();
-    test_ret += test_xmlHashScanFull3();
-    test_ret += test_xmlHashSize();
-    test_ret += test_xmlHashUpdateEntry();
-    test_ret += test_xmlHashUpdateEntry2();
-    test_ret += test_xmlHashUpdateEntry3();
-
-    if (test_ret != 0)
-       printf("Module hash: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-#define gen_nb_xmlLinkPtr 1
-static xmlLinkPtr gen_xmlLinkPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlLinkPtr(int no ATTRIBUTE_UNUSED, xmlLinkPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlLinkGetData(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ret_val;
-    xmlLinkPtr lk; /* a link */
-    int n_lk;
-
-    for (n_lk = 0;n_lk < gen_nb_xmlLinkPtr;n_lk++) {
-        mem_base = xmlMemBlocks();
-        lk = gen_xmlLinkPtr(n_lk, 0);
-
-        ret_val = xmlLinkGetData(lk);
-        desret_void_ptr(ret_val);
-        call_tests++;
-        des_xmlLinkPtr(n_lk, lk, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlLinkGetData",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_lk);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListAppend(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlListPtr l; /* a list */
-    int n_l;
-    void * data; /* the data */
-    int n_data;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-        data = gen_userdata(n_data, 1);
-
-        ret_val = xmlListAppend(l, data);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        des_userdata(n_data, data, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListAppend",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListClear(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlListPtr l; /* a list */
-    int n_l;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-
-        xmlListClear(l);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListClear",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_const_xmlListPtr 1
-static xmlListPtr gen_const_xmlListPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlListPtr(int no ATTRIBUTE_UNUSED, const xmlListPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlListCopy(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlListPtr cur; /* the new list */
-    int n_cur;
-    xmlListPtr old; /* the old list */
-    int n_old;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlListPtr;n_cur++) {
-    for (n_old = 0;n_old < gen_nb_const_xmlListPtr;n_old++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlListPtr(n_cur, 0);
-        old = gen_const_xmlListPtr(n_old, 1);
-
-        ret_val = xmlListCopy(cur, (const xmlListPtr)old);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlListPtr(n_cur, cur, 0);
-        des_const_xmlListPtr(n_old, (const xmlListPtr)old, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListCopy",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_old);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListCreate(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlListDup(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlListEmpty(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlListPtr l; /* a list */
-    int n_l;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-
-        ret_val = xmlListEmpty(l);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListEmpty",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListEnd(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlListFront(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlListInsert(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlListPtr l; /* a list */
-    int n_l;
-    void * data; /* the data */
-    int n_data;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-        data = gen_userdata(n_data, 1);
-
-        ret_val = xmlListInsert(l, data);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        des_userdata(n_data, data, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListInsert",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListMerge(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlListPtr l1; /* the original list */
-    int n_l1;
-    xmlListPtr l2; /* the new list */
-    int n_l2;
-
-    for (n_l1 = 0;n_l1 < gen_nb_xmlListPtr;n_l1++) {
-    for (n_l2 = 0;n_l2 < gen_nb_xmlListPtr;n_l2++) {
-        mem_base = xmlMemBlocks();
-        l1 = gen_xmlListPtr(n_l1, 0);
-        l2 = gen_xmlListPtr(n_l2, 1);
-
-        xmlListMerge(l1, l2);
-        call_tests++;
-        des_xmlListPtr(n_l1, l1, 0);
-        des_xmlListPtr(n_l2, l2, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListMerge",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l1);
-            printf(" %d", n_l2);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListPopBack(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlListPtr l; /* a list */
-    int n_l;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-
-        xmlListPopBack(l);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListPopBack",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListPopFront(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlListPtr l; /* a list */
-    int n_l;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-
-        xmlListPopFront(l);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListPopFront",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListPushBack(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlListPtr l; /* a list */
-    int n_l;
-    void * data; /* new data */
-    int n_data;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-        data = gen_userdata(n_data, 1);
-
-        ret_val = xmlListPushBack(l, data);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        des_userdata(n_data, data, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListPushBack",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListPushFront(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlListPtr l; /* a list */
-    int n_l;
-    void * data; /* new data */
-    int n_data;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-        data = gen_userdata(n_data, 1);
-
-        ret_val = xmlListPushFront(l, data);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        des_userdata(n_data, data, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListPushFront",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListRemoveAll(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlListPtr l; /* a list */
-    int n_l;
-    void * data; /* list data */
-    int n_data;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-        data = gen_userdata(n_data, 1);
-
-        ret_val = xmlListRemoveAll(l, data);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        des_userdata(n_data, data, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListRemoveAll",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListRemoveFirst(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlListPtr l; /* a list */
-    int n_l;
-    void * data; /* list data */
-    int n_data;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-        data = gen_userdata(n_data, 1);
-
-        ret_val = xmlListRemoveFirst(l, data);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        des_userdata(n_data, data, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListRemoveFirst",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListRemoveLast(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlListPtr l; /* a list */
-    int n_l;
-    void * data; /* list data */
-    int n_data;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-        data = gen_userdata(n_data, 1);
-
-        ret_val = xmlListRemoveLast(l, data);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        des_userdata(n_data, data, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListRemoveLast",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListReverse(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlListPtr l; /* a list */
-    int n_l;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-
-        xmlListReverse(l);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListReverse",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListReverseSearch(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ret_val;
-    xmlListPtr l; /* a list */
-    int n_l;
-    void * data; /* a search value */
-    int n_data;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-        data = gen_userdata(n_data, 1);
-
-        ret_val = xmlListReverseSearch(l, data);
-        desret_void_ptr(ret_val);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        des_userdata(n_data, data, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListReverseSearch",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListReverseWalk(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlListSearch(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ret_val;
-    xmlListPtr l; /* a list */
-    int n_l;
-    void * data; /* a search value */
-    int n_data;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-        data = gen_userdata(n_data, 1);
-
-        ret_val = xmlListSearch(l, data);
-        desret_void_ptr(ret_val);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        des_userdata(n_data, data, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListSearch",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListSize(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlListPtr l; /* a list */
-    int n_l;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-
-        ret_val = xmlListSize(l);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListSize",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListSort(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlListPtr l; /* a list */
-    int n_l;
-
-    for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
-        mem_base = xmlMemBlocks();
-        l = gen_xmlListPtr(n_l, 0);
-
-        xmlListSort(l);
-        call_tests++;
-        des_xmlListPtr(n_l, l, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlListSort",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_l);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlListWalk(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-static int
-test_list(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing list : 19 of 26 functions ...\n");
-    test_ret += test_xmlLinkGetData();
-    test_ret += test_xmlListAppend();
-    test_ret += test_xmlListClear();
-    test_ret += test_xmlListCopy();
-    test_ret += test_xmlListCreate();
-    test_ret += test_xmlListDup();
-    test_ret += test_xmlListEmpty();
-    test_ret += test_xmlListEnd();
-    test_ret += test_xmlListFront();
-    test_ret += test_xmlListInsert();
-    test_ret += test_xmlListMerge();
-    test_ret += test_xmlListPopBack();
-    test_ret += test_xmlListPopFront();
-    test_ret += test_xmlListPushBack();
-    test_ret += test_xmlListPushFront();
-    test_ret += test_xmlListRemoveAll();
-    test_ret += test_xmlListRemoveFirst();
-    test_ret += test_xmlListRemoveLast();
-    test_ret += test_xmlListReverse();
-    test_ret += test_xmlListReverseSearch();
-    test_ret += test_xmlListReverseWalk();
-    test_ret += test_xmlListSearch();
-    test_ret += test_xmlListSize();
-    test_ret += test_xmlListSort();
-    test_ret += test_xmlListWalk();
-
-    if (test_ret != 0)
-       printf("Module list: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlNanoFTPCheckResponse(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* an FTP context */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-
-        ret_val = xmlNanoFTPCheckResponse(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPCheckResponse",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPCleanup(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlNanoFTPCleanup();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPCleanup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPCloseConnection(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* an FTP context */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-
-        ret_val = xmlNanoFTPCloseConnection(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPCloseConnection",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPCwd(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* an FTP context */
-    int n_ctx;
-    char * directory; /* a directory on the server */
-    int n_directory;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-    for (n_directory = 0;n_directory < gen_nb_const_char_ptr;n_directory++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-        directory = gen_const_char_ptr(n_directory, 1);
-
-        ret_val = xmlNanoFTPCwd(ctx, (const char *)directory);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        des_const_char_ptr(n_directory, (const char *)directory, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPCwd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_directory);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPDele(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* an FTP context */
-    int n_ctx;
-    const char * file; /* a file or directory on the server */
-    int n_file;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-    for (n_file = 0;n_file < gen_nb_filepath;n_file++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-        file = gen_filepath(n_file, 1);
-
-        ret_val = xmlNanoFTPDele(ctx, file);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        des_filepath(n_file, file, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPDele",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_file);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPGet(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPGetConnection(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPGetResponse(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* an FTP context */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-
-        ret_val = xmlNanoFTPGetResponse(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPGetResponse",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPGetSocket(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPInit(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlNanoFTPInit();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPInit",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPList(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPNewCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    void * ret_val;
-    const char * URL; /* The URL used to initialize the context */
-    int n_URL;
-
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-        mem_base = xmlMemBlocks();
-        URL = gen_filepath(n_URL, 0);
-
-        ret_val = xmlNanoFTPNewCtxt(URL);
-        desret_xmlNanoFTPCtxtPtr(ret_val);
-        call_tests++;
-        des_filepath(n_URL, URL, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPNewCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URL);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPOpen(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    void * ret_val;
-    const char * URL; /* the URL to the resource */
-    int n_URL;
-
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-        mem_base = xmlMemBlocks();
-        URL = gen_filepath(n_URL, 0);
-
-        ret_val = xmlNanoFTPOpen(URL);
-        desret_xmlNanoFTPCtxtPtr(ret_val);
-        call_tests++;
-        des_filepath(n_URL, URL, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPOpen",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URL);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPProxy(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    char * host; /* the proxy host name */
-    int n_host;
-    int port; /* the proxy port */
-    int n_port;
-    char * user; /* the proxy user name */
-    int n_user;
-    char * passwd; /* the proxy password */
-    int n_passwd;
-    int type; /* the type of proxy 1 for using SITE, 2 for USER a@b */
-    int n_type;
-
-    for (n_host = 0;n_host < gen_nb_const_char_ptr;n_host++) {
-    for (n_port = 0;n_port < gen_nb_int;n_port++) {
-    for (n_user = 0;n_user < gen_nb_const_char_ptr;n_user++) {
-    for (n_passwd = 0;n_passwd < gen_nb_const_char_ptr;n_passwd++) {
-    for (n_type = 0;n_type < gen_nb_int;n_type++) {
-        host = gen_const_char_ptr(n_host, 0);
-        port = gen_int(n_port, 1);
-        user = gen_const_char_ptr(n_user, 2);
-        passwd = gen_const_char_ptr(n_passwd, 3);
-        type = gen_int(n_type, 4);
-
-        xmlNanoFTPProxy((const char *)host, port, (const char *)user, (const char *)passwd, type);
-        call_tests++;
-        des_const_char_ptr(n_host, (const char *)host, 0);
-        des_int(n_port, port, 1);
-        des_const_char_ptr(n_user, (const char *)user, 2);
-        des_const_char_ptr(n_passwd, (const char *)passwd, 3);
-        des_int(n_type, type, 4);
-        xmlResetLastError();
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPQuit(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* an FTP context */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-
-        ret_val = xmlNanoFTPQuit(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPQuit",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPRead(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* the FTP context */
-    int n_ctx;
-    void * dest; /* a buffer */
-    int n_dest;
-    int len; /* the buffer length */
-    int n_len;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-    for (n_dest = 0;n_dest < gen_nb_void_ptr;n_dest++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-        dest = gen_void_ptr(n_dest, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlNanoFTPRead(ctx, dest, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        des_void_ptr(n_dest, dest, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPRead",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_dest);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPScanProxy(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    const char * URL; /* The proxy URL used to initialize the proxy context */
-    int n_URL;
-
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-        URL = gen_filepath(n_URL, 0);
-
-        xmlNanoFTPScanProxy(URL);
-        call_tests++;
-        des_filepath(n_URL, URL, 0);
-        xmlResetLastError();
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoFTPUpdateURL(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* an FTP context */
-    int n_ctx;
-    const char * URL; /* The URL used to update the context */
-    int n_URL;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
-        URL = gen_filepath(n_URL, 1);
-
-        ret_val = xmlNanoFTPUpdateURL(ctx, URL);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
-        des_filepath(n_URL, URL, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoFTPUpdateURL",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_URL);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_nanoftp(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing nanoftp : 14 of 22 functions ...\n");
-    test_ret += test_xmlNanoFTPCheckResponse();
-    test_ret += test_xmlNanoFTPCleanup();
-    test_ret += test_xmlNanoFTPCloseConnection();
-    test_ret += test_xmlNanoFTPCwd();
-    test_ret += test_xmlNanoFTPDele();
-    test_ret += test_xmlNanoFTPGet();
-    test_ret += test_xmlNanoFTPGetConnection();
-    test_ret += test_xmlNanoFTPGetResponse();
-    test_ret += test_xmlNanoFTPGetSocket();
-    test_ret += test_xmlNanoFTPInit();
-    test_ret += test_xmlNanoFTPList();
-    test_ret += test_xmlNanoFTPNewCtxt();
-    test_ret += test_xmlNanoFTPOpen();
-    test_ret += test_xmlNanoFTPProxy();
-    test_ret += test_xmlNanoFTPQuit();
-    test_ret += test_xmlNanoFTPRead();
-    test_ret += test_xmlNanoFTPScanProxy();
-    test_ret += test_xmlNanoFTPUpdateURL();
-
-    if (test_ret != 0)
-       printf("Module nanoftp: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlNanoHTTPAuthHeader(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-    const char * ret_val;
-    void * ctx; /* the HTTP context */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
-
-        ret_val = xmlNanoHTTPAuthHeader(ctx);
-        desret_const_char_ptr(ret_val);
-        call_tests++;
-        des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoHTTPAuthHeader",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoHTTPCleanup(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlNanoHTTPCleanup();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoHTTPCleanup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoHTTPContentLength(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* the HTTP context */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
-
-        ret_val = xmlNanoHTTPContentLength(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoHTTPContentLength",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoHTTPEncoding(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-    const char * ret_val;
-    void * ctx; /* the HTTP context */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
-
-        ret_val = xmlNanoHTTPEncoding(ctx);
-        desret_const_char_ptr(ret_val);
-        call_tests++;
-        des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoHTTPEncoding",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-#define gen_nb_char_ptr_ptr 1
-static char ** gen_char_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_char_ptr_ptr(int no ATTRIBUTE_UNUSED, char ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlNanoHTTPFetch(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    const char * URL; /* The URL to load */
-    int n_URL;
-    const char * filename; /* the filename where the content should be saved */
-    int n_filename;
-    char ** contentType; /* if available the Content-Type information will be returned at that location */
-    int n_contentType;
-
-    for (n_URL = 0;n_URL < gen_nb_fileoutput;n_URL++) {
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-    for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) {
-        mem_base = xmlMemBlocks();
-        URL = gen_fileoutput(n_URL, 0);
-        filename = gen_fileoutput(n_filename, 1);
-        contentType = gen_char_ptr_ptr(n_contentType, 2);
-
-        ret_val = xmlNanoHTTPFetch(URL, filename, contentType);
-        desret_int(ret_val);
-        call_tests++;
-        des_fileoutput(n_URL, URL, 0);
-        des_fileoutput(n_filename, filename, 1);
-        des_char_ptr_ptr(n_contentType, contentType, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoHTTPFetch",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URL);
-            printf(" %d", n_filename);
-            printf(" %d", n_contentType);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoHTTPInit(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlNanoHTTPInit();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoHTTPInit",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoHTTPMimeType(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-    const char * ret_val;
-    void * ctx; /* the HTTP context */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
-
-        ret_val = xmlNanoHTTPMimeType(ctx);
-        desret_const_char_ptr(ret_val);
-        call_tests++;
-        des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoHTTPMimeType",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoHTTPOpen(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-    void * ret_val;
-    const char * URL; /* The URL to load */
-    int n_URL;
-    char ** contentType; /* if available the Content-Type information will be returned at that location */
-    int n_contentType;
-
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) {
-        mem_base = xmlMemBlocks();
-        URL = gen_filepath(n_URL, 0);
-        contentType = gen_char_ptr_ptr(n_contentType, 1);
-
-        ret_val = xmlNanoHTTPOpen(URL, contentType);
-        desret_xmlNanoHTTPCtxtPtr(ret_val);
-        call_tests++;
-        des_filepath(n_URL, URL, 0);
-        des_char_ptr_ptr(n_contentType, contentType, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoHTTPOpen",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URL);
-            printf(" %d", n_contentType);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoHTTPOpenRedir(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-    void * ret_val;
-    const char * URL; /* The URL to load */
-    int n_URL;
-    char ** contentType; /* if available the Content-Type information will be returned at that location */
-    int n_contentType;
-    char ** redir; /* if available the redirected URL will be returned */
-    int n_redir;
-
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) {
-    for (n_redir = 0;n_redir < gen_nb_char_ptr_ptr;n_redir++) {
-        mem_base = xmlMemBlocks();
-        URL = gen_filepath(n_URL, 0);
-        contentType = gen_char_ptr_ptr(n_contentType, 1);
-        redir = gen_char_ptr_ptr(n_redir, 2);
-
-        ret_val = xmlNanoHTTPOpenRedir(URL, contentType, redir);
-        desret_xmlNanoHTTPCtxtPtr(ret_val);
-        call_tests++;
-        des_filepath(n_URL, URL, 0);
-        des_char_ptr_ptr(n_contentType, contentType, 1);
-        des_char_ptr_ptr(n_redir, redir, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoHTTPOpenRedir",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URL);
-            printf(" %d", n_contentType);
-            printf(" %d", n_redir);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoHTTPRead(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* the HTTP context */
-    int n_ctx;
-    void * dest; /* a buffer */
-    int n_dest;
-    int len; /* the buffer length */
-    int n_len;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
-    for (n_dest = 0;n_dest < gen_nb_void_ptr;n_dest++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
-        dest = gen_void_ptr(n_dest, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlNanoHTTPRead(ctx, dest, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
-        des_void_ptr(n_dest, dest, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoHTTPRead",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_dest);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoHTTPRedir(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoHTTPReturnCode(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctx; /* the HTTP context */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
-
-        ret_val = xmlNanoHTTPReturnCode(ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoHTTPReturnCode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoHTTPSave(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * ctxt; /* the HTTP context */
-    int n_ctxt;
-    const char * filename; /* the filename where the content should be saved */
-    int n_filename;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_void_ptr;n_ctxt++) {
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_void_ptr(n_ctxt, 0);
-        filename = gen_fileoutput(n_filename, 1);
-
-        ret_val = xmlNanoHTTPSave(ctxt, filename);
-        desret_int(ret_val);
-        call_tests++;
-        des_void_ptr(n_ctxt, ctxt, 0);
-        des_fileoutput(n_filename, filename, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNanoHTTPSave",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNanoHTTPScanProxy(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    const char * URL; /* The proxy URL used to initialize the proxy context */
-    int n_URL;
-
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-        URL = gen_filepath(n_URL, 0);
-
-        xmlNanoHTTPScanProxy(URL);
-        call_tests++;
-        des_filepath(n_URL, URL, 0);
-        xmlResetLastError();
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_nanohttp(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing nanohttp : 13 of 17 functions ...\n");
-    test_ret += test_xmlNanoHTTPAuthHeader();
-    test_ret += test_xmlNanoHTTPCleanup();
-    test_ret += test_xmlNanoHTTPContentLength();
-    test_ret += test_xmlNanoHTTPEncoding();
-    test_ret += test_xmlNanoHTTPFetch();
-    test_ret += test_xmlNanoHTTPInit();
-    test_ret += test_xmlNanoHTTPMimeType();
-    test_ret += test_xmlNanoHTTPOpen();
-    test_ret += test_xmlNanoHTTPOpenRedir();
-    test_ret += test_xmlNanoHTTPRead();
-    test_ret += test_xmlNanoHTTPRedir();
-    test_ret += test_xmlNanoHTTPReturnCode();
-    test_ret += test_xmlNanoHTTPSave();
-    test_ret += test_xmlNanoHTTPScanProxy();
-
-    if (test_ret != 0)
-       printf("Module nanohttp: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlByteConsumed(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    long ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-
-        ret_val = xmlByteConsumed(ctxt);
-        desret_long(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlByteConsumed",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlClearNodeInfoSeq(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */
-    int n_seq;
-
-    for (n_seq = 0;n_seq < gen_nb_xmlParserNodeInfoSeqPtr;n_seq++) {
-        mem_base = xmlMemBlocks();
-        seq = gen_xmlParserNodeInfoSeqPtr(n_seq, 0);
-
-        xmlClearNodeInfoSeq(seq);
-        call_tests++;
-        des_xmlParserNodeInfoSeqPtr(n_seq, seq, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlClearNodeInfoSeq",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_seq);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlClearParserCtxt(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-
-        xmlClearParserCtxt(ctxt);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlClearParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCreateDocParserCtxt(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserCtxtPtr ret_val;
-    xmlChar * cur; /* a pointer to an array of xmlChar */
-    int n_cur;
-
-    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_const_xmlChar_ptr(n_cur, 0);
-
-        ret_val = xmlCreateDocParserCtxt((const xmlChar *)cur);
-        desret_xmlParserCtxtPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCreateDocParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCreatePushParserCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_PUSH_ENABLED)
-    int mem_base;
-    xmlParserCtxtPtr ret_val;
-    xmlSAXHandlerPtr sax; /* a SAX handler */
-    int n_sax;
-    void * user_data; /* The user data returned on SAX callbacks */
-    int n_user_data;
-    char * chunk; /* a pointer to an array of chars */
-    int n_chunk;
-    int size; /* number of chars in the array */
-    int n_size;
-    const char * filename; /* an optional file name or URI */
-    int n_filename;
-
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
-    for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-        mem_base = xmlMemBlocks();
-        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
-        user_data = gen_userdata(n_user_data, 1);
-        chunk = gen_const_char_ptr(n_chunk, 2);
-        size = gen_int(n_size, 3);
-        filename = gen_fileoutput(n_filename, 4);
-
-        ret_val = xmlCreatePushParserCtxt(sax, user_data, (const char *)chunk, size, filename);
-        desret_xmlParserCtxtPtr(ret_val);
-        call_tests++;
-        des_xmlSAXHandlerPtr(n_sax, sax, 0);
-        des_userdata(n_user_data, user_data, 1);
-        des_const_char_ptr(n_chunk, (const char *)chunk, 2);
-        des_int(n_size, size, 3);
-        des_fileoutput(n_filename, filename, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCreatePushParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_sax);
-            printf(" %d", n_user_data);
-            printf(" %d", n_chunk);
-            printf(" %d", n_size);
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCtxtReadDoc(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    xmlChar * cur; /* a pointer to a zero terminated string */
-    int n_cur;
-    const char * URL; /* the base URL to use for the document */
-    int n_URL;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        cur = gen_const_xmlChar_ptr(n_cur, 1);
-        URL = gen_filepath(n_URL, 2);
-        encoding = gen_const_char_ptr(n_encoding, 3);
-        options = gen_parseroptions(n_options, 4);
-
-        ret_val = xmlCtxtReadDoc(ctxt, (const xmlChar *)cur, URL, (const char *)encoding, options);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
-        des_filepath(n_URL, URL, 2);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
-        des_parseroptions(n_options, options, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCtxtReadDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf(" %d", n_URL);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCtxtReadFile(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    const char * filename; /* a file or URL */
-    int n_filename;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        filename = gen_filepath(n_filename, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-        options = gen_parseroptions(n_options, 3);
-
-        ret_val = xmlCtxtReadFile(ctxt, filename, (const char *)encoding, options);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_filepath(n_filename, filename, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        des_parseroptions(n_options, options, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCtxtReadFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_filename);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCtxtReadMemory(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    char * buffer; /* a pointer to a char array */
-    int n_buffer;
-    int size; /* the size of the array */
-    int n_size;
-    const char * URL; /* the base URL to use for the document */
-    int n_URL;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        buffer = gen_const_char_ptr(n_buffer, 1);
-        size = gen_int(n_size, 2);
-        URL = gen_filepath(n_URL, 3);
-        encoding = gen_const_char_ptr(n_encoding, 4);
-        options = gen_parseroptions(n_options, 5);
-
-        ret_val = xmlCtxtReadMemory(ctxt, (const char *)buffer, size, URL, (const char *)encoding, options);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_char_ptr(n_buffer, (const char *)buffer, 1);
-        des_int(n_size, size, 2);
-        des_filepath(n_URL, URL, 3);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 4);
-        des_parseroptions(n_options, options, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCtxtReadMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf(" %d", n_URL);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCtxtReset(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-
-        xmlCtxtReset(ctxt);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCtxtReset",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCtxtResetPush(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    char * chunk; /* a pointer to an array of chars */
-    int n_chunk;
-    int size; /* number of chars in the array */
-    int n_size;
-    const char * filename; /* an optional file name or URI */
-    int n_filename;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        chunk = gen_const_char_ptr(n_chunk, 1);
-        size = gen_int(n_size, 2);
-        filename = gen_filepath(n_filename, 3);
-        encoding = gen_const_char_ptr(n_encoding, 4);
-
-        ret_val = xmlCtxtResetPush(ctxt, (const char *)chunk, size, filename, (const char *)encoding);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_char_ptr(n_chunk, (const char *)chunk, 1);
-        des_int(n_size, size, 2);
-        des_filepath(n_filename, filename, 3);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCtxtResetPush",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_chunk);
-            printf(" %d", n_size);
-            printf(" %d", n_filename);
-            printf(" %d", n_encoding);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCtxtUseOptions(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        options = gen_parseroptions(n_options, 1);
-
-        ret_val = xmlCtxtUseOptions(ctxt, options);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_parseroptions(n_options, options, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCtxtUseOptions",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetExternalEntityLoader(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetFeature(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_LEGACY_ENABLED)
-#ifdef LIBXML_LEGACY_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML/HTML parser context */
-    int n_ctxt;
-    char * name; /* the feature name */
-    int n_name;
-    void * result; /* location to store the result */
-    int n_result;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
-    for (n_result = 0;n_result < gen_nb_void_ptr;n_result++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        name = gen_const_char_ptr(n_name, 1);
-        result = gen_void_ptr(n_result, 2);
-
-        ret_val = xmlGetFeature(ctxt, (const char *)name, result);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_char_ptr(n_name, (const char *)name, 1);
-        des_void_ptr(n_result, result, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetFeature",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_name);
-            printf(" %d", n_result);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-#define gen_nb_const_char_ptr_ptr 1
-static char ** gen_const_char_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_char_ptr_ptr(int no ATTRIBUTE_UNUSED, const char ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlGetFeaturesList(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_LEGACY_ENABLED)
-#ifdef LIBXML_LEGACY_ENABLED
-    int mem_base;
-    int ret_val;
-    int * len; /* the length of the features name array (input/output) */
-    int n_len;
-    char ** result; /* an array of string to be filled with the features name. */
-    int n_result;
-
-    for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
-    for (n_result = 0;n_result < gen_nb_const_char_ptr_ptr;n_result++) {
-        mem_base = xmlMemBlocks();
-        len = gen_int_ptr(n_len, 0);
-        result = gen_const_char_ptr_ptr(n_result, 1);
-
-        ret_val = xmlGetFeaturesList(len, (const char **)result);
-        desret_int(ret_val);
-        call_tests++;
-        des_int_ptr(n_len, len, 0);
-        des_const_char_ptr_ptr(n_result, (const char **)result, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetFeaturesList",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_len);
-            printf(" %d", n_result);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHasFeature(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlFeature feature; /* the feature to be examined */
-    int n_feature;
-
-    for (n_feature = 0;n_feature < gen_nb_xmlFeature;n_feature++) {
-        mem_base = xmlMemBlocks();
-        feature = gen_xmlFeature(n_feature, 0);
-
-        ret_val = xmlHasFeature(feature);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlFeature(n_feature, feature, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHasFeature",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_feature);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIOParseDTD(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-#ifdef LIBXML_VALID_ENABLED
-    xmlDtdPtr ret_val;
-    xmlSAXHandlerPtr sax; /* the SAX handler block or NULL */
-    int n_sax;
-    xmlParserInputBufferPtr input; /* an Input Buffer */
-    int n_input;
-    xmlCharEncoding enc; /* the charset encoding if known */
-    int n_enc;
-
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
-    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
-        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
-        input = gen_xmlParserInputBufferPtr(n_input, 1);
-        enc = gen_xmlCharEncoding(n_enc, 2);
-
-        ret_val = xmlIOParseDTD(sax, input, enc);
-        input = NULL;
-        desret_xmlDtdPtr(ret_val);
-        call_tests++;
-        des_xmlSAXHandlerPtr(n_sax, sax, 0);
-        des_xmlParserInputBufferPtr(n_input, input, 1);
-        des_xmlCharEncoding(n_enc, enc, 2);
-        xmlResetLastError();
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlInitNodeInfoSeq(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */
-    int n_seq;
-
-    for (n_seq = 0;n_seq < gen_nb_xmlParserNodeInfoSeqPtr;n_seq++) {
-        mem_base = xmlMemBlocks();
-        seq = gen_xmlParserNodeInfoSeqPtr(n_seq, 0);
-
-        xmlInitNodeInfoSeq(seq);
-        call_tests++;
-        des_xmlParserNodeInfoSeqPtr(n_seq, seq, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlInitNodeInfoSeq",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_seq);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlInitParser(void) {
-    int test_ret = 0;
-
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlInitParser();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlInitParser",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlInitParserCtxt(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-
-        ret_val = xmlInitParserCtxt(ctxt);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlInitParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlKeepBlanksDefault(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    int val; /* int 0 or 1 */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_int;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_int(n_val, 0);
-
-        ret_val = xmlKeepBlanksDefault(val);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlKeepBlanksDefault",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlLineNumbersDefault(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    int val; /* int 0 or 1 */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_int;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_int(n_val, 0);
-
-        ret_val = xmlLineNumbersDefault(val);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlLineNumbersDefault",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlLoadExternalEntity(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputPtr ret_val;
-    const char * URL; /* the URL for the entity to load */
-    int n_URL;
-    char * ID; /* the Public ID for the entity to load */
-    int n_ID;
-    xmlParserCtxtPtr ctxt; /* the context in which the entity is called or NULL */
-    int n_ctxt;
-
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_ID = 0;n_ID < gen_nb_const_char_ptr;n_ID++) {
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        URL = gen_filepath(n_URL, 0);
-        ID = gen_const_char_ptr(n_ID, 1);
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 2);
-
-        ret_val = xmlLoadExternalEntity(URL, (const char *)ID, ctxt);
-        desret_xmlParserInputPtr(ret_val);
-        call_tests++;
-        des_filepath(n_URL, URL, 0);
-        des_const_char_ptr(n_ID, (const char *)ID, 1);
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlLoadExternalEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URL);
-            printf(" %d", n_ID);
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewIOInputStream(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputPtr ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    xmlParserInputBufferPtr input; /* an I/O Input */
-    int n_input;
-    xmlCharEncoding enc; /* the charset encoding if known */
-    int n_enc;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
-    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        input = gen_xmlParserInputBufferPtr(n_input, 1);
-        enc = gen_xmlCharEncoding(n_enc, 2);
-
-        ret_val = xmlNewIOInputStream(ctxt, input, enc);
-        if (ret_val != NULL) input = NULL;
-        desret_xmlParserInputPtr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlParserInputBufferPtr(n_input, input, 1);
-        des_xmlCharEncoding(n_enc, enc, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewIOInputStream",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_input);
-            printf(" %d", n_enc);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewParserCtxt(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserCtxtPtr ret_val;
-
-        mem_base = xmlMemBlocks();
-
-        ret_val = xmlNewParserCtxt();
-        desret_xmlParserCtxtPtr(ret_val);
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlNodePtr_ptr 1
-static xmlNodePtr * gen_xmlNodePtr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlNodePtr_ptr(int no ATTRIBUTE_UNUSED, xmlNodePtr * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlParseBalancedChunkMemory(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* the document the chunk pertains to */
-    int n_doc;
-    xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */
-    int n_sax;
-    void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */
-    int n_user_data;
-    int depth; /* Used for loop detection, use 0 */
-    int n_depth;
-    xmlChar * string; /* the input string in UTF8 or ISO-Latin (zero terminated) */
-    int n_string;
-    xmlNodePtr * lst; /* the return value for the set of parsed nodes */
-    int n_lst;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
-    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
-    for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
-    for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        sax = gen_xmlSAXHandlerPtr(n_sax, 1);
-        user_data = gen_userdata(n_user_data, 2);
-        depth = gen_int(n_depth, 3);
-        string = gen_const_xmlChar_ptr(n_string, 4);
-        lst = gen_xmlNodePtr_ptr(n_lst, 5);
-        
-#ifdef LIBXML_SAX1_ENABLED
-        if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
-#endif
-
-
-        ret_val = xmlParseBalancedChunkMemory(doc, sax, user_data, depth, (const xmlChar *)string, lst);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlSAXHandlerPtr(n_sax, sax, 1);
-        des_userdata(n_user_data, user_data, 2);
-        des_int(n_depth, depth, 3);
-        des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 4);
-        des_xmlNodePtr_ptr(n_lst, lst, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseBalancedChunkMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_sax);
-            printf(" %d", n_user_data);
-            printf(" %d", n_depth);
-            printf(" %d", n_string);
-            printf(" %d", n_lst);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseBalancedChunkMemoryRecover(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* the document the chunk pertains to */
-    int n_doc;
-    xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */
-    int n_sax;
-    void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */
-    int n_user_data;
-    int depth; /* Used for loop detection, use 0 */
-    int n_depth;
-    xmlChar * string; /* the input string in UTF8 or ISO-Latin (zero terminated) */
-    int n_string;
-    xmlNodePtr * lst; /* the return value for the set of parsed nodes */
-    int n_lst;
-    int recover; /* return nodes even if the data is broken (use 0) */
-    int n_recover;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
-    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
-    for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
-    for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
-    for (n_recover = 0;n_recover < gen_nb_int;n_recover++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        sax = gen_xmlSAXHandlerPtr(n_sax, 1);
-        user_data = gen_userdata(n_user_data, 2);
-        depth = gen_int(n_depth, 3);
-        string = gen_const_xmlChar_ptr(n_string, 4);
-        lst = gen_xmlNodePtr_ptr(n_lst, 5);
-        recover = gen_int(n_recover, 6);
-        
-#ifdef LIBXML_SAX1_ENABLED
-        if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
-#endif
-
-
-        ret_val = xmlParseBalancedChunkMemoryRecover(doc, sax, user_data, depth, (const xmlChar *)string, lst, recover);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlSAXHandlerPtr(n_sax, sax, 1);
-        des_userdata(n_user_data, user_data, 2);
-        des_int(n_depth, depth, 3);
-        des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 4);
-        des_xmlNodePtr_ptr(n_lst, lst, 5);
-        des_int(n_recover, recover, 6);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseBalancedChunkMemoryRecover",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_sax);
-            printf(" %d", n_user_data);
-            printf(" %d", n_depth);
-            printf(" %d", n_string);
-            printf(" %d", n_lst);
-            printf(" %d", n_recover);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseChunk(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_PUSH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    char * chunk; /* an char array */
-    int n_chunk;
-    int size; /* the size in byte of the chunk */
-    int n_size;
-    int terminate; /* last chunk indicator */
-    int n_terminate;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_terminate = 0;n_terminate < gen_nb_int;n_terminate++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        chunk = gen_const_char_ptr(n_chunk, 1);
-        size = gen_int(n_size, 2);
-        terminate = gen_int(n_terminate, 3);
-
-        ret_val = xmlParseChunk(ctxt, (const char *)chunk, size, terminate);
-        if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_char_ptr(n_chunk, (const char *)chunk, 1);
-        des_int(n_size, size, 2);
-        des_int(n_terminate, terminate, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseChunk",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_chunk);
-            printf(" %d", n_size);
-            printf(" %d", n_terminate);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseCtxtExternalEntity(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctx; /* the existing parsing context */
-    int n_ctx;
-    xmlChar * URL; /* the URL for the entity to load */
-    int n_URL;
-    xmlChar * ID; /* the System ID for the entity to load */
-    int n_ID;
-    xmlNodePtr * lst; /* the return value for the set of parsed nodes */
-    int n_lst;
-
-    for (n_ctx = 0;n_ctx < gen_nb_xmlParserCtxtPtr;n_ctx++) {
-    for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) {
-    for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
-    for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_xmlParserCtxtPtr(n_ctx, 0);
-        URL = gen_const_xmlChar_ptr(n_URL, 1);
-        ID = gen_const_xmlChar_ptr(n_ID, 2);
-        lst = gen_xmlNodePtr_ptr(n_lst, 3);
-
-        ret_val = xmlParseCtxtExternalEntity(ctx, (const xmlChar *)URL, (const xmlChar *)ID, lst);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctx, ctx, 0);
-        des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 1);
-        des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 2);
-        des_xmlNodePtr_ptr(n_lst, lst, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseCtxtExternalEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_URL);
-            printf(" %d", n_ID);
-            printf(" %d", n_lst);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseDTD(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-#ifdef LIBXML_VALID_ENABLED
-    int mem_base;
-    xmlDtdPtr ret_val;
-    xmlChar * ExternalID; /* a NAME* containing the External ID of the DTD */
-    int n_ExternalID;
-    xmlChar * SystemID; /* a NAME* containing the URL to the DTD */
-    int n_SystemID;
-
-    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
-    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
-        mem_base = xmlMemBlocks();
-        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 0);
-        SystemID = gen_const_xmlChar_ptr(n_SystemID, 1);
-
-        ret_val = xmlParseDTD((const xmlChar *)ExternalID, (const xmlChar *)SystemID);
-        desret_xmlDtdPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 0);
-        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseDTD",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ExternalID);
-            printf(" %d", n_SystemID);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlChar * cur; /* a pointer to an array of xmlChar */
-    int n_cur;
-
-    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_const_xmlChar_ptr(n_cur, 0);
-
-        ret_val = xmlParseDoc((const xmlChar *)cur);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseDocument(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-
-        ret_val = xmlParseDocument(ctxt);
-        if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseDocument",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseEntity(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlDocPtr ret_val;
-    const char * filename; /* the filename */
-    int n_filename;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_filepath(n_filename, 0);
-
-        ret_val = xmlParseEntity(filename);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseExtParsedEnt(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-
-        ret_val = xmlParseExtParsedEnt(ctxt);
-        if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseExtParsedEnt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseExternalEntity(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* the document the chunk pertains to */
-    int n_doc;
-    xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */
-    int n_sax;
-    void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */
-    int n_user_data;
-    int depth; /* Used for loop detection, use 0 */
-    int n_depth;
-    xmlChar * URL; /* the URL for the entity to load */
-    int n_URL;
-    xmlChar * ID; /* the System ID for the entity to load */
-    int n_ID;
-    xmlNodePtr * lst; /* the return value for the set of parsed nodes */
-    int n_lst;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
-    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
-    for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) {
-    for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
-    for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        sax = gen_xmlSAXHandlerPtr(n_sax, 1);
-        user_data = gen_userdata(n_user_data, 2);
-        depth = gen_int(n_depth, 3);
-        URL = gen_const_xmlChar_ptr(n_URL, 4);
-        ID = gen_const_xmlChar_ptr(n_ID, 5);
-        lst = gen_xmlNodePtr_ptr(n_lst, 6);
-
-        ret_val = xmlParseExternalEntity(doc, sax, user_data, depth, (const xmlChar *)URL, (const xmlChar *)ID, lst);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlSAXHandlerPtr(n_sax, sax, 1);
-        des_userdata(n_user_data, user_data, 2);
-        des_int(n_depth, depth, 3);
-        des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 4);
-        des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 5);
-        des_xmlNodePtr_ptr(n_lst, lst, 6);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseExternalEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_sax);
-            printf(" %d", n_user_data);
-            printf(" %d", n_depth);
-            printf(" %d", n_URL);
-            printf(" %d", n_ID);
-            printf(" %d", n_lst);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlDocPtr ret_val;
-    const char * filename; /* the filename */
-    int n_filename;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_filepath(n_filename, 0);
-
-        ret_val = xmlParseFile(filename);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseInNodeContext(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserErrors ret_val;
-    xmlNodePtr node; /* the context node */
-    int n_node;
-    char * data; /* the input string */
-    int n_data;
-    int datalen; /* the input string length in bytes */
-    int n_datalen;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-    xmlNodePtr * lst; /* the return value for the set of parsed nodes */
-    int n_lst;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) {
-    for (n_datalen = 0;n_datalen < gen_nb_int;n_datalen++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-    for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        data = gen_const_char_ptr(n_data, 1);
-        datalen = gen_int(n_datalen, 2);
-        options = gen_parseroptions(n_options, 3);
-        lst = gen_xmlNodePtr_ptr(n_lst, 4);
-
-        ret_val = xmlParseInNodeContext(node, (const char *)data, datalen, options, lst);
-        desret_xmlParserErrors(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_const_char_ptr(n_data, (const char *)data, 1);
-        des_int(n_datalen, datalen, 2);
-        des_parseroptions(n_options, options, 3);
-        des_xmlNodePtr_ptr(n_lst, lst, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseInNodeContext",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_data);
-            printf(" %d", n_datalen);
-            printf(" %d", n_options);
-            printf(" %d", n_lst);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseMemory(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlDocPtr ret_val;
-    char * buffer; /* an pointer to a char array */
-    int n_buffer;
-    int size; /* the size of the array */
-    int n_size;
-
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-        mem_base = xmlMemBlocks();
-        buffer = gen_const_char_ptr(n_buffer, 0);
-        size = gen_int(n_size, 1);
-
-        ret_val = xmlParseMemory((const char *)buffer, size);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
-        des_int(n_size, size, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-#define gen_nb_const_xmlParserNodeInfoPtr 1
-static xmlParserNodeInfoPtr gen_const_xmlParserNodeInfoPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlParserNodeInfoPtr(int no ATTRIBUTE_UNUSED, const xmlParserNodeInfoPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlParserAddNodeInfo(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    xmlParserNodeInfoPtr info; /* a node info sequence pointer */
-    int n_info;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_info = 0;n_info < gen_nb_const_xmlParserNodeInfoPtr;n_info++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        info = gen_const_xmlParserNodeInfoPtr(n_info, 1);
-
-        xmlParserAddNodeInfo(ctxt, (const xmlParserNodeInfoPtr)info);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_xmlParserNodeInfoPtr(n_info, (const xmlParserNodeInfoPtr)info, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserAddNodeInfo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_info);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_const_xmlParserCtxtPtr 1
-static xmlParserCtxtPtr gen_const_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, const xmlParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-#define gen_nb_const_xmlNodePtr 1
-static xmlNodePtr gen_const_xmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlNodePtr(int no ATTRIBUTE_UNUSED, const xmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlParserFindNodeInfo(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const xmlParserNodeInfo * ret_val;
-    xmlParserCtxtPtr ctx; /* an XML parser context */
-    int n_ctx;
-    xmlNodePtr node; /* an XML node within the tree */
-    int n_node;
-
-    for (n_ctx = 0;n_ctx < gen_nb_const_xmlParserCtxtPtr;n_ctx++) {
-    for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_const_xmlParserCtxtPtr(n_ctx, 0);
-        node = gen_const_xmlNodePtr(n_node, 1);
-
-        ret_val = xmlParserFindNodeInfo((const xmlParserCtxtPtr)ctx, (const xmlNodePtr)node);
-        desret_const_xmlParserNodeInfo_ptr(ret_val);
-        call_tests++;
-        des_const_xmlParserCtxtPtr(n_ctx, (const xmlParserCtxtPtr)ctx, 0);
-        des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserFindNodeInfo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_const_xmlParserNodeInfoSeqPtr 1
-static xmlParserNodeInfoSeqPtr gen_const_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, const xmlParserNodeInfoSeqPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlParserFindNodeInfoIndex(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    unsigned long ret_val;
-    xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */
-    int n_seq;
-    xmlNodePtr node; /* an XML node pointer */
-    int n_node;
-
-    for (n_seq = 0;n_seq < gen_nb_const_xmlParserNodeInfoSeqPtr;n_seq++) {
-    for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        seq = gen_const_xmlParserNodeInfoSeqPtr(n_seq, 0);
-        node = gen_const_xmlNodePtr(n_node, 1);
-
-        ret_val = xmlParserFindNodeInfoIndex((const xmlParserNodeInfoSeqPtr)seq, (const xmlNodePtr)node);
-        desret_unsigned_long(ret_val);
-        call_tests++;
-        des_const_xmlParserNodeInfoSeqPtr(n_seq, (const xmlParserNodeInfoSeqPtr)seq, 0);
-        des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserFindNodeInfoIndex",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_seq);
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlParserInputPtr 1
-static xmlParserInputPtr gen_xmlParserInputPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlParserInputPtr(int no ATTRIBUTE_UNUSED, xmlParserInputPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlParserInputGrow(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserInputPtr in; /* an XML parser input */
-    int n_in;
-    int len; /* an indicative size for the lookahead */
-    int n_len;
-
-    for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        in = gen_xmlParserInputPtr(n_in, 0);
-        len = gen_int(n_len, 1);
-
-        ret_val = xmlParserInputGrow(in, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserInputPtr(n_in, in, 0);
-        des_int(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserInputGrow",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_in);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserInputRead(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserInputPtr in; /* an XML parser input */
-    int n_in;
-    int len; /* an indicative size for the lookahead */
-    int n_len;
-
-    for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        in = gen_xmlParserInputPtr(n_in, 0);
-        len = gen_int(n_len, 1);
-
-        ret_val = xmlParserInputRead(in, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserInputPtr(n_in, in, 0);
-        des_int(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserInputRead",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_in);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlPedanticParserDefault(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    int val; /* int 0 or 1 */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_int;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_int(n_val, 0);
-
-        ret_val = xmlPedanticParserDefault(val);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlPedanticParserDefault",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlReadDoc(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlChar * cur; /* a pointer to a zero terminated string */
-    int n_cur;
-    const char * URL; /* the base URL to use for the document */
-    int n_URL;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_const_xmlChar_ptr(n_cur, 0);
-        URL = gen_filepath(n_URL, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-        options = gen_parseroptions(n_options, 3);
-
-        ret_val = xmlReadDoc((const xmlChar *)cur, URL, (const char *)encoding, options);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
-        des_filepath(n_URL, URL, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        des_parseroptions(n_options, options, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlReadDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_URL);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlReadFile(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlDocPtr ret_val;
-    const char * filename; /* a file or URL */
-    int n_filename;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_filepath(n_filename, 0);
-        encoding = gen_const_char_ptr(n_encoding, 1);
-        options = gen_parseroptions(n_options, 2);
-
-        ret_val = xmlReadFile(filename, (const char *)encoding, options);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
-        des_parseroptions(n_options, options, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlReadFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlReadMemory(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlDocPtr ret_val;
-    char * buffer; /* a pointer to a char array */
-    int n_buffer;
-    int size; /* the size of the array */
-    int n_size;
-    const char * URL; /* the base URL to use for the document */
-    int n_URL;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        buffer = gen_const_char_ptr(n_buffer, 0);
-        size = gen_int(n_size, 1);
-        URL = gen_filepath(n_URL, 2);
-        encoding = gen_const_char_ptr(n_encoding, 3);
-        options = gen_parseroptions(n_options, 4);
-
-        ret_val = xmlReadMemory((const char *)buffer, size, URL, (const char *)encoding, options);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
-        des_int(n_size, size, 1);
-        des_filepath(n_URL, URL, 2);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
-        des_parseroptions(n_options, options, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlReadMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf(" %d", n_URL);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRecoverDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlChar * cur; /* a pointer to an array of xmlChar */
-    int n_cur;
-
-    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_const_xmlChar_ptr(n_cur, 0);
-
-        ret_val = xmlRecoverDoc((const xmlChar *)cur);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRecoverDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRecoverFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlDocPtr ret_val;
-    const char * filename; /* the filename */
-    int n_filename;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_filepath(n_filename, 0);
-
-        ret_val = xmlRecoverFile(filename);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRecoverFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRecoverMemory(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlDocPtr ret_val;
-    char * buffer; /* an pointer to a char array */
-    int n_buffer;
-    int size; /* the size of the array */
-    int n_size;
-
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-        mem_base = xmlMemBlocks();
-        buffer = gen_const_char_ptr(n_buffer, 0);
-        size = gen_int(n_size, 1);
-
-        ret_val = xmlRecoverMemory((const char *)buffer, size);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
-        des_int(n_size, size, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRecoverMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAXParseDTD(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlDtdPtr ret_val;
-    xmlSAXHandlerPtr sax; /* the SAX handler block */
-    int n_sax;
-    xmlChar * ExternalID; /* a NAME* containing the External ID of the DTD */
-    int n_ExternalID;
-    xmlChar * SystemID; /* a NAME* containing the URL to the DTD */
-    int n_SystemID;
-
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
-    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
-        mem_base = xmlMemBlocks();
-        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
-        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1);
-        SystemID = gen_const_xmlChar_ptr(n_SystemID, 2);
-
-        ret_val = xmlSAXParseDTD(sax, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
-        desret_xmlDtdPtr(ret_val);
-        call_tests++;
-        des_xmlSAXHandlerPtr(n_sax, sax, 0);
-        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1);
-        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAXParseDTD",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_sax);
-            printf(" %d", n_ExternalID);
-            printf(" %d", n_SystemID);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAXParseDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlSAXHandlerPtr sax; /* the SAX handler block */
-    int n_sax;
-    xmlChar * cur; /* a pointer to an array of xmlChar */
-    int n_cur;
-    int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
-    int n_recovery;
-
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
-    for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
-        mem_base = xmlMemBlocks();
-        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
-        cur = gen_const_xmlChar_ptr(n_cur, 1);
-        recovery = gen_int(n_recovery, 2);
-
-        ret_val = xmlSAXParseDoc(sax, (const xmlChar *)cur, recovery);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_xmlSAXHandlerPtr(n_sax, sax, 0);
-        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
-        des_int(n_recovery, recovery, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAXParseDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_sax);
-            printf(" %d", n_cur);
-            printf(" %d", n_recovery);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAXParseEntity(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlSAXHandlerPtr sax; /* the SAX handler block */
-    int n_sax;
-    const char * filename; /* the filename */
-    int n_filename;
-
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
-        filename = gen_filepath(n_filename, 1);
-
-        ret_val = xmlSAXParseEntity(sax, filename);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_xmlSAXHandlerPtr(n_sax, sax, 0);
-        des_filepath(n_filename, filename, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAXParseEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_sax);
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAXParseFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlSAXHandlerPtr sax; /* the SAX handler block */
-    int n_sax;
-    const char * filename; /* the filename */
-    int n_filename;
-    int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
-    int n_recovery;
-
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-    for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
-        mem_base = xmlMemBlocks();
-        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
-        filename = gen_filepath(n_filename, 1);
-        recovery = gen_int(n_recovery, 2);
-
-        ret_val = xmlSAXParseFile(sax, filename, recovery);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_xmlSAXHandlerPtr(n_sax, sax, 0);
-        des_filepath(n_filename, filename, 1);
-        des_int(n_recovery, recovery, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAXParseFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_sax);
-            printf(" %d", n_filename);
-            printf(" %d", n_recovery);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAXParseFileWithData(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlSAXHandlerPtr sax; /* the SAX handler block */
-    int n_sax;
-    const char * filename; /* the filename */
-    int n_filename;
-    int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
-    int n_recovery;
-    void * data; /* the userdata */
-    int n_data;
-
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-    for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
-        filename = gen_filepath(n_filename, 1);
-        recovery = gen_int(n_recovery, 2);
-        data = gen_userdata(n_data, 3);
-
-        ret_val = xmlSAXParseFileWithData(sax, filename, recovery, data);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_xmlSAXHandlerPtr(n_sax, sax, 0);
-        des_filepath(n_filename, filename, 1);
-        des_int(n_recovery, recovery, 2);
-        des_userdata(n_data, data, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAXParseFileWithData",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_sax);
-            printf(" %d", n_filename);
-            printf(" %d", n_recovery);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAXParseMemory(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlSAXHandlerPtr sax; /* the SAX handler block */
-    int n_sax;
-    char * buffer; /* an pointer to a char array */
-    int n_buffer;
-    int size; /* the size of the array */
-    int n_size;
-    int recovery; /* work in recovery mode, i.e. tries to read not Well Formed documents */
-    int n_recovery;
-
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
-        mem_base = xmlMemBlocks();
-        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
-        buffer = gen_const_char_ptr(n_buffer, 1);
-        size = gen_int(n_size, 2);
-        recovery = gen_int(n_recovery, 3);
-
-        ret_val = xmlSAXParseMemory(sax, (const char *)buffer, size, recovery);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_xmlSAXHandlerPtr(n_sax, sax, 0);
-        des_const_char_ptr(n_buffer, (const char *)buffer, 1);
-        des_int(n_size, size, 2);
-        des_int(n_recovery, recovery, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAXParseMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_sax);
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf(" %d", n_recovery);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAXParseMemoryWithData(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlSAXHandlerPtr sax; /* the SAX handler block */
-    int n_sax;
-    char * buffer; /* an pointer to a char array */
-    int n_buffer;
-    int size; /* the size of the array */
-    int n_size;
-    int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
-    int n_recovery;
-    void * data; /* the userdata */
-    int n_data;
-
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
-        buffer = gen_const_char_ptr(n_buffer, 1);
-        size = gen_int(n_size, 2);
-        recovery = gen_int(n_recovery, 3);
-        data = gen_userdata(n_data, 4);
-
-        ret_val = xmlSAXParseMemoryWithData(sax, (const char *)buffer, size, recovery, data);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_xmlSAXHandlerPtr(n_sax, sax, 0);
-        des_const_char_ptr(n_buffer, (const char *)buffer, 1);
-        des_int(n_size, size, 2);
-        des_int(n_recovery, recovery, 3);
-        des_userdata(n_data, data, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAXParseMemoryWithData",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_sax);
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf(" %d", n_recovery);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAXUserParseFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlSAXHandlerPtr sax; /* a SAX handler */
-    int n_sax;
-    void * user_data; /* The user data returned on SAX callbacks */
-    int n_user_data;
-    const char * filename; /* a file name */
-    int n_filename;
-
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
-        user_data = gen_userdata(n_user_data, 1);
-        filename = gen_filepath(n_filename, 2);
-        
-#ifdef LIBXML_SAX1_ENABLED
-        if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
-#endif
-
-
-        ret_val = xmlSAXUserParseFile(sax, user_data, filename);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSAXHandlerPtr(n_sax, sax, 0);
-        des_userdata(n_user_data, user_data, 1);
-        des_filepath(n_filename, filename, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAXUserParseFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_sax);
-            printf(" %d", n_user_data);
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSAXUserParseMemory(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlSAXHandlerPtr sax; /* a SAX handler */
-    int n_sax;
-    void * user_data; /* The user data returned on SAX callbacks */
-    int n_user_data;
-    char * buffer; /* an in-memory XML document input */
-    int n_buffer;
-    int size; /* the length of the XML document in bytes */
-    int n_size;
-
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-        mem_base = xmlMemBlocks();
-        sax = gen_xmlSAXHandlerPtr(n_sax, 0);
-        user_data = gen_userdata(n_user_data, 1);
-        buffer = gen_const_char_ptr(n_buffer, 2);
-        size = gen_int(n_size, 3);
-        
-#ifdef LIBXML_SAX1_ENABLED
-        if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
-#endif
-
-
-        ret_val = xmlSAXUserParseMemory(sax, user_data, (const char *)buffer, size);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSAXHandlerPtr(n_sax, sax, 0);
-        des_userdata(n_user_data, user_data, 1);
-        des_const_char_ptr(n_buffer, (const char *)buffer, 2);
-        des_int(n_size, size, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSAXUserParseMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_sax);
-            printf(" %d", n_user_data);
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSetExternalEntityLoader(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSetFeature(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_LEGACY_ENABLED)
-#ifdef LIBXML_LEGACY_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML/HTML parser context */
-    int n_ctxt;
-    char * name; /* the feature name */
-    int n_name;
-    void * value; /* pointer to the location of the new value */
-    int n_value;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
-    for (n_value = 0;n_value < gen_nb_void_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        name = gen_const_char_ptr(n_name, 1);
-        value = gen_void_ptr(n_value, 2);
-
-        ret_val = xmlSetFeature(ctxt, (const char *)name, value);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_char_ptr(n_name, (const char *)name, 1);
-        des_void_ptr(n_value, value, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSetFeature",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_name);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSetupParserForBuffer(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SAX1_ENABLED)
-#ifdef LIBXML_SAX1_ENABLED
-    int mem_base;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    xmlChar * buffer; /* a xmlChar * buffer */
-    int n_buffer;
-    const char * filename; /* a file name */
-    int n_filename;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_buffer = 0;n_buffer < gen_nb_const_xmlChar_ptr;n_buffer++) {
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        buffer = gen_const_xmlChar_ptr(n_buffer, 1);
-        filename = gen_filepath(n_filename, 2);
-
-        xmlSetupParserForBuffer(ctxt, (const xmlChar *)buffer, filename);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_buffer, (const xmlChar *)buffer, 1);
-        des_filepath(n_filename, filename, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSetupParserForBuffer",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_buffer);
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStopParser(void) {
-    int test_ret = 0;
-
-#ifdef LIBXML_PUSH_ENABLED
-    int mem_base;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-
-        xmlStopParser(ctxt);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStopParser",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSubstituteEntitiesDefault(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    int val; /* int 0 or 1 */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_int;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_int(n_val, 0);
-
-        ret_val = xmlSubstituteEntitiesDefault(val);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSubstituteEntitiesDefault",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-static int
-test_parser(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing parser : 61 of 70 functions ...\n");
-    test_ret += test_xmlByteConsumed();
-    test_ret += test_xmlClearNodeInfoSeq();
-    test_ret += test_xmlClearParserCtxt();
-    test_ret += test_xmlCreateDocParserCtxt();
-    test_ret += test_xmlCreatePushParserCtxt();
-    test_ret += test_xmlCtxtReadDoc();
-    test_ret += test_xmlCtxtReadFile();
-    test_ret += test_xmlCtxtReadMemory();
-    test_ret += test_xmlCtxtReset();
-    test_ret += test_xmlCtxtResetPush();
-    test_ret += test_xmlCtxtUseOptions();
-    test_ret += test_xmlGetExternalEntityLoader();
-    test_ret += test_xmlGetFeature();
-    test_ret += test_xmlGetFeaturesList();
-    test_ret += test_xmlHasFeature();
-    test_ret += test_xmlIOParseDTD();
-    test_ret += test_xmlInitNodeInfoSeq();
-    test_ret += test_xmlInitParser();
-    test_ret += test_xmlInitParserCtxt();
-    test_ret += test_xmlKeepBlanksDefault();
-    test_ret += test_xmlLineNumbersDefault();
-    test_ret += test_xmlLoadExternalEntity();
-    test_ret += test_xmlNewIOInputStream();
-    test_ret += test_xmlNewParserCtxt();
-    test_ret += test_xmlParseBalancedChunkMemory();
-    test_ret += test_xmlParseBalancedChunkMemoryRecover();
-    test_ret += test_xmlParseChunk();
-    test_ret += test_xmlParseCtxtExternalEntity();
-    test_ret += test_xmlParseDTD();
-    test_ret += test_xmlParseDoc();
-    test_ret += test_xmlParseDocument();
-    test_ret += test_xmlParseEntity();
-    test_ret += test_xmlParseExtParsedEnt();
-    test_ret += test_xmlParseExternalEntity();
-    test_ret += test_xmlParseFile();
-    test_ret += test_xmlParseInNodeContext();
-    test_ret += test_xmlParseMemory();
-    test_ret += test_xmlParserAddNodeInfo();
-    test_ret += test_xmlParserFindNodeInfo();
-    test_ret += test_xmlParserFindNodeInfoIndex();
-    test_ret += test_xmlParserInputGrow();
-    test_ret += test_xmlParserInputRead();
-    test_ret += test_xmlPedanticParserDefault();
-    test_ret += test_xmlReadDoc();
-    test_ret += test_xmlReadFile();
-    test_ret += test_xmlReadMemory();
-    test_ret += test_xmlRecoverDoc();
-    test_ret += test_xmlRecoverFile();
-    test_ret += test_xmlRecoverMemory();
-    test_ret += test_xmlSAXParseDTD();
-    test_ret += test_xmlSAXParseDoc();
-    test_ret += test_xmlSAXParseEntity();
-    test_ret += test_xmlSAXParseFile();
-    test_ret += test_xmlSAXParseFileWithData();
-    test_ret += test_xmlSAXParseMemory();
-    test_ret += test_xmlSAXParseMemoryWithData();
-    test_ret += test_xmlSAXUserParseFile();
-    test_ret += test_xmlSAXUserParseMemory();
-    test_ret += test_xmlSetExternalEntityLoader();
-    test_ret += test_xmlSetFeature();
-    test_ret += test_xmlSetupParserForBuffer();
-    test_ret += test_xmlStopParser();
-    test_ret += test_xmlSubstituteEntitiesDefault();
-
-    if (test_ret != 0)
-       printf("Module parser: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_htmlCreateFileParserCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    htmlParserCtxtPtr ret_val;
-    const char * filename; /* the filename */
-    int n_filename;
-    char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
-    int n_encoding;
-
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_fileoutput(n_filename, 0);
-        encoding = gen_const_char_ptr(n_encoding, 1);
-
-        ret_val = htmlCreateFileParserCtxt(filename, (const char *)encoding);
-        desret_htmlParserCtxtPtr(ret_val);
-        call_tests++;
-        des_fileoutput(n_filename, filename, 0);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlCreateFileParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf(" %d", n_encoding);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_htmlInitAutoClose(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        htmlInitAutoClose();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in htmlInitAutoClose",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_inputPop(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputPtr ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-
-        ret_val = inputPop(ctxt);
-        desret_xmlParserInputPtr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in inputPop",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_inputPush(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    xmlParserInputPtr value; /* the parser input */
-    int n_value;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_value = 0;n_value < gen_nb_xmlParserInputPtr;n_value++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        value = gen_xmlParserInputPtr(n_value, 1);
-
-        ret_val = inputPush(ctxt, value);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlParserInputPtr(n_value, value, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in inputPush",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_namePop(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-
-        ret_val = namePop(ctxt);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in namePop",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_namePush(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    xmlChar * value; /* the element name */
-    int n_value;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        value = gen_const_xmlChar_ptr(n_value, 1);
-
-        ret_val = namePush(ctxt, (const xmlChar *)value);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in namePush",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_nodePop(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-
-        ret_val = nodePop(ctxt);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in nodePop",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_nodePush(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    xmlNodePtr value; /* the element node */
-    int n_value;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_value = 0;n_value < gen_nb_xmlNodePtr;n_value++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        value = gen_xmlNodePtr(n_value, 1);
-
-        ret_val = nodePush(ctxt, value);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_value, value, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in nodePush",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCheckLanguageID(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * lang; /* pointer to the string value */
-    int n_lang;
-
-    for (n_lang = 0;n_lang < gen_nb_const_xmlChar_ptr;n_lang++) {
-        mem_base = xmlMemBlocks();
-        lang = gen_const_xmlChar_ptr(n_lang, 0);
-
-        ret_val = xmlCheckLanguageID((const xmlChar *)lang);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_lang, (const xmlChar *)lang, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCheckLanguageID",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_lang);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCopyChar(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    int len; /* Ignored, compatibility */
-    int n_len;
-    xmlChar * out; /* pointer to an array of xmlChar */
-    int n_out;
-    int val; /* the char value */
-    int n_val;
-
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-    for (n_out = 0;n_out < gen_nb_xmlChar_ptr;n_out++) {
-    for (n_val = 0;n_val < gen_nb_int;n_val++) {
-        mem_base = xmlMemBlocks();
-        len = gen_int(n_len, 0);
-        out = gen_xmlChar_ptr(n_out, 1);
-        val = gen_int(n_val, 2);
-
-        ret_val = xmlCopyChar(len, out, val);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_len, len, 0);
-        des_xmlChar_ptr(n_out, out, 1);
-        des_int(n_val, val, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCopyChar",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_len);
-            printf(" %d", n_out);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCopyCharMultiByte(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * out; /* pointer to an array of xmlChar */
-    int n_out;
-    int val; /* the char value */
-    int n_val;
-
-    for (n_out = 0;n_out < gen_nb_xmlChar_ptr;n_out++) {
-    for (n_val = 0;n_val < gen_nb_int;n_val++) {
-        mem_base = xmlMemBlocks();
-        out = gen_xmlChar_ptr(n_out, 0);
-        val = gen_int(n_val, 1);
-
-        ret_val = xmlCopyCharMultiByte(out, val);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlChar_ptr(n_out, out, 0);
-        des_int(n_val, val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCopyCharMultiByte",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCreateEntityParserCtxt(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserCtxtPtr ret_val;
-    xmlChar * URL; /* the entity URL */
-    int n_URL;
-    xmlChar * ID; /* the entity PUBLIC ID */
-    int n_ID;
-    xmlChar * base; /* a possible base for the target URI */
-    int n_base;
-
-    for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) {
-    for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
-    for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) {
-        mem_base = xmlMemBlocks();
-        URL = gen_const_xmlChar_ptr(n_URL, 0);
-        ID = gen_const_xmlChar_ptr(n_ID, 1);
-        base = gen_const_xmlChar_ptr(n_base, 2);
-
-        ret_val = xmlCreateEntityParserCtxt((const xmlChar *)URL, (const xmlChar *)ID, (const xmlChar *)base);
-        desret_xmlParserCtxtPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 0);
-        des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 1);
-        des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCreateEntityParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URL);
-            printf(" %d", n_ID);
-            printf(" %d", n_base);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCreateFileParserCtxt(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserCtxtPtr ret_val;
-    const char * filename; /* the filename */
-    int n_filename;
-
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_fileoutput(n_filename, 0);
-
-        ret_val = xmlCreateFileParserCtxt(filename);
-        desret_xmlParserCtxtPtr(ret_val);
-        call_tests++;
-        des_fileoutput(n_filename, filename, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCreateFileParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCreateMemoryParserCtxt(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserCtxtPtr ret_val;
-    char * buffer; /* a pointer to a char array */
-    int n_buffer;
-    int size; /* the size of the array */
-    int n_size;
-
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-        mem_base = xmlMemBlocks();
-        buffer = gen_const_char_ptr(n_buffer, 0);
-        size = gen_int(n_size, 1);
-
-        ret_val = xmlCreateMemoryParserCtxt((const char *)buffer, size);
-        desret_xmlParserCtxtPtr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
-        des_int(n_size, size, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCreateMemoryParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCreateURLParserCtxt(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserCtxtPtr ret_val;
-    const char * filename; /* the filename or URL */
-    int n_filename;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_fileoutput(n_filename, 0);
-        options = gen_int(n_options, 1);
-
-        ret_val = xmlCreateURLParserCtxt(filename, options);
-        desret_xmlParserCtxtPtr(ret_val);
-        call_tests++;
-        des_fileoutput(n_filename, filename, 0);
-        des_int(n_options, options, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCreateURLParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCurrentChar(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* the XML parser context */
-    int n_ctxt;
-    int * len; /* pointer to the length of the char read */
-    int n_len;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        len = gen_int_ptr(n_len, 1);
-
-        ret_val = xmlCurrentChar(ctxt, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_int_ptr(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCurrentChar",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlErrMemory(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    char * extra; /* extra informations */
-    int n_extra;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_extra = 0;n_extra < gen_nb_const_char_ptr;n_extra++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        extra = gen_const_char_ptr(n_extra, 1);
-
-        xmlErrMemory(ctxt, (const char *)extra);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_char_ptr(n_extra, (const char *)extra, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlErrMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_extra);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIsLetter(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    int c; /* an unicode character (int) */
-    int n_c;
-
-    for (n_c = 0;n_c < gen_nb_int;n_c++) {
-        mem_base = xmlMemBlocks();
-        c = gen_int(n_c, 0);
-
-        ret_val = xmlIsLetter(c);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_c, c, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIsLetter",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_c);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewEntityInputStream(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputPtr ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    xmlEntityPtr entity; /* an Entity pointer */
-    int n_entity;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_entity = 0;n_entity < gen_nb_xmlEntityPtr;n_entity++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        entity = gen_xmlEntityPtr(n_entity, 1);
-
-        ret_val = xmlNewEntityInputStream(ctxt, entity);
-        desret_xmlParserInputPtr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlEntityPtr(n_entity, entity, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewEntityInputStream",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_entity);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewInputFromFile(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputPtr ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    const char * filename; /* the filename to use as entity */
-    int n_filename;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        filename = gen_filepath(n_filename, 1);
-
-        ret_val = xmlNewInputFromFile(ctxt, filename);
-        desret_xmlParserInputPtr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_filepath(n_filename, filename, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewInputFromFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewInputStream(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputPtr ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-
-        ret_val = xmlNewInputStream(ctxt);
-        desret_xmlParserInputPtr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewInputStream",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewStringInputStream(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputPtr ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    xmlChar * buffer; /* an memory buffer */
-    int n_buffer;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_buffer = 0;n_buffer < gen_nb_const_xmlChar_ptr;n_buffer++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        buffer = gen_const_xmlChar_ptr(n_buffer, 1);
-
-        ret_val = xmlNewStringInputStream(ctxt, (const xmlChar *)buffer);
-        desret_xmlParserInputPtr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_buffer, (const xmlChar *)buffer, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewStringInputStream",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_buffer);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNextChar(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserCtxtPtr ctxt; /* the XML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-
-        xmlNextChar(ctxt);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNextChar",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserInputShrink(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputPtr in; /* an XML parser input */
-    int n_in;
-
-    for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) {
-        mem_base = xmlMemBlocks();
-        in = gen_xmlParserInputPtr(n_in, 0);
-
-        xmlParserInputShrink(in);
-        call_tests++;
-        des_xmlParserInputPtr(n_in, in, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserInputShrink",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_in);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlPopInput(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-
-        ret_val = xmlPopInput(ctxt);
-        desret_xmlChar(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlPopInput",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlPushInput(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    xmlParserInputPtr input; /* an XML parser input fragment (entity, XML fragment ...). */
-    int n_input;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        input = gen_xmlParserInputPtr(n_input, 1);
-
-        ret_val = xmlPushInput(ctxt, input);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlParserInputPtr(n_input, input, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlPushInput",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_input);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSetEntityReferenceFunc(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSplitQName(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    xmlChar * name; /* an XML parser context */
-    int n_name;
-    xmlChar ** prefix; /* a xmlChar ** */
-    int n_prefix;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_prefix = 0;n_prefix < gen_nb_xmlChar_ptr_ptr;n_prefix++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        prefix = gen_xmlChar_ptr_ptr(n_prefix, 2);
-
-        ret_val = xmlSplitQName(ctxt, (const xmlChar *)name, prefix);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_xmlChar_ptr_ptr(n_prefix, prefix, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSplitQName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_name);
-            printf(" %d", n_prefix);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStringCurrentChar(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* the XML parser context */
-    int n_ctxt;
-    xmlChar * cur; /* pointer to the beginning of the char */
-    int n_cur;
-    int * len; /* pointer to the length of the char read */
-    int n_len;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
-    for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        cur = gen_const_xmlChar_ptr(n_cur, 1);
-        len = gen_int_ptr(n_len, 2);
-
-        ret_val = xmlStringCurrentChar(ctxt, (const xmlChar *)cur, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
-        des_int_ptr(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStringCurrentChar",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStringDecodeEntities(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlParserCtxtPtr ctxt; /* the parser context */
-    int n_ctxt;
-    xmlChar * str; /* the input string */
-    int n_str;
-    int what; /* combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF */
-    int n_what;
-    xmlChar end; /* an end marker xmlChar, 0 if none */
-    int n_end;
-    xmlChar end2; /* an end marker xmlChar, 0 if none */
-    int n_end2;
-    xmlChar end3; /* an end marker xmlChar, 0 if none */
-    int n_end3;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-    for (n_what = 0;n_what < gen_nb_int;n_what++) {
-    for (n_end = 0;n_end < gen_nb_xmlChar;n_end++) {
-    for (n_end2 = 0;n_end2 < gen_nb_xmlChar;n_end2++) {
-    for (n_end3 = 0;n_end3 < gen_nb_xmlChar;n_end3++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        str = gen_const_xmlChar_ptr(n_str, 1);
-        what = gen_int(n_what, 2);
-        end = gen_xmlChar(n_end, 3);
-        end2 = gen_xmlChar(n_end2, 4);
-        end3 = gen_xmlChar(n_end3, 5);
-
-        ret_val = xmlStringDecodeEntities(ctxt, (const xmlChar *)str, what, end, end2, end3);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
-        des_int(n_what, what, 2);
-        des_xmlChar(n_end, end, 3);
-        des_xmlChar(n_end2, end2, 4);
-        des_xmlChar(n_end3, end3, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStringDecodeEntities",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_str);
-            printf(" %d", n_what);
-            printf(" %d", n_end);
-            printf(" %d", n_end2);
-            printf(" %d", n_end3);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStringLenDecodeEntities(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlParserCtxtPtr ctxt; /* the parser context */
-    int n_ctxt;
-    xmlChar * str; /* the input string */
-    int n_str;
-    int len; /* the string length */
-    int n_len;
-    int what; /* combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF */
-    int n_what;
-    xmlChar end; /* an end marker xmlChar, 0 if none */
-    int n_end;
-    xmlChar end2; /* an end marker xmlChar, 0 if none */
-    int n_end2;
-    xmlChar end3; /* an end marker xmlChar, 0 if none */
-    int n_end3;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-    for (n_what = 0;n_what < gen_nb_int;n_what++) {
-    for (n_end = 0;n_end < gen_nb_xmlChar;n_end++) {
-    for (n_end2 = 0;n_end2 < gen_nb_xmlChar;n_end2++) {
-    for (n_end3 = 0;n_end3 < gen_nb_xmlChar;n_end3++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        str = gen_const_xmlChar_ptr(n_str, 1);
-        len = gen_int(n_len, 2);
-        what = gen_int(n_what, 3);
-        end = gen_xmlChar(n_end, 4);
-        end2 = gen_xmlChar(n_end2, 5);
-        end3 = gen_xmlChar(n_end3, 6);
-
-        ret_val = xmlStringLenDecodeEntities(ctxt, (const xmlChar *)str, len, what, end, end2, end3);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
-        des_int(n_len, len, 2);
-        des_int(n_what, what, 3);
-        des_xmlChar(n_end, end, 4);
-        des_xmlChar(n_end2, end2, 5);
-        des_xmlChar(n_end3, end3, 6);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStringLenDecodeEntities",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_str);
-            printf(" %d", n_len);
-            printf(" %d", n_what);
-            printf(" %d", n_end);
-            printf(" %d", n_end2);
-            printf(" %d", n_end3);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSwitchEncoding(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* the parser context */
-    int n_ctxt;
-    xmlCharEncoding enc; /* the encoding value (number) */
-    int n_enc;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        enc = gen_xmlCharEncoding(n_enc, 1);
-
-        ret_val = xmlSwitchEncoding(ctxt, enc);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlCharEncoding(n_enc, enc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSwitchEncoding",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_enc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSwitchInputEncoding(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* the parser context */
-    int n_ctxt;
-    xmlParserInputPtr input; /* the input stream */
-    int n_input;
-    xmlCharEncodingHandlerPtr handler; /* the encoding handler */
-    int n_handler;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
-    for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        input = gen_xmlParserInputPtr(n_input, 1);
-        handler = gen_xmlCharEncodingHandlerPtr(n_handler, 2);
-
-        ret_val = xmlSwitchInputEncoding(ctxt, input, handler);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlParserInputPtr(n_input, input, 1);
-        des_xmlCharEncodingHandlerPtr(n_handler, handler, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSwitchInputEncoding",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_input);
-            printf(" %d", n_handler);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSwitchToEncoding(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserCtxtPtr ctxt; /* the parser context */
-    int n_ctxt;
-    xmlCharEncodingHandlerPtr handler; /* the encoding handler */
-    int n_handler;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        handler = gen_xmlCharEncodingHandlerPtr(n_handler, 1);
-
-        ret_val = xmlSwitchToEncoding(ctxt, handler);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlCharEncodingHandlerPtr(n_handler, handler, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSwitchToEncoding",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_handler);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-static int
-test_parserInternals(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing parserInternals : 33 of 90 functions ...\n");
-    test_ret += test_htmlCreateFileParserCtxt();
-    test_ret += test_htmlInitAutoClose();
-    test_ret += test_inputPop();
-    test_ret += test_inputPush();
-    test_ret += test_namePop();
-    test_ret += test_namePush();
-    test_ret += test_nodePop();
-    test_ret += test_nodePush();
-    test_ret += test_xmlCheckLanguageID();
-    test_ret += test_xmlCopyChar();
-    test_ret += test_xmlCopyCharMultiByte();
-    test_ret += test_xmlCreateEntityParserCtxt();
-    test_ret += test_xmlCreateFileParserCtxt();
-    test_ret += test_xmlCreateMemoryParserCtxt();
-    test_ret += test_xmlCreateURLParserCtxt();
-    test_ret += test_xmlCurrentChar();
-    test_ret += test_xmlErrMemory();
-    test_ret += test_xmlIsLetter();
-    test_ret += test_xmlNewEntityInputStream();
-    test_ret += test_xmlNewInputFromFile();
-    test_ret += test_xmlNewInputStream();
-    test_ret += test_xmlNewStringInputStream();
-    test_ret += test_xmlNextChar();
-    test_ret += test_xmlParserInputShrink();
-    test_ret += test_xmlPopInput();
-    test_ret += test_xmlPushInput();
-    test_ret += test_xmlSetEntityReferenceFunc();
-    test_ret += test_xmlSplitQName();
-    test_ret += test_xmlStringCurrentChar();
-    test_ret += test_xmlStringDecodeEntities();
-    test_ret += test_xmlStringLenDecodeEntities();
-    test_ret += test_xmlSwitchEncoding();
-    test_ret += test_xmlSwitchInputEncoding();
-    test_ret += test_xmlSwitchToEncoding();
-
-    if (test_ret != 0)
-       printf("Module parserInternals: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlPatternFromRoot(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_PATTERN_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlPatternPtr comp; /* the precompiled pattern */
-    int n_comp;
-
-    for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
-        mem_base = xmlMemBlocks();
-        comp = gen_xmlPatternPtr(n_comp, 0);
-
-        ret_val = xmlPatternFromRoot(comp);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlPatternPtr(n_comp, comp, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlPatternFromRoot",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_comp);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlPatternGetStreamCtxt(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlPatternMatch(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_PATTERN_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlPatternPtr comp; /* the precompiled pattern */
-    int n_comp;
-    xmlNodePtr node; /* a node */
-    int n_node;
-
-    for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        comp = gen_xmlPatternPtr(n_comp, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-
-        ret_val = xmlPatternMatch(comp, node);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlPatternPtr(n_comp, comp, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlPatternMatch",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_comp);
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlPatternMaxDepth(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_PATTERN_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlPatternPtr comp; /* the precompiled pattern */
-    int n_comp;
-
-    for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
-        mem_base = xmlMemBlocks();
-        comp = gen_xmlPatternPtr(n_comp, 0);
-
-        ret_val = xmlPatternMaxDepth(comp);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlPatternPtr(n_comp, comp, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlPatternMaxDepth",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_comp);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlPatternMinDepth(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_PATTERN_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlPatternPtr comp; /* the precompiled pattern */
-    int n_comp;
-
-    for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
-        mem_base = xmlMemBlocks();
-        comp = gen_xmlPatternPtr(n_comp, 0);
-
-        ret_val = xmlPatternMinDepth(comp);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlPatternPtr(n_comp, comp, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlPatternMinDepth",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_comp);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlPatternStreamable(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_PATTERN_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlPatternPtr comp; /* the precompiled pattern */
-    int n_comp;
-
-    for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
-        mem_base = xmlMemBlocks();
-        comp = gen_xmlPatternPtr(n_comp, 0);
-
-        ret_val = xmlPatternStreamable(comp);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlPatternPtr(n_comp, comp, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlPatternStreamable",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_comp);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlPatterncompile(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-#ifdef LIBXML_PATTERN_ENABLED
-
-#define gen_nb_xmlStreamCtxtPtr 1
-static xmlStreamCtxtPtr gen_xmlStreamCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlStreamCtxtPtr(int no ATTRIBUTE_UNUSED, xmlStreamCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlStreamPop(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_PATTERN_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlStreamCtxtPtr stream; /* the stream context */
-    int n_stream;
-
-    for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
-        mem_base = xmlMemBlocks();
-        stream = gen_xmlStreamCtxtPtr(n_stream, 0);
-
-        ret_val = xmlStreamPop(stream);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlStreamCtxtPtr(n_stream, stream, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStreamPop",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_stream);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStreamPush(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_PATTERN_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlStreamCtxtPtr stream; /* the stream context */
-    int n_stream;
-    xmlChar * name; /* the current name */
-    int n_name;
-    xmlChar * ns; /* the namespace name */
-    int n_ns;
-
-    for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
-        mem_base = xmlMemBlocks();
-        stream = gen_xmlStreamCtxtPtr(n_stream, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        ns = gen_const_xmlChar_ptr(n_ns, 2);
-
-        ret_val = xmlStreamPush(stream, (const xmlChar *)name, (const xmlChar *)ns);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlStreamCtxtPtr(n_stream, stream, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStreamPush",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_stream);
-            printf(" %d", n_name);
-            printf(" %d", n_ns);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStreamPushAttr(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_PATTERN_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlStreamCtxtPtr stream; /* the stream context */
-    int n_stream;
-    xmlChar * name; /* the current name */
-    int n_name;
-    xmlChar * ns; /* the namespace name */
-    int n_ns;
-
-    for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
-        mem_base = xmlMemBlocks();
-        stream = gen_xmlStreamCtxtPtr(n_stream, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        ns = gen_const_xmlChar_ptr(n_ns, 2);
-
-        ret_val = xmlStreamPushAttr(stream, (const xmlChar *)name, (const xmlChar *)ns);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlStreamCtxtPtr(n_stream, stream, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStreamPushAttr",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_stream);
-            printf(" %d", n_name);
-            printf(" %d", n_ns);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStreamPushNode(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_PATTERN_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlStreamCtxtPtr stream; /* the stream context */
-    int n_stream;
-    xmlChar * name; /* the current name */
-    int n_name;
-    xmlChar * ns; /* the namespace name */
-    int n_ns;
-    int nodeType; /* the type of the node being pushed */
-    int n_nodeType;
-
-    for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
-    for (n_nodeType = 0;n_nodeType < gen_nb_int;n_nodeType++) {
-        mem_base = xmlMemBlocks();
-        stream = gen_xmlStreamCtxtPtr(n_stream, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        ns = gen_const_xmlChar_ptr(n_ns, 2);
-        nodeType = gen_int(n_nodeType, 3);
-
-        ret_val = xmlStreamPushNode(stream, (const xmlChar *)name, (const xmlChar *)ns, nodeType);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlStreamCtxtPtr(n_stream, stream, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2);
-        des_int(n_nodeType, nodeType, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStreamPushNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_stream);
-            printf(" %d", n_name);
-            printf(" %d", n_ns);
-            printf(" %d", n_nodeType);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStreamWantsAnyNode(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_PATTERN_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlStreamCtxtPtr streamCtxt; /* the stream context */
-    int n_streamCtxt;
-
-    for (n_streamCtxt = 0;n_streamCtxt < gen_nb_xmlStreamCtxtPtr;n_streamCtxt++) {
-        mem_base = xmlMemBlocks();
-        streamCtxt = gen_xmlStreamCtxtPtr(n_streamCtxt, 0);
-
-        ret_val = xmlStreamWantsAnyNode(streamCtxt);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlStreamCtxtPtr(n_streamCtxt, streamCtxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStreamWantsAnyNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_streamCtxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_pattern(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing pattern : 10 of 15 functions ...\n");
-    test_ret += test_xmlPatternFromRoot();
-    test_ret += test_xmlPatternGetStreamCtxt();
-    test_ret += test_xmlPatternMatch();
-    test_ret += test_xmlPatternMaxDepth();
-    test_ret += test_xmlPatternMinDepth();
-    test_ret += test_xmlPatternStreamable();
-    test_ret += test_xmlPatterncompile();
-    test_ret += test_xmlStreamPop();
-    test_ret += test_xmlStreamPush();
-    test_ret += test_xmlStreamPushAttr();
-    test_ret += test_xmlStreamPushNode();
-    test_ret += test_xmlStreamWantsAnyNode();
-
-    if (test_ret != 0)
-       printf("Module pattern: %d errors\n", test_ret);
-    return(test_ret);
-}
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#define gen_nb_xmlRelaxNGPtr 1
-static xmlRelaxNGPtr gen_xmlRelaxNGPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlRelaxNGPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlRelaxNGDump(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    FILE * output; /* the file output */
-    int n_output;
-    xmlRelaxNGPtr schema; /* a schema structure */
-    int n_schema;
-
-    for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
-    for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) {
-        mem_base = xmlMemBlocks();
-        output = gen_FILE_ptr(n_output, 0);
-        schema = gen_xmlRelaxNGPtr(n_schema, 1);
-
-        xmlRelaxNGDump(output, schema);
-        call_tests++;
-        des_FILE_ptr(n_output, output, 0);
-        des_xmlRelaxNGPtr(n_schema, schema, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRelaxNGDump",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_schema);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGDumpTree(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    FILE * output; /* the file output */
-    int n_output;
-    xmlRelaxNGPtr schema; /* a schema structure */
-    int n_schema;
-
-    for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
-    for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) {
-        mem_base = xmlMemBlocks();
-        output = gen_FILE_ptr(n_output, 0);
-        schema = gen_xmlRelaxNGPtr(n_schema, 1);
-
-        xmlRelaxNGDumpTree(output, schema);
-        call_tests++;
-        des_FILE_ptr(n_output, output, 0);
-        des_xmlRelaxNGPtr(n_schema, schema, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRelaxNGDumpTree",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_schema);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#define gen_nb_xmlRelaxNGParserCtxtPtr 1
-static xmlRelaxNGParserCtxtPtr gen_xmlRelaxNGParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlRelaxNGParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#define gen_nb_xmlRelaxNGValidityErrorFunc_ptr 1
-static xmlRelaxNGValidityErrorFunc * gen_xmlRelaxNGValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlRelaxNGValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidityErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#define gen_nb_xmlRelaxNGValidityWarningFunc_ptr 1
-static xmlRelaxNGValidityWarningFunc * gen_xmlRelaxNGValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlRelaxNGValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidityWarningFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlRelaxNGGetParserErrors(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlRelaxNGParserCtxtPtr ctxt; /* a Relax-NG validation context */
-    int n_ctxt;
-    xmlRelaxNGValidityErrorFunc * err; /* the error callback result */
-    int n_err;
-    xmlRelaxNGValidityWarningFunc * warn; /* the warning callback result */
-    int n_warn;
-    void ** ctx; /* contextual data for the callbacks result */
-    int n_ctx;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGParserCtxtPtr;n_ctxt++) {
-    for (n_err = 0;n_err < gen_nb_xmlRelaxNGValidityErrorFunc_ptr;n_err++) {
-    for (n_warn = 0;n_warn < gen_nb_xmlRelaxNGValidityWarningFunc_ptr;n_warn++) {
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlRelaxNGParserCtxtPtr(n_ctxt, 0);
-        err = gen_xmlRelaxNGValidityErrorFunc_ptr(n_err, 1);
-        warn = gen_xmlRelaxNGValidityWarningFunc_ptr(n_warn, 2);
-        ctx = gen_void_ptr_ptr(n_ctx, 3);
-
-        ret_val = xmlRelaxNGGetParserErrors(ctxt, err, warn, ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlRelaxNGParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlRelaxNGValidityErrorFunc_ptr(n_err, err, 1);
-        des_xmlRelaxNGValidityWarningFunc_ptr(n_warn, warn, 2);
-        des_void_ptr_ptr(n_ctx, ctx, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRelaxNGGetParserErrors",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_err);
-            printf(" %d", n_warn);
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#define gen_nb_xmlRelaxNGValidCtxtPtr 1
-static xmlRelaxNGValidCtxtPtr gen_xmlRelaxNGValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlRelaxNGValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlRelaxNGGetValidErrors(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlRelaxNGValidCtxtPtr ctxt; /* a Relax-NG validation context */
-    int n_ctxt;
-    xmlRelaxNGValidityErrorFunc * err; /* the error function result */
-    int n_err;
-    xmlRelaxNGValidityWarningFunc * warn; /* the warning function result */
-    int n_warn;
-    void ** ctx; /* the functions context result */
-    int n_ctx;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
-    for (n_err = 0;n_err < gen_nb_xmlRelaxNGValidityErrorFunc_ptr;n_err++) {
-    for (n_warn = 0;n_warn < gen_nb_xmlRelaxNGValidityWarningFunc_ptr;n_warn++) {
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
-        err = gen_xmlRelaxNGValidityErrorFunc_ptr(n_err, 1);
-        warn = gen_xmlRelaxNGValidityWarningFunc_ptr(n_warn, 2);
-        ctx = gen_void_ptr_ptr(n_ctx, 3);
-
-        ret_val = xmlRelaxNGGetValidErrors(ctxt, err, warn, ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlRelaxNGValidityErrorFunc_ptr(n_err, err, 1);
-        des_xmlRelaxNGValidityWarningFunc_ptr(n_warn, warn, 2);
-        des_void_ptr_ptr(n_ctx, ctx, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRelaxNGGetValidErrors",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_err);
-            printf(" %d", n_warn);
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGInitTypes(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-
-        mem_base = xmlMemBlocks();
-
-        ret_val = xmlRelaxNGInitTypes();
-        desret_int(ret_val);
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRelaxNGInitTypes",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGNewDocParserCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlRelaxNGParserCtxtPtr ret_val;
-    xmlDocPtr doc; /* a preparsed document tree */
-    int n_doc;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-
-        ret_val = xmlRelaxNGNewDocParserCtxt(doc);
-        desret_xmlRelaxNGParserCtxtPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRelaxNGNewDocParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGNewMemParserCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlRelaxNGParserCtxtPtr ret_val;
-    char * buffer; /* a pointer to a char array containing the schemas */
-    int n_buffer;
-    int size; /* the size of the array */
-    int n_size;
-
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-        mem_base = xmlMemBlocks();
-        buffer = gen_const_char_ptr(n_buffer, 0);
-        size = gen_int(n_size, 1);
-
-        ret_val = xmlRelaxNGNewMemParserCtxt((const char *)buffer, size);
-        desret_xmlRelaxNGParserCtxtPtr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
-        des_int(n_size, size, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRelaxNGNewMemParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGNewParserCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlRelaxNGParserCtxtPtr ret_val;
-    char * URL; /* the location of the schema */
-    int n_URL;
-
-    for (n_URL = 0;n_URL < gen_nb_const_char_ptr;n_URL++) {
-        mem_base = xmlMemBlocks();
-        URL = gen_const_char_ptr(n_URL, 0);
-
-        ret_val = xmlRelaxNGNewParserCtxt((const char *)URL);
-        desret_xmlRelaxNGParserCtxtPtr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_URL, (const char *)URL, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRelaxNGNewParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URL);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGNewValidCtxt(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGParse(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGSetParserErrors(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGSetParserStructuredErrors(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGSetValidErrors(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGSetValidStructuredErrors(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGValidateDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlRelaxNGValidCtxtPtr ctxt; /* a Relax-NG validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a parsed document tree */
-    int n_doc;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-
-        ret_val = xmlRelaxNGValidateDoc(ctxt, doc);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRelaxNGValidateDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGValidateFullElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlRelaxNGValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-    xmlNodePtr elem; /* an element instance */
-    int n_elem;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        elem = gen_xmlNodePtr(n_elem, 2);
-
-        ret_val = xmlRelaxNGValidateFullElement(ctxt, doc, elem);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_elem, elem, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRelaxNGValidateFullElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGValidatePopElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlRelaxNGValidCtxtPtr ctxt; /* the RelaxNG validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-    xmlNodePtr elem; /* an element instance */
-    int n_elem;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        elem = gen_xmlNodePtr(n_elem, 2);
-
-        ret_val = xmlRelaxNGValidatePopElement(ctxt, doc, elem);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_elem, elem, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRelaxNGValidatePopElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGValidatePushCData(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlRelaxNGValidCtxtPtr ctxt; /* the RelaxNG validation context */
-    int n_ctxt;
-    xmlChar * data; /* some character data read */
-    int n_data;
-    int len; /* the lenght of the data */
-    int n_len;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
-    for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
-        data = gen_const_xmlChar_ptr(n_data, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlRelaxNGValidatePushCData(ctxt, (const xmlChar *)data, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRelaxNGValidatePushCData",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_data);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxNGValidatePushElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlRelaxNGValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-    xmlNodePtr elem; /* an element instance */
-    int n_elem;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        elem = gen_xmlNodePtr(n_elem, 2);
-
-        ret_val = xmlRelaxNGValidatePushElement(ctxt, doc, elem);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_elem, elem, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRelaxNGValidatePushElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRelaxParserSetFlag(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlRelaxNGParserCtxtPtr ctxt; /* a RelaxNG parser context */
-    int n_ctxt;
-    int flags; /* a set of flags values */
-    int n_flags;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGParserCtxtPtr;n_ctxt++) {
-    for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlRelaxNGParserCtxtPtr(n_ctxt, 0);
-        flags = gen_int(n_flags, 1);
-
-        ret_val = xmlRelaxParserSetFlag(ctxt, flags);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlRelaxNGParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_int(n_flags, flags, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRelaxParserSetFlag",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_flags);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_relaxng(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing relaxng : 14 of 24 functions ...\n");
-    test_ret += test_xmlRelaxNGDump();
-    test_ret += test_xmlRelaxNGDumpTree();
-    test_ret += test_xmlRelaxNGGetParserErrors();
-    test_ret += test_xmlRelaxNGGetValidErrors();
-    test_ret += test_xmlRelaxNGInitTypes();
-    test_ret += test_xmlRelaxNGNewDocParserCtxt();
-    test_ret += test_xmlRelaxNGNewMemParserCtxt();
-    test_ret += test_xmlRelaxNGNewParserCtxt();
-    test_ret += test_xmlRelaxNGNewValidCtxt();
-    test_ret += test_xmlRelaxNGParse();
-    test_ret += test_xmlRelaxNGSetParserErrors();
-    test_ret += test_xmlRelaxNGSetParserStructuredErrors();
-    test_ret += test_xmlRelaxNGSetValidErrors();
-    test_ret += test_xmlRelaxNGSetValidStructuredErrors();
-    test_ret += test_xmlRelaxNGValidateDoc();
-    test_ret += test_xmlRelaxNGValidateFullElement();
-    test_ret += test_xmlRelaxNGValidatePopElement();
-    test_ret += test_xmlRelaxNGValidatePushCData();
-    test_ret += test_xmlRelaxNGValidatePushElement();
-    test_ret += test_xmlRelaxParserSetFlag();
-
-    if (test_ret != 0)
-       printf("Module relaxng: %d errors\n", test_ret);
-    return(test_ret);
-}
-static int
-test_schemasInternals(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing schemasInternals : 0 of 2 functions ...\n");
-
-    if (test_ret != 0)
-       printf("Module schemasInternals: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlSchematronNewDocParserCtxt(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchematronNewMemParserCtxt(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchematronNewParserCtxt(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-#ifdef LIBXML_SCHEMATRON_ENABLED
-
-#define gen_nb_xmlSchematronPtr 1
-static xmlSchematronPtr gen_xmlSchematronPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchematronPtr(int no ATTRIBUTE_UNUSED, xmlSchematronPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlSchematronNewValidCtxt(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-#ifdef LIBXML_SCHEMATRON_ENABLED
-
-#define gen_nb_xmlSchematronParserCtxtPtr 1
-static xmlSchematronParserCtxtPtr gen_xmlSchematronParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchematronParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchematronParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlSchematronParse(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-#ifdef LIBXML_SCHEMATRON_ENABLED
-
-#define gen_nb_xmlSchematronValidCtxtPtr 1
-static xmlSchematronValidCtxtPtr gen_xmlSchematronValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchematronValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchematronValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlSchematronSetValidStructuredErrors(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchematronValidateDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMATRON_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchematronValidCtxtPtr ctxt; /* the schema validation context */
-    int n_ctxt;
-    xmlDocPtr instance; /* the document instace tree */
-    int n_instance;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchematronValidCtxtPtr;n_ctxt++) {
-    for (n_instance = 0;n_instance < gen_nb_xmlDocPtr;n_instance++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSchematronValidCtxtPtr(n_ctxt, 0);
-        instance = gen_xmlDocPtr(n_instance, 1);
-
-        ret_val = xmlSchematronValidateDoc(ctxt, instance);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchematronValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_instance, instance, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchematronValidateDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_instance);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_schematron(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing schematron : 1 of 10 functions ...\n");
-    test_ret += test_xmlSchematronNewDocParserCtxt();
-    test_ret += test_xmlSchematronNewMemParserCtxt();
-    test_ret += test_xmlSchematronNewParserCtxt();
-    test_ret += test_xmlSchematronNewValidCtxt();
-    test_ret += test_xmlSchematronParse();
-    test_ret += test_xmlSchematronSetValidStructuredErrors();
-    test_ret += test_xmlSchematronValidateDoc();
-
-    if (test_ret != 0)
-       printf("Module schematron: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlAddChild(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr parent; /* the parent node */
-    int n_parent;
-    xmlNodePtr cur; /* the child node */
-    int n_cur;
-
-    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) {
-        mem_base = xmlMemBlocks();
-        parent = gen_xmlNodePtr(n_parent, 0);
-        cur = gen_xmlNodePtr_in(n_cur, 1);
-
-        ret_val = xmlAddChild(parent, cur);
-        if (ret_val == NULL) { xmlFreeNode(cur) ; cur = NULL ; }
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_parent, parent, 0);
-        des_xmlNodePtr_in(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAddChild",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_parent);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlAddChildList(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr parent; /* the parent node */
-    int n_parent;
-    xmlNodePtr cur; /* the first node in the list */
-    int n_cur;
-
-    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) {
-        mem_base = xmlMemBlocks();
-        parent = gen_xmlNodePtr(n_parent, 0);
-        cur = gen_xmlNodePtr_in(n_cur, 1);
-
-        ret_val = xmlAddChildList(parent, cur);
-        if (ret_val == NULL) { xmlFreeNodeList(cur) ; cur = NULL ; }
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_parent, parent, 0);
-        des_xmlNodePtr_in(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAddChildList",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_parent);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlAddNextSibling(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr cur; /* the child node */
-    int n_cur;
-    xmlNodePtr elem; /* the new node */
-    int n_elem;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodePtr(n_cur, 0);
-        elem = gen_xmlNodePtr_in(n_elem, 1);
-
-        ret_val = xmlAddNextSibling(cur, elem);
-        if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_cur, cur, 0);
-        des_xmlNodePtr_in(n_elem, elem, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAddNextSibling",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_elem);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlAddPrevSibling(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr cur; /* the child node */
-    int n_cur;
-    xmlNodePtr elem; /* the new node */
-    int n_elem;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodePtr(n_cur, 0);
-        elem = gen_xmlNodePtr_in(n_elem, 1);
-
-        ret_val = xmlAddPrevSibling(cur, elem);
-        if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_cur, cur, 0);
-        des_xmlNodePtr_in(n_elem, elem, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAddPrevSibling",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_elem);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlAddSibling(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr cur; /* the child node */
-    int n_cur;
-    xmlNodePtr elem; /* the new node */
-    int n_elem;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodePtr(n_cur, 0);
-        elem = gen_xmlNodePtr_in(n_elem, 1);
-
-        ret_val = xmlAddSibling(cur, elem);
-        if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_cur, cur, 0);
-        des_xmlNodePtr_in(n_elem, elem, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAddSibling",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_elem);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlAttrSerializeTxtContent(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-#ifdef LIBXML_OUTPUT_ENABLED
-    int mem_base;
-    xmlBufferPtr buf; /* the XML buffer output */
-    int n_buf;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlAttrPtr attr; /* the attribute node */
-    int n_attr;
-    xmlChar * string; /* the text content */
-    int n_string;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
-    for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        attr = gen_xmlAttrPtr(n_attr, 2);
-        string = gen_const_xmlChar_ptr(n_string, 3);
-
-        xmlAttrSerializeTxtContent(buf, doc, attr, (const xmlChar *)string);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlAttrPtr(n_attr, attr, 2);
-        des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAttrSerializeTxtContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_doc);
-            printf(" %d", n_attr);
-            printf(" %d", n_string);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-#define gen_nb_const_xmlBufPtr 1
-static xmlBufPtr gen_const_xmlBufPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlBufPtr(int no ATTRIBUTE_UNUSED, const xmlBufPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlBufContent(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlBufPtr buf; /* the buffer */
-    int n_buf;
-
-    for (n_buf = 0;n_buf < gen_nb_const_xmlBufPtr;n_buf++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_const_xmlBufPtr(n_buf, 0);
-
-        ret_val = xmlBufContent((const xmlBufPtr)buf);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlBufPtr(n_buf, (const xmlBufPtr)buf, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufEnd(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlBufPtr buf; /* the buffer */
-    int n_buf;
-
-    for (n_buf = 0;n_buf < gen_nb_const_xmlBufPtr;n_buf++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_const_xmlBufPtr(n_buf, 0);
-
-        ret_val = xmlBufEnd((const xmlBufPtr)buf);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlBufPtr(n_buf, (const xmlBufPtr)buf, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufEnd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlBufPtr 1
-static xmlBufPtr gen_xmlBufPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlBufPtr(int no ATTRIBUTE_UNUSED, xmlBufPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlBufGetNodeContent(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlBufPtr buf; /* a buffer xmlBufPtr */
-    int n_buf;
-    xmlNodePtr cur; /* the node being read */
-    int n_cur;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufPtr;n_buf++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufPtr(n_buf, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlBufGetNodeContent(buf, cur);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlBufPtr(n_buf, buf, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufGetNodeContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufNodeDump(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufShrink(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufUse(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferAdd(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlBufferPtr buf; /* the buffer to dump */
-    int n_buf;
-    xmlChar * str; /* the #xmlChar string */
-    int n_str;
-    int len; /* the number of #xmlChar to add */
-    int n_len;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        str = gen_const_xmlChar_ptr(n_str, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlBufferAdd(buf, (const xmlChar *)str, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferAdd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_str);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferAddHead(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlBufferPtr buf; /* the buffer */
-    int n_buf;
-    xmlChar * str; /* the #xmlChar string */
-    int n_str;
-    int len; /* the number of #xmlChar to add */
-    int n_len;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        str = gen_const_xmlChar_ptr(n_str, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlBufferAddHead(buf, (const xmlChar *)str, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferAddHead",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_str);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferCCat(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlBufferPtr buf; /* the buffer to dump */
-    int n_buf;
-    char * str; /* the C char string */
-    int n_str;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        str = gen_const_char_ptr(n_str, 1);
-
-        ret_val = xmlBufferCCat(buf, (const char *)str);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_const_char_ptr(n_str, (const char *)str, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferCCat",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_str);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferCat(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlBufferPtr buf; /* the buffer to add to */
-    int n_buf;
-    xmlChar * str; /* the #xmlChar string */
-    int n_str;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        str = gen_const_xmlChar_ptr(n_str, 1);
-
-        ret_val = xmlBufferCat(buf, (const xmlChar *)str);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferCat",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_str);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_const_xmlBufferPtr 1
-static xmlBufferPtr gen_const_xmlBufferPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_const_xmlBufferPtr(int no ATTRIBUTE_UNUSED, const xmlBufferPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlBufferContent(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlBufferPtr buf; /* the buffer */
-    int n_buf;
-
-    for (n_buf = 0;n_buf < gen_nb_const_xmlBufferPtr;n_buf++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_const_xmlBufferPtr(n_buf, 0);
-
-        ret_val = xmlBufferContent((const xmlBufferPtr)buf);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlBufferPtr(n_buf, (const xmlBufferPtr)buf, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferCreate(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlBufferPtr ret_val;
-
-        mem_base = xmlMemBlocks();
-
-        ret_val = xmlBufferCreate();
-        desret_xmlBufferPtr(ret_val);
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferCreate",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferCreateSize(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferCreateStatic(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferDetach(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlBufferPtr buf; /* the buffer */
-    int n_buf;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-
-        ret_val = xmlBufferDetach(buf);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferDetach",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferEmpty(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlBufferPtr buf; /* the buffer */
-    int n_buf;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-
-        xmlBufferEmpty(buf);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferEmpty",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferGrow(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlBufferPtr buf; /* the buffer */
-    int n_buf;
-    unsigned int len; /* the minimum free size to allocate */
-    int n_len;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_len = 0;n_len < gen_nb_unsigned_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        len = gen_unsigned_int(n_len, 1);
-
-        ret_val = xmlBufferGrow(buf, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_unsigned_int(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferGrow",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferLength(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlBufferPtr buf; /* the buffer */
-    int n_buf;
-
-    for (n_buf = 0;n_buf < gen_nb_const_xmlBufferPtr;n_buf++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_const_xmlBufferPtr(n_buf, 0);
-
-        ret_val = xmlBufferLength((const xmlBufferPtr)buf);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlBufferPtr(n_buf, (const xmlBufferPtr)buf, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferLength",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferResize(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlBufferPtr buf; /* the buffer to resize */
-    int n_buf;
-    unsigned int size; /* the desired size */
-    int n_size;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_size = 0;n_size < gen_nb_unsigned_int;n_size++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        size = gen_unsigned_int(n_size, 1);
-
-        ret_val = xmlBufferResize(buf, size);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_unsigned_int(n_size, size, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferResize",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_size);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferSetAllocationScheme(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlBufferPtr buf; /* the buffer to tune */
-    int n_buf;
-    xmlBufferAllocationScheme scheme; /* allocation scheme to use */
-    int n_scheme;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_scheme = 0;n_scheme < gen_nb_xmlBufferAllocationScheme;n_scheme++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        scheme = gen_xmlBufferAllocationScheme(n_scheme, 1);
-
-        xmlBufferSetAllocationScheme(buf, scheme);
-        if ((buf != NULL) && (scheme == XML_BUFFER_ALLOC_IMMUTABLE) && (buf->content != NULL) && (buf->content != static_buf_content)) { xmlFree(buf->content); buf->content = NULL;}
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_xmlBufferAllocationScheme(n_scheme, scheme, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferSetAllocationScheme",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_scheme);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferShrink(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlBufferPtr buf; /* the buffer to dump */
-    int n_buf;
-    unsigned int len; /* the number of xmlChar to remove */
-    int n_len;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_len = 0;n_len < gen_nb_unsigned_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        len = gen_unsigned_int(n_len, 1);
-
-        ret_val = xmlBufferShrink(buf, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_unsigned_int(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferShrink",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferWriteCHAR(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlBufferPtr buf; /* the XML buffer */
-    int n_buf;
-    xmlChar * string; /* the string to add */
-    int n_string;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        string = gen_const_xmlChar_ptr(n_string, 1);
-
-        xmlBufferWriteCHAR(buf, (const xmlChar *)string);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferWriteCHAR",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_string);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferWriteChar(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlBufferPtr buf; /* the XML buffer output */
-    int n_buf;
-    char * string; /* the string to add */
-    int n_string;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_string = 0;n_string < gen_nb_const_char_ptr;n_string++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        string = gen_const_char_ptr(n_string, 1);
-
-        xmlBufferWriteChar(buf, (const char *)string);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_const_char_ptr(n_string, (const char *)string, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferWriteChar",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_string);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBufferWriteQuotedString(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlBufferPtr buf; /* the XML buffer output */
-    int n_buf;
-    xmlChar * string; /* the string to add */
-    int n_string;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        string = gen_const_xmlChar_ptr(n_string, 1);
-
-        xmlBufferWriteQuotedString(buf, (const xmlChar *)string);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBufferWriteQuotedString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_string);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBuildQName(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * ncname; /* the Name */
-    int n_ncname;
-    xmlChar * prefix; /* the prefix */
-    int n_prefix;
-    xmlChar * memory; /* preallocated memory */
-    int n_memory;
-    int len; /* preallocated memory length */
-    int n_len;
-
-    for (n_ncname = 0;n_ncname < gen_nb_const_xmlChar_ptr;n_ncname++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-    for (n_memory = 0;n_memory < gen_nb_xmlChar_ptr;n_memory++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        ncname = gen_const_xmlChar_ptr(n_ncname, 0);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
-        memory = gen_xmlChar_ptr(n_memory, 2);
-        len = gen_int(n_len, 3);
-
-        ret_val = xmlBuildQName((const xmlChar *)ncname, (const xmlChar *)prefix, memory, len);
-        if ((ret_val != NULL) && (ret_val != ncname) &&
-              (ret_val != prefix) && (ret_val != memory))
-              xmlFree(ret_val);
-         ret_val = NULL;
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_ncname, (const xmlChar *)ncname, 0);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
-        des_xmlChar_ptr(n_memory, memory, 2);
-        des_int(n_len, len, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBuildQName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ncname);
-            printf(" %d", n_prefix);
-            printf(" %d", n_memory);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlChildElementCount(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-    int mem_base;
-    unsigned long ret_val;
-    xmlNodePtr parent; /* the parent node */
-    int n_parent;
-
-    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
-        mem_base = xmlMemBlocks();
-        parent = gen_xmlNodePtr(n_parent, 0);
-
-        ret_val = xmlChildElementCount(parent);
-        desret_unsigned_long(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_parent, parent, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlChildElementCount",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_parent);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCopyDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    int recursive; /* if not zero do a recursive copy. */
-    int n_recursive;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_recursive = 0;n_recursive < gen_nb_int;n_recursive++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        recursive = gen_int(n_recursive, 1);
-
-        ret_val = xmlCopyDoc(doc, recursive);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_int(n_recursive, recursive, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCopyDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_recursive);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCopyDtd(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-    int mem_base;
-    xmlDtdPtr ret_val;
-    xmlDtdPtr dtd; /* the dtd */
-    int n_dtd;
-
-    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
-        mem_base = xmlMemBlocks();
-        dtd = gen_xmlDtdPtr(n_dtd, 0);
-
-        ret_val = xmlCopyDtd(dtd);
-        desret_xmlDtdPtr(ret_val);
-        call_tests++;
-        des_xmlDtdPtr(n_dtd, dtd, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCopyDtd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_dtd);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCopyNamespace(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNsPtr ret_val;
-    xmlNsPtr cur; /* the namespace */
-    int n_cur;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNsPtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNsPtr(n_cur, 0);
-
-        ret_val = xmlCopyNamespace(cur);
-        if (ret_val != NULL) xmlFreeNs(ret_val);
-        desret_xmlNsPtr(ret_val);
-        call_tests++;
-        des_xmlNsPtr(n_cur, cur, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCopyNamespace",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCopyNamespaceList(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNsPtr ret_val;
-    xmlNsPtr cur; /* the first namespace */
-    int n_cur;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNsPtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNsPtr(n_cur, 0);
-
-        ret_val = xmlCopyNamespaceList(cur);
-        if (ret_val != NULL) xmlFreeNsList(ret_val);
-        desret_xmlNsPtr(ret_val);
-        call_tests++;
-        des_xmlNsPtr(n_cur, cur, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCopyNamespaceList",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCopyNode(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr node; /* the node */
-    int n_node;
-    int extended; /* if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable) */
-    int n_extended;
-
-    for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
-    for (n_extended = 0;n_extended < gen_nb_int;n_extended++) {
-        mem_base = xmlMemBlocks();
-        node = gen_const_xmlNodePtr(n_node, 0);
-        extended = gen_int(n_extended, 1);
-
-        ret_val = xmlCopyNode((const xmlNodePtr)node, extended);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 0);
-        des_int(n_extended, extended, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCopyNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_extended);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCopyNodeList(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr node; /* the first node in the list. */
-    int n_node;
-
-    for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        node = gen_const_xmlNodePtr(n_node, 0);
-
-        ret_val = xmlCopyNodeList((const xmlNodePtr)node);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCopyNodeList",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCopyProp(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlAttrPtr ret_val;
-    xmlNodePtr target; /* the element where the attribute will be grafted */
-    int n_target;
-    xmlAttrPtr cur; /* the attribute */
-    int n_cur;
-
-    for (n_target = 0;n_target < gen_nb_xmlNodePtr;n_target++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        target = gen_xmlNodePtr(n_target, 0);
-        cur = gen_xmlAttrPtr(n_cur, 1);
-
-        ret_val = xmlCopyProp(target, cur);
-        desret_xmlAttrPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_target, target, 0);
-        des_xmlAttrPtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCopyProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_target);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCopyPropList(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlAttrPtr ret_val;
-    xmlNodePtr target; /* the element where the attributes will be grafted */
-    int n_target;
-    xmlAttrPtr cur; /* the first attribute */
-    int n_cur;
-
-    for (n_target = 0;n_target < gen_nb_xmlNodePtr;n_target++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        target = gen_xmlNodePtr(n_target, 0);
-        cur = gen_xmlAttrPtr(n_cur, 1);
-
-        ret_val = xmlCopyPropList(target, cur);
-        desret_xmlAttrPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_target, target, 0);
-        des_xmlAttrPtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCopyPropList",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_target);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCreateIntSubset(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlDtdPtr ret_val;
-    xmlDocPtr doc; /* the document pointer */
-    int n_doc;
-    xmlChar * name; /* the DTD name */
-    int n_name;
-    xmlChar * ExternalID; /* the external (PUBLIC) ID */
-    int n_ExternalID;
-    xmlChar * SystemID; /* the system ID */
-    int n_SystemID;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
-    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
-        SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
-
-        ret_val = xmlCreateIntSubset(doc, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
-        desret_xmlDtdPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
-        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCreateIntSubset",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf(" %d", n_ExternalID);
-            printf(" %d", n_SystemID);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlDOMWrapCtxtPtr 1
-static xmlDOMWrapCtxtPtr gen_xmlDOMWrapCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlDOMWrapCtxtPtr(int no ATTRIBUTE_UNUSED, xmlDOMWrapCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlDOMWrapAdoptNode(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlDOMWrapCtxtPtr ctxt; /* the optional context for custom processing */
-    int n_ctxt;
-    xmlDocPtr sourceDoc; /* the optional sourceDoc */
-    int n_sourceDoc;
-    xmlNodePtr node; /* the node to start with */
-    int n_node;
-    xmlDocPtr destDoc; /* the destination doc */
-    int n_destDoc;
-    xmlNodePtr destParent; /* the optional new parent of @node in @destDoc */
-    int n_destParent;
-    int options; /* option flags */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
-    for (n_sourceDoc = 0;n_sourceDoc < gen_nb_xmlDocPtr;n_sourceDoc++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_destDoc = 0;n_destDoc < gen_nb_xmlDocPtr;n_destDoc++) {
-    for (n_destParent = 0;n_destParent < gen_nb_xmlNodePtr;n_destParent++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
-        sourceDoc = gen_xmlDocPtr(n_sourceDoc, 1);
-        node = gen_xmlNodePtr(n_node, 2);
-        destDoc = gen_xmlDocPtr(n_destDoc, 3);
-        destParent = gen_xmlNodePtr(n_destParent, 4);
-        options = gen_int(n_options, 5);
-
-        ret_val = xmlDOMWrapAdoptNode(ctxt, sourceDoc, node, destDoc, destParent, options);
-        if ((node != NULL) && (node->parent == NULL)) {xmlUnlinkNode(node);xmlFreeNode(node);node = NULL;}
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_sourceDoc, sourceDoc, 1);
-        des_xmlNodePtr(n_node, node, 2);
-        des_xmlDocPtr(n_destDoc, destDoc, 3);
-        des_xmlNodePtr(n_destParent, destParent, 4);
-        des_int(n_options, options, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDOMWrapAdoptNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_sourceDoc);
-            printf(" %d", n_node);
-            printf(" %d", n_destDoc);
-            printf(" %d", n_destParent);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDOMWrapCloneNode(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlDOMWrapCtxtPtr ctxt; /* the optional context for custom processing */
-    int n_ctxt;
-    xmlDocPtr sourceDoc; /* the optional sourceDoc */
-    int n_sourceDoc;
-    xmlNodePtr node; /* the node to start with */
-    int n_node;
-    xmlNodePtr * resNode; /* the clone of the given @node */
-    int n_resNode;
-    xmlDocPtr destDoc; /* the destination doc */
-    int n_destDoc;
-    xmlNodePtr destParent; /* the optional new parent of @node in @destDoc */
-    int n_destParent;
-    int deep; /* descend into child if set */
-    int n_deep;
-    int options; /* option flags */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
-    for (n_sourceDoc = 0;n_sourceDoc < gen_nb_xmlDocPtr;n_sourceDoc++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_resNode = 0;n_resNode < gen_nb_xmlNodePtr_ptr;n_resNode++) {
-    for (n_destDoc = 0;n_destDoc < gen_nb_xmlDocPtr;n_destDoc++) {
-    for (n_destParent = 0;n_destParent < gen_nb_xmlNodePtr;n_destParent++) {
-    for (n_deep = 0;n_deep < gen_nb_int;n_deep++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
-        sourceDoc = gen_xmlDocPtr(n_sourceDoc, 1);
-        node = gen_xmlNodePtr(n_node, 2);
-        resNode = gen_xmlNodePtr_ptr(n_resNode, 3);
-        destDoc = gen_xmlDocPtr(n_destDoc, 4);
-        destParent = gen_xmlNodePtr(n_destParent, 5);
-        deep = gen_int(n_deep, 6);
-        options = gen_int(n_options, 7);
-
-        ret_val = xmlDOMWrapCloneNode(ctxt, sourceDoc, node, resNode, destDoc, destParent, deep, options);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_sourceDoc, sourceDoc, 1);
-        des_xmlNodePtr(n_node, node, 2);
-        des_xmlNodePtr_ptr(n_resNode, resNode, 3);
-        des_xmlDocPtr(n_destDoc, destDoc, 4);
-        des_xmlNodePtr(n_destParent, destParent, 5);
-        des_int(n_deep, deep, 6);
-        des_int(n_options, options, 7);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDOMWrapCloneNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_sourceDoc);
-            printf(" %d", n_node);
-            printf(" %d", n_resNode);
-            printf(" %d", n_destDoc);
-            printf(" %d", n_destParent);
-            printf(" %d", n_deep);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDOMWrapNewCtxt(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlDOMWrapReconcileNamespaces(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlDOMWrapCtxtPtr ctxt; /* DOM wrapper context, unused at the moment */
-    int n_ctxt;
-    xmlNodePtr elem; /* the element-node */
-    int n_elem;
-    int options; /* option flags */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
-        elem = gen_xmlNodePtr(n_elem, 1);
-        options = gen_int(n_options, 2);
-
-        ret_val = xmlDOMWrapReconcileNamespaces(ctxt, elem, options);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_elem, elem, 1);
-        des_int(n_options, options, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDOMWrapReconcileNamespaces",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_elem);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDOMWrapRemoveNode(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlDOMWrapCtxtPtr ctxt; /* a DOM wrapper context */
-    int n_ctxt;
-    xmlDocPtr doc; /* the doc */
-    int n_doc;
-    xmlNodePtr node; /* the node to be removed. */
-    int n_node;
-    int options; /* set of options, unused at the moment */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        node = gen_xmlNodePtr(n_node, 2);
-        options = gen_int(n_options, 3);
-
-        ret_val = xmlDOMWrapRemoveNode(ctxt, doc, node, options);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_node, node, 2);
-        des_int(n_options, options, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDOMWrapRemoveNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_node);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDocCopyNode(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr node; /* the node */
-    int n_node;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    int extended; /* if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable) */
-    int n_extended;
-
-    for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_extended = 0;n_extended < gen_nb_int;n_extended++) {
-        mem_base = xmlMemBlocks();
-        node = gen_const_xmlNodePtr(n_node, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        extended = gen_int(n_extended, 2);
-
-        ret_val = xmlDocCopyNode((const xmlNodePtr)node, doc, extended);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_int(n_extended, extended, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDocCopyNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_doc);
-            printf(" %d", n_extended);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDocCopyNodeList(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the target document */
-    int n_doc;
-    xmlNodePtr node; /* the first node in the list. */
-    int n_node;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        node = gen_const_xmlNodePtr(n_node, 1);
-
-        ret_val = xmlDocCopyNodeList(doc, (const xmlNodePtr)node);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDocCopyNodeList",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDocDump(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    FILE * f; /* the FILE* */
-    int n_f;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-
-    for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        f = gen_FILE_ptr(n_f, 0);
-        cur = gen_xmlDocPtr(n_cur, 1);
-
-        ret_val = xmlDocDump(f, cur);
-        desret_int(ret_val);
-        call_tests++;
-        des_FILE_ptr(n_f, f, 0);
-        des_xmlDocPtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDocDump",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_f);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDocDumpFormatMemory(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-    xmlChar ** mem; /* OUT: the memory pointer */
-    int n_mem;
-    int * size; /* OUT: the memory length */
-    int n_size;
-    int format; /* should formatting spaces been added */
-    int n_format;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-    for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
-    for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
-    for (n_format = 0;n_format < gen_nb_int;n_format++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlDocPtr(n_cur, 0);
-        mem = gen_xmlChar_ptr_ptr(n_mem, 1);
-        size = gen_int_ptr(n_size, 2);
-        format = gen_int(n_format, 3);
-
-        xmlDocDumpFormatMemory(cur, mem, size, format);
-        call_tests++;
-        des_xmlDocPtr(n_cur, cur, 0);
-        des_xmlChar_ptr_ptr(n_mem, mem, 1);
-        des_int_ptr(n_size, size, 2);
-        des_int(n_format, format, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDocDumpFormatMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_mem);
-            printf(" %d", n_size);
-            printf(" %d", n_format);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDocDumpFormatMemoryEnc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlDocPtr out_doc; /* Document to generate XML text from */
-    int n_out_doc;
-    xmlChar ** doc_txt_ptr; /* Memory pointer for allocated XML text */
-    int n_doc_txt_ptr;
-    int * doc_txt_len; /* Length of the generated XML text */
-    int n_doc_txt_len;
-    char * txt_encoding; /* Character encoding to use when generating XML text */
-    int n_txt_encoding;
-    int format; /* should formatting spaces been added */
-    int n_format;
-
-    for (n_out_doc = 0;n_out_doc < gen_nb_xmlDocPtr;n_out_doc++) {
-    for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) {
-    for (n_doc_txt_len = 0;n_doc_txt_len < gen_nb_int_ptr;n_doc_txt_len++) {
-    for (n_txt_encoding = 0;n_txt_encoding < gen_nb_const_char_ptr;n_txt_encoding++) {
-    for (n_format = 0;n_format < gen_nb_int;n_format++) {
-        mem_base = xmlMemBlocks();
-        out_doc = gen_xmlDocPtr(n_out_doc, 0);
-        doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 1);
-        doc_txt_len = gen_int_ptr(n_doc_txt_len, 2);
-        txt_encoding = gen_const_char_ptr(n_txt_encoding, 3);
-        format = gen_int(n_format, 4);
-
-        xmlDocDumpFormatMemoryEnc(out_doc, doc_txt_ptr, doc_txt_len, (const char *)txt_encoding, format);
-        call_tests++;
-        des_xmlDocPtr(n_out_doc, out_doc, 0);
-        des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 1);
-        des_int_ptr(n_doc_txt_len, doc_txt_len, 2);
-        des_const_char_ptr(n_txt_encoding, (const char *)txt_encoding, 3);
-        des_int(n_format, format, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDocDumpFormatMemoryEnc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out_doc);
-            printf(" %d", n_doc_txt_ptr);
-            printf(" %d", n_doc_txt_len);
-            printf(" %d", n_txt_encoding);
-            printf(" %d", n_format);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDocDumpMemory(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-    xmlChar ** mem; /* OUT: the memory pointer */
-    int n_mem;
-    int * size; /* OUT: the memory length */
-    int n_size;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-    for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
-    for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlDocPtr(n_cur, 0);
-        mem = gen_xmlChar_ptr_ptr(n_mem, 1);
-        size = gen_int_ptr(n_size, 2);
-
-        xmlDocDumpMemory(cur, mem, size);
-        call_tests++;
-        des_xmlDocPtr(n_cur, cur, 0);
-        des_xmlChar_ptr_ptr(n_mem, mem, 1);
-        des_int_ptr(n_size, size, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDocDumpMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_mem);
-            printf(" %d", n_size);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDocDumpMemoryEnc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlDocPtr out_doc; /* Document to generate XML text from */
-    int n_out_doc;
-    xmlChar ** doc_txt_ptr; /* Memory pointer for allocated XML text */
-    int n_doc_txt_ptr;
-    int * doc_txt_len; /* Length of the generated XML text */
-    int n_doc_txt_len;
-    char * txt_encoding; /* Character encoding to use when generating XML text */
-    int n_txt_encoding;
-
-    for (n_out_doc = 0;n_out_doc < gen_nb_xmlDocPtr;n_out_doc++) {
-    for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) {
-    for (n_doc_txt_len = 0;n_doc_txt_len < gen_nb_int_ptr;n_doc_txt_len++) {
-    for (n_txt_encoding = 0;n_txt_encoding < gen_nb_const_char_ptr;n_txt_encoding++) {
-        mem_base = xmlMemBlocks();
-        out_doc = gen_xmlDocPtr(n_out_doc, 0);
-        doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 1);
-        doc_txt_len = gen_int_ptr(n_doc_txt_len, 2);
-        txt_encoding = gen_const_char_ptr(n_txt_encoding, 3);
-
-        xmlDocDumpMemoryEnc(out_doc, doc_txt_ptr, doc_txt_len, (const char *)txt_encoding);
-        call_tests++;
-        des_xmlDocPtr(n_out_doc, out_doc, 0);
-        des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 1);
-        des_int_ptr(n_doc_txt_len, doc_txt_len, 2);
-        des_const_char_ptr(n_txt_encoding, (const char *)txt_encoding, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDocDumpMemoryEnc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out_doc);
-            printf(" %d", n_doc_txt_ptr);
-            printf(" %d", n_doc_txt_len);
-            printf(" %d", n_txt_encoding);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDocFormatDump(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    FILE * f; /* the FILE* */
-    int n_f;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-    int format; /* should formatting spaces been added */
-    int n_format;
-
-    for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-    for (n_format = 0;n_format < gen_nb_int;n_format++) {
-        mem_base = xmlMemBlocks();
-        f = gen_FILE_ptr(n_f, 0);
-        cur = gen_xmlDocPtr(n_cur, 1);
-        format = gen_int(n_format, 2);
-
-        ret_val = xmlDocFormatDump(f, cur, format);
-        desret_int(ret_val);
-        call_tests++;
-        des_FILE_ptr(n_f, f, 0);
-        des_xmlDocPtr(n_cur, cur, 1);
-        des_int(n_format, format, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDocFormatDump",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_f);
-            printf(" %d", n_cur);
-            printf(" %d", n_format);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDocGetRootElement(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-
-        ret_val = xmlDocGetRootElement(doc);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDocGetRootElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDocSetRootElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr root; /* the new document root element, if root is NULL no action is taken, to remove a node from a document use xmlUnlinkNode(root) instead. */
-    int n_root;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_root = 0;n_root < gen_nb_xmlNodePtr_in;n_root++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        root = gen_xmlNodePtr_in(n_root, 1);
-
-        ret_val = xmlDocSetRootElement(doc, root);
-        if (doc == NULL) { xmlFreeNode(root) ; root = NULL ; }
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNodePtr_in(n_root, root, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDocSetRootElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_root);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlElemDump(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    FILE * f; /* the FILE * for the output */
-    int n_f;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr cur; /* the current node */
-    int n_cur;
-
-    for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        f = gen_FILE_ptr(n_f, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        cur = gen_xmlNodePtr(n_cur, 2);
-
-        xmlElemDump(f, doc, cur);
-        call_tests++;
-        des_FILE_ptr(n_f, f, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_cur, cur, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlElemDump",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_f);
-            printf(" %d", n_doc);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlFirstElementChild(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr parent; /* the parent node */
-    int n_parent;
-
-    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
-        mem_base = xmlMemBlocks();
-        parent = gen_xmlNodePtr(n_parent, 0);
-
-        ret_val = xmlFirstElementChild(parent);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_parent, parent, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlFirstElementChild",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_parent);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetBufferAllocationScheme(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlBufferAllocationScheme ret_val;
-
-        mem_base = xmlMemBlocks();
-
-        ret_val = xmlGetBufferAllocationScheme();
-        desret_xmlBufferAllocationScheme(ret_val);
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetBufferAllocationScheme",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetCompressMode(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-
-        mem_base = xmlMemBlocks();
-
-        ret_val = xmlGetCompressMode();
-        desret_int(ret_val);
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetCompressMode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetDocCompressMode(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-
-        ret_val = xmlGetDocCompressMode(doc);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetDocCompressMode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetIntSubset(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlDtdPtr ret_val;
-    xmlDocPtr doc; /* the document pointer */
-    int n_doc;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-
-        ret_val = xmlGetIntSubset(doc);
-        desret_xmlDtdPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetIntSubset",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetLastChild(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr parent; /* the parent node */
-    int n_parent;
-
-    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
-        mem_base = xmlMemBlocks();
-        parent = gen_xmlNodePtr(n_parent, 0);
-
-        ret_val = xmlGetLastChild(parent);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_parent, parent, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetLastChild",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_parent);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetLineNo(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    long ret_val;
-    xmlNodePtr node; /* valid node */
-    int n_node;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-
-        ret_val = xmlGetLineNo(node);
-        desret_long(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetLineNo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetNoNsProp(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlNodePtr node; /* the node */
-    int n_node;
-    xmlChar * name; /* the attribute name */
-    int n_name;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlGetNoNsProp(node, (const xmlChar *)name);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetNoNsProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetNodePath(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlNodePtr node; /* a node */
-    int n_node;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-
-        ret_val = xmlGetNodePath(node);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetNodePath",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetNsList(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetNsProp(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlNodePtr node; /* the node */
-    int n_node;
-    xmlChar * name; /* the attribute name */
-    int n_name;
-    xmlChar * nameSpace; /* the URI of the namespace */
-    int n_nameSpace;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2);
-
-        ret_val = xmlGetNsProp(node, (const xmlChar *)name, (const xmlChar *)nameSpace);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetNsProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_name);
-            printf(" %d", n_nameSpace);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetProp(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlNodePtr node; /* the node */
-    int n_node;
-    xmlChar * name; /* the attribute name */
-    int n_name;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlGetProp(node, (const xmlChar *)name);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHasNsProp(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlAttrPtr ret_val;
-    xmlNodePtr node; /* the node */
-    int n_node;
-    xmlChar * name; /* the attribute name */
-    int n_name;
-    xmlChar * nameSpace; /* the URI of the namespace */
-    int n_nameSpace;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2);
-
-        ret_val = xmlHasNsProp(node, (const xmlChar *)name, (const xmlChar *)nameSpace);
-        desret_xmlAttrPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHasNsProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_name);
-            printf(" %d", n_nameSpace);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlHasProp(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlAttrPtr ret_val;
-    xmlNodePtr node; /* the node */
-    int n_node;
-    xmlChar * name; /* the attribute name */
-    int n_name;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlHasProp(node, (const xmlChar *)name);
-        desret_xmlAttrPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlHasProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIsBlankNode(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlNodePtr node; /* the node */
-    int n_node;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-
-        ret_val = xmlIsBlankNode(node);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIsBlankNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIsXHTML(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * systemID; /* the system identifier */
-    int n_systemID;
-    xmlChar * publicID; /* the public identifier */
-    int n_publicID;
-
-    for (n_systemID = 0;n_systemID < gen_nb_const_xmlChar_ptr;n_systemID++) {
-    for (n_publicID = 0;n_publicID < gen_nb_const_xmlChar_ptr;n_publicID++) {
-        mem_base = xmlMemBlocks();
-        systemID = gen_const_xmlChar_ptr(n_systemID, 0);
-        publicID = gen_const_xmlChar_ptr(n_publicID, 1);
-
-        ret_val = xmlIsXHTML((const xmlChar *)systemID, (const xmlChar *)publicID);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_systemID, (const xmlChar *)systemID, 0);
-        des_const_xmlChar_ptr(n_publicID, (const xmlChar *)publicID, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIsXHTML",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_systemID);
-            printf(" %d", n_publicID);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlLastElementChild(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr parent; /* the parent node */
-    int n_parent;
-
-    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
-        mem_base = xmlMemBlocks();
-        parent = gen_xmlNodePtr(n_parent, 0);
-
-        ret_val = xmlLastElementChild(parent);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_parent, parent, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlLastElementChild",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_parent);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewCDataBlock(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * content; /* the CDATA block content content */
-    int n_content;
-    int len; /* the length of the block */
-    int n_len;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlNewCDataBlock(doc, (const xmlChar *)content, len);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewCDataBlock",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_content);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewCharRef(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * name; /* the char ref string, starting with # or "&# ... ;" */
-    int n_name;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlNewCharRef(doc, (const xmlChar *)name);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewCharRef",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewChild(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-#ifdef LIBXML_TREE_ENABLED
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr parent; /* the parent node */
-    int n_parent;
-    xmlNsPtr ns; /* a namespace if any */
-    int n_ns;
-    xmlChar * name; /* the name of the child */
-    int n_name;
-    xmlChar * content; /* the XML content of the child if any. */
-    int n_content;
-
-    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
-    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        parent = gen_xmlNodePtr(n_parent, 0);
-        ns = gen_xmlNsPtr(n_ns, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        content = gen_const_xmlChar_ptr(n_content, 3);
-
-        ret_val = xmlNewChild(parent, ns, (const xmlChar *)name, (const xmlChar *)content);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_parent, parent, 0);
-        des_xmlNsPtr(n_ns, ns, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewChild",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_parent);
-            printf(" %d", n_ns);
-            printf(" %d", n_name);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewComment(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlChar * content; /* the comment content */
-    int n_content;
-
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        content = gen_const_xmlChar_ptr(n_content, 0);
-
-        ret_val = xmlNewComment((const xmlChar *)content);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewComment",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewDoc(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlChar * version; /* xmlChar string giving the version of XML "1.0" */
-    int n_version;
-
-    for (n_version = 0;n_version < gen_nb_const_xmlChar_ptr;n_version++) {
-        mem_base = xmlMemBlocks();
-        version = gen_const_xmlChar_ptr(n_version, 0);
-
-        ret_val = xmlNewDoc((const xmlChar *)version);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_version, (const xmlChar *)version, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_version);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewDocComment(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * content; /* the comment content */
-    int n_content;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-
-        ret_val = xmlNewDocComment(doc, (const xmlChar *)content);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewDocComment",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewDocFragment(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the document owning the fragment */
-    int n_doc;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-
-        ret_val = xmlNewDocFragment(doc);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewDocFragment",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewDocNode(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNsPtr ns; /* namespace if any */
-    int n_ns;
-    xmlChar * name; /* the node name */
-    int n_name;
-    xmlChar * content; /* the XML text content if any */
-    int n_content;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        ns = gen_xmlNsPtr(n_ns, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        content = gen_const_xmlChar_ptr(n_content, 3);
-
-        ret_val = xmlNewDocNode(doc, ns, (const xmlChar *)name, (const xmlChar *)content);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNsPtr(n_ns, ns, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewDocNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_ns);
-            printf(" %d", n_name);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewDocNodeEatName(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNsPtr ns; /* namespace if any */
-    int n_ns;
-    xmlChar * name; /* the node name */
-    int n_name;
-    xmlChar * content; /* the XML text content if any */
-    int n_content;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
-    for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        ns = gen_xmlNsPtr(n_ns, 1);
-        name = gen_eaten_name(n_name, 2);
-        content = gen_const_xmlChar_ptr(n_content, 3);
-
-        ret_val = xmlNewDocNodeEatName(doc, ns, name, (const xmlChar *)content);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNsPtr(n_ns, ns, 1);
-        des_eaten_name(n_name, name, 2);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewDocNodeEatName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_ns);
-            printf(" %d", n_name);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewDocPI(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the target document */
-    int n_doc;
-    xmlChar * name; /* the processing instruction name */
-    int n_name;
-    xmlChar * content; /* the PI content */
-    int n_content;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        content = gen_const_xmlChar_ptr(n_content, 2);
-
-        ret_val = xmlNewDocPI(doc, (const xmlChar *)name, (const xmlChar *)content);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewDocPI",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewDocProp(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlAttrPtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * name; /* the name of the attribute */
-    int n_name;
-    xmlChar * value; /* the value of the attribute */
-    int n_value;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        value = gen_const_xmlChar_ptr(n_value, 2);
-
-        ret_val = xmlNewDocProp(doc, (const xmlChar *)name, (const xmlChar *)value);
-        desret_xmlAttrPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewDocProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewDocRawNode(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-#ifdef LIBXML_TREE_ENABLED
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNsPtr ns; /* namespace if any */
-    int n_ns;
-    xmlChar * name; /* the node name */
-    int n_name;
-    xmlChar * content; /* the text content if any */
-    int n_content;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        ns = gen_xmlNsPtr(n_ns, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        content = gen_const_xmlChar_ptr(n_content, 3);
-
-        ret_val = xmlNewDocRawNode(doc, ns, (const xmlChar *)name, (const xmlChar *)content);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNsPtr(n_ns, ns, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewDocRawNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_ns);
-            printf(" %d", n_name);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewDocText(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * content; /* the text content */
-    int n_content;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-
-        ret_val = xmlNewDocText(doc, (const xmlChar *)content);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewDocText",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewDocTextLen(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * content; /* the text content */
-    int n_content;
-    int len; /* the text len. */
-    int n_len;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlNewDocTextLen(doc, (const xmlChar *)content, len);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewDocTextLen",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_content);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewDtd(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlDtdPtr ret_val;
-    xmlDocPtr doc; /* the document pointer */
-    int n_doc;
-    xmlChar * name; /* the DTD name */
-    int n_name;
-    xmlChar * ExternalID; /* the external ID */
-    int n_ExternalID;
-    xmlChar * SystemID; /* the system ID */
-    int n_SystemID;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
-    for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
-        SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
-
-        ret_val = xmlNewDtd(doc, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
-        desret_xmlDtdPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
-        des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewDtd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf(" %d", n_ExternalID);
-            printf(" %d", n_SystemID);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewNode(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNsPtr ns; /* namespace if any */
-    int n_ns;
-    xmlChar * name; /* the node name */
-    int n_name;
-
-    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        ns = gen_xmlNsPtr(n_ns, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlNewNode(ns, (const xmlChar *)name);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNsPtr(n_ns, ns, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ns);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewNodeEatName(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNsPtr ns; /* namespace if any */
-    int n_ns;
-    xmlChar * name; /* the node name */
-    int n_name;
-
-    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
-    for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) {
-        mem_base = xmlMemBlocks();
-        ns = gen_xmlNsPtr(n_ns, 0);
-        name = gen_eaten_name(n_name, 1);
-
-        ret_val = xmlNewNodeEatName(ns, name);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNsPtr(n_ns, ns, 0);
-        des_eaten_name(n_name, name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewNodeEatName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ns);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewNs(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNsPtr ret_val;
-    xmlNodePtr node; /* the element carrying the namespace */
-    int n_node;
-    xmlChar * href; /* the URI associated */
-    int n_href;
-    xmlChar * prefix; /* the prefix for the namespace */
-    int n_prefix;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_href = 0;n_href < gen_nb_const_xmlChar_ptr;n_href++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        href = gen_const_xmlChar_ptr(n_href, 1);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 2);
-
-        ret_val = xmlNewNs(node, (const xmlChar *)href, (const xmlChar *)prefix);
-        if ((node == NULL) && (ret_val != NULL)) xmlFreeNs(ret_val);
-        desret_xmlNsPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_const_xmlChar_ptr(n_href, (const xmlChar *)href, 1);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewNs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_href);
-            printf(" %d", n_prefix);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewNsProp(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlAttrPtr ret_val;
-    xmlNodePtr node; /* the holding node */
-    int n_node;
-    xmlNsPtr ns; /* the namespace */
-    int n_ns;
-    xmlChar * name; /* the name of the attribute */
-    int n_name;
-    xmlChar * value; /* the value of the attribute */
-    int n_value;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        ns = gen_xmlNsPtr(n_ns, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        value = gen_const_xmlChar_ptr(n_value, 3);
-
-        ret_val = xmlNewNsProp(node, ns, (const xmlChar *)name, (const xmlChar *)value);
-        desret_xmlAttrPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_xmlNsPtr(n_ns, ns, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewNsProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_ns);
-            printf(" %d", n_name);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewNsPropEatName(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlAttrPtr ret_val;
-    xmlNodePtr node; /* the holding node */
-    int n_node;
-    xmlNsPtr ns; /* the namespace */
-    int n_ns;
-    xmlChar * name; /* the name of the attribute */
-    int n_name;
-    xmlChar * value; /* the value of the attribute */
-    int n_value;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
-    for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        ns = gen_xmlNsPtr(n_ns, 1);
-        name = gen_eaten_name(n_name, 2);
-        value = gen_const_xmlChar_ptr(n_value, 3);
-
-        ret_val = xmlNewNsPropEatName(node, ns, name, (const xmlChar *)value);
-        desret_xmlAttrPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_xmlNsPtr(n_ns, ns, 1);
-        des_eaten_name(n_name, name, 2);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewNsPropEatName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_ns);
-            printf(" %d", n_name);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewPI(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlChar * name; /* the processing instruction name */
-    int n_name;
-    xmlChar * content; /* the PI content */
-    int n_content;
-
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        name = gen_const_xmlChar_ptr(n_name, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-
-        ret_val = xmlNewPI((const xmlChar *)name, (const xmlChar *)content);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewPI",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_name);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewProp(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-#ifdef LIBXML_TREE_ENABLED
-    int mem_base;
-    xmlAttrPtr ret_val;
-    xmlNodePtr node; /* the holding node */
-    int n_node;
-    xmlChar * name; /* the name of the attribute */
-    int n_name;
-    xmlChar * value; /* the value of the attribute */
-    int n_value;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        value = gen_const_xmlChar_ptr(n_value, 2);
-
-        ret_val = xmlNewProp(node, (const xmlChar *)name, (const xmlChar *)value);
-        desret_xmlAttrPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_name);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewReference(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * name; /* the reference name, or the reference string with & and ; */
-    int n_name;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlNewReference(doc, (const xmlChar *)name);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewReference",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewText(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlChar * content; /* the text content */
-    int n_content;
-
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        content = gen_const_xmlChar_ptr(n_content, 0);
-
-        ret_val = xmlNewText((const xmlChar *)content);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewText",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewTextChild(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-#ifdef LIBXML_TREE_ENABLED
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr parent; /* the parent node */
-    int n_parent;
-    xmlNsPtr ns; /* a namespace if any */
-    int n_ns;
-    xmlChar * name; /* the name of the child */
-    int n_name;
-    xmlChar * content; /* the text content of the child if any. */
-    int n_content;
-
-    for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
-    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        parent = gen_xmlNodePtr(n_parent, 0);
-        ns = gen_xmlNsPtr(n_ns, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        content = gen_const_xmlChar_ptr(n_content, 3);
-
-        ret_val = xmlNewTextChild(parent, ns, (const xmlChar *)name, (const xmlChar *)content);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_parent, parent, 0);
-        des_xmlNsPtr(n_ns, ns, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewTextChild",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_parent);
-            printf(" %d", n_ns);
-            printf(" %d", n_name);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewTextLen(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlChar * content; /* the text content */
-    int n_content;
-    int len; /* the text len. */
-    int n_len;
-
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        content = gen_const_xmlChar_ptr(n_content, 0);
-        len = gen_int(n_len, 1);
-
-        ret_val = xmlNewTextLen((const xmlChar *)content, len);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0);
-        des_int(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewTextLen",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_content);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNextElementSibling(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr node; /* the current node */
-    int n_node;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-
-        ret_val = xmlNextElementSibling(node);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNextElementSibling",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeAddContent(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr cur; /* the node being modified */
-    int n_cur;
-    xmlChar * content; /* extra content */
-    int n_content;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodePtr(n_cur, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-
-        xmlNodeAddContent(cur, (const xmlChar *)content);
-        call_tests++;
-        des_xmlNodePtr(n_cur, cur, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeAddContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeAddContentLen(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr cur; /* the node being modified */
-    int n_cur;
-    xmlChar * content; /* extra content */
-    int n_content;
-    int len; /* the size of @content */
-    int n_len;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodePtr(n_cur, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-        len = gen_int(n_len, 2);
-
-        xmlNodeAddContentLen(cur, (const xmlChar *)content, len);
-        call_tests++;
-        des_xmlNodePtr(n_cur, cur, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeAddContentLen",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_content);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeBufGetContent(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlBufferPtr buffer; /* a buffer */
-    int n_buffer;
-    xmlNodePtr cur; /* the node being read */
-    int n_cur;
-
-    for (n_buffer = 0;n_buffer < gen_nb_xmlBufferPtr;n_buffer++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        buffer = gen_xmlBufferPtr(n_buffer, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlNodeBufGetContent(buffer, cur);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlBufferPtr(n_buffer, buffer, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeBufGetContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buffer);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeDump(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlBufferPtr buf; /* the XML buffer output */
-    int n_buf;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr cur; /* the current node */
-    int n_cur;
-    int level; /* the imbrication level for indenting */
-    int n_level;
-    int format; /* is formatting allowed */
-    int n_format;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_level = 0;n_level < gen_nb_int;n_level++) {
-    for (n_format = 0;n_format < gen_nb_int;n_format++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        cur = gen_xmlNodePtr(n_cur, 2);
-        level = gen_int(n_level, 3);
-        format = gen_int(n_format, 4);
-
-        ret_val = xmlNodeDump(buf, doc, cur, level, format);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_cur, cur, 2);
-        des_int(n_level, level, 3);
-        des_int(n_format, format, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeDump",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_doc);
-            printf(" %d", n_cur);
-            printf(" %d", n_level);
-            printf(" %d", n_format);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeDumpOutput(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlOutputBufferPtr buf; /* the XML buffer output */
-    int n_buf;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr cur; /* the current node */
-    int n_cur;
-    int level; /* the imbrication level for indenting */
-    int n_level;
-    int format; /* is formatting allowed */
-    int n_format;
-    char * encoding; /* an optional encoding string */
-    int n_encoding;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_level = 0;n_level < gen_nb_int;n_level++) {
-    for (n_format = 0;n_format < gen_nb_int;n_format++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlOutputBufferPtr(n_buf, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        cur = gen_xmlNodePtr(n_cur, 2);
-        level = gen_int(n_level, 3);
-        format = gen_int(n_format, 4);
-        encoding = gen_const_char_ptr(n_encoding, 5);
-
-        xmlNodeDumpOutput(buf, doc, cur, level, format, (const char *)encoding);
-        call_tests++;
-        des_xmlOutputBufferPtr(n_buf, buf, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_cur, cur, 2);
-        des_int(n_level, level, 3);
-        des_int(n_format, format, 4);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeDumpOutput",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_doc);
-            printf(" %d", n_cur);
-            printf(" %d", n_level);
-            printf(" %d", n_format);
-            printf(" %d", n_encoding);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeGetBase(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlDocPtr doc; /* the document the node pertains to */
-    int n_doc;
-    xmlNodePtr cur; /* the node being checked */
-    int n_cur;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlNodeGetBase(doc, cur);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeGetBase",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeGetContent(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlNodePtr cur; /* the node being read */
-    int n_cur;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodePtr(n_cur, 0);
-
-        ret_val = xmlNodeGetContent(cur);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_cur, cur, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeGetContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeGetLang(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlNodePtr cur; /* the node being checked */
-    int n_cur;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodePtr(n_cur, 0);
-
-        ret_val = xmlNodeGetLang(cur);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_cur, cur, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeGetLang",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeGetSpacePreserve(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlNodePtr cur; /* the node being checked */
-    int n_cur;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodePtr(n_cur, 0);
-
-        ret_val = xmlNodeGetSpacePreserve(cur);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_cur, cur, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeGetSpacePreserve",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeIsText(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlNodePtr node; /* the node */
-    int n_node;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-
-        ret_val = xmlNodeIsText(node);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeIsText",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeListGetRawString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr list; /* a Node list */
-    int n_list;
-    int inLine; /* should we replace entity contents or show their external form */
-    int n_inLine;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_list = 0;n_list < gen_nb_xmlNodePtr;n_list++) {
-    for (n_inLine = 0;n_inLine < gen_nb_int;n_inLine++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        list = gen_xmlNodePtr(n_list, 1);
-        inLine = gen_int(n_inLine, 2);
-
-        ret_val = xmlNodeListGetRawString(doc, list, inLine);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNodePtr(n_list, list, 1);
-        des_int(n_inLine, inLine, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeListGetRawString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_list);
-            printf(" %d", n_inLine);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeListGetString(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr list; /* a Node list */
-    int n_list;
-    int inLine; /* should we replace entity contents or show their external form */
-    int n_inLine;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_list = 0;n_list < gen_nb_xmlNodePtr;n_list++) {
-    for (n_inLine = 0;n_inLine < gen_nb_int;n_inLine++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        list = gen_xmlNodePtr(n_list, 1);
-        inLine = gen_int(n_inLine, 2);
-
-        ret_val = xmlNodeListGetString(doc, list, inLine);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNodePtr(n_list, list, 1);
-        des_int(n_inLine, inLine, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeListGetString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_list);
-            printf(" %d", n_inLine);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeSetBase(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
-    int mem_base;
-    xmlNodePtr cur; /* the node being changed */
-    int n_cur;
-    xmlChar * uri; /* the new base URI */
-    int n_uri;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_uri = 0;n_uri < gen_nb_const_xmlChar_ptr;n_uri++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodePtr(n_cur, 0);
-        uri = gen_const_xmlChar_ptr(n_uri, 1);
-
-        xmlNodeSetBase(cur, (const xmlChar *)uri);
-        call_tests++;
-        des_xmlNodePtr(n_cur, cur, 0);
-        des_const_xmlChar_ptr(n_uri, (const xmlChar *)uri, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeSetBase",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_uri);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeSetContent(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr cur; /* the node being modified */
-    int n_cur;
-    xmlChar * content; /* the new value of the content */
-    int n_content;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodePtr(n_cur, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-
-        xmlNodeSetContent(cur, (const xmlChar *)content);
-        call_tests++;
-        des_xmlNodePtr(n_cur, cur, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeSetContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeSetContentLen(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-    int mem_base;
-    xmlNodePtr cur; /* the node being modified */
-    int n_cur;
-    xmlChar * content; /* the new value of the content */
-    int n_content;
-    int len; /* the size of @content */
-    int n_len;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodePtr(n_cur, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-        len = gen_int(n_len, 2);
-
-        xmlNodeSetContentLen(cur, (const xmlChar *)content, len);
-        call_tests++;
-        des_xmlNodePtr(n_cur, cur, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeSetContentLen",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_content);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeSetLang(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-    int mem_base;
-    xmlNodePtr cur; /* the node being changed */
-    int n_cur;
-    xmlChar * lang; /* the language description */
-    int n_lang;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_lang = 0;n_lang < gen_nb_const_xmlChar_ptr;n_lang++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodePtr(n_cur, 0);
-        lang = gen_const_xmlChar_ptr(n_lang, 1);
-
-        xmlNodeSetLang(cur, (const xmlChar *)lang);
-        call_tests++;
-        des_xmlNodePtr(n_cur, cur, 0);
-        des_const_xmlChar_ptr(n_lang, (const xmlChar *)lang, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeSetLang",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_lang);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeSetName(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-    int mem_base;
-    xmlNodePtr cur; /* the node being changed */
-    int n_cur;
-    xmlChar * name; /* the new tag name */
-    int n_name;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodePtr(n_cur, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        xmlNodeSetName(cur, (const xmlChar *)name);
-        call_tests++;
-        des_xmlNodePtr(n_cur, cur, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeSetName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNodeSetSpacePreserve(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-    int mem_base;
-    xmlNodePtr cur; /* the node being changed */
-    int n_cur;
-    int val; /* the xml:space value ("0": default, 1: "preserve") */
-    int n_val;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-    for (n_val = 0;n_val < gen_nb_int;n_val++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodePtr(n_cur, 0);
-        val = gen_int(n_val, 1);
-
-        xmlNodeSetSpacePreserve(cur, val);
-        call_tests++;
-        des_xmlNodePtr(n_cur, cur, 0);
-        des_int(n_val, val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNodeSetSpacePreserve",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlPreviousElementSibling(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr node; /* the current node */
-    int n_node;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-
-        ret_val = xmlPreviousElementSibling(node);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlPreviousElementSibling",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlReconciliateNs(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED)
-#ifdef LIBXML_TREE_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr tree; /* a node defining the subtree to reconciliate */
-    int n_tree;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        tree = gen_xmlNodePtr(n_tree, 1);
-
-        ret_val = xmlReconciliateNs(doc, tree);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNodePtr(n_tree, tree, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlReconciliateNs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_tree);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRemoveProp(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlAttrPtr cur; /* an attribute */
-    int n_cur;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlAttrPtr(n_cur, 0);
-
-        ret_val = xmlRemoveProp(cur);
-        cur = NULL;
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlAttrPtr(n_cur, cur, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRemoveProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlReplaceNode(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr old; /* the old node */
-    int n_old;
-    xmlNodePtr cur; /* the node */
-    int n_cur;
-
-    for (n_old = 0;n_old < gen_nb_xmlNodePtr;n_old++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) {
-        mem_base = xmlMemBlocks();
-        old = gen_xmlNodePtr(n_old, 0);
-        cur = gen_xmlNodePtr_in(n_cur, 1);
-
-        ret_val = xmlReplaceNode(old, cur);
-        if (cur != NULL) {
-              xmlUnlinkNode(cur);
-              xmlFreeNode(cur) ; cur = NULL ; }
-          if (old != NULL) {
-              xmlUnlinkNode(old);
-              xmlFreeNode(old) ; old = NULL ; }
-         ret_val = NULL;
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_old, old, 0);
-        des_xmlNodePtr_in(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlReplaceNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_old);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    const char * filename; /* the filename (or URL) */
-    int n_filename;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_fileoutput(n_filename, 0);
-        cur = gen_xmlDocPtr(n_cur, 1);
-
-        ret_val = xmlSaveFile(filename, cur);
-        desret_int(ret_val);
-        call_tests++;
-        des_fileoutput(n_filename, filename, 0);
-        des_xmlDocPtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSaveFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveFileEnc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    const char * filename; /* the filename (or URL) */
-    int n_filename;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-    char * encoding; /* the name of an encoding (or NULL) */
-    int n_encoding;
-
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_fileoutput(n_filename, 0);
-        cur = gen_xmlDocPtr(n_cur, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-
-        ret_val = xmlSaveFileEnc(filename, cur, (const char *)encoding);
-        desret_int(ret_val);
-        call_tests++;
-        des_fileoutput(n_filename, filename, 0);
-        des_xmlDocPtr(n_cur, cur, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSaveFileEnc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf(" %d", n_cur);
-            printf(" %d", n_encoding);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveFileTo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlOutputBufferPtr buf; /* an output I/O buffer */
-    int n_buf;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-    char * encoding; /* the encoding if any assuming the I/O layer handles the trancoding */
-    int n_encoding;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlOutputBufferPtr(n_buf, 0);
-        cur = gen_xmlDocPtr(n_cur, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-
-        ret_val = xmlSaveFileTo(buf, cur, (const char *)encoding);
-        buf = NULL;
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlOutputBufferPtr(n_buf, buf, 0);
-        des_xmlDocPtr(n_cur, cur, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSaveFileTo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_cur);
-            printf(" %d", n_encoding);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveFormatFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    const char * filename; /* the filename (or URL) */
-    int n_filename;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-    int format; /* should formatting spaces been added */
-    int n_format;
-
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-    for (n_format = 0;n_format < gen_nb_int;n_format++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_fileoutput(n_filename, 0);
-        cur = gen_xmlDocPtr(n_cur, 1);
-        format = gen_int(n_format, 2);
-
-        ret_val = xmlSaveFormatFile(filename, cur, format);
-        desret_int(ret_val);
-        call_tests++;
-        des_fileoutput(n_filename, filename, 0);
-        des_xmlDocPtr(n_cur, cur, 1);
-        des_int(n_format, format, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSaveFormatFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf(" %d", n_cur);
-            printf(" %d", n_format);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveFormatFileEnc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    const char * filename; /* the filename or URL to output */
-    int n_filename;
-    xmlDocPtr cur; /* the document being saved */
-    int n_cur;
-    char * encoding; /* the name of the encoding to use or NULL. */
-    int n_encoding;
-    int format; /* should formatting spaces be added. */
-    int n_format;
-
-    for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_format = 0;n_format < gen_nb_int;n_format++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_fileoutput(n_filename, 0);
-        cur = gen_xmlDocPtr(n_cur, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-        format = gen_int(n_format, 3);
-
-        ret_val = xmlSaveFormatFileEnc(filename, cur, (const char *)encoding, format);
-        desret_int(ret_val);
-        call_tests++;
-        des_fileoutput(n_filename, filename, 0);
-        des_xmlDocPtr(n_cur, cur, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        des_int(n_format, format, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSaveFormatFileEnc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf(" %d", n_cur);
-            printf(" %d", n_encoding);
-            printf(" %d", n_format);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveFormatFileTo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlOutputBufferPtr buf; /* an output I/O buffer */
-    int n_buf;
-    xmlDocPtr cur; /* the document */
-    int n_cur;
-    char * encoding; /* the encoding if any assuming the I/O layer handles the trancoding */
-    int n_encoding;
-    int format; /* should formatting spaces been added */
-    int n_format;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_format = 0;n_format < gen_nb_int;n_format++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlOutputBufferPtr(n_buf, 0);
-        cur = gen_xmlDocPtr(n_cur, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-        format = gen_int(n_format, 3);
-
-        ret_val = xmlSaveFormatFileTo(buf, cur, (const char *)encoding, format);
-        buf = NULL;
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlOutputBufferPtr(n_buf, buf, 0);
-        des_xmlDocPtr(n_cur, cur, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        des_int(n_format, format, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSaveFormatFileTo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_cur);
-            printf(" %d", n_encoding);
-            printf(" %d", n_format);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSearchNs(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNsPtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr node; /* the current node */
-    int n_node;
-    xmlChar * nameSpace; /* the namespace prefix */
-    int n_nameSpace;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-        nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2);
-
-        ret_val = xmlSearchNs(doc, node, (const xmlChar *)nameSpace);
-        desret_xmlNsPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSearchNs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_node);
-            printf(" %d", n_nameSpace);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSearchNsByHref(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNsPtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr node; /* the current node */
-    int n_node;
-    xmlChar * href; /* the namespace value */
-    int n_href;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_href = 0;n_href < gen_nb_const_xmlChar_ptr;n_href++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-        href = gen_const_xmlChar_ptr(n_href, 2);
-
-        ret_val = xmlSearchNsByHref(doc, node, (const xmlChar *)href);
-        desret_xmlNsPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        des_const_xmlChar_ptr(n_href, (const xmlChar *)href, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSearchNsByHref",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_node);
-            printf(" %d", n_href);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSetBufferAllocationScheme(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlBufferAllocationScheme scheme; /* allocation method to use */
-    int n_scheme;
-
-    for (n_scheme = 0;n_scheme < gen_nb_xmlBufferAllocationScheme;n_scheme++) {
-        mem_base = xmlMemBlocks();
-        scheme = gen_xmlBufferAllocationScheme(n_scheme, 0);
-
-        xmlSetBufferAllocationScheme(scheme);
-        call_tests++;
-        des_xmlBufferAllocationScheme(n_scheme, scheme, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSetBufferAllocationScheme",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_scheme);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSetCompressMode(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int mode; /* the compression ratio */
-    int n_mode;
-
-    for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
-        mem_base = xmlMemBlocks();
-        mode = gen_int(n_mode, 0);
-
-        xmlSetCompressMode(mode);
-        call_tests++;
-        des_int(n_mode, mode, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSetCompressMode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_mode);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSetDocCompressMode(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    int mode; /* the compression ratio */
-    int n_mode;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        mode = gen_int(n_mode, 1);
-
-        xmlSetDocCompressMode(doc, mode);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_int(n_mode, mode, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSetDocCompressMode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_mode);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSetNs(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr node; /* a node in the document */
-    int n_node;
-    xmlNsPtr ns; /* a namespace pointer */
-    int n_ns;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        ns = gen_xmlNsPtr(n_ns, 1);
-
-        xmlSetNs(node, ns);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_xmlNsPtr(n_ns, ns, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSetNs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_ns);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSetNsProp(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    xmlAttrPtr ret_val;
-    xmlNodePtr node; /* the node */
-    int n_node;
-    xmlNsPtr ns; /* the namespace definition */
-    int n_ns;
-    xmlChar * name; /* the attribute name */
-    int n_name;
-    xmlChar * value; /* the attribute value */
-    int n_value;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        ns = gen_xmlNsPtr(n_ns, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        value = gen_const_xmlChar_ptr(n_value, 3);
-
-        ret_val = xmlSetNsProp(node, ns, (const xmlChar *)name, (const xmlChar *)value);
-        desret_xmlAttrPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_xmlNsPtr(n_ns, ns, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSetNsProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_ns);
-            printf(" %d", n_name);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSetProp(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
-    int mem_base;
-    xmlAttrPtr ret_val;
-    xmlNodePtr node; /* the node */
-    int n_node;
-    xmlChar * name; /* the attribute name (a QName) */
-    int n_name;
-    xmlChar * value; /* the attribute value */
-    int n_value;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        value = gen_const_xmlChar_ptr(n_value, 2);
-
-        ret_val = xmlSetProp(node, (const xmlChar *)name, (const xmlChar *)value);
-        desret_xmlAttrPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSetProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_name);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSplitQName2(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * name; /* the full QName */
-    int n_name;
-    xmlChar ** prefix; /* a xmlChar ** */
-    int n_prefix;
-
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_prefix = 0;n_prefix < gen_nb_xmlChar_ptr_ptr;n_prefix++) {
-        mem_base = xmlMemBlocks();
-        name = gen_const_xmlChar_ptr(n_name, 0);
-        prefix = gen_xmlChar_ptr_ptr(n_prefix, 1);
-
-        ret_val = xmlSplitQName2((const xmlChar *)name, prefix);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
-        des_xmlChar_ptr_ptr(n_prefix, prefix, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSplitQName2",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_name);
-            printf(" %d", n_prefix);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSplitQName3(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlChar * name; /* the full QName */
-    int n_name;
-    int * len; /* an int * */
-    int n_len;
-
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
-        mem_base = xmlMemBlocks();
-        name = gen_const_xmlChar_ptr(n_name, 0);
-        len = gen_int_ptr(n_len, 1);
-
-        ret_val = xmlSplitQName3((const xmlChar *)name, len);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
-        des_int_ptr(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSplitQName3",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_name);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStringGetNodeList(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * value; /* the value of the attribute */
-    int n_value;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        value = gen_const_xmlChar_ptr(n_value, 1);
-
-        ret_val = xmlStringGetNodeList(doc, (const xmlChar *)value);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStringGetNodeList",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStringLenGetNodeList(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * value; /* the value of the text */
-    int n_value;
-    int len; /* the length of the string value */
-    int n_len;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        value = gen_const_xmlChar_ptr(n_value, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlStringLenGetNodeList(doc, (const xmlChar *)value, len);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStringLenGetNodeList",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_value);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextConcat(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlNodePtr node; /* the node */
-    int n_node;
-    xmlChar * content; /* the content */
-    int n_content;
-    int len; /* @content length */
-    int n_len;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlTextConcat(node, (const xmlChar *)content, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextConcat",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_content);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextMerge(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlNodePtr first; /* the first text node */
-    int n_first;
-    xmlNodePtr second; /* the second text node being merged */
-    int n_second;
-
-    for (n_first = 0;n_first < gen_nb_xmlNodePtr_in;n_first++) {
-    for (n_second = 0;n_second < gen_nb_xmlNodePtr_in;n_second++) {
-        mem_base = xmlMemBlocks();
-        first = gen_xmlNodePtr_in(n_first, 0);
-        second = gen_xmlNodePtr_in(n_second, 1);
-
-        ret_val = xmlTextMerge(first, second);
-        if ((first != NULL) && (first->type != XML_TEXT_NODE)) {
-              xmlUnlinkNode(second);
-              xmlFreeNode(second) ; second = NULL ; }
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr_in(n_first, first, 0);
-        des_xmlNodePtr_in(n_second, second, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextMerge",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_first);
-            printf(" %d", n_second);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUnsetNsProp(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlNodePtr node; /* the node */
-    int n_node;
-    xmlNsPtr ns; /* the namespace definition */
-    int n_ns;
-    xmlChar * name; /* the attribute name */
-    int n_name;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        ns = gen_xmlNsPtr(n_ns, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-
-        ret_val = xmlUnsetNsProp(node, ns, (const xmlChar *)name);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_xmlNsPtr(n_ns, ns, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUnsetNsProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_ns);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUnsetProp(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlNodePtr node; /* the node */
-    int n_node;
-    xmlChar * name; /* the attribute name */
-    int n_name;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlUnsetProp(node, (const xmlChar *)name);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUnsetProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateNCName(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
-#ifdef LIBXML_TREE_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlChar * value; /* the value to check */
-    int n_value;
-    int space; /* allow spaces in front and end of the string */
-    int n_space;
-
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_space = 0;n_space < gen_nb_int;n_space++) {
-        mem_base = xmlMemBlocks();
-        value = gen_const_xmlChar_ptr(n_value, 0);
-        space = gen_int(n_space, 1);
-
-        ret_val = xmlValidateNCName((const xmlChar *)value, space);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
-        des_int(n_space, space, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateNCName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_value);
-            printf(" %d", n_space);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateNMToken(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-#ifdef LIBXML_TREE_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlChar * value; /* the value to check */
-    int n_value;
-    int space; /* allow spaces in front and end of the string */
-    int n_space;
-
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_space = 0;n_space < gen_nb_int;n_space++) {
-        mem_base = xmlMemBlocks();
-        value = gen_const_xmlChar_ptr(n_value, 0);
-        space = gen_int(n_space, 1);
-
-        ret_val = xmlValidateNMToken((const xmlChar *)value, space);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
-        des_int(n_space, space, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateNMToken",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_value);
-            printf(" %d", n_space);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateName(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-#ifdef LIBXML_TREE_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlChar * value; /* the value to check */
-    int n_value;
-    int space; /* allow spaces in front and end of the string */
-    int n_space;
-
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_space = 0;n_space < gen_nb_int;n_space++) {
-        mem_base = xmlMemBlocks();
-        value = gen_const_xmlChar_ptr(n_value, 0);
-        space = gen_int(n_space, 1);
-
-        ret_val = xmlValidateName((const xmlChar *)value, space);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
-        des_int(n_space, space, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_value);
-            printf(" %d", n_space);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateQName(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-#ifdef LIBXML_TREE_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlChar * value; /* the value to check */
-    int n_value;
-    int space; /* allow spaces in front and end of the string */
-    int n_space;
-
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_space = 0;n_space < gen_nb_int;n_space++) {
-        mem_base = xmlMemBlocks();
-        value = gen_const_xmlChar_ptr(n_value, 0);
-        space = gen_int(n_space, 1);
-
-        ret_val = xmlValidateQName((const xmlChar *)value, space);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
-        des_int(n_space, space, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateQName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_value);
-            printf(" %d", n_space);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_tree(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing tree : 142 of 164 functions ...\n");
-    test_ret += test_xmlAddChild();
-    test_ret += test_xmlAddChildList();
-    test_ret += test_xmlAddNextSibling();
-    test_ret += test_xmlAddPrevSibling();
-    test_ret += test_xmlAddSibling();
-    test_ret += test_xmlAttrSerializeTxtContent();
-    test_ret += test_xmlBufContent();
-    test_ret += test_xmlBufEnd();
-    test_ret += test_xmlBufGetNodeContent();
-    test_ret += test_xmlBufNodeDump();
-    test_ret += test_xmlBufShrink();
-    test_ret += test_xmlBufUse();
-    test_ret += test_xmlBufferAdd();
-    test_ret += test_xmlBufferAddHead();
-    test_ret += test_xmlBufferCCat();
-    test_ret += test_xmlBufferCat();
-    test_ret += test_xmlBufferContent();
-    test_ret += test_xmlBufferCreate();
-    test_ret += test_xmlBufferCreateSize();
-    test_ret += test_xmlBufferCreateStatic();
-    test_ret += test_xmlBufferDetach();
-    test_ret += test_xmlBufferEmpty();
-    test_ret += test_xmlBufferGrow();
-    test_ret += test_xmlBufferLength();
-    test_ret += test_xmlBufferResize();
-    test_ret += test_xmlBufferSetAllocationScheme();
-    test_ret += test_xmlBufferShrink();
-    test_ret += test_xmlBufferWriteCHAR();
-    test_ret += test_xmlBufferWriteChar();
-    test_ret += test_xmlBufferWriteQuotedString();
-    test_ret += test_xmlBuildQName();
-    test_ret += test_xmlChildElementCount();
-    test_ret += test_xmlCopyDoc();
-    test_ret += test_xmlCopyDtd();
-    test_ret += test_xmlCopyNamespace();
-    test_ret += test_xmlCopyNamespaceList();
-    test_ret += test_xmlCopyNode();
-    test_ret += test_xmlCopyNodeList();
-    test_ret += test_xmlCopyProp();
-    test_ret += test_xmlCopyPropList();
-    test_ret += test_xmlCreateIntSubset();
-    test_ret += test_xmlDOMWrapAdoptNode();
-    test_ret += test_xmlDOMWrapCloneNode();
-    test_ret += test_xmlDOMWrapNewCtxt();
-    test_ret += test_xmlDOMWrapReconcileNamespaces();
-    test_ret += test_xmlDOMWrapRemoveNode();
-    test_ret += test_xmlDocCopyNode();
-    test_ret += test_xmlDocCopyNodeList();
-    test_ret += test_xmlDocDump();
-    test_ret += test_xmlDocDumpFormatMemory();
-    test_ret += test_xmlDocDumpFormatMemoryEnc();
-    test_ret += test_xmlDocDumpMemory();
-    test_ret += test_xmlDocDumpMemoryEnc();
-    test_ret += test_xmlDocFormatDump();
-    test_ret += test_xmlDocGetRootElement();
-    test_ret += test_xmlDocSetRootElement();
-    test_ret += test_xmlElemDump();
-    test_ret += test_xmlFirstElementChild();
-    test_ret += test_xmlGetBufferAllocationScheme();
-    test_ret += test_xmlGetCompressMode();
-    test_ret += test_xmlGetDocCompressMode();
-    test_ret += test_xmlGetIntSubset();
-    test_ret += test_xmlGetLastChild();
-    test_ret += test_xmlGetLineNo();
-    test_ret += test_xmlGetNoNsProp();
-    test_ret += test_xmlGetNodePath();
-    test_ret += test_xmlGetNsList();
-    test_ret += test_xmlGetNsProp();
-    test_ret += test_xmlGetProp();
-    test_ret += test_xmlHasNsProp();
-    test_ret += test_xmlHasProp();
-    test_ret += test_xmlIsBlankNode();
-    test_ret += test_xmlIsXHTML();
-    test_ret += test_xmlLastElementChild();
-    test_ret += test_xmlNewCDataBlock();
-    test_ret += test_xmlNewCharRef();
-    test_ret += test_xmlNewChild();
-    test_ret += test_xmlNewComment();
-    test_ret += test_xmlNewDoc();
-    test_ret += test_xmlNewDocComment();
-    test_ret += test_xmlNewDocFragment();
-    test_ret += test_xmlNewDocNode();
-    test_ret += test_xmlNewDocNodeEatName();
-    test_ret += test_xmlNewDocPI();
-    test_ret += test_xmlNewDocProp();
-    test_ret += test_xmlNewDocRawNode();
-    test_ret += test_xmlNewDocText();
-    test_ret += test_xmlNewDocTextLen();
-    test_ret += test_xmlNewDtd();
-    test_ret += test_xmlNewNode();
-    test_ret += test_xmlNewNodeEatName();
-    test_ret += test_xmlNewNs();
-    test_ret += test_xmlNewNsProp();
-    test_ret += test_xmlNewNsPropEatName();
-    test_ret += test_xmlNewPI();
-    test_ret += test_xmlNewProp();
-    test_ret += test_xmlNewReference();
-    test_ret += test_xmlNewText();
-    test_ret += test_xmlNewTextChild();
-    test_ret += test_xmlNewTextLen();
-    test_ret += test_xmlNextElementSibling();
-    test_ret += test_xmlNodeAddContent();
-    test_ret += test_xmlNodeAddContentLen();
-    test_ret += test_xmlNodeBufGetContent();
-    test_ret += test_xmlNodeDump();
-    test_ret += test_xmlNodeDumpOutput();
-    test_ret += test_xmlNodeGetBase();
-    test_ret += test_xmlNodeGetContent();
-    test_ret += test_xmlNodeGetLang();
-    test_ret += test_xmlNodeGetSpacePreserve();
-    test_ret += test_xmlNodeIsText();
-    test_ret += test_xmlNodeListGetRawString();
-    test_ret += test_xmlNodeListGetString();
-    test_ret += test_xmlNodeSetBase();
-    test_ret += test_xmlNodeSetContent();
-    test_ret += test_xmlNodeSetContentLen();
-    test_ret += test_xmlNodeSetLang();
-    test_ret += test_xmlNodeSetName();
-    test_ret += test_xmlNodeSetSpacePreserve();
-    test_ret += test_xmlPreviousElementSibling();
-    test_ret += test_xmlReconciliateNs();
-    test_ret += test_xmlRemoveProp();
-    test_ret += test_xmlReplaceNode();
-    test_ret += test_xmlSaveFile();
-    test_ret += test_xmlSaveFileEnc();
-    test_ret += test_xmlSaveFileTo();
-    test_ret += test_xmlSaveFormatFile();
-    test_ret += test_xmlSaveFormatFileEnc();
-    test_ret += test_xmlSaveFormatFileTo();
-    test_ret += test_xmlSearchNs();
-    test_ret += test_xmlSearchNsByHref();
-    test_ret += test_xmlSetBufferAllocationScheme();
-    test_ret += test_xmlSetCompressMode();
-    test_ret += test_xmlSetDocCompressMode();
-    test_ret += test_xmlSetNs();
-    test_ret += test_xmlSetNsProp();
-    test_ret += test_xmlSetProp();
-    test_ret += test_xmlSplitQName2();
-    test_ret += test_xmlSplitQName3();
-    test_ret += test_xmlStringGetNodeList();
-    test_ret += test_xmlStringLenGetNodeList();
-    test_ret += test_xmlTextConcat();
-    test_ret += test_xmlTextMerge();
-    test_ret += test_xmlUnsetNsProp();
-    test_ret += test_xmlUnsetProp();
-    test_ret += test_xmlValidateNCName();
-    test_ret += test_xmlValidateNMToken();
-    test_ret += test_xmlValidateName();
-    test_ret += test_xmlValidateQName();
-
-    if (test_ret != 0)
-       printf("Module tree: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlBuildRelativeURI(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * URI; /* the URI reference under consideration */
-    int n_URI;
-    xmlChar * base; /* the base value */
-    int n_base;
-
-    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
-    for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) {
-        mem_base = xmlMemBlocks();
-        URI = gen_const_xmlChar_ptr(n_URI, 0);
-        base = gen_const_xmlChar_ptr(n_base, 1);
-
-        ret_val = xmlBuildRelativeURI((const xmlChar *)URI, (const xmlChar *)base);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
-        des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBuildRelativeURI",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URI);
-            printf(" %d", n_base);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlBuildURI(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * URI; /* the URI instance found in the document */
-    int n_URI;
-    xmlChar * base; /* the base value */
-    int n_base;
-
-    for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
-    for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) {
-        mem_base = xmlMemBlocks();
-        URI = gen_const_xmlChar_ptr(n_URI, 0);
-        base = gen_const_xmlChar_ptr(n_base, 1);
-
-        ret_val = xmlBuildURI((const xmlChar *)URI, (const xmlChar *)base);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
-        des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlBuildURI",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URI);
-            printf(" %d", n_base);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCanonicPath(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * path; /* the resource locator in a filesystem notation */
-    int n_path;
-
-    for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) {
-        mem_base = xmlMemBlocks();
-        path = gen_const_xmlChar_ptr(n_path, 0);
-
-        ret_val = xmlCanonicPath((const xmlChar *)path);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCanonicPath",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_path);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCreateURI(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlNormalizeURIPath(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    char * path; /* pointer to the path string */
-    int n_path;
-
-    for (n_path = 0;n_path < gen_nb_char_ptr;n_path++) {
-        mem_base = xmlMemBlocks();
-        path = gen_char_ptr(n_path, 0);
-
-        ret_val = xmlNormalizeURIPath(path);
-        desret_int(ret_val);
-        call_tests++;
-        des_char_ptr(n_path, path, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNormalizeURIPath",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_path);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseURI(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlParseURIRaw(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlURIPtr 1
-static xmlURIPtr gen_xmlURIPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlURIPtr(int no ATTRIBUTE_UNUSED, xmlURIPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlParseURIReference(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlURIPtr uri; /* pointer to an URI structure */
-    int n_uri;
-    char * str; /* the string to analyze */
-    int n_str;
-
-    for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) {
-    for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) {
-        mem_base = xmlMemBlocks();
-        uri = gen_xmlURIPtr(n_uri, 0);
-        str = gen_const_char_ptr(n_str, 1);
-
-        ret_val = xmlParseURIReference(uri, (const char *)str);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlURIPtr(n_uri, uri, 0);
-        des_const_char_ptr(n_str, (const char *)str, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParseURIReference",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_uri);
-            printf(" %d", n_str);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlPathToURI(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * path; /* the resource locator in a filesystem notation */
-    int n_path;
-
-    for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) {
-        mem_base = xmlMemBlocks();
-        path = gen_const_xmlChar_ptr(n_path, 0);
-
-        ret_val = xmlPathToURI((const xmlChar *)path);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlPathToURI",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_path);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlPrintURI(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    FILE * stream; /* a FILE* for the output */
-    int n_stream;
-    xmlURIPtr uri; /* pointer to an xmlURI */
-    int n_uri;
-
-    for (n_stream = 0;n_stream < gen_nb_FILE_ptr;n_stream++) {
-    for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) {
-        mem_base = xmlMemBlocks();
-        stream = gen_FILE_ptr(n_stream, 0);
-        uri = gen_xmlURIPtr(n_uri, 1);
-
-        xmlPrintURI(stream, uri);
-        call_tests++;
-        des_FILE_ptr(n_stream, stream, 0);
-        des_xmlURIPtr(n_uri, uri, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlPrintURI",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_stream);
-            printf(" %d", n_uri);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveUri(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlURIPtr uri; /* pointer to an xmlURI */
-    int n_uri;
-
-    for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) {
-        mem_base = xmlMemBlocks();
-        uri = gen_xmlURIPtr(n_uri, 0);
-
-        ret_val = xmlSaveUri(uri);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlURIPtr(n_uri, uri, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSaveUri",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_uri);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlURIEscape(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * str; /* the string of the URI to escape */
-    int n_str;
-
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-        mem_base = xmlMemBlocks();
-        str = gen_const_xmlChar_ptr(n_str, 0);
-
-        ret_val = xmlURIEscape((const xmlChar *)str);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlURIEscape",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlURIEscapeStr(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * str; /* string to escape */
-    int n_str;
-    xmlChar * list; /* exception list string of chars not to escape */
-    int n_list;
-
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-    for (n_list = 0;n_list < gen_nb_const_xmlChar_ptr;n_list++) {
-        mem_base = xmlMemBlocks();
-        str = gen_const_xmlChar_ptr(n_str, 0);
-        list = gen_const_xmlChar_ptr(n_list, 1);
-
-        ret_val = xmlURIEscapeStr((const xmlChar *)str, (const xmlChar *)list);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
-        des_const_xmlChar_ptr(n_list, (const xmlChar *)list, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlURIEscapeStr",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str);
-            printf(" %d", n_list);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlURIUnescapeString(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-static int
-test_uri(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing uri : 10 of 15 functions ...\n");
-    test_ret += test_xmlBuildRelativeURI();
-    test_ret += test_xmlBuildURI();
-    test_ret += test_xmlCanonicPath();
-    test_ret += test_xmlCreateURI();
-    test_ret += test_xmlNormalizeURIPath();
-    test_ret += test_xmlParseURI();
-    test_ret += test_xmlParseURIRaw();
-    test_ret += test_xmlParseURIReference();
-    test_ret += test_xmlPathToURI();
-    test_ret += test_xmlPrintURI();
-    test_ret += test_xmlSaveUri();
-    test_ret += test_xmlURIEscape();
-    test_ret += test_xmlURIEscapeStr();
-    test_ret += test_xmlURIUnescapeString();
-
-    if (test_ret != 0)
-       printf("Module uri: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlAddAttributeDecl(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlAttributePtr ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDtdPtr dtd; /* pointer to the DTD */
-    int n_dtd;
-    xmlChar * elem; /* the element name */
-    int n_elem;
-    xmlChar * name; /* the attribute name */
-    int n_name;
-    xmlChar * ns; /* the attribute namespace prefix */
-    int n_ns;
-    xmlAttributeType type; /* the attribute type */
-    int n_type;
-    xmlAttributeDefault def; /* the attribute default type */
-    int n_def;
-    xmlChar * defaultValue; /* the attribute default value */
-    int n_defaultValue;
-    xmlEnumerationPtr tree; /* if it's an enumeration, the associated list */
-    int n_tree;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
-    for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
-    for (n_type = 0;n_type < gen_nb_xmlAttributeType;n_type++) {
-    for (n_def = 0;n_def < gen_nb_xmlAttributeDefault;n_def++) {
-    for (n_defaultValue = 0;n_defaultValue < gen_nb_const_xmlChar_ptr;n_defaultValue++) {
-    for (n_tree = 0;n_tree < gen_nb_xmlEnumerationPtr;n_tree++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        dtd = gen_xmlDtdPtr(n_dtd, 1);
-        elem = gen_const_xmlChar_ptr(n_elem, 2);
-        name = gen_const_xmlChar_ptr(n_name, 3);
-        ns = gen_const_xmlChar_ptr(n_ns, 4);
-        type = gen_xmlAttributeType(n_type, 5);
-        def = gen_xmlAttributeDefault(n_def, 6);
-        defaultValue = gen_const_xmlChar_ptr(n_defaultValue, 7);
-        tree = gen_xmlEnumerationPtr(n_tree, 8);
-
-        ret_val = xmlAddAttributeDecl(ctxt, dtd, (const xmlChar *)elem, (const xmlChar *)name, (const xmlChar *)ns, type, def, (const xmlChar *)defaultValue, tree);
-        desret_xmlAttributePtr(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDtdPtr(n_dtd, dtd, 1);
-        des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 2);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3);
-        des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 4);
-        des_xmlAttributeType(n_type, type, 5);
-        des_xmlAttributeDefault(n_def, def, 6);
-        des_const_xmlChar_ptr(n_defaultValue, (const xmlChar *)defaultValue, 7);
-        des_xmlEnumerationPtr(n_tree, tree, 8);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAddAttributeDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_dtd);
-            printf(" %d", n_elem);
-            printf(" %d", n_name);
-            printf(" %d", n_ns);
-            printf(" %d", n_type);
-            printf(" %d", n_def);
-            printf(" %d", n_defaultValue);
-            printf(" %d", n_tree);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlAddElementDecl(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlElementPtr ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDtdPtr dtd; /* pointer to the DTD */
-    int n_dtd;
-    xmlChar * name; /* the entity name */
-    int n_name;
-    xmlElementTypeVal type; /* the element type */
-    int n_type;
-    xmlElementContentPtr content; /* the element content tree or NULL */
-    int n_content;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_type = 0;n_type < gen_nb_xmlElementTypeVal;n_type++) {
-    for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        dtd = gen_xmlDtdPtr(n_dtd, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        type = gen_xmlElementTypeVal(n_type, 3);
-        content = gen_xmlElementContentPtr(n_content, 4);
-
-        ret_val = xmlAddElementDecl(ctxt, dtd, (const xmlChar *)name, type, content);
-        desret_xmlElementPtr(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDtdPtr(n_dtd, dtd, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_xmlElementTypeVal(n_type, type, 3);
-        des_xmlElementContentPtr(n_content, content, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAddElementDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_dtd);
-            printf(" %d", n_name);
-            printf(" %d", n_type);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlAddID(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAddNotationDecl(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAddRef(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlAttributeTablePtr 1
-static xmlAttributeTablePtr gen_xmlAttributeTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlAttributeTablePtr(int no ATTRIBUTE_UNUSED, xmlAttributeTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlCopyAttributeTable(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlCopyDocElementContent(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlElementContentPtr ret_val;
-    xmlDocPtr doc; /* the document owning the element declaration */
-    int n_doc;
-    xmlElementContentPtr cur; /* An element content pointer. */
-    int n_cur;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlElementContentPtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        cur = gen_xmlElementContentPtr(n_cur, 1);
-
-        ret_val = xmlCopyDocElementContent(doc, cur);
-        desret_xmlElementContentPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlElementContentPtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCopyDocElementContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCopyElementContent(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlElementContentPtr ret_val;
-    xmlElementContentPtr cur; /* An element content pointer. */
-    int n_cur;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlElementContentPtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlElementContentPtr(n_cur, 0);
-
-        ret_val = xmlCopyElementContent(cur);
-        desret_xmlElementContentPtr(ret_val);
-        call_tests++;
-        des_xmlElementContentPtr(n_cur, cur, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCopyElementContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlElementTablePtr 1
-static xmlElementTablePtr gen_xmlElementTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlElementTablePtr(int no ATTRIBUTE_UNUSED, xmlElementTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlCopyElementTable(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlCopyEnumeration(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlNotationTablePtr 1
-static xmlNotationTablePtr gen_xmlNotationTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlNotationTablePtr(int no ATTRIBUTE_UNUSED, xmlNotationTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlCopyNotationTable(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlCreateEnumeration(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlAttributePtr 1
-static xmlAttributePtr gen_xmlAttributePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlAttributePtr(int no ATTRIBUTE_UNUSED, xmlAttributePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlDumpAttributeDecl(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlBufferPtr buf; /* the XML buffer output */
-    int n_buf;
-    xmlAttributePtr attr; /* An attribute declaration */
-    int n_attr;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_attr = 0;n_attr < gen_nb_xmlAttributePtr;n_attr++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        attr = gen_xmlAttributePtr(n_attr, 1);
-
-        xmlDumpAttributeDecl(buf, attr);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_xmlAttributePtr(n_attr, attr, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDumpAttributeDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_attr);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDumpAttributeTable(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlBufferPtr buf; /* the XML buffer output */
-    int n_buf;
-    xmlAttributeTablePtr table; /* An attribute table */
-    int n_table;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_table = 0;n_table < gen_nb_xmlAttributeTablePtr;n_table++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        table = gen_xmlAttributeTablePtr(n_table, 1);
-
-        xmlDumpAttributeTable(buf, table);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_xmlAttributeTablePtr(n_table, table, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDumpAttributeTable",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_table);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlElementPtr 1
-static xmlElementPtr gen_xmlElementPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlElementPtr(int no ATTRIBUTE_UNUSED, xmlElementPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlDumpElementDecl(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlBufferPtr buf; /* the XML buffer output */
-    int n_buf;
-    xmlElementPtr elem; /* An element table */
-    int n_elem;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        elem = gen_xmlElementPtr(n_elem, 1);
-
-        xmlDumpElementDecl(buf, elem);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_xmlElementPtr(n_elem, elem, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDumpElementDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_elem);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDumpElementTable(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlBufferPtr buf; /* the XML buffer output */
-    int n_buf;
-    xmlElementTablePtr table; /* An element table */
-    int n_table;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_table = 0;n_table < gen_nb_xmlElementTablePtr;n_table++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        table = gen_xmlElementTablePtr(n_table, 1);
-
-        xmlDumpElementTable(buf, table);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_xmlElementTablePtr(n_table, table, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDumpElementTable",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_table);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlNotationPtr 1
-static xmlNotationPtr gen_xmlNotationPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlNotationPtr(int no ATTRIBUTE_UNUSED, xmlNotationPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlDumpNotationDecl(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlBufferPtr buf; /* the XML buffer output */
-    int n_buf;
-    xmlNotationPtr nota; /* A notation declaration */
-    int n_nota;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_nota = 0;n_nota < gen_nb_xmlNotationPtr;n_nota++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        nota = gen_xmlNotationPtr(n_nota, 1);
-
-        xmlDumpNotationDecl(buf, nota);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_xmlNotationPtr(n_nota, nota, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDumpNotationDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_nota);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlDumpNotationTable(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlBufferPtr buf; /* the XML buffer output */
-    int n_buf;
-    xmlNotationTablePtr table; /* A notation table */
-    int n_table;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_table = 0;n_table < gen_nb_xmlNotationTablePtr;n_table++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        table = gen_xmlNotationTablePtr(n_table, 1);
-
-        xmlDumpNotationTable(buf, table);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_xmlNotationTablePtr(n_table, table, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlDumpNotationTable",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_table);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetDtdAttrDesc(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlAttributePtr ret_val;
-    xmlDtdPtr dtd; /* a pointer to the DtD to search */
-    int n_dtd;
-    xmlChar * elem; /* the element name */
-    int n_elem;
-    xmlChar * name; /* the attribute name */
-    int n_name;
-
-    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
-    for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        dtd = gen_xmlDtdPtr(n_dtd, 0);
-        elem = gen_const_xmlChar_ptr(n_elem, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-
-        ret_val = xmlGetDtdAttrDesc(dtd, (const xmlChar *)elem, (const xmlChar *)name);
-        desret_xmlAttributePtr(ret_val);
-        call_tests++;
-        des_xmlDtdPtr(n_dtd, dtd, 0);
-        des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetDtdAttrDesc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_dtd);
-            printf(" %d", n_elem);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetDtdElementDesc(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlElementPtr ret_val;
-    xmlDtdPtr dtd; /* a pointer to the DtD to search */
-    int n_dtd;
-    xmlChar * name; /* the element name */
-    int n_name;
-
-    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        dtd = gen_xmlDtdPtr(n_dtd, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlGetDtdElementDesc(dtd, (const xmlChar *)name);
-        desret_xmlElementPtr(ret_val);
-        call_tests++;
-        des_xmlDtdPtr(n_dtd, dtd, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetDtdElementDesc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_dtd);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetDtdNotationDesc(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetDtdQAttrDesc(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlAttributePtr ret_val;
-    xmlDtdPtr dtd; /* a pointer to the DtD to search */
-    int n_dtd;
-    xmlChar * elem; /* the element name */
-    int n_elem;
-    xmlChar * name; /* the attribute name */
-    int n_name;
-    xmlChar * prefix; /* the attribute namespace prefix */
-    int n_prefix;
-
-    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
-    for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-        mem_base = xmlMemBlocks();
-        dtd = gen_xmlDtdPtr(n_dtd, 0);
-        elem = gen_const_xmlChar_ptr(n_elem, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 3);
-
-        ret_val = xmlGetDtdQAttrDesc(dtd, (const xmlChar *)elem, (const xmlChar *)name, (const xmlChar *)prefix);
-        desret_xmlAttributePtr(ret_val);
-        call_tests++;
-        des_xmlDtdPtr(n_dtd, dtd, 0);
-        des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetDtdQAttrDesc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_dtd);
-            printf(" %d", n_elem);
-            printf(" %d", n_name);
-            printf(" %d", n_prefix);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetDtdQElementDesc(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlElementPtr ret_val;
-    xmlDtdPtr dtd; /* a pointer to the DtD to search */
-    int n_dtd;
-    xmlChar * name; /* the element name */
-    int n_name;
-    xmlChar * prefix; /* the element namespace prefix */
-    int n_prefix;
-
-    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-        mem_base = xmlMemBlocks();
-        dtd = gen_xmlDtdPtr(n_dtd, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 2);
-
-        ret_val = xmlGetDtdQElementDesc(dtd, (const xmlChar *)name, (const xmlChar *)prefix);
-        desret_xmlElementPtr(ret_val);
-        call_tests++;
-        des_xmlDtdPtr(n_dtd, dtd, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetDtdQElementDesc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_dtd);
-            printf(" %d", n_name);
-            printf(" %d", n_prefix);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetID(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlAttrPtr ret_val;
-    xmlDocPtr doc; /* pointer to the document */
-    int n_doc;
-    xmlChar * ID; /* the ID value */
-    int n_ID;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        ID = gen_const_xmlChar_ptr(n_ID, 1);
-
-        ret_val = xmlGetID(doc, (const xmlChar *)ID);
-        desret_xmlAttrPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetID",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_ID);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetRefs(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlIsID(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr elem; /* the element carrying the attribute */
-    int n_elem;
-    xmlAttrPtr attr; /* the attribute */
-    int n_attr;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        elem = gen_xmlNodePtr(n_elem, 1);
-        attr = gen_xmlAttrPtr(n_attr, 2);
-
-        ret_val = xmlIsID(doc, elem, attr);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNodePtr(n_elem, elem, 1);
-        des_xmlAttrPtr(n_attr, attr, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIsID",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf(" %d", n_attr);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIsMixedElement(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * name; /* the element name */
-    int n_name;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlIsMixedElement(doc, (const xmlChar *)name);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIsMixedElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIsRef(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr elem; /* the element carrying the attribute */
-    int n_elem;
-    xmlAttrPtr attr; /* the attribute */
-    int n_attr;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        elem = gen_xmlNodePtr(n_elem, 1);
-        attr = gen_xmlAttrPtr(n_attr, 2);
-
-        ret_val = xmlIsRef(doc, elem, attr);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNodePtr(n_elem, elem, 1);
-        des_xmlAttrPtr(n_attr, attr, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIsRef",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf(" %d", n_attr);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewDocElementContent(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlElementContentPtr ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * name; /* the subelement name or NULL */
-    int n_name;
-    xmlElementContentType type; /* the type of element content decl */
-    int n_type;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_type = 0;n_type < gen_nb_xmlElementContentType;n_type++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        type = gen_xmlElementContentType(n_type, 2);
-
-        ret_val = xmlNewDocElementContent(doc, (const xmlChar *)name, type);
-        xmlFreeDocElementContent(doc, ret_val); ret_val = NULL;
-        desret_xmlElementContentPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_xmlElementContentType(n_type, type, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewDocElementContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_name);
-            printf(" %d", n_type);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewElementContent(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlElementContentPtr ret_val;
-    xmlChar * name; /* the subelement name or NULL */
-    int n_name;
-    xmlElementContentType type; /* the type of element content decl */
-    int n_type;
-
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_type = 0;n_type < gen_nb_xmlElementContentType;n_type++) {
-        mem_base = xmlMemBlocks();
-        name = gen_const_xmlChar_ptr(n_name, 0);
-        type = gen_xmlElementContentType(n_type, 1);
-
-        ret_val = xmlNewElementContent((const xmlChar *)name, type);
-        desret_xmlElementContentPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
-        des_xmlElementContentType(n_type, type, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewElementContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_name);
-            printf(" %d", n_type);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewValidCtxt(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlRemoveID(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlAttrPtr attr; /* the attribute */
-    int n_attr;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        attr = gen_xmlAttrPtr(n_attr, 1);
-
-        ret_val = xmlRemoveID(doc, attr);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlAttrPtr(n_attr, attr, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRemoveID",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_attr);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRemoveRef(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlAttrPtr attr; /* the attribute */
-    int n_attr;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        attr = gen_xmlAttrPtr(n_attr, 1);
-
-        ret_val = xmlRemoveRef(doc, attr);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlAttrPtr(n_attr, attr, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRemoveRef",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_attr);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSnprintfElementContent(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    char * buf; /* an output buffer */
-    int n_buf;
-    int size; /* the buffer size */
-    int n_size;
-    xmlElementContentPtr content; /* An element table */
-    int n_content;
-    int englob; /* 1 if one must print the englobing parenthesis, 0 otherwise */
-    int n_englob;
-
-    for (n_buf = 0;n_buf < gen_nb_char_ptr;n_buf++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
-    for (n_englob = 0;n_englob < gen_nb_int;n_englob++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_char_ptr(n_buf, 0);
-        size = gen_int(n_size, 1);
-        content = gen_xmlElementContentPtr(n_content, 2);
-        englob = gen_int(n_englob, 3);
-
-        xmlSnprintfElementContent(buf, size, content, englob);
-        call_tests++;
-        des_char_ptr(n_buf, buf, 0);
-        des_int(n_size, size, 1);
-        des_xmlElementContentPtr(n_content, content, 2);
-        des_int(n_englob, englob, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSnprintfElementContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_size);
-            printf(" %d", n_content);
-            printf(" %d", n_englob);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSprintfElementContent(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-#ifdef LIBXML_OUTPUT_ENABLED
-    int mem_base;
-    char * buf; /* an output buffer */
-    int n_buf;
-    xmlElementContentPtr content; /* An element table */
-    int n_content;
-    int englob; /* 1 if one must print the englobing parenthesis, 0 otherwise */
-    int n_englob;
-
-    for (n_buf = 0;n_buf < gen_nb_char_ptr;n_buf++) {
-    for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
-    for (n_englob = 0;n_englob < gen_nb_int;n_englob++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_char_ptr(n_buf, 0);
-        content = gen_xmlElementContentPtr(n_content, 1);
-        englob = gen_int(n_englob, 2);
-
-        xmlSprintfElementContent(buf, content, englob);
-        call_tests++;
-        des_char_ptr(n_buf, buf, 0);
-        des_xmlElementContentPtr(n_content, content, 1);
-        des_int(n_englob, englob, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSprintfElementContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_content);
-            printf(" %d", n_englob);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidBuildContentModel(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* a validation context */
-    int n_ctxt;
-    xmlElementPtr elem; /* an element declaration node */
-    int n_elem;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        elem = gen_xmlElementPtr(n_elem, 1);
-
-        ret_val = xmlValidBuildContentModel(ctxt, elem);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlElementPtr(n_elem, elem, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidBuildContentModel",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_elem);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidCtxtNormalizeAttributeValue(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context or NULL */
-    int n_ctxt;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr elem; /* the parent */
-    int n_elem;
-    xmlChar * name; /* the attribute name */
-    int n_name;
-    xmlChar * value; /* the attribute value */
-    int n_value;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        elem = gen_xmlNodePtr(n_elem, 2);
-        name = gen_const_xmlChar_ptr(n_name, 3);
-        value = gen_const_xmlChar_ptr(n_value, 4);
-
-        ret_val = xmlValidCtxtNormalizeAttributeValue(ctxt, doc, elem, (const xmlChar *)name, (const xmlChar *)value);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_elem, elem, 2);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidCtxtNormalizeAttributeValue",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf(" %d", n_name);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlElementContent_ptr 1
-static xmlElementContent * gen_xmlElementContent_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlElementContent_ptr(int no ATTRIBUTE_UNUSED, xmlElementContent * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlValidGetPotentialChildren(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-#ifdef LIBXML_VALID_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlElementContent * ctree; /* an element content tree */
-    int n_ctree;
-    xmlChar ** names; /* an array to store the list of child names */
-    int n_names;
-    int * len; /* a pointer to the number of element in the list */
-    int n_len;
-    int max; /* the size of the array */
-    int n_max;
-
-    for (n_ctree = 0;n_ctree < gen_nb_xmlElementContent_ptr;n_ctree++) {
-    for (n_names = 0;n_names < gen_nb_const_xmlChar_ptr_ptr;n_names++) {
-    for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
-    for (n_max = 0;n_max < gen_nb_int;n_max++) {
-        mem_base = xmlMemBlocks();
-        ctree = gen_xmlElementContent_ptr(n_ctree, 0);
-        names = gen_const_xmlChar_ptr_ptr(n_names, 1);
-        len = gen_int_ptr(n_len, 2);
-        max = gen_int(n_max, 3);
-
-        ret_val = xmlValidGetPotentialChildren(ctree, (const xmlChar **)names, len, max);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlElementContent_ptr(n_ctree, ctree, 0);
-        des_const_xmlChar_ptr_ptr(n_names, (const xmlChar **)names, 1);
-        des_int_ptr(n_len, len, 2);
-        des_int(n_max, max, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidGetPotentialChildren",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctree);
-            printf(" %d", n_names);
-            printf(" %d", n_len);
-            printf(" %d", n_max);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidGetValidElements(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-#ifdef LIBXML_VALID_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlNode * prev; /* an element to insert after */
-    int n_prev;
-    xmlNode * next; /* an element to insert next */
-    int n_next;
-    xmlChar ** names; /* an array to store the list of child names */
-    int n_names;
-    int max; /* the size of the array */
-    int n_max;
-
-    for (n_prev = 0;n_prev < gen_nb_xmlNodePtr;n_prev++) {
-    for (n_next = 0;n_next < gen_nb_xmlNodePtr;n_next++) {
-    for (n_names = 0;n_names < gen_nb_const_xmlChar_ptr_ptr;n_names++) {
-    for (n_max = 0;n_max < gen_nb_int;n_max++) {
-        mem_base = xmlMemBlocks();
-        prev = gen_xmlNodePtr(n_prev, 0);
-        next = gen_xmlNodePtr(n_next, 1);
-        names = gen_const_xmlChar_ptr_ptr(n_names, 2);
-        max = gen_int(n_max, 3);
-
-        ret_val = xmlValidGetValidElements(prev, next, (const xmlChar **)names, max);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_prev, prev, 0);
-        des_xmlNodePtr(n_next, next, 1);
-        des_const_xmlChar_ptr_ptr(n_names, (const xmlChar **)names, 2);
-        des_int(n_max, max, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidGetValidElements",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_prev);
-            printf(" %d", n_next);
-            printf(" %d", n_names);
-            printf(" %d", n_max);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidNormalizeAttributeValue(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlNodePtr elem; /* the parent */
-    int n_elem;
-    xmlChar * name; /* the attribute name */
-    int n_name;
-    xmlChar * value; /* the attribute value */
-    int n_value;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        elem = gen_xmlNodePtr(n_elem, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        value = gen_const_xmlChar_ptr(n_value, 3);
-
-        ret_val = xmlValidNormalizeAttributeValue(doc, elem, (const xmlChar *)name, (const xmlChar *)value);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNodePtr(n_elem, elem, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidNormalizeAttributeValue",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf(" %d", n_name);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateAttributeDecl(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-    xmlAttributePtr attr; /* an attribute definition */
-    int n_attr;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_attr = 0;n_attr < gen_nb_xmlAttributePtr;n_attr++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        attr = gen_xmlAttributePtr(n_attr, 2);
-
-        ret_val = xmlValidateAttributeDecl(ctxt, doc, attr);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlAttributePtr(n_attr, attr, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateAttributeDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_attr);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateAttributeValue(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlAttributeType type; /* an attribute type */
-    int n_type;
-    xmlChar * value; /* an attribute value */
-    int n_value;
-
-    for (n_type = 0;n_type < gen_nb_xmlAttributeType;n_type++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        type = gen_xmlAttributeType(n_type, 0);
-        value = gen_const_xmlChar_ptr(n_value, 1);
-
-        ret_val = xmlValidateAttributeValue(type, (const xmlChar *)value);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlAttributeType(n_type, type, 0);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateAttributeValue",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_type);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateDocument(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-
-        ret_val = xmlValidateDocument(ctxt, doc);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateDocument",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateDocumentFinal(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-
-        ret_val = xmlValidateDocumentFinal(ctxt, doc);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateDocumentFinal",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateDtd(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-    xmlDtdPtr dtd; /* a dtd instance */
-    int n_dtd;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        dtd = gen_xmlDtdPtr(n_dtd, 2);
-
-        ret_val = xmlValidateDtd(ctxt, doc, dtd);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlDtdPtr(n_dtd, dtd, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateDtd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_dtd);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateDtdFinal(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-
-        ret_val = xmlValidateDtdFinal(ctxt, doc);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateDtdFinal",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-    xmlNodePtr elem; /* an element instance */
-    int n_elem;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        elem = gen_xmlNodePtr(n_elem, 2);
-
-        ret_val = xmlValidateElement(ctxt, doc, elem);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_elem, elem, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateElementDecl(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-    xmlElementPtr elem; /* an element definition */
-    int n_elem;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        elem = gen_xmlElementPtr(n_elem, 2);
-
-        ret_val = xmlValidateElementDecl(ctxt, doc, elem);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlElementPtr(n_elem, elem, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateElementDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateNameValue(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlChar * value; /* an Name value */
-    int n_value;
-
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        value = gen_const_xmlChar_ptr(n_value, 0);
-
-        ret_val = xmlValidateNameValue((const xmlChar *)value);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateNameValue",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateNamesValue(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlChar * value; /* an Names value */
-    int n_value;
-
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        value = gen_const_xmlChar_ptr(n_value, 0);
-
-        ret_val = xmlValidateNamesValue((const xmlChar *)value);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateNamesValue",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateNmtokenValue(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlChar * value; /* an Nmtoken value */
-    int n_value;
-
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        value = gen_const_xmlChar_ptr(n_value, 0);
-
-        ret_val = xmlValidateNmtokenValue((const xmlChar *)value);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateNmtokenValue",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateNmtokensValue(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlChar * value; /* an Nmtokens value */
-    int n_value;
-
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        value = gen_const_xmlChar_ptr(n_value, 0);
-
-        ret_val = xmlValidateNmtokensValue((const xmlChar *)value);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateNmtokensValue",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateNotationDecl(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-    xmlNotationPtr nota; /* a notation definition */
-    int n_nota;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_nota = 0;n_nota < gen_nb_xmlNotationPtr;n_nota++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        nota = gen_xmlNotationPtr(n_nota, 2);
-
-        ret_val = xmlValidateNotationDecl(ctxt, doc, nota);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNotationPtr(n_nota, nota, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateNotationDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_nota);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateNotationUse(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* the document */
-    int n_doc;
-    xmlChar * notationName; /* the notation name to check */
-    int n_notationName;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_notationName = 0;n_notationName < gen_nb_const_xmlChar_ptr;n_notationName++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        notationName = gen_const_xmlChar_ptr(n_notationName, 2);
-
-        ret_val = xmlValidateNotationUse(ctxt, doc, (const xmlChar *)notationName);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_const_xmlChar_ptr(n_notationName, (const xmlChar *)notationName, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateNotationUse",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_notationName);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateOneAttribute(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-    xmlNodePtr elem; /* an element instance */
-    int n_elem;
-    xmlAttrPtr attr; /* an attribute instance */
-    int n_attr;
-    xmlChar * value; /* the attribute value (without entities processing) */
-    int n_value;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-    for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        elem = gen_xmlNodePtr(n_elem, 2);
-        attr = gen_xmlAttrPtr(n_attr, 3);
-        value = gen_const_xmlChar_ptr(n_value, 4);
-
-        ret_val = xmlValidateOneAttribute(ctxt, doc, elem, attr, (const xmlChar *)value);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_elem, elem, 2);
-        des_xmlAttrPtr(n_attr, attr, 3);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateOneAttribute",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf(" %d", n_attr);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateOneElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-    xmlNodePtr elem; /* an element instance */
-    int n_elem;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        elem = gen_xmlNodePtr(n_elem, 2);
-
-        ret_val = xmlValidateOneElement(ctxt, doc, elem);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_elem, elem, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateOneElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateOneNamespace(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-    xmlNodePtr elem; /* an element instance */
-    int n_elem;
-    xmlChar * prefix; /* the namespace prefix */
-    int n_prefix;
-    xmlNsPtr ns; /* an namespace declaration instance */
-    int n_ns;
-    xmlChar * value; /* the attribute value (without entities processing) */
-    int n_value;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        elem = gen_xmlNodePtr(n_elem, 2);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 3);
-        ns = gen_xmlNsPtr(n_ns, 4);
-        value = gen_const_xmlChar_ptr(n_value, 5);
-
-        ret_val = xmlValidateOneNamespace(ctxt, doc, elem, (const xmlChar *)prefix, ns, (const xmlChar *)value);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_elem, elem, 2);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 3);
-        des_xmlNsPtr(n_ns, ns, 4);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateOneNamespace",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf(" %d", n_prefix);
-            printf(" %d", n_ns);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidatePopElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-    xmlNodePtr elem; /* an element instance */
-    int n_elem;
-    xmlChar * qname; /* the qualified name as appearing in the serialization */
-    int n_qname;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-    for (n_qname = 0;n_qname < gen_nb_const_xmlChar_ptr;n_qname++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        elem = gen_xmlNodePtr(n_elem, 2);
-        qname = gen_const_xmlChar_ptr(n_qname, 3);
-
-        ret_val = xmlValidatePopElement(ctxt, doc, elem, (const xmlChar *)qname);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_elem, elem, 2);
-        des_const_xmlChar_ptr(n_qname, (const xmlChar *)qname, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidatePopElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf(" %d", n_qname);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidatePushCData(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlChar * data; /* some character data read */
-    int n_data;
-    int len; /* the lenght of the data */
-    int n_len;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        data = gen_const_xmlChar_ptr(n_data, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlValidatePushCData(ctxt, (const xmlChar *)data, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidatePushCData",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_data);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidatePushElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-    xmlNodePtr elem; /* an element instance */
-    int n_elem;
-    xmlChar * qname; /* the qualified name as appearing in the serialization */
-    int n_qname;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-    for (n_qname = 0;n_qname < gen_nb_const_xmlChar_ptr;n_qname++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-        elem = gen_xmlNodePtr(n_elem, 2);
-        qname = gen_const_xmlChar_ptr(n_qname, 3);
-
-        ret_val = xmlValidatePushElement(ctxt, doc, elem, (const xmlChar *)qname);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        des_xmlNodePtr(n_elem, elem, 2);
-        des_const_xmlChar_ptr(n_qname, (const xmlChar *)qname, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidatePushElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf(" %d", n_elem);
-            printf(" %d", n_qname);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlValidateRoot(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_VALID_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlValidCtxtPtr ctxt; /* the validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document instance */
-    int n_doc;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-
-        ret_val = xmlValidateRoot(ctxt, doc);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlValidateRoot",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_valid(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing valid : 50 of 70 functions ...\n");
-    test_ret += test_xmlAddAttributeDecl();
-    test_ret += test_xmlAddElementDecl();
-    test_ret += test_xmlAddID();
-    test_ret += test_xmlAddNotationDecl();
-    test_ret += test_xmlAddRef();
-    test_ret += test_xmlCopyAttributeTable();
-    test_ret += test_xmlCopyDocElementContent();
-    test_ret += test_xmlCopyElementContent();
-    test_ret += test_xmlCopyElementTable();
-    test_ret += test_xmlCopyEnumeration();
-    test_ret += test_xmlCopyNotationTable();
-    test_ret += test_xmlCreateEnumeration();
-    test_ret += test_xmlDumpAttributeDecl();
-    test_ret += test_xmlDumpAttributeTable();
-    test_ret += test_xmlDumpElementDecl();
-    test_ret += test_xmlDumpElementTable();
-    test_ret += test_xmlDumpNotationDecl();
-    test_ret += test_xmlDumpNotationTable();
-    test_ret += test_xmlGetDtdAttrDesc();
-    test_ret += test_xmlGetDtdElementDesc();
-    test_ret += test_xmlGetDtdNotationDesc();
-    test_ret += test_xmlGetDtdQAttrDesc();
-    test_ret += test_xmlGetDtdQElementDesc();
-    test_ret += test_xmlGetID();
-    test_ret += test_xmlGetRefs();
-    test_ret += test_xmlIsID();
-    test_ret += test_xmlIsMixedElement();
-    test_ret += test_xmlIsRef();
-    test_ret += test_xmlNewDocElementContent();
-    test_ret += test_xmlNewElementContent();
-    test_ret += test_xmlNewValidCtxt();
-    test_ret += test_xmlRemoveID();
-    test_ret += test_xmlRemoveRef();
-    test_ret += test_xmlSnprintfElementContent();
-    test_ret += test_xmlSprintfElementContent();
-    test_ret += test_xmlValidBuildContentModel();
-    test_ret += test_xmlValidCtxtNormalizeAttributeValue();
-    test_ret += test_xmlValidGetPotentialChildren();
-    test_ret += test_xmlValidGetValidElements();
-    test_ret += test_xmlValidNormalizeAttributeValue();
-    test_ret += test_xmlValidateAttributeDecl();
-    test_ret += test_xmlValidateAttributeValue();
-    test_ret += test_xmlValidateDocument();
-    test_ret += test_xmlValidateDocumentFinal();
-    test_ret += test_xmlValidateDtd();
-    test_ret += test_xmlValidateDtdFinal();
-    test_ret += test_xmlValidateElement();
-    test_ret += test_xmlValidateElementDecl();
-    test_ret += test_xmlValidateNameValue();
-    test_ret += test_xmlValidateNamesValue();
-    test_ret += test_xmlValidateNmtokenValue();
-    test_ret += test_xmlValidateNmtokensValue();
-    test_ret += test_xmlValidateNotationDecl();
-    test_ret += test_xmlValidateNotationUse();
-    test_ret += test_xmlValidateOneAttribute();
-    test_ret += test_xmlValidateOneElement();
-    test_ret += test_xmlValidateOneNamespace();
-    test_ret += test_xmlValidatePopElement();
-    test_ret += test_xmlValidatePushCData();
-    test_ret += test_xmlValidatePushElement();
-    test_ret += test_xmlValidateRoot();
-
-    if (test_ret != 0)
-       printf("Module valid: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlXIncludeNewContext(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXIncludeProcess(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XINCLUDE_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* an XML document */
-    int n_doc;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-
-        ret_val = xmlXIncludeProcess(doc);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXIncludeProcess",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXIncludeProcessFlags(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XINCLUDE_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* an XML document */
-    int n_doc;
-    int flags; /* a set of xmlParserOption used for parsing XML includes */
-    int n_flags;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        flags = gen_int(n_flags, 1);
-
-        ret_val = xmlXIncludeProcessFlags(doc, flags);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_int(n_flags, flags, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXIncludeProcessFlags",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_flags);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXIncludeProcessFlagsData(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XINCLUDE_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlDocPtr doc; /* an XML document */
-    int n_doc;
-    int flags; /* a set of xmlParserOption used for parsing XML includes */
-    int n_flags;
-    void * data; /* application data that will be passed to the parser context in the _private field of the parser context(s) */
-    int n_data;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        flags = gen_int(n_flags, 1);
-        data = gen_userdata(n_data, 2);
-
-        ret_val = xmlXIncludeProcessFlagsData(doc, flags, data);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_int(n_flags, flags, 1);
-        des_userdata(n_data, data, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXIncludeProcessFlagsData",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_flags);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-#ifdef LIBXML_XINCLUDE_ENABLED
-
-#define gen_nb_xmlXIncludeCtxtPtr 1
-static xmlXIncludeCtxtPtr gen_xmlXIncludeCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlXIncludeCtxtPtr(int no ATTRIBUTE_UNUSED, xmlXIncludeCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlXIncludeProcessNode(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XINCLUDE_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXIncludeCtxtPtr ctxt; /* an existing XInclude context */
-    int n_ctxt;
-    xmlNodePtr node; /* a node in an XML document */
-    int n_node;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXIncludeCtxtPtr;n_ctxt++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXIncludeCtxtPtr(n_ctxt, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-
-        ret_val = xmlXIncludeProcessNode(ctxt, node);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXIncludeCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXIncludeProcessNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXIncludeProcessTree(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XINCLUDE_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlNodePtr tree; /* a node in an XML document */
-    int n_tree;
-
-    for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
-        mem_base = xmlMemBlocks();
-        tree = gen_xmlNodePtr(n_tree, 0);
-
-        ret_val = xmlXIncludeProcessTree(tree);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_tree, tree, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXIncludeProcessTree",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_tree);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXIncludeProcessTreeFlags(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XINCLUDE_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlNodePtr tree; /* a node in an XML document */
-    int n_tree;
-    int flags; /* a set of xmlParserOption used for parsing XML includes */
-    int n_flags;
-
-    for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
-    for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
-        mem_base = xmlMemBlocks();
-        tree = gen_xmlNodePtr(n_tree, 0);
-        flags = gen_int(n_flags, 1);
-
-        ret_val = xmlXIncludeProcessTreeFlags(tree, flags);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_tree, tree, 0);
-        des_int(n_flags, flags, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXIncludeProcessTreeFlags",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_tree);
-            printf(" %d", n_flags);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXIncludeProcessTreeFlagsData(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XINCLUDE_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlNodePtr tree; /* an XML node */
-    int n_tree;
-    int flags; /* a set of xmlParserOption used for parsing XML includes */
-    int n_flags;
-    void * data; /* application data that will be passed to the parser context in the _private field of the parser context(s) */
-    int n_data;
-
-    for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
-    for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        tree = gen_xmlNodePtr(n_tree, 0);
-        flags = gen_int(n_flags, 1);
-        data = gen_userdata(n_data, 2);
-
-        ret_val = xmlXIncludeProcessTreeFlagsData(tree, flags, data);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_tree, tree, 0);
-        des_int(n_flags, flags, 1);
-        des_userdata(n_data, data, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXIncludeProcessTreeFlagsData",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_tree);
-            printf(" %d", n_flags);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXIncludeSetFlags(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XINCLUDE_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXIncludeCtxtPtr ctxt; /* an XInclude processing context */
-    int n_ctxt;
-    int flags; /* a set of xmlParserOption used for parsing XML includes */
-    int n_flags;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXIncludeCtxtPtr;n_ctxt++) {
-    for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXIncludeCtxtPtr(n_ctxt, 0);
-        flags = gen_int(n_flags, 1);
-
-        ret_val = xmlXIncludeSetFlags(ctxt, flags);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXIncludeCtxtPtr(n_ctxt, ctxt, 0);
-        des_int(n_flags, flags, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXIncludeSetFlags",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_flags);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_xinclude(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xinclude : 8 of 10 functions ...\n");
-    test_ret += test_xmlXIncludeNewContext();
-    test_ret += test_xmlXIncludeProcess();
-    test_ret += test_xmlXIncludeProcessFlags();
-    test_ret += test_xmlXIncludeProcessFlagsData();
-    test_ret += test_xmlXIncludeProcessNode();
-    test_ret += test_xmlXIncludeProcessTree();
-    test_ret += test_xmlXIncludeProcessTreeFlags();
-    test_ret += test_xmlXIncludeProcessTreeFlagsData();
-    test_ret += test_xmlXIncludeSetFlags();
-
-    if (test_ret != 0)
-       printf("Module xinclude: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlAllocOutputBuffer(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlOutputBufferPtr ret_val;
-    xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
-    int n_encoder;
-
-    for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
-        mem_base = xmlMemBlocks();
-        encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 0);
-
-        ret_val = xmlAllocOutputBuffer(encoder);
-        desret_xmlOutputBufferPtr(ret_val);
-        call_tests++;
-        des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAllocOutputBuffer",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_encoder);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlAllocParserInputBuffer(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputBufferPtr ret_val;
-    xmlCharEncoding enc; /* the charset encoding if known */
-    int n_enc;
-
-    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
-        mem_base = xmlMemBlocks();
-        enc = gen_xmlCharEncoding(n_enc, 0);
-
-        ret_val = xmlAllocParserInputBuffer(enc);
-        desret_xmlParserInputBufferPtr(ret_val);
-        call_tests++;
-        des_xmlCharEncoding(n_enc, enc, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAllocParserInputBuffer",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_enc);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCheckFilename(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    char * path; /* the path to check */
-    int n_path;
-
-    for (n_path = 0;n_path < gen_nb_const_char_ptr;n_path++) {
-        mem_base = xmlMemBlocks();
-        path = gen_const_char_ptr(n_path, 0);
-
-        ret_val = xmlCheckFilename((const char *)path);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_path, (const char *)path, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCheckFilename",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_path);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCheckHTTPInput(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputPtr ret_val;
-    xmlParserCtxtPtr ctxt; /* an XML parser context */
-    int n_ctxt;
-    xmlParserInputPtr ret; /* an XML parser input */
-    int n_ret;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_ret = 0;n_ret < gen_nb_xmlParserInputPtr;n_ret++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        ret = gen_xmlParserInputPtr(n_ret, 1);
-
-        ret_val = xmlCheckHTTPInput(ctxt, ret);
-        desret_xmlParserInputPtr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlParserInputPtr(n_ret, ret, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCheckHTTPInput",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_ret);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCleanupInputCallbacks(void) {
-    int test_ret = 0;
-
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlCleanupInputCallbacks();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCleanupInputCallbacks",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCleanupOutputCallbacks(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlCleanupOutputCallbacks();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCleanupOutputCallbacks",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlFileClose(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    void * context; /* the I/O context */
-    int n_context;
-
-    for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
-        mem_base = xmlMemBlocks();
-        context = gen_void_ptr(n_context, 0);
-
-        ret_val = xmlFileClose(context);
-        desret_int(ret_val);
-        call_tests++;
-        des_void_ptr(n_context, context, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlFileClose",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_context);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlFileMatch(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    const char * filename; /* the URI for matching */
-    int n_filename;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_filepath(n_filename, 0);
-
-        ret_val = xmlFileMatch(filename);
-        desret_int(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlFileMatch",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlFileOpen(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ret_val;
-    const char * filename; /* the URI for matching */
-    int n_filename;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_filepath(n_filename, 0);
-
-        ret_val = xmlFileOpen(filename);
-        desret_void_ptr(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlFileOpen",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlFileRead(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    void * context; /* the I/O context */
-    int n_context;
-    char * buffer; /* where to drop data */
-    int n_buffer;
-    int len; /* number of bytes to write */
-    int n_len;
-
-    for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
-    for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        context = gen_void_ptr(n_context, 0);
-        buffer = gen_char_ptr(n_buffer, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlFileRead(context, buffer, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_void_ptr(n_context, context, 0);
-        des_char_ptr(n_buffer, buffer, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlFileRead",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_context);
-            printf(" %d", n_buffer);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIOFTPClose(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * context; /* the I/O context */
-    int n_context;
-
-    for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
-        mem_base = xmlMemBlocks();
-        context = gen_void_ptr(n_context, 0);
-
-        ret_val = xmlIOFTPClose(context);
-        desret_int(ret_val);
-        call_tests++;
-        des_void_ptr(n_context, context, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIOFTPClose",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_context);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIOFTPMatch(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    const char * filename; /* the URI for matching */
-    int n_filename;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_filepath(n_filename, 0);
-
-        ret_val = xmlIOFTPMatch(filename);
-        desret_int(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIOFTPMatch",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIOFTPOpen(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    void * ret_val;
-    const char * filename; /* the URI for matching */
-    int n_filename;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_filepath(n_filename, 0);
-
-        ret_val = xmlIOFTPOpen(filename);
-        desret_void_ptr(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIOFTPOpen",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIOFTPRead(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_FTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * context; /* the I/O context */
-    int n_context;
-    char * buffer; /* where to drop data */
-    int n_buffer;
-    int len; /* number of bytes to write */
-    int n_len;
-
-    for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
-    for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        context = gen_void_ptr(n_context, 0);
-        buffer = gen_char_ptr(n_buffer, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlIOFTPRead(context, buffer, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_void_ptr(n_context, context, 0);
-        des_char_ptr(n_buffer, buffer, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIOFTPRead",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_context);
-            printf(" %d", n_buffer);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIOHTTPClose(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * context; /* the I/O context */
-    int n_context;
-
-    for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
-        mem_base = xmlMemBlocks();
-        context = gen_void_ptr(n_context, 0);
-
-        ret_val = xmlIOHTTPClose(context);
-        desret_int(ret_val);
-        call_tests++;
-        des_void_ptr(n_context, context, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIOHTTPClose",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_context);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIOHTTPMatch(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    const char * filename; /* the URI for matching */
-    int n_filename;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_filepath(n_filename, 0);
-
-        ret_val = xmlIOHTTPMatch(filename);
-        desret_int(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIOHTTPMatch",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIOHTTPOpen(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-    void * ret_val;
-    const char * filename; /* the URI for matching */
-    int n_filename;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_filepath(n_filename, 0);
-
-        ret_val = xmlIOHTTPOpen(filename);
-        desret_xmlNanoHTTPCtxtPtr(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIOHTTPOpen",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlIOHTTPRead(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-    int ret_val;
-    void * context; /* the I/O context */
-    int n_context;
-    char * buffer; /* where to drop data */
-    int n_buffer;
-    int len; /* number of bytes to write */
-    int n_len;
-
-    for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
-    for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        context = gen_void_ptr(n_context, 0);
-        buffer = gen_char_ptr(n_buffer, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlIOHTTPRead(context, buffer, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_void_ptr(n_context, context, 0);
-        des_char_ptr(n_buffer, buffer, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlIOHTTPRead",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_context);
-            printf(" %d", n_buffer);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNoNetExternalEntityLoader(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputPtr ret_val;
-    const char * URL; /* the URL for the entity to load */
-    int n_URL;
-    char * ID; /* the System ID for the entity to load */
-    int n_ID;
-    xmlParserCtxtPtr ctxt; /* the context in which the entity is called or NULL */
-    int n_ctxt;
-
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_ID = 0;n_ID < gen_nb_const_char_ptr;n_ID++) {
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        URL = gen_filepath(n_URL, 0);
-        ID = gen_const_char_ptr(n_ID, 1);
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 2);
-
-        ret_val = xmlNoNetExternalEntityLoader(URL, (const char *)ID, ctxt);
-        desret_xmlParserInputPtr(ret_val);
-        call_tests++;
-        des_filepath(n_URL, URL, 0);
-        des_const_char_ptr(n_ID, (const char *)ID, 1);
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNoNetExternalEntityLoader",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URL);
-            printf(" %d", n_ID);
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNormalizeWindowsPath(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * path; /* the input file path */
-    int n_path;
-
-    for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) {
-        mem_base = xmlMemBlocks();
-        path = gen_const_xmlChar_ptr(n_path, 0);
-
-        ret_val = xmlNormalizeWindowsPath((const xmlChar *)path);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNormalizeWindowsPath",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_path);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlOutputBufferCreateBuffer(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlOutputBufferPtr ret_val;
-    xmlBufferPtr buffer; /* a xmlBufferPtr */
-    int n_buffer;
-    xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
-    int n_encoder;
-
-    for (n_buffer = 0;n_buffer < gen_nb_xmlBufferPtr;n_buffer++) {
-    for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
-        mem_base = xmlMemBlocks();
-        buffer = gen_xmlBufferPtr(n_buffer, 0);
-        encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
-
-        ret_val = xmlOutputBufferCreateBuffer(buffer, encoder);
-        desret_xmlOutputBufferPtr(ret_val);
-        call_tests++;
-        des_xmlBufferPtr(n_buffer, buffer, 0);
-        des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlOutputBufferCreateBuffer",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buffer);
-            printf(" %d", n_encoder);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlOutputBufferCreateFd(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlOutputBufferPtr ret_val;
-    int fd; /* a file descriptor number */
-    int n_fd;
-    xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
-    int n_encoder;
-
-    for (n_fd = 0;n_fd < gen_nb_int;n_fd++) {
-    for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
-        mem_base = xmlMemBlocks();
-        fd = gen_int(n_fd, 0);
-        encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
-
-        ret_val = xmlOutputBufferCreateFd(fd, encoder);
-        desret_xmlOutputBufferPtr(ret_val);
-        call_tests++;
-        des_int(n_fd, fd, 0);
-        des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlOutputBufferCreateFd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_fd);
-            printf(" %d", n_encoder);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlOutputBufferCreateFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlOutputBufferPtr ret_val;
-    FILE * file; /* a FILE* */
-    int n_file;
-    xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
-    int n_encoder;
-
-    for (n_file = 0;n_file < gen_nb_FILE_ptr;n_file++) {
-    for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
-        mem_base = xmlMemBlocks();
-        file = gen_FILE_ptr(n_file, 0);
-        encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
-
-        ret_val = xmlOutputBufferCreateFile(file, encoder);
-        desret_xmlOutputBufferPtr(ret_val);
-        call_tests++;
-        des_FILE_ptr(n_file, file, 0);
-        des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlOutputBufferCreateFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_file);
-            printf(" %d", n_encoder);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlOutputBufferCreateFilename(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    xmlOutputBufferPtr ret_val;
-    const char * URI; /* a C string containing the URI or filename */
-    int n_URI;
-    xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
-    int n_encoder;
-    int compression; /* the compression ration (0 none, 9 max). */
-    int n_compression;
-
-    for (n_URI = 0;n_URI < gen_nb_fileoutput;n_URI++) {
-    for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
-    for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
-        mem_base = xmlMemBlocks();
-        URI = gen_fileoutput(n_URI, 0);
-        encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
-        compression = gen_int(n_compression, 2);
-
-        ret_val = xmlOutputBufferCreateFilename(URI, encoder, compression);
-        desret_xmlOutputBufferPtr(ret_val);
-        call_tests++;
-        des_fileoutput(n_URI, URI, 0);
-        des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
-        des_int(n_compression, compression, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlOutputBufferCreateFilename",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URI);
-            printf(" %d", n_encoder);
-            printf(" %d", n_compression);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlOutputBufferFlush(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlOutputBufferPtr out; /* a buffered output */
-    int n_out;
-
-    for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
-        mem_base = xmlMemBlocks();
-        out = gen_xmlOutputBufferPtr(n_out, 0);
-
-        ret_val = xmlOutputBufferFlush(out);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlOutputBufferPtr(n_out, out, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlOutputBufferFlush",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlOutputBufferGetContent(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlOutputBufferPtr out; /* an xmlOutputBufferPtr */
-    int n_out;
-
-    for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
-        mem_base = xmlMemBlocks();
-        out = gen_xmlOutputBufferPtr(n_out, 0);
-
-        ret_val = xmlOutputBufferGetContent(out);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlOutputBufferPtr(n_out, out, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlOutputBufferGetContent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlOutputBufferGetSize(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlOutputBufferWrite(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlOutputBufferPtr out; /* a buffered parser output */
-    int n_out;
-    int len; /* the size in bytes of the array. */
-    int n_len;
-    char * buf; /* an char array */
-    int n_buf;
-
-    for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-    for (n_buf = 0;n_buf < gen_nb_const_char_ptr;n_buf++) {
-        mem_base = xmlMemBlocks();
-        out = gen_xmlOutputBufferPtr(n_out, 0);
-        len = gen_int(n_len, 1);
-        buf = gen_const_char_ptr(n_buf, 2);
-
-        ret_val = xmlOutputBufferWrite(out, len, (const char *)buf);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlOutputBufferPtr(n_out, out, 0);
-        des_int(n_len, len, 1);
-        des_const_char_ptr(n_buf, (const char *)buf, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlOutputBufferWrite",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out);
-            printf(" %d", n_len);
-            printf(" %d", n_buf);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlOutputBufferWriteEscape(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlOutputBufferWriteString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlOutputBufferPtr out; /* a buffered parser output */
-    int n_out;
-    char * str; /* a zero terminated C string */
-    int n_str;
-
-    for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
-    for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) {
-        mem_base = xmlMemBlocks();
-        out = gen_xmlOutputBufferPtr(n_out, 0);
-        str = gen_const_char_ptr(n_str, 1);
-
-        ret_val = xmlOutputBufferWriteString(out, (const char *)str);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlOutputBufferPtr(n_out, out, 0);
-        des_const_char_ptr(n_str, (const char *)str, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlOutputBufferWriteString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out);
-            printf(" %d", n_str);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserGetDirectory(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserInputBufferCreateFd(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputBufferPtr ret_val;
-    int fd; /* a file descriptor number */
-    int n_fd;
-    xmlCharEncoding enc; /* the charset encoding if known */
-    int n_enc;
-
-    for (n_fd = 0;n_fd < gen_nb_int;n_fd++) {
-    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
-        mem_base = xmlMemBlocks();
-        fd = gen_int(n_fd, 0);
-        enc = gen_xmlCharEncoding(n_enc, 1);
-        if (fd >= 0) fd = -1;
-
-        ret_val = xmlParserInputBufferCreateFd(fd, enc);
-        desret_xmlParserInputBufferPtr(ret_val);
-        call_tests++;
-        des_int(n_fd, fd, 0);
-        des_xmlCharEncoding(n_enc, enc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserInputBufferCreateFd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_fd);
-            printf(" %d", n_enc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserInputBufferCreateFile(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputBufferPtr ret_val;
-    FILE * file; /* a FILE* */
-    int n_file;
-    xmlCharEncoding enc; /* the charset encoding if known */
-    int n_enc;
-
-    for (n_file = 0;n_file < gen_nb_FILE_ptr;n_file++) {
-    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
-        mem_base = xmlMemBlocks();
-        file = gen_FILE_ptr(n_file, 0);
-        enc = gen_xmlCharEncoding(n_enc, 1);
-
-        ret_val = xmlParserInputBufferCreateFile(file, enc);
-        desret_xmlParserInputBufferPtr(ret_val);
-        call_tests++;
-        des_FILE_ptr(n_file, file, 0);
-        des_xmlCharEncoding(n_enc, enc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserInputBufferCreateFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_file);
-            printf(" %d", n_enc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserInputBufferCreateFilename(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputBufferPtr ret_val;
-    const char * URI; /* a C string containing the URI or filename */
-    int n_URI;
-    xmlCharEncoding enc; /* the charset encoding if known */
-    int n_enc;
-
-    for (n_URI = 0;n_URI < gen_nb_fileoutput;n_URI++) {
-    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
-        mem_base = xmlMemBlocks();
-        URI = gen_fileoutput(n_URI, 0);
-        enc = gen_xmlCharEncoding(n_enc, 1);
-
-        ret_val = xmlParserInputBufferCreateFilename(URI, enc);
-        desret_xmlParserInputBufferPtr(ret_val);
-        call_tests++;
-        des_fileoutput(n_URI, URI, 0);
-        des_xmlCharEncoding(n_enc, enc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserInputBufferCreateFilename",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URI);
-            printf(" %d", n_enc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserInputBufferCreateMem(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputBufferPtr ret_val;
-    char * mem; /* the memory input */
-    int n_mem;
-    int size; /* the length of the memory block */
-    int n_size;
-    xmlCharEncoding enc; /* the charset encoding if known */
-    int n_enc;
-
-    for (n_mem = 0;n_mem < gen_nb_const_char_ptr;n_mem++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
-        mem_base = xmlMemBlocks();
-        mem = gen_const_char_ptr(n_mem, 0);
-        size = gen_int(n_size, 1);
-        enc = gen_xmlCharEncoding(n_enc, 2);
-
-        ret_val = xmlParserInputBufferCreateMem((const char *)mem, size, enc);
-        desret_xmlParserInputBufferPtr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_mem, (const char *)mem, 0);
-        des_int(n_size, size, 1);
-        des_xmlCharEncoding(n_enc, enc, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserInputBufferCreateMem",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_mem);
-            printf(" %d", n_size);
-            printf(" %d", n_enc);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserInputBufferCreateStatic(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputBufferPtr ret_val;
-    char * mem; /* the memory input */
-    int n_mem;
-    int size; /* the length of the memory block */
-    int n_size;
-    xmlCharEncoding enc; /* the charset encoding if known */
-    int n_enc;
-
-    for (n_mem = 0;n_mem < gen_nb_const_char_ptr;n_mem++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
-        mem_base = xmlMemBlocks();
-        mem = gen_const_char_ptr(n_mem, 0);
-        size = gen_int(n_size, 1);
-        enc = gen_xmlCharEncoding(n_enc, 2);
-
-        ret_val = xmlParserInputBufferCreateStatic((const char *)mem, size, enc);
-        desret_xmlParserInputBufferPtr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_mem, (const char *)mem, 0);
-        des_int(n_size, size, 1);
-        des_xmlCharEncoding(n_enc, enc, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserInputBufferCreateStatic",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_mem);
-            printf(" %d", n_size);
-            printf(" %d", n_enc);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserInputBufferGrow(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserInputBufferPtr in; /* a buffered parser input */
-    int n_in;
-    int len; /* indicative value of the amount of chars to read */
-    int n_len;
-
-    for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        in = gen_xmlParserInputBufferPtr(n_in, 0);
-        len = gen_int(n_len, 1);
-
-        ret_val = xmlParserInputBufferGrow(in, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserInputBufferPtr(n_in, in, 0);
-        des_int(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserInputBufferGrow",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_in);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserInputBufferPush(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserInputBufferPtr in; /* a buffered parser input */
-    int n_in;
-    int len; /* the size in bytes of the array. */
-    int n_len;
-    char * buf; /* an char array */
-    int n_buf;
-
-    for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-    for (n_buf = 0;n_buf < gen_nb_const_char_ptr;n_buf++) {
-        mem_base = xmlMemBlocks();
-        in = gen_xmlParserInputBufferPtr(n_in, 0);
-        len = gen_int(n_len, 1);
-        buf = gen_const_char_ptr(n_buf, 2);
-
-        ret_val = xmlParserInputBufferPush(in, len, (const char *)buf);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserInputBufferPtr(n_in, in, 0);
-        des_int(n_len, len, 1);
-        des_const_char_ptr(n_buf, (const char *)buf, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserInputBufferPush",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_in);
-            printf(" %d", n_len);
-            printf(" %d", n_buf);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserInputBufferRead(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlParserInputBufferPtr in; /* a buffered parser input */
-    int n_in;
-    int len; /* indicative value of the amount of chars to read */
-    int n_len;
-
-    for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        in = gen_xmlParserInputBufferPtr(n_in, 0);
-        len = gen_int(n_len, 1);
-
-        ret_val = xmlParserInputBufferRead(in, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlParserInputBufferPtr(n_in, in, 0);
-        des_int(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserInputBufferRead",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_in);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlPopInputCallbacks(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-
-        mem_base = xmlMemBlocks();
-
-        ret_val = xmlPopInputCallbacks();
-        desret_int(ret_val);
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlPopInputCallbacks",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRegisterDefaultInputCallbacks(void) {
-    int test_ret = 0;
-
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlRegisterDefaultInputCallbacks();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRegisterDefaultInputCallbacks",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRegisterDefaultOutputCallbacks(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlRegisterDefaultOutputCallbacks();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRegisterDefaultOutputCallbacks",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRegisterHTTPPostCallbacks(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED) && defined(LIBXML_HTTP_ENABLED)
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlRegisterHTTPPostCallbacks();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRegisterHTTPPostCallbacks",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_xmlIO(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xmlIO : 40 of 50 functions ...\n");
-    test_ret += test_xmlAllocOutputBuffer();
-    test_ret += test_xmlAllocParserInputBuffer();
-    test_ret += test_xmlCheckFilename();
-    test_ret += test_xmlCheckHTTPInput();
-    test_ret += test_xmlCleanupInputCallbacks();
-    test_ret += test_xmlCleanupOutputCallbacks();
-    test_ret += test_xmlFileClose();
-    test_ret += test_xmlFileMatch();
-    test_ret += test_xmlFileOpen();
-    test_ret += test_xmlFileRead();
-    test_ret += test_xmlIOFTPClose();
-    test_ret += test_xmlIOFTPMatch();
-    test_ret += test_xmlIOFTPOpen();
-    test_ret += test_xmlIOFTPRead();
-    test_ret += test_xmlIOHTTPClose();
-    test_ret += test_xmlIOHTTPMatch();
-    test_ret += test_xmlIOHTTPOpen();
-    test_ret += test_xmlIOHTTPRead();
-    test_ret += test_xmlNoNetExternalEntityLoader();
-    test_ret += test_xmlNormalizeWindowsPath();
-    test_ret += test_xmlOutputBufferCreateBuffer();
-    test_ret += test_xmlOutputBufferCreateFd();
-    test_ret += test_xmlOutputBufferCreateFile();
-    test_ret += test_xmlOutputBufferCreateFilename();
-    test_ret += test_xmlOutputBufferFlush();
-    test_ret += test_xmlOutputBufferGetContent();
-    test_ret += test_xmlOutputBufferGetSize();
-    test_ret += test_xmlOutputBufferWrite();
-    test_ret += test_xmlOutputBufferWriteEscape();
-    test_ret += test_xmlOutputBufferWriteString();
-    test_ret += test_xmlParserGetDirectory();
-    test_ret += test_xmlParserInputBufferCreateFd();
-    test_ret += test_xmlParserInputBufferCreateFile();
-    test_ret += test_xmlParserInputBufferCreateFilename();
-    test_ret += test_xmlParserInputBufferCreateMem();
-    test_ret += test_xmlParserInputBufferCreateStatic();
-    test_ret += test_xmlParserInputBufferGrow();
-    test_ret += test_xmlParserInputBufferPush();
-    test_ret += test_xmlParserInputBufferRead();
-    test_ret += test_xmlPopInputCallbacks();
-    test_ret += test_xmlRegisterDefaultInputCallbacks();
-    test_ret += test_xmlRegisterDefaultOutputCallbacks();
-    test_ret += test_xmlRegisterHTTPPostCallbacks();
-
-    if (test_ret != 0)
-       printf("Module xmlIO: %d errors\n", test_ret);
-    return(test_ret);
-}
-#ifdef LIBXML_AUTOMATA_ENABLED
-
-#define gen_nb_xmlAutomataPtr 1
-static xmlAutomataPtr gen_xmlAutomataPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlAutomataPtr(int no ATTRIBUTE_UNUSED, xmlAutomataPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlAutomataCompile(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataGetInitState(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataIsDeterminist(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlAutomataPtr am; /* an automata */
-    int n_am;
-
-    for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) {
-        mem_base = xmlMemBlocks();
-        am = gen_xmlAutomataPtr(n_am, 0);
-
-        ret_val = xmlAutomataIsDeterminist(am);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlAutomataPtr(n_am, am, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAutomataIsDeterminist",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_am);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-#ifdef LIBXML_AUTOMATA_ENABLED
-
-#define gen_nb_xmlAutomataStatePtr 1
-static xmlAutomataStatePtr gen_xmlAutomataStatePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlAutomataStatePtr(int no ATTRIBUTE_UNUSED, xmlAutomataStatePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlAutomataNewAllTrans(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataNewCountTrans(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataNewCountTrans2(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataNewCountedTrans(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataNewCounter(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlAutomataPtr am; /* an automata */
-    int n_am;
-    int min; /* the minimal value on the counter */
-    int n_min;
-    int max; /* the maximal value on the counter */
-    int n_max;
-
-    for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) {
-    for (n_min = 0;n_min < gen_nb_int;n_min++) {
-    for (n_max = 0;n_max < gen_nb_int;n_max++) {
-        mem_base = xmlMemBlocks();
-        am = gen_xmlAutomataPtr(n_am, 0);
-        min = gen_int(n_min, 1);
-        max = gen_int(n_max, 2);
-
-        ret_val = xmlAutomataNewCounter(am, min, max);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlAutomataPtr(n_am, am, 0);
-        des_int(n_min, min, 1);
-        des_int(n_max, max, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAutomataNewCounter",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_am);
-            printf(" %d", n_min);
-            printf(" %d", n_max);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataNewCounterTrans(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataNewEpsilon(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataNewNegTrans(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataNewOnceTrans(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataNewOnceTrans2(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataNewState(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataNewTransition(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataNewTransition2(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlAutomataSetFinalState(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlAutomataPtr am; /* an automata */
-    int n_am;
-    xmlAutomataStatePtr state; /* a state in this automata */
-    int n_state;
-
-    for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) {
-    for (n_state = 0;n_state < gen_nb_xmlAutomataStatePtr;n_state++) {
-        mem_base = xmlMemBlocks();
-        am = gen_xmlAutomataPtr(n_am, 0);
-        state = gen_xmlAutomataStatePtr(n_state, 1);
-
-        ret_val = xmlAutomataSetFinalState(am, state);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlAutomataPtr(n_am, am, 0);
-        des_xmlAutomataStatePtr(n_state, state, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlAutomataSetFinalState",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_am);
-            printf(" %d", n_state);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewAutomata(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-static int
-test_xmlautomata(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xmlautomata : 3 of 19 functions ...\n");
-    test_ret += test_xmlAutomataCompile();
-    test_ret += test_xmlAutomataGetInitState();
-    test_ret += test_xmlAutomataIsDeterminist();
-    test_ret += test_xmlAutomataNewAllTrans();
-    test_ret += test_xmlAutomataNewCountTrans();
-    test_ret += test_xmlAutomataNewCountTrans2();
-    test_ret += test_xmlAutomataNewCountedTrans();
-    test_ret += test_xmlAutomataNewCounter();
-    test_ret += test_xmlAutomataNewCounterTrans();
-    test_ret += test_xmlAutomataNewEpsilon();
-    test_ret += test_xmlAutomataNewNegTrans();
-    test_ret += test_xmlAutomataNewOnceTrans();
-    test_ret += test_xmlAutomataNewOnceTrans2();
-    test_ret += test_xmlAutomataNewState();
-    test_ret += test_xmlAutomataNewTransition();
-    test_ret += test_xmlAutomataNewTransition2();
-    test_ret += test_xmlAutomataSetFinalState();
-    test_ret += test_xmlNewAutomata();
-
-    if (test_ret != 0)
-       printf("Module xmlautomata: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-#define gen_nb_xmlGenericErrorFunc_ptr 1
-static xmlGenericErrorFunc * gen_xmlGenericErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlGenericErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlGenericErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_initGenericErrorDefaultFunc(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlGenericErrorFunc * handler; /* the handler */
-    int n_handler;
-
-    for (n_handler = 0;n_handler < gen_nb_xmlGenericErrorFunc_ptr;n_handler++) {
-        mem_base = xmlMemBlocks();
-        handler = gen_xmlGenericErrorFunc_ptr(n_handler, 0);
-
-        initGenericErrorDefaultFunc(handler);
-        call_tests++;
-        des_xmlGenericErrorFunc_ptr(n_handler, handler, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in initGenericErrorDefaultFunc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_handler);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-#define gen_nb_xmlErrorPtr 1
-static xmlErrorPtr gen_xmlErrorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlErrorPtr(int no ATTRIBUTE_UNUSED, xmlErrorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-
-static int
-test_xmlCopyError(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlErrorPtr from; /* a source error */
-    int n_from;
-    xmlErrorPtr to; /* a target error */
-    int n_to;
-
-    for (n_from = 0;n_from < gen_nb_xmlErrorPtr;n_from++) {
-    for (n_to = 0;n_to < gen_nb_xmlErrorPtr;n_to++) {
-        mem_base = xmlMemBlocks();
-        from = gen_xmlErrorPtr(n_from, 0);
-        to = gen_xmlErrorPtr(n_to, 1);
-
-        ret_val = xmlCopyError(from, to);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlErrorPtr(n_from, from, 0);
-        des_xmlErrorPtr(n_to, to, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCopyError",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_from);
-            printf(" %d", n_to);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCtxtGetLastError(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlCtxtResetLastError(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    void * ctx; /* an XML parser context */
-    int n_ctx;
-
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctx = gen_void_ptr(n_ctx, 0);
-
-        xmlCtxtResetLastError(ctx);
-        call_tests++;
-        des_void_ptr(n_ctx, ctx, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCtxtResetLastError",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetLastError(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserError(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserPrintFileContext(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputPtr input; /* an xmlParserInputPtr input */
-    int n_input;
-
-    for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
-        mem_base = xmlMemBlocks();
-        input = gen_xmlParserInputPtr(n_input, 0);
-
-        xmlParserPrintFileContext(input);
-        call_tests++;
-        des_xmlParserInputPtr(n_input, input, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserPrintFileContext",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_input);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserPrintFileInfo(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlParserInputPtr input; /* an xmlParserInputPtr input */
-    int n_input;
-
-    for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
-        mem_base = xmlMemBlocks();
-        input = gen_xmlParserInputPtr(n_input, 0);
-
-        xmlParserPrintFileInfo(input);
-        call_tests++;
-        des_xmlParserInputPtr(n_input, input, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlParserPrintFileInfo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_input);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserValidityError(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserValidityWarning(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlParserWarning(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlResetError(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlErrorPtr err; /* pointer to the error. */
-    int n_err;
-
-    for (n_err = 0;n_err < gen_nb_xmlErrorPtr;n_err++) {
-        mem_base = xmlMemBlocks();
-        err = gen_xmlErrorPtr(n_err, 0);
-
-        xmlResetError(err);
-        call_tests++;
-        des_xmlErrorPtr(n_err, err, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlResetError",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_err);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlResetLastError(void) {
-    int test_ret = 0;
-
-
-
-        xmlResetLastError();
-        call_tests++;
-        xmlResetLastError();
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSetGenericErrorFunc(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSetStructuredErrorFunc(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-static int
-test_xmlerror(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xmlerror : 7 of 15 functions ...\n");
-    test_ret += test_initGenericErrorDefaultFunc();
-    test_ret += test_xmlCopyError();
-    test_ret += test_xmlCtxtGetLastError();
-    test_ret += test_xmlCtxtResetLastError();
-    test_ret += test_xmlGetLastError();
-    test_ret += test_xmlParserError();
-    test_ret += test_xmlParserPrintFileContext();
-    test_ret += test_xmlParserPrintFileInfo();
-    test_ret += test_xmlParserValidityError();
-    test_ret += test_xmlParserValidityWarning();
-    test_ret += test_xmlParserWarning();
-    test_ret += test_xmlResetError();
-    test_ret += test_xmlResetLastError();
-    test_ret += test_xmlSetGenericErrorFunc();
-    test_ret += test_xmlSetStructuredErrorFunc();
-
-    if (test_ret != 0)
-       printf("Module xmlerror: %d errors\n", test_ret);
-    return(test_ret);
-}
-#ifdef LIBXML_MODULES_ENABLED
-
-#define gen_nb_xmlModulePtr 1
-static xmlModulePtr gen_xmlModulePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlModulePtr(int no ATTRIBUTE_UNUSED, xmlModulePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlModuleClose(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_MODULES_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlModulePtr module; /* the module handle */
-    int n_module;
-
-    for (n_module = 0;n_module < gen_nb_xmlModulePtr;n_module++) {
-        mem_base = xmlMemBlocks();
-        module = gen_xmlModulePtr(n_module, 0);
-
-        ret_val = xmlModuleClose(module);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlModulePtr(n_module, module, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlModuleClose",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_module);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlModuleOpen(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlModuleSymbol(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_MODULES_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlModulePtr module; /* the module */
-    int n_module;
-    char * name; /* the name of the symbol */
-    int n_name;
-    void ** symbol; /* the resulting symbol address */
-    int n_symbol;
-
-    for (n_module = 0;n_module < gen_nb_xmlModulePtr;n_module++) {
-    for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
-    for (n_symbol = 0;n_symbol < gen_nb_void_ptr_ptr;n_symbol++) {
-        mem_base = xmlMemBlocks();
-        module = gen_xmlModulePtr(n_module, 0);
-        name = gen_const_char_ptr(n_name, 1);
-        symbol = gen_void_ptr_ptr(n_symbol, 2);
-
-        ret_val = xmlModuleSymbol(module, (const char *)name, symbol);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlModulePtr(n_module, module, 0);
-        des_const_char_ptr(n_name, (const char *)name, 1);
-        des_void_ptr_ptr(n_symbol, symbol, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlModuleSymbol",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_module);
-            printf(" %d", n_name);
-            printf(" %d", n_symbol);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_xmlmodule(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xmlmodule : 2 of 4 functions ...\n");
-    test_ret += test_xmlModuleClose();
-    test_ret += test_xmlModuleOpen();
-    test_ret += test_xmlModuleSymbol();
-
-    if (test_ret != 0)
-       printf("Module xmlmodule: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlNewTextReader(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlTextReaderPtr ret_val;
-    xmlParserInputBufferPtr input; /* the xmlParserInputBufferPtr used to read data */
-    int n_input;
-    const char * URI; /* the URI information for the source if available */
-    int n_URI;
-
-    for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
-    for (n_URI = 0;n_URI < gen_nb_filepath;n_URI++) {
-        mem_base = xmlMemBlocks();
-        input = gen_xmlParserInputBufferPtr(n_input, 0);
-        URI = gen_filepath(n_URI, 1);
-
-        ret_val = xmlNewTextReader(input, URI);
-        desret_xmlTextReaderPtr(ret_val);
-        call_tests++;
-        des_xmlParserInputBufferPtr(n_input, input, 0);
-        des_filepath(n_URI, URI, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewTextReader",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_input);
-            printf(" %d", n_URI);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewTextReaderFilename(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlTextReaderPtr ret_val;
-    const char * URI; /* the URI of the resource to process */
-    int n_URI;
-
-    for (n_URI = 0;n_URI < gen_nb_filepath;n_URI++) {
-        mem_base = xmlMemBlocks();
-        URI = gen_filepath(n_URI, 0);
-
-        ret_val = xmlNewTextReaderFilename(URI);
-        desret_xmlTextReaderPtr(ret_val);
-        call_tests++;
-        des_filepath(n_URI, URI, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewTextReaderFilename",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URI);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlReaderForDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlTextReaderPtr ret_val;
-    xmlChar * cur; /* a pointer to a zero terminated string */
-    int n_cur;
-    const char * URL; /* the base URL to use for the document */
-    int n_URL;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_const_xmlChar_ptr(n_cur, 0);
-        URL = gen_filepath(n_URL, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-        options = gen_parseroptions(n_options, 3);
-
-        ret_val = xmlReaderForDoc((const xmlChar *)cur, URL, (const char *)encoding, options);
-        desret_xmlTextReaderPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
-        des_filepath(n_URL, URL, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        des_parseroptions(n_options, options, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlReaderForDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_URL);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlReaderForFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlTextReaderPtr ret_val;
-    const char * filename; /* a file or URL */
-    int n_filename;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        filename = gen_filepath(n_filename, 0);
-        encoding = gen_const_char_ptr(n_encoding, 1);
-        options = gen_parseroptions(n_options, 2);
-
-        ret_val = xmlReaderForFile(filename, (const char *)encoding, options);
-        desret_xmlTextReaderPtr(ret_val);
-        call_tests++;
-        des_filepath(n_filename, filename, 0);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 1);
-        des_parseroptions(n_options, options, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlReaderForFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_filename);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlReaderForMemory(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlTextReaderPtr ret_val;
-    char * buffer; /* a pointer to a char array */
-    int n_buffer;
-    int size; /* the size of the array */
-    int n_size;
-    const char * URL; /* the base URL to use for the document */
-    int n_URL;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        buffer = gen_const_char_ptr(n_buffer, 0);
-        size = gen_int(n_size, 1);
-        URL = gen_filepath(n_URL, 2);
-        encoding = gen_const_char_ptr(n_encoding, 3);
-        options = gen_parseroptions(n_options, 4);
-
-        ret_val = xmlReaderForMemory((const char *)buffer, size, URL, (const char *)encoding, options);
-        desret_xmlTextReaderPtr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
-        des_int(n_size, size, 1);
-        des_filepath(n_URL, URL, 2);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
-        des_parseroptions(n_options, options, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlReaderForMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf(" %d", n_URL);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlReaderNewDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* an XML reader */
-    int n_reader;
-    xmlChar * cur; /* a pointer to a zero terminated string */
-    int n_cur;
-    const char * URL; /* the base URL to use for the document */
-    int n_URL;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        cur = gen_const_xmlChar_ptr(n_cur, 1);
-        URL = gen_filepath(n_URL, 2);
-        encoding = gen_const_char_ptr(n_encoding, 3);
-        options = gen_parseroptions(n_options, 4);
-
-        ret_val = xmlReaderNewDoc(reader, (const xmlChar *)cur, URL, (const char *)encoding, options);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
-        des_filepath(n_URL, URL, 2);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
-        des_parseroptions(n_options, options, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlReaderNewDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_cur);
-            printf(" %d", n_URL);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlReaderNewFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* an XML reader */
-    int n_reader;
-    const char * filename; /* a file or URL */
-    int n_filename;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        filename = gen_filepath(n_filename, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-        options = gen_parseroptions(n_options, 3);
-
-        ret_val = xmlReaderNewFile(reader, filename, (const char *)encoding, options);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_filepath(n_filename, filename, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        des_parseroptions(n_options, options, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlReaderNewFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_filename);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlReaderNewMemory(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* an XML reader */
-    int n_reader;
-    char * buffer; /* a pointer to a char array */
-    int n_buffer;
-    int size; /* the size of the array */
-    int n_size;
-    const char * URL; /* the base URL to use for the document */
-    int n_URL;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        buffer = gen_const_char_ptr(n_buffer, 1);
-        size = gen_int(n_size, 2);
-        URL = gen_filepath(n_URL, 3);
-        encoding = gen_const_char_ptr(n_encoding, 4);
-        options = gen_parseroptions(n_options, 5);
-
-        ret_val = xmlReaderNewMemory(reader, (const char *)buffer, size, URL, (const char *)encoding, options);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_const_char_ptr(n_buffer, (const char *)buffer, 1);
-        des_int(n_size, size, 2);
-        des_filepath(n_URL, URL, 3);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 4);
-        des_parseroptions(n_options, options, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlReaderNewMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf(" %d", n_URL);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlReaderNewWalker(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* an XML reader */
-    int n_reader;
-    xmlDocPtr doc; /* a preparsed document */
-    int n_doc;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-
-        ret_val = xmlReaderNewWalker(reader, doc);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlReaderNewWalker",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlReaderWalker(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlTextReaderPtr ret_val;
-    xmlDocPtr doc; /* a preparsed document */
-    int n_doc;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-
-        ret_val = xmlReaderWalker(doc);
-        desret_xmlTextReaderPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlReaderWalker",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderAttributeCount(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderAttributeCount(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderAttributeCount",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderBaseUri(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderBaseUri(reader);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderBaseUri",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderByteConsumed(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    long ret_val;
-    xmlTextReaderPtr reader; /* an XML reader */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderByteConsumed(reader);
-        desret_long(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderByteConsumed",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderClose(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderClose(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderClose",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderConstBaseUri(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderConstBaseUri(reader);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderConstBaseUri",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderConstEncoding(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderConstEncoding(reader);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderConstEncoding",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderConstLocalName(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderConstLocalName(reader);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderConstLocalName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderConstName(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderConstName(reader);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderConstName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderConstNamespaceUri(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderConstNamespaceUri(reader);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderConstNamespaceUri",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderConstPrefix(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderConstPrefix(reader);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderConstPrefix",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderConstString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    xmlChar * str; /* the string to intern. */
-    int n_str;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        str = gen_const_xmlChar_ptr(n_str, 1);
-
-        ret_val = xmlTextReaderConstString(reader, (const xmlChar *)str);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderConstString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_str);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderConstValue(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderConstValue(reader);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderConstValue",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderConstXmlLang(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderConstXmlLang(reader);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderConstXmlLang",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderConstXmlVersion(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderConstXmlVersion(reader);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderConstXmlVersion",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderCurrentDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlDocPtr ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderCurrentDoc(reader);
-        desret_xmlDocPtr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderCurrentDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderCurrentNode(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderCurrentNode(reader);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderCurrentNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderDepth(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderDepth(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderDepth",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderExpand(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderExpand(reader);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderExpand",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderGetAttribute(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    xmlChar * name; /* the qualified name of the attribute. */
-    int n_name;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlTextReaderGetAttribute(reader, (const xmlChar *)name);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderGetAttribute",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderGetAttributeNo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    int no; /* the zero-based index of the attribute relative to the containing element */
-    int n_no;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_no = 0;n_no < gen_nb_int;n_no++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        no = gen_int(n_no, 1);
-
-        ret_val = xmlTextReaderGetAttributeNo(reader, no);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_int(n_no, no, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderGetAttributeNo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_no);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderGetAttributeNs(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    xmlChar * localName; /* the local name of the attribute. */
-    int n_localName;
-    xmlChar * namespaceURI; /* the namespace URI of the attribute. */
-    int n_namespaceURI;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_localName = 0;n_localName < gen_nb_const_xmlChar_ptr;n_localName++) {
-    for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        localName = gen_const_xmlChar_ptr(n_localName, 1);
-        namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 2);
-
-        ret_val = xmlTextReaderGetAttributeNs(reader, (const xmlChar *)localName, (const xmlChar *)namespaceURI);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_const_xmlChar_ptr(n_localName, (const xmlChar *)localName, 1);
-        des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderGetAttributeNs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_localName);
-            printf(" %d", n_namespaceURI);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-#ifdef LIBXML_READER_ENABLED
-
-#define gen_nb_xmlTextReaderErrorFunc_ptr 1
-static xmlTextReaderErrorFunc * gen_xmlTextReaderErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlTextReaderErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlTextReaderErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlTextReaderGetErrorHandler(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    xmlTextReaderErrorFunc * f; /* the callback function or NULL is no callback has been registered */
-    int n_f;
-    void ** arg; /* a user argument */
-    int n_arg;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_f = 0;n_f < gen_nb_xmlTextReaderErrorFunc_ptr;n_f++) {
-    for (n_arg = 0;n_arg < gen_nb_void_ptr_ptr;n_arg++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        f = gen_xmlTextReaderErrorFunc_ptr(n_f, 1);
-        arg = gen_void_ptr_ptr(n_arg, 2);
-
-        xmlTextReaderGetErrorHandler(reader, f, arg);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_xmlTextReaderErrorFunc_ptr(n_f, f, 1);
-        des_void_ptr_ptr(n_arg, arg, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderGetErrorHandler",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_f);
-            printf(" %d", n_arg);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderGetParserColumnNumber(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the user data (XML reader context) */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderGetParserColumnNumber(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderGetParserColumnNumber",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderGetParserLineNumber(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the user data (XML reader context) */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderGetParserLineNumber(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderGetParserLineNumber",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderGetParserProp(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    int prop; /* the xmlParserProperties to get */
-    int n_prop;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_prop = 0;n_prop < gen_nb_int;n_prop++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        prop = gen_int(n_prop, 1);
-
-        ret_val = xmlTextReaderGetParserProp(reader, prop);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_int(n_prop, prop, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderGetParserProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_prop);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderGetRemainder(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlParserInputBufferPtr ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderGetRemainder(reader);
-        desret_xmlParserInputBufferPtr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderGetRemainder",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderHasAttributes(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderHasAttributes(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderHasAttributes",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderHasValue(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderHasValue(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderHasValue",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderIsDefault(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderIsDefault(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderIsDefault",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderIsEmptyElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderIsEmptyElement(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderIsEmptyElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderIsNamespaceDecl(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderIsNamespaceDecl(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderIsNamespaceDecl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderIsValid(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderIsValid(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderIsValid",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderLocalName(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderLocalName(reader);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderLocalName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-#ifdef LIBXML_READER_ENABLED
-
-#define gen_nb_xmlTextReaderLocatorPtr 1
-static xmlTextReaderLocatorPtr gen_xmlTextReaderLocatorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlTextReaderLocatorPtr(int no ATTRIBUTE_UNUSED, xmlTextReaderLocatorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlTextReaderLocatorBaseURI(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlTextReaderLocatorPtr locator; /* the xmlTextReaderLocatorPtr used */
-    int n_locator;
-
-    for (n_locator = 0;n_locator < gen_nb_xmlTextReaderLocatorPtr;n_locator++) {
-        mem_base = xmlMemBlocks();
-        locator = gen_xmlTextReaderLocatorPtr(n_locator, 0);
-
-        ret_val = xmlTextReaderLocatorBaseURI(locator);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderLocatorPtr(n_locator, locator, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderLocatorBaseURI",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_locator);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderLocatorLineNumber(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderLocatorPtr locator; /* the xmlTextReaderLocatorPtr used */
-    int n_locator;
-
-    for (n_locator = 0;n_locator < gen_nb_xmlTextReaderLocatorPtr;n_locator++) {
-        mem_base = xmlMemBlocks();
-        locator = gen_xmlTextReaderLocatorPtr(n_locator, 0);
-
-        ret_val = xmlTextReaderLocatorLineNumber(locator);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderLocatorPtr(n_locator, locator, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderLocatorLineNumber",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_locator);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderLookupNamespace(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    xmlChar * prefix; /* the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL */
-    int n_prefix;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
-
-        ret_val = xmlTextReaderLookupNamespace(reader, (const xmlChar *)prefix);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderLookupNamespace",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_prefix);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderMoveToAttribute(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    xmlChar * name; /* the qualified name of the attribute. */
-    int n_name;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlTextReaderMoveToAttribute(reader, (const xmlChar *)name);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderMoveToAttribute",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderMoveToAttributeNo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    int no; /* the zero-based index of the attribute relative to the containing element. */
-    int n_no;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_no = 0;n_no < gen_nb_int;n_no++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        no = gen_int(n_no, 1);
-
-        ret_val = xmlTextReaderMoveToAttributeNo(reader, no);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_int(n_no, no, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderMoveToAttributeNo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_no);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderMoveToAttributeNs(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    xmlChar * localName; /* the local name of the attribute. */
-    int n_localName;
-    xmlChar * namespaceURI; /* the namespace URI of the attribute. */
-    int n_namespaceURI;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_localName = 0;n_localName < gen_nb_const_xmlChar_ptr;n_localName++) {
-    for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        localName = gen_const_xmlChar_ptr(n_localName, 1);
-        namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 2);
-
-        ret_val = xmlTextReaderMoveToAttributeNs(reader, (const xmlChar *)localName, (const xmlChar *)namespaceURI);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_const_xmlChar_ptr(n_localName, (const xmlChar *)localName, 1);
-        des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderMoveToAttributeNs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_localName);
-            printf(" %d", n_namespaceURI);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderMoveToElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderMoveToElement(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderMoveToElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderMoveToFirstAttribute(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderMoveToFirstAttribute(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderMoveToFirstAttribute",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderMoveToNextAttribute(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderMoveToNextAttribute(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderMoveToNextAttribute",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderName(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderName(reader);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderNamespaceUri(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderNamespaceUri(reader);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderNamespaceUri",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderNext(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderNext(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderNext",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderNextSibling(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderNextSibling(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderNextSibling",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderNodeType(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderNodeType(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderNodeType",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderNormalization(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderNormalization(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderNormalization",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderPrefix(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderPrefix(reader);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderPrefix",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderPreserve(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderPreserve(reader);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderPreserve",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderPreservePattern(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED)
-#ifdef LIBXML_PATTERN_ENABLED
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    xmlChar * pattern; /* an XPath subset pattern */
-    int n_pattern;
-    xmlChar ** namespaces; /* the prefix definitions, array of [URI, prefix] or NULL */
-    int n_namespaces;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_pattern = 0;n_pattern < gen_nb_const_xmlChar_ptr;n_pattern++) {
-    for (n_namespaces = 0;n_namespaces < gen_nb_const_xmlChar_ptr_ptr;n_namespaces++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        pattern = gen_const_xmlChar_ptr(n_pattern, 1);
-        namespaces = gen_const_xmlChar_ptr_ptr(n_namespaces, 2);
-
-        ret_val = xmlTextReaderPreservePattern(reader, (const xmlChar *)pattern, (const xmlChar **)namespaces);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_const_xmlChar_ptr(n_pattern, (const xmlChar *)pattern, 1);
-        des_const_xmlChar_ptr_ptr(n_namespaces, (const xmlChar **)namespaces, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderPreservePattern",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_pattern);
-            printf(" %d", n_namespaces);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderQuoteChar(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderQuoteChar(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderQuoteChar",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderRead(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderRead(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderRead",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderReadAttributeValue(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderReadAttributeValue(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderReadAttributeValue",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderReadState(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderReadState(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderReadState",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderRelaxNGSetSchema(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    xmlRelaxNGPtr schema; /* a precompiled RelaxNG schema */
-    int n_schema;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        schema = gen_xmlRelaxNGPtr(n_schema, 1);
-
-        ret_val = xmlTextReaderRelaxNGSetSchema(reader, schema);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_xmlRelaxNGPtr(n_schema, schema, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderRelaxNGSetSchema",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_schema);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderRelaxNGValidate(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    char * rng; /* the path to a RelaxNG schema or NULL */
-    int n_rng;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_rng = 0;n_rng < gen_nb_const_char_ptr;n_rng++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        rng = gen_const_char_ptr(n_rng, 1);
-
-        ret_val = xmlTextReaderRelaxNGValidate(reader, (const char *)rng);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_const_char_ptr(n_rng, (const char *)rng, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderRelaxNGValidate",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_rng);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderRelaxNGValidateCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    xmlRelaxNGValidCtxtPtr ctxt; /* the RelaxNG schema validation context or NULL */
-    int n_ctxt;
-    int options; /* options (not used yet) */
-    int n_options;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 1);
-        options = gen_parseroptions(n_options, 2);
-
-        ret_val = xmlTextReaderRelaxNGValidateCtxt(reader, ctxt, options);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 1);
-        des_parseroptions(n_options, options, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderRelaxNGValidateCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_ctxt);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderSchemaValidate(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    char * xsd; /* the path to a W3C XSD schema or NULL */
-    int n_xsd;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_xsd = 0;n_xsd < gen_nb_const_char_ptr;n_xsd++) {
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        xsd = gen_const_char_ptr(n_xsd, 1);
-
-        ret_val = xmlTextReaderSchemaValidate(reader, (const char *)xsd);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_const_char_ptr(n_xsd, (const char *)xsd, 1);
-        xmlResetLastError();
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderSchemaValidateCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    xmlSchemaValidCtxtPtr ctxt; /* the XML Schema validation context or NULL */
-    int n_ctxt;
-    int options; /* options (not used yet) */
-    int n_options;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 1);
-        options = gen_parseroptions(n_options, 2);
-
-        ret_val = xmlTextReaderSchemaValidateCtxt(reader, ctxt, options);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 1);
-        des_parseroptions(n_options, options, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderSchemaValidateCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_ctxt);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderSetErrorHandler(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderSetParserProp(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    int prop; /* the xmlParserProperties to set */
-    int n_prop;
-    int value; /* usually 0 or 1 to (de)activate it */
-    int n_value;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_prop = 0;n_prop < gen_nb_int;n_prop++) {
-    for (n_value = 0;n_value < gen_nb_int;n_value++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        prop = gen_int(n_prop, 1);
-        value = gen_int(n_value, 2);
-
-        ret_val = xmlTextReaderSetParserProp(reader, prop, value);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_int(n_prop, prop, 1);
-        des_int(n_value, value, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderSetParserProp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_prop);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderSetSchema(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-    xmlSchemaPtr schema; /* a precompiled Schema schema */
-    int n_schema;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_schema = 0;n_schema < gen_nb_xmlSchemaPtr;n_schema++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        schema = gen_xmlSchemaPtr(n_schema, 1);
-
-        ret_val = xmlTextReaderSetSchema(reader, schema);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_xmlSchemaPtr(n_schema, schema, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderSetSchema",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_schema);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderSetStructuredErrorHandler(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderSetup(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* an XML reader */
-    int n_reader;
-    xmlParserInputBufferPtr input; /* xmlParserInputBufferPtr used to feed the reader, will be destroyed with it. */
-    int n_input;
-    const char * URL; /* the base URL to use for the document */
-    int n_URL;
-    char * encoding; /* the document encoding, or NULL */
-    int n_encoding;
-    int options; /* a combination of xmlParserOption */
-    int n_options;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-    for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
-    for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-        input = gen_xmlParserInputBufferPtr(n_input, 1);
-        URL = gen_filepath(n_URL, 2);
-        encoding = gen_const_char_ptr(n_encoding, 3);
-        options = gen_parseroptions(n_options, 4);
-
-        ret_val = xmlTextReaderSetup(reader, input, URL, (const char *)encoding, options);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        des_filepath(n_URL, URL, 2);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 3);
-        des_parseroptions(n_options, options, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderSetup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf(" %d", n_input);
-            printf(" %d", n_URL);
-            printf(" %d", n_encoding);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderStandalone(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderStandalone(reader);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderStandalone",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderValue(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderValue(reader);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderValue",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextReaderXmlLang(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_READER_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
-    int n_reader;
-
-    for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
-        mem_base = xmlMemBlocks();
-        reader = gen_xmlTextReaderPtr(n_reader, 0);
-
-        ret_val = xmlTextReaderXmlLang(reader);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlTextReaderPtr(n_reader, reader, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextReaderXmlLang",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_reader);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_xmlreader(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xmlreader : 76 of 86 functions ...\n");
-    test_ret += test_xmlNewTextReader();
-    test_ret += test_xmlNewTextReaderFilename();
-    test_ret += test_xmlReaderForDoc();
-    test_ret += test_xmlReaderForFile();
-    test_ret += test_xmlReaderForMemory();
-    test_ret += test_xmlReaderNewDoc();
-    test_ret += test_xmlReaderNewFile();
-    test_ret += test_xmlReaderNewMemory();
-    test_ret += test_xmlReaderNewWalker();
-    test_ret += test_xmlReaderWalker();
-    test_ret += test_xmlTextReaderAttributeCount();
-    test_ret += test_xmlTextReaderBaseUri();
-    test_ret += test_xmlTextReaderByteConsumed();
-    test_ret += test_xmlTextReaderClose();
-    test_ret += test_xmlTextReaderConstBaseUri();
-    test_ret += test_xmlTextReaderConstEncoding();
-    test_ret += test_xmlTextReaderConstLocalName();
-    test_ret += test_xmlTextReaderConstName();
-    test_ret += test_xmlTextReaderConstNamespaceUri();
-    test_ret += test_xmlTextReaderConstPrefix();
-    test_ret += test_xmlTextReaderConstString();
-    test_ret += test_xmlTextReaderConstValue();
-    test_ret += test_xmlTextReaderConstXmlLang();
-    test_ret += test_xmlTextReaderConstXmlVersion();
-    test_ret += test_xmlTextReaderCurrentDoc();
-    test_ret += test_xmlTextReaderCurrentNode();
-    test_ret += test_xmlTextReaderDepth();
-    test_ret += test_xmlTextReaderExpand();
-    test_ret += test_xmlTextReaderGetAttribute();
-    test_ret += test_xmlTextReaderGetAttributeNo();
-    test_ret += test_xmlTextReaderGetAttributeNs();
-    test_ret += test_xmlTextReaderGetErrorHandler();
-    test_ret += test_xmlTextReaderGetParserColumnNumber();
-    test_ret += test_xmlTextReaderGetParserLineNumber();
-    test_ret += test_xmlTextReaderGetParserProp();
-    test_ret += test_xmlTextReaderGetRemainder();
-    test_ret += test_xmlTextReaderHasAttributes();
-    test_ret += test_xmlTextReaderHasValue();
-    test_ret += test_xmlTextReaderIsDefault();
-    test_ret += test_xmlTextReaderIsEmptyElement();
-    test_ret += test_xmlTextReaderIsNamespaceDecl();
-    test_ret += test_xmlTextReaderIsValid();
-    test_ret += test_xmlTextReaderLocalName();
-    test_ret += test_xmlTextReaderLocatorBaseURI();
-    test_ret += test_xmlTextReaderLocatorLineNumber();
-    test_ret += test_xmlTextReaderLookupNamespace();
-    test_ret += test_xmlTextReaderMoveToAttribute();
-    test_ret += test_xmlTextReaderMoveToAttributeNo();
-    test_ret += test_xmlTextReaderMoveToAttributeNs();
-    test_ret += test_xmlTextReaderMoveToElement();
-    test_ret += test_xmlTextReaderMoveToFirstAttribute();
-    test_ret += test_xmlTextReaderMoveToNextAttribute();
-    test_ret += test_xmlTextReaderName();
-    test_ret += test_xmlTextReaderNamespaceUri();
-    test_ret += test_xmlTextReaderNext();
-    test_ret += test_xmlTextReaderNextSibling();
-    test_ret += test_xmlTextReaderNodeType();
-    test_ret += test_xmlTextReaderNormalization();
-    test_ret += test_xmlTextReaderPrefix();
-    test_ret += test_xmlTextReaderPreserve();
-    test_ret += test_xmlTextReaderPreservePattern();
-    test_ret += test_xmlTextReaderQuoteChar();
-    test_ret += test_xmlTextReaderRead();
-    test_ret += test_xmlTextReaderReadAttributeValue();
-    test_ret += test_xmlTextReaderReadState();
-    test_ret += test_xmlTextReaderRelaxNGSetSchema();
-    test_ret += test_xmlTextReaderRelaxNGValidate();
-    test_ret += test_xmlTextReaderRelaxNGValidateCtxt();
-    test_ret += test_xmlTextReaderSchemaValidate();
-    test_ret += test_xmlTextReaderSchemaValidateCtxt();
-    test_ret += test_xmlTextReaderSetErrorHandler();
-    test_ret += test_xmlTextReaderSetParserProp();
-    test_ret += test_xmlTextReaderSetSchema();
-    test_ret += test_xmlTextReaderSetStructuredErrorHandler();
-    test_ret += test_xmlTextReaderSetup();
-    test_ret += test_xmlTextReaderStandalone();
-    test_ret += test_xmlTextReaderValue();
-    test_ret += test_xmlTextReaderXmlLang();
-
-    if (test_ret != 0)
-       printf("Module xmlreader: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlExpCtxtNbCons(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlExpCtxtPtr ctxt; /* an expression context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
-
-        ret_val = xmlExpCtxtNbCons(ctxt);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlExpCtxtNbCons",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpCtxtNbNodes(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlExpCtxtPtr ctxt; /* an expression context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
-
-        ret_val = xmlExpCtxtNbNodes(ctxt);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlExpCtxtNbNodes",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpDump(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
-    int mem_base;
-    xmlBufferPtr buf; /* a buffer to receive the output */
-    int n_buf;
-    xmlExpNodePtr expr; /* the compiled expression */
-    int n_expr;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_expr = 0;n_expr < gen_nb_xmlExpNodePtr;n_expr++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        expr = gen_xmlExpNodePtr(n_expr, 1);
-
-        xmlExpDump(buf, expr);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_xmlExpNodePtr(n_expr, expr, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlExpDump",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_expr);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpExpDerive(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpGetLanguage(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlExpCtxtPtr ctxt; /* the expression context */
-    int n_ctxt;
-    xmlExpNodePtr exp; /* the expression */
-    int n_exp;
-    xmlChar ** langList; /* where to store the tokens */
-    int n_langList;
-    int len; /* the allocated lenght of @list */
-    int n_len;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
-    for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
-    for (n_langList = 0;n_langList < gen_nb_const_xmlChar_ptr_ptr;n_langList++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
-        exp = gen_xmlExpNodePtr(n_exp, 1);
-        langList = gen_const_xmlChar_ptr_ptr(n_langList, 2);
-        len = gen_int(n_len, 3);
-
-        ret_val = xmlExpGetLanguage(ctxt, exp, (const xmlChar **)langList, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlExpNodePtr(n_exp, exp, 1);
-        des_const_xmlChar_ptr_ptr(n_langList, (const xmlChar **)langList, 2);
-        des_int(n_len, len, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlExpGetLanguage",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_exp);
-            printf(" %d", n_langList);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpGetStart(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlExpCtxtPtr ctxt; /* the expression context */
-    int n_ctxt;
-    xmlExpNodePtr exp; /* the expression */
-    int n_exp;
-    xmlChar ** tokList; /* where to store the tokens */
-    int n_tokList;
-    int len; /* the allocated lenght of @list */
-    int n_len;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
-    for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
-    for (n_tokList = 0;n_tokList < gen_nb_const_xmlChar_ptr_ptr;n_tokList++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
-        exp = gen_xmlExpNodePtr(n_exp, 1);
-        tokList = gen_const_xmlChar_ptr_ptr(n_tokList, 2);
-        len = gen_int(n_len, 3);
-
-        ret_val = xmlExpGetStart(ctxt, exp, (const xmlChar **)tokList, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlExpNodePtr(n_exp, exp, 1);
-        des_const_xmlChar_ptr_ptr(n_tokList, (const xmlChar **)tokList, 2);
-        des_int(n_len, len, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlExpGetStart",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_exp);
-            printf(" %d", n_tokList);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpIsNillable(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlExpNodePtr exp; /* the expression */
-    int n_exp;
-
-    for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
-        mem_base = xmlMemBlocks();
-        exp = gen_xmlExpNodePtr(n_exp, 0);
-
-        ret_val = xmlExpIsNillable(exp);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlExpNodePtr(n_exp, exp, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlExpIsNillable",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_exp);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpMaxToken(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlExpNodePtr expr; /* a compiled expression */
-    int n_expr;
-
-    for (n_expr = 0;n_expr < gen_nb_xmlExpNodePtr;n_expr++) {
-        mem_base = xmlMemBlocks();
-        expr = gen_xmlExpNodePtr(n_expr, 0);
-
-        ret_val = xmlExpMaxToken(expr);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlExpNodePtr(n_expr, expr, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlExpMaxToken",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_expr);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpNewAtom(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpNewCtxt(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpNewOr(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpNewRange(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpNewSeq(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpParse(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpRef(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
-    int mem_base;
-    xmlExpNodePtr exp; /* the expression */
-    int n_exp;
-
-    for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
-        mem_base = xmlMemBlocks();
-        exp = gen_xmlExpNodePtr(n_exp, 0);
-
-        xmlExpRef(exp);
-        call_tests++;
-        des_xmlExpNodePtr(n_exp, exp, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlExpRef",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_exp);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpStringDerive(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlExpSubsume(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlExpCtxtPtr ctxt; /* the expressions context */
-    int n_ctxt;
-    xmlExpNodePtr exp; /* the englobing expression */
-    int n_exp;
-    xmlExpNodePtr sub; /* the subexpression */
-    int n_sub;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
-    for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
-    for (n_sub = 0;n_sub < gen_nb_xmlExpNodePtr;n_sub++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
-        exp = gen_xmlExpNodePtr(n_exp, 1);
-        sub = gen_xmlExpNodePtr(n_sub, 2);
-
-        ret_val = xmlExpSubsume(ctxt, exp, sub);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlExpNodePtr(n_exp, exp, 1);
-        des_xmlExpNodePtr(n_sub, sub, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlExpSubsume",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_exp);
-            printf(" %d", n_sub);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-#ifdef LIBXML_REGEXP_ENABLED
-
-#define gen_nb_xmlRegExecCtxtPtr 1
-static xmlRegExecCtxtPtr gen_xmlRegExecCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlRegExecCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRegExecCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlRegExecErrInfo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlRegExecCtxtPtr exec; /* a regexp execution context generating an error */
-    int n_exec;
-    xmlChar ** string; /* return value for the error string */
-    int n_string;
-    int * nbval; /* pointer to the number of accepted values IN/OUT */
-    int n_nbval;
-    int * nbneg; /* return number of negative transitions */
-    int n_nbneg;
-    xmlChar ** values; /* pointer to the array of acceptable values */
-    int n_values;
-    int * terminal; /* return value if this was a terminal state */
-    int n_terminal;
-
-    for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
-    for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr_ptr;n_string++) {
-    for (n_nbval = 0;n_nbval < gen_nb_int_ptr;n_nbval++) {
-    for (n_nbneg = 0;n_nbneg < gen_nb_int_ptr;n_nbneg++) {
-    for (n_values = 0;n_values < gen_nb_xmlChar_ptr_ptr;n_values++) {
-    for (n_terminal = 0;n_terminal < gen_nb_int_ptr;n_terminal++) {
-        mem_base = xmlMemBlocks();
-        exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
-        string = gen_const_xmlChar_ptr_ptr(n_string, 1);
-        nbval = gen_int_ptr(n_nbval, 2);
-        nbneg = gen_int_ptr(n_nbneg, 3);
-        values = gen_xmlChar_ptr_ptr(n_values, 4);
-        terminal = gen_int_ptr(n_terminal, 5);
-
-        ret_val = xmlRegExecErrInfo(exec, (const xmlChar **)string, nbval, nbneg, values, terminal);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlRegExecCtxtPtr(n_exec, exec, 0);
-        des_const_xmlChar_ptr_ptr(n_string, (const xmlChar **)string, 1);
-        des_int_ptr(n_nbval, nbval, 2);
-        des_int_ptr(n_nbneg, nbneg, 3);
-        des_xmlChar_ptr_ptr(n_values, values, 4);
-        des_int_ptr(n_terminal, terminal, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRegExecErrInfo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_exec);
-            printf(" %d", n_string);
-            printf(" %d", n_nbval);
-            printf(" %d", n_nbneg);
-            printf(" %d", n_values);
-            printf(" %d", n_terminal);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRegExecNextValues(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlRegExecCtxtPtr exec; /* a regexp execution context */
-    int n_exec;
-    int * nbval; /* pointer to the number of accepted values IN/OUT */
-    int n_nbval;
-    int * nbneg; /* return number of negative transitions */
-    int n_nbneg;
-    xmlChar ** values; /* pointer to the array of acceptable values */
-    int n_values;
-    int * terminal; /* return value if this was a terminal state */
-    int n_terminal;
-
-    for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
-    for (n_nbval = 0;n_nbval < gen_nb_int_ptr;n_nbval++) {
-    for (n_nbneg = 0;n_nbneg < gen_nb_int_ptr;n_nbneg++) {
-    for (n_values = 0;n_values < gen_nb_xmlChar_ptr_ptr;n_values++) {
-    for (n_terminal = 0;n_terminal < gen_nb_int_ptr;n_terminal++) {
-        mem_base = xmlMemBlocks();
-        exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
-        nbval = gen_int_ptr(n_nbval, 1);
-        nbneg = gen_int_ptr(n_nbneg, 2);
-        values = gen_xmlChar_ptr_ptr(n_values, 3);
-        terminal = gen_int_ptr(n_terminal, 4);
-
-        ret_val = xmlRegExecNextValues(exec, nbval, nbneg, values, terminal);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlRegExecCtxtPtr(n_exec, exec, 0);
-        des_int_ptr(n_nbval, nbval, 1);
-        des_int_ptr(n_nbneg, nbneg, 2);
-        des_xmlChar_ptr_ptr(n_values, values, 3);
-        des_int_ptr(n_terminal, terminal, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRegExecNextValues",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_exec);
-            printf(" %d", n_nbval);
-            printf(" %d", n_nbneg);
-            printf(" %d", n_values);
-            printf(" %d", n_terminal);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRegExecPushString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlRegExecCtxtPtr exec; /* a regexp execution context or NULL to indicate the end */
-    int n_exec;
-    xmlChar * value; /* a string token input */
-    int n_value;
-    void * data; /* data associated to the token to reuse in callbacks */
-    int n_data;
-
-    for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
-        value = gen_const_xmlChar_ptr(n_value, 1);
-        data = gen_userdata(n_data, 2);
-
-        ret_val = xmlRegExecPushString(exec, (const xmlChar *)value, data);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlRegExecCtxtPtr(n_exec, exec, 0);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
-        des_userdata(n_data, data, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRegExecPushString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_exec);
-            printf(" %d", n_value);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRegExecPushString2(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlRegExecCtxtPtr exec; /* a regexp execution context or NULL to indicate the end */
-    int n_exec;
-    xmlChar * value; /* the first string token input */
-    int n_value;
-    xmlChar * value2; /* the second string token input */
-    int n_value2;
-    void * data; /* data associated to the token to reuse in callbacks */
-    int n_data;
-
-    for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_value2 = 0;n_value2 < gen_nb_const_xmlChar_ptr;n_value2++) {
-    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
-        mem_base = xmlMemBlocks();
-        exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
-        value = gen_const_xmlChar_ptr(n_value, 1);
-        value2 = gen_const_xmlChar_ptr(n_value2, 2);
-        data = gen_userdata(n_data, 3);
-
-        ret_val = xmlRegExecPushString2(exec, (const xmlChar *)value, (const xmlChar *)value2, data);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlRegExecCtxtPtr(n_exec, exec, 0);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
-        des_const_xmlChar_ptr(n_value2, (const xmlChar *)value2, 2);
-        des_userdata(n_data, data, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRegExecPushString2",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_exec);
-            printf(" %d", n_value);
-            printf(" %d", n_value2);
-            printf(" %d", n_data);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-#ifdef LIBXML_REGEXP_ENABLED
-
-#define gen_nb_xmlRegexpPtr 1
-static xmlRegexpPtr gen_xmlRegexpPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlRegexpPtr(int no ATTRIBUTE_UNUSED, xmlRegexpPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlRegNewExecCtxt(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlRegexpCompile(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlRegexpExec(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlRegexpPtr comp; /* the compiled regular expression */
-    int n_comp;
-    xmlChar * content; /* the value to check against the regular expression */
-    int n_content;
-
-    for (n_comp = 0;n_comp < gen_nb_xmlRegexpPtr;n_comp++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        comp = gen_xmlRegexpPtr(n_comp, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-
-        ret_val = xmlRegexpExec(comp, (const xmlChar *)content);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlRegexpPtr(n_comp, comp, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRegexpExec",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_comp);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRegexpIsDeterminist(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlRegexpPtr comp; /* the compiled regular expression */
-    int n_comp;
-
-    for (n_comp = 0;n_comp < gen_nb_xmlRegexpPtr;n_comp++) {
-        mem_base = xmlMemBlocks();
-        comp = gen_xmlRegexpPtr(n_comp, 0);
-
-        ret_val = xmlRegexpIsDeterminist(comp);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlRegexpPtr(n_comp, comp, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRegexpIsDeterminist",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_comp);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlRegexpPrint(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_REGEXP_ENABLED)
-    int mem_base;
-    FILE * output; /* the file for the output debug */
-    int n_output;
-    xmlRegexpPtr regexp; /* the compiled regexp */
-    int n_regexp;
-
-    for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
-    for (n_regexp = 0;n_regexp < gen_nb_xmlRegexpPtr;n_regexp++) {
-        mem_base = xmlMemBlocks();
-        output = gen_FILE_ptr(n_output, 0);
-        regexp = gen_xmlRegexpPtr(n_regexp, 1);
-
-        xmlRegexpPrint(output, regexp);
-        call_tests++;
-        des_FILE_ptr(n_output, output, 0);
-        des_xmlRegexpPtr(n_regexp, regexp, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlRegexpPrint",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_regexp);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_xmlregexp(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xmlregexp : 16 of 30 functions ...\n");
-    test_ret += test_xmlExpCtxtNbCons();
-    test_ret += test_xmlExpCtxtNbNodes();
-    test_ret += test_xmlExpDump();
-    test_ret += test_xmlExpExpDerive();
-    test_ret += test_xmlExpGetLanguage();
-    test_ret += test_xmlExpGetStart();
-    test_ret += test_xmlExpIsNillable();
-    test_ret += test_xmlExpMaxToken();
-    test_ret += test_xmlExpNewAtom();
-    test_ret += test_xmlExpNewCtxt();
-    test_ret += test_xmlExpNewOr();
-    test_ret += test_xmlExpNewRange();
-    test_ret += test_xmlExpNewSeq();
-    test_ret += test_xmlExpParse();
-    test_ret += test_xmlExpRef();
-    test_ret += test_xmlExpStringDerive();
-    test_ret += test_xmlExpSubsume();
-    test_ret += test_xmlRegExecErrInfo();
-    test_ret += test_xmlRegExecNextValues();
-    test_ret += test_xmlRegExecPushString();
-    test_ret += test_xmlRegExecPushString2();
-    test_ret += test_xmlRegNewExecCtxt();
-    test_ret += test_xmlRegexpCompile();
-    test_ret += test_xmlRegexpExec();
-    test_ret += test_xmlRegexpIsDeterminist();
-    test_ret += test_xmlRegexpPrint();
-
-    if (test_ret != 0)
-       printf("Module xmlregexp: %d errors\n", test_ret);
-    return(test_ret);
-}
-#ifdef LIBXML_OUTPUT_ENABLED
-
-#define gen_nb_xmlSaveCtxtPtr 1
-static xmlSaveCtxtPtr gen_xmlSaveCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSaveCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSaveCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlSaveClose(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSaveCtxtPtr ctxt; /* a document saving context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
-
-        ret_val = xmlSaveClose(ctxt);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSaveClose",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    long ret_val;
-    xmlSaveCtxtPtr ctxt; /* a document saving context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a document */
-    int n_doc;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-
-        ret_val = xmlSaveDoc(ctxt, doc);
-        desret_long(ret_val);
-        call_tests++;
-        des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSaveDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveFlush(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSaveCtxtPtr ctxt; /* a document saving context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
-
-        ret_val = xmlSaveFlush(ctxt);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSaveFlush",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveSetAttrEscape(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveSetEscape(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveToBuffer(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveToFd(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveToFilename(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSaveTree(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    long ret_val;
-    xmlSaveCtxtPtr ctxt; /* a document saving context */
-    int n_ctxt;
-    xmlNodePtr node; /* the top node of the subtree to save */
-    int n_node;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-
-        ret_val = xmlSaveTree(ctxt, node);
-        desret_long(ret_val);
-        call_tests++;
-        des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSaveTree",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_xmlsave(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xmlsave : 4 of 10 functions ...\n");
-    test_ret += test_xmlSaveClose();
-    test_ret += test_xmlSaveDoc();
-    test_ret += test_xmlSaveFlush();
-    test_ret += test_xmlSaveSetAttrEscape();
-    test_ret += test_xmlSaveSetEscape();
-    test_ret += test_xmlSaveToBuffer();
-    test_ret += test_xmlSaveToFd();
-    test_ret += test_xmlSaveToFilename();
-    test_ret += test_xmlSaveTree();
-
-    if (test_ret != 0)
-       printf("Module xmlsave: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlSchemaDump(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
-    int mem_base;
-    FILE * output; /* the file output */
-    int n_output;
-    xmlSchemaPtr schema; /* a schema structure */
-    int n_schema;
-
-    for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
-    for (n_schema = 0;n_schema < gen_nb_xmlSchemaPtr;n_schema++) {
-        mem_base = xmlMemBlocks();
-        output = gen_FILE_ptr(n_output, 0);
-        schema = gen_xmlSchemaPtr(n_schema, 1);
-
-        xmlSchemaDump(output, schema);
-        call_tests++;
-        des_FILE_ptr(n_output, output, 0);
-        des_xmlSchemaPtr(n_schema, schema, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaDump",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_schema);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#define gen_nb_xmlSchemaParserCtxtPtr 1
-static xmlSchemaParserCtxtPtr gen_xmlSchemaParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchemaParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#define gen_nb_xmlSchemaValidityErrorFunc_ptr 1
-static xmlSchemaValidityErrorFunc * gen_xmlSchemaValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValidityErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#define gen_nb_xmlSchemaValidityWarningFunc_ptr 1
-static xmlSchemaValidityWarningFunc * gen_xmlSchemaValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValidityWarningFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlSchemaGetParserErrors(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaParserCtxtPtr ctxt; /* a XMl-Schema parser context */
-    int n_ctxt;
-    xmlSchemaValidityErrorFunc * err; /* the error callback result */
-    int n_err;
-    xmlSchemaValidityWarningFunc * warn; /* the warning callback result */
-    int n_warn;
-    void ** ctx; /* contextual data for the callbacks result */
-    int n_ctx;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaParserCtxtPtr;n_ctxt++) {
-    for (n_err = 0;n_err < gen_nb_xmlSchemaValidityErrorFunc_ptr;n_err++) {
-    for (n_warn = 0;n_warn < gen_nb_xmlSchemaValidityWarningFunc_ptr;n_warn++) {
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSchemaParserCtxtPtr(n_ctxt, 0);
-        err = gen_xmlSchemaValidityErrorFunc_ptr(n_err, 1);
-        warn = gen_xmlSchemaValidityWarningFunc_ptr(n_warn, 2);
-        ctx = gen_void_ptr_ptr(n_ctx, 3);
-
-        ret_val = xmlSchemaGetParserErrors(ctxt, err, warn, ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlSchemaValidityErrorFunc_ptr(n_err, err, 1);
-        des_xmlSchemaValidityWarningFunc_ptr(n_warn, warn, 2);
-        des_void_ptr_ptr(n_ctx, ctx, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaGetParserErrors",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_err);
-            printf(" %d", n_warn);
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaGetValidErrors(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaValidCtxtPtr ctxt; /* a XML-Schema validation context */
-    int n_ctxt;
-    xmlSchemaValidityErrorFunc * err; /* the error function result */
-    int n_err;
-    xmlSchemaValidityWarningFunc * warn; /* the warning function result */
-    int n_warn;
-    void ** ctx; /* the functions context result */
-    int n_ctx;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
-    for (n_err = 0;n_err < gen_nb_xmlSchemaValidityErrorFunc_ptr;n_err++) {
-    for (n_warn = 0;n_warn < gen_nb_xmlSchemaValidityWarningFunc_ptr;n_warn++) {
-    for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
-        err = gen_xmlSchemaValidityErrorFunc_ptr(n_err, 1);
-        warn = gen_xmlSchemaValidityWarningFunc_ptr(n_warn, 2);
-        ctx = gen_void_ptr_ptr(n_ctx, 3);
-
-        ret_val = xmlSchemaGetValidErrors(ctxt, err, warn, ctx);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlSchemaValidityErrorFunc_ptr(n_err, err, 1);
-        des_xmlSchemaValidityWarningFunc_ptr(n_warn, warn, 2);
-        des_void_ptr_ptr(n_ctx, ctx, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaGetValidErrors",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_err);
-            printf(" %d", n_warn);
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaIsValid(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaValidCtxtPtr ctxt; /* the schema validation context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
-
-        ret_val = xmlSchemaIsValid(ctxt);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaIsValid",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaNewDocParserCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlSchemaParserCtxtPtr ret_val;
-    xmlDocPtr doc; /* a preparsed document tree */
-    int n_doc;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-
-        ret_val = xmlSchemaNewDocParserCtxt(doc);
-        desret_xmlSchemaParserCtxtPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaNewDocParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaNewMemParserCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlSchemaParserCtxtPtr ret_val;
-    char * buffer; /* a pointer to a char array containing the schemas */
-    int n_buffer;
-    int size; /* the size of the array */
-    int n_size;
-
-    for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
-    for (n_size = 0;n_size < gen_nb_int;n_size++) {
-        mem_base = xmlMemBlocks();
-        buffer = gen_const_char_ptr(n_buffer, 0);
-        size = gen_int(n_size, 1);
-
-        ret_val = xmlSchemaNewMemParserCtxt((const char *)buffer, size);
-        desret_xmlSchemaParserCtxtPtr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_buffer, (const char *)buffer, 0);
-        des_int(n_size, size, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaNewMemParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buffer);
-            printf(" %d", n_size);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaNewParserCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlSchemaParserCtxtPtr ret_val;
-    char * URL; /* the location of the schema */
-    int n_URL;
-
-    for (n_URL = 0;n_URL < gen_nb_const_char_ptr;n_URL++) {
-        mem_base = xmlMemBlocks();
-        URL = gen_const_char_ptr(n_URL, 0);
-
-        ret_val = xmlSchemaNewParserCtxt((const char *)URL);
-        desret_xmlSchemaParserCtxtPtr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_URL, (const char *)URL, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaNewParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_URL);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaNewValidCtxt(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaParse(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#define gen_nb_xmlSAXHandlerPtr_ptr 1
-static xmlSAXHandlerPtr * gen_xmlSAXHandlerPtr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSAXHandlerPtr_ptr(int no ATTRIBUTE_UNUSED, xmlSAXHandlerPtr * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlSchemaSAXPlug(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#define gen_nb_xmlSchemaSAXPlugPtr 1
-static xmlSchemaSAXPlugPtr gen_xmlSchemaSAXPlugPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaSAXPlugPtr(int no ATTRIBUTE_UNUSED, xmlSchemaSAXPlugPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlSchemaSAXUnplug(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaSAXPlugPtr plug; /* a data structure returned by xmlSchemaSAXPlug */
-    int n_plug;
-
-    for (n_plug = 0;n_plug < gen_nb_xmlSchemaSAXPlugPtr;n_plug++) {
-        mem_base = xmlMemBlocks();
-        plug = gen_xmlSchemaSAXPlugPtr(n_plug, 0);
-
-        ret_val = xmlSchemaSAXUnplug(plug);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaSAXPlugPtr(n_plug, plug, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaSAXUnplug",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_plug);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaSetParserErrors(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaSetParserStructuredErrors(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaSetValidErrors(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaSetValidOptions(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
-    int n_ctxt;
-    int options; /* a combination of xmlSchemaValidOption */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
-        options = gen_int(n_options, 1);
-
-        ret_val = xmlSchemaSetValidOptions(ctxt, options);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_int(n_options, options, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaSetValidOptions",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaSetValidStructuredErrors(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValidCtxtGetOptions(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
-
-        ret_val = xmlSchemaValidCtxtGetOptions(ctxt);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValidCtxtGetOptions",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValidCtxtGetParserCtxt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlParserCtxtPtr ret_val;
-    xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
-
-        ret_val = xmlSchemaValidCtxtGetParserCtxt(ctxt);
-        desret_xmlParserCtxtPtr(ret_val);
-        call_tests++;
-        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValidCtxtGetParserCtxt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValidateDoc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
-    int n_ctxt;
-    xmlDocPtr doc; /* a parsed document tree */
-    int n_doc;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
-        doc = gen_xmlDocPtr(n_doc, 1);
-
-        ret_val = xmlSchemaValidateDoc(ctxt, doc);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlDocPtr(n_doc, doc, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValidateDoc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValidateFile(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
-    int n_ctxt;
-    const char * filename; /* the URI of the instance */
-    int n_filename;
-    int options; /* a future set of options, currently unused */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
-        filename = gen_filepath(n_filename, 1);
-        options = gen_int(n_options, 2);
-
-        ret_val = xmlSchemaValidateFile(ctxt, filename, options);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_filepath(n_filename, filename, 1);
-        des_int(n_options, options, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValidateFile",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_filename);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValidateOneElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
-    int n_ctxt;
-    xmlNodePtr elem; /* an element node */
-    int n_elem;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
-    for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
-        elem = gen_xmlNodePtr(n_elem, 1);
-
-        ret_val = xmlSchemaValidateOneElement(ctxt, elem);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_elem, elem, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValidateOneElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_elem);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValidateSetFilename(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlSchemaValidCtxtPtr vctxt; /* the schema validation context */
-    int n_vctxt;
-    const char * filename; /* the file name */
-    int n_filename;
-
-    for (n_vctxt = 0;n_vctxt < gen_nb_xmlSchemaValidCtxtPtr;n_vctxt++) {
-    for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
-        mem_base = xmlMemBlocks();
-        vctxt = gen_xmlSchemaValidCtxtPtr(n_vctxt, 0);
-        filename = gen_filepath(n_filename, 1);
-
-        xmlSchemaValidateSetFilename(vctxt, filename);
-        call_tests++;
-        des_xmlSchemaValidCtxtPtr(n_vctxt, vctxt, 0);
-        des_filepath(n_filename, filename, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValidateSetFilename",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_vctxt);
-            printf(" %d", n_filename);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValidateSetLocator(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValidateStream(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
-    int n_ctxt;
-    xmlParserInputBufferPtr input; /* the input to use for reading the data */
-    int n_input;
-    xmlCharEncoding enc; /* an optional encoding information */
-    int n_enc;
-    xmlSAXHandlerPtr sax; /* a SAX handler for the resulting events */
-    int n_sax;
-    void * user_data; /* the context to provide to the SAX handler. */
-    int n_user_data;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
-    for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
-    for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
-    for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
-    for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
-        input = gen_xmlParserInputBufferPtr(n_input, 1);
-        enc = gen_xmlCharEncoding(n_enc, 2);
-        sax = gen_xmlSAXHandlerPtr(n_sax, 3);
-        user_data = gen_userdata(n_user_data, 4);
-
-        ret_val = xmlSchemaValidateStream(ctxt, input, enc, sax, user_data);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlParserInputBufferPtr(n_input, input, 1);
-        des_xmlCharEncoding(n_enc, enc, 2);
-        des_xmlSAXHandlerPtr(n_sax, sax, 3);
-        des_userdata(n_user_data, user_data, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValidateStream",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_input);
-            printf(" %d", n_enc);
-            printf(" %d", n_sax);
-            printf(" %d", n_user_data);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_xmlschemas(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xmlschemas : 16 of 27 functions ...\n");
-    test_ret += test_xmlSchemaDump();
-    test_ret += test_xmlSchemaGetParserErrors();
-    test_ret += test_xmlSchemaGetValidErrors();
-    test_ret += test_xmlSchemaIsValid();
-    test_ret += test_xmlSchemaNewDocParserCtxt();
-    test_ret += test_xmlSchemaNewMemParserCtxt();
-    test_ret += test_xmlSchemaNewParserCtxt();
-    test_ret += test_xmlSchemaNewValidCtxt();
-    test_ret += test_xmlSchemaParse();
-    test_ret += test_xmlSchemaSAXPlug();
-    test_ret += test_xmlSchemaSAXUnplug();
-    test_ret += test_xmlSchemaSetParserErrors();
-    test_ret += test_xmlSchemaSetParserStructuredErrors();
-    test_ret += test_xmlSchemaSetValidErrors();
-    test_ret += test_xmlSchemaSetValidOptions();
-    test_ret += test_xmlSchemaSetValidStructuredErrors();
-    test_ret += test_xmlSchemaValidCtxtGetOptions();
-    test_ret += test_xmlSchemaValidCtxtGetParserCtxt();
-    test_ret += test_xmlSchemaValidateDoc();
-    test_ret += test_xmlSchemaValidateFile();
-    test_ret += test_xmlSchemaValidateOneElement();
-    test_ret += test_xmlSchemaValidateSetFilename();
-    test_ret += test_xmlSchemaValidateSetLocator();
-    test_ret += test_xmlSchemaValidateStream();
-
-    if (test_ret != 0)
-       printf("Module xmlschemas: %d errors\n", test_ret);
-    return(test_ret);
-}
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#define gen_nb_xmlSchemaFacetPtr 1
-static xmlSchemaFacetPtr gen_xmlSchemaFacetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaFacetPtr(int no ATTRIBUTE_UNUSED, xmlSchemaFacetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#define gen_nb_xmlSchemaTypePtr 1
-static xmlSchemaTypePtr gen_xmlSchemaTypePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaTypePtr(int no ATTRIBUTE_UNUSED, xmlSchemaTypePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlSchemaCheckFacet(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaFacetPtr facet; /* the facet */
-    int n_facet;
-    xmlSchemaTypePtr typeDecl; /* the schema type definition */
-    int n_typeDecl;
-    xmlSchemaParserCtxtPtr pctxt; /* the schema parser context or NULL */
-    int n_pctxt;
-    xmlChar * name; /* the optional name of the type */
-    int n_name;
-
-    for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
-    for (n_typeDecl = 0;n_typeDecl < gen_nb_xmlSchemaTypePtr;n_typeDecl++) {
-    for (n_pctxt = 0;n_pctxt < gen_nb_xmlSchemaParserCtxtPtr;n_pctxt++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        facet = gen_xmlSchemaFacetPtr(n_facet, 0);
-        typeDecl = gen_xmlSchemaTypePtr(n_typeDecl, 1);
-        pctxt = gen_xmlSchemaParserCtxtPtr(n_pctxt, 2);
-        name = gen_const_xmlChar_ptr(n_name, 3);
-
-        ret_val = xmlSchemaCheckFacet(facet, typeDecl, pctxt, (const xmlChar *)name);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaFacetPtr(n_facet, facet, 0);
-        des_xmlSchemaTypePtr(n_typeDecl, typeDecl, 1);
-        des_xmlSchemaParserCtxtPtr(n_pctxt, pctxt, 2);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaCheckFacet",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_facet);
-            printf(" %d", n_typeDecl);
-            printf(" %d", n_pctxt);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaCleanupTypes(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-
-
-        xmlSchemaCleanupTypes();
-        call_tests++;
-        xmlResetLastError();
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaCollapseString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * value; /* a value */
-    int n_value;
-
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        value = gen_const_xmlChar_ptr(n_value, 0);
-
-        ret_val = xmlSchemaCollapseString((const xmlChar *)value);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaCollapseString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#define gen_nb_xmlSchemaValPtr 1
-static xmlSchemaValPtr gen_xmlSchemaValPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaValPtr(int no ATTRIBUTE_UNUSED, xmlSchemaValPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlSchemaCompareValues(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaValPtr x; /* a first value */
-    int n_x;
-    xmlSchemaValPtr y; /* a second value */
-    int n_y;
-
-    for (n_x = 0;n_x < gen_nb_xmlSchemaValPtr;n_x++) {
-    for (n_y = 0;n_y < gen_nb_xmlSchemaValPtr;n_y++) {
-        mem_base = xmlMemBlocks();
-        x = gen_xmlSchemaValPtr(n_x, 0);
-        y = gen_xmlSchemaValPtr(n_y, 1);
-
-        ret_val = xmlSchemaCompareValues(x, y);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaValPtr(n_x, x, 0);
-        des_xmlSchemaValPtr(n_y, y, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaCompareValues",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_x);
-            printf(" %d", n_y);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaCompareValuesWhtsp(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaValPtr x; /* a first value */
-    int n_x;
-    xmlSchemaWhitespaceValueType xws; /* the whitespace value of x */
-    int n_xws;
-    xmlSchemaValPtr y; /* a second value */
-    int n_y;
-    xmlSchemaWhitespaceValueType yws; /* the whitespace value of y */
-    int n_yws;
-
-    for (n_x = 0;n_x < gen_nb_xmlSchemaValPtr;n_x++) {
-    for (n_xws = 0;n_xws < gen_nb_xmlSchemaWhitespaceValueType;n_xws++) {
-    for (n_y = 0;n_y < gen_nb_xmlSchemaValPtr;n_y++) {
-    for (n_yws = 0;n_yws < gen_nb_xmlSchemaWhitespaceValueType;n_yws++) {
-        mem_base = xmlMemBlocks();
-        x = gen_xmlSchemaValPtr(n_x, 0);
-        xws = gen_xmlSchemaWhitespaceValueType(n_xws, 1);
-        y = gen_xmlSchemaValPtr(n_y, 2);
-        yws = gen_xmlSchemaWhitespaceValueType(n_yws, 3);
-
-        ret_val = xmlSchemaCompareValuesWhtsp(x, xws, y, yws);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaValPtr(n_x, x, 0);
-        des_xmlSchemaWhitespaceValueType(n_xws, xws, 1);
-        des_xmlSchemaValPtr(n_y, y, 2);
-        des_xmlSchemaWhitespaceValueType(n_yws, yws, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaCompareValuesWhtsp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_x);
-            printf(" %d", n_xws);
-            printf(" %d", n_y);
-            printf(" %d", n_yws);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaCopyValue(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaGetBuiltInListSimpleTypeItemType(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlSchemaTypePtr ret_val;
-    xmlSchemaTypePtr type; /* the built-in simple type. */
-    int n_type;
-
-    for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
-        mem_base = xmlMemBlocks();
-        type = gen_xmlSchemaTypePtr(n_type, 0);
-
-        ret_val = xmlSchemaGetBuiltInListSimpleTypeItemType(type);
-        desret_xmlSchemaTypePtr(ret_val);
-        call_tests++;
-        des_xmlSchemaTypePtr(n_type, type, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaGetBuiltInListSimpleTypeItemType",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_type);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaGetBuiltInType(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    xmlSchemaTypePtr ret_val;
-    xmlSchemaValType type; /* the type of the built in type */
-    int n_type;
-
-    for (n_type = 0;n_type < gen_nb_xmlSchemaValType;n_type++) {
-        type = gen_xmlSchemaValType(n_type, 0);
-
-        ret_val = xmlSchemaGetBuiltInType(type);
-        desret_xmlSchemaTypePtr(ret_val);
-        call_tests++;
-        des_xmlSchemaValType(n_type, type, 0);
-        xmlResetLastError();
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaGetCanonValue(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaValPtr val; /* the precomputed value */
-    int n_val;
-    xmlChar ** retValue; /* the returned value */
-    int n_retValue;
-
-    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
-    for (n_retValue = 0;n_retValue < gen_nb_const_xmlChar_ptr_ptr;n_retValue++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlSchemaValPtr(n_val, 0);
-        retValue = gen_const_xmlChar_ptr_ptr(n_retValue, 1);
-
-        ret_val = xmlSchemaGetCanonValue(val, (const xmlChar **)retValue);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaValPtr(n_val, val, 0);
-        des_const_xmlChar_ptr_ptr(n_retValue, (const xmlChar **)retValue, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaGetCanonValue",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf(" %d", n_retValue);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaGetCanonValueWhtsp(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaValPtr val; /* the precomputed value */
-    int n_val;
-    xmlChar ** retValue; /* the returned value */
-    int n_retValue;
-    xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */
-    int n_ws;
-
-    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
-    for (n_retValue = 0;n_retValue < gen_nb_const_xmlChar_ptr_ptr;n_retValue++) {
-    for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlSchemaValPtr(n_val, 0);
-        retValue = gen_const_xmlChar_ptr_ptr(n_retValue, 1);
-        ws = gen_xmlSchemaWhitespaceValueType(n_ws, 2);
-
-        ret_val = xmlSchemaGetCanonValueWhtsp(val, (const xmlChar **)retValue, ws);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaValPtr(n_val, val, 0);
-        des_const_xmlChar_ptr_ptr(n_retValue, (const xmlChar **)retValue, 1);
-        des_xmlSchemaWhitespaceValueType(n_ws, ws, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaGetCanonValueWhtsp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf(" %d", n_retValue);
-            printf(" %d", n_ws);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaGetFacetValueAsULong(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    unsigned long ret_val;
-    xmlSchemaFacetPtr facet; /* an schemas type facet */
-    int n_facet;
-
-    for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
-        mem_base = xmlMemBlocks();
-        facet = gen_xmlSchemaFacetPtr(n_facet, 0);
-
-        ret_val = xmlSchemaGetFacetValueAsULong(facet);
-        desret_unsigned_long(ret_val);
-        call_tests++;
-        des_xmlSchemaFacetPtr(n_facet, facet, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaGetFacetValueAsULong",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_facet);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaGetPredefinedType(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlSchemaTypePtr ret_val;
-    xmlChar * name; /* the type name */
-    int n_name;
-    xmlChar * ns; /* the URI of the namespace usually "http://www.w3.org/2001/XMLSchema" */
-    int n_ns;
-
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
-        mem_base = xmlMemBlocks();
-        name = gen_const_xmlChar_ptr(n_name, 0);
-        ns = gen_const_xmlChar_ptr(n_ns, 1);
-
-        ret_val = xmlSchemaGetPredefinedType((const xmlChar *)name, (const xmlChar *)ns);
-        desret_xmlSchemaTypePtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
-        des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaGetPredefinedType",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_name);
-            printf(" %d", n_ns);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaGetValType(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlSchemaValType ret_val;
-    xmlSchemaValPtr val; /* a schemas value */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlSchemaValPtr(n_val, 0);
-
-        ret_val = xmlSchemaGetValType(val);
-        desret_xmlSchemaValType(ret_val);
-        call_tests++;
-        des_xmlSchemaValPtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaGetValType",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaInitTypes(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-
-
-        xmlSchemaInitTypes();
-        call_tests++;
-        xmlResetLastError();
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaIsBuiltInTypeFacet(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaTypePtr type; /* the built-in type */
-    int n_type;
-    int facetType; /* the facet type */
-    int n_facetType;
-
-    for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
-    for (n_facetType = 0;n_facetType < gen_nb_int;n_facetType++) {
-        mem_base = xmlMemBlocks();
-        type = gen_xmlSchemaTypePtr(n_type, 0);
-        facetType = gen_int(n_facetType, 1);
-
-        ret_val = xmlSchemaIsBuiltInTypeFacet(type, facetType);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaTypePtr(n_type, type, 0);
-        des_int(n_facetType, facetType, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaIsBuiltInTypeFacet",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_type);
-            printf(" %d", n_facetType);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaNewFacet(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaNewNOTATIONValue(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaNewQNameValue(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaNewStringValue(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-#ifdef LIBXML_SCHEMAS_ENABLED
-
-#define gen_nb_xmlSchemaValPtr_ptr 1
-static xmlSchemaValPtr * gen_xmlSchemaValPtr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlSchemaValPtr_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValPtr * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlSchemaValPredefTypeNode(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaTypePtr type; /* the predefined type */
-    int n_type;
-    xmlChar * value; /* the value to check */
-    int n_value;
-    xmlSchemaValPtr * val; /* the return computed value */
-    int n_val;
-    xmlNodePtr node; /* the node containing the value */
-    int n_node;
-
-    for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        type = gen_xmlSchemaTypePtr(n_type, 0);
-        value = gen_const_xmlChar_ptr(n_value, 1);
-        val = gen_xmlSchemaValPtr_ptr(n_val, 2);
-        node = gen_xmlNodePtr(n_node, 3);
-
-        ret_val = xmlSchemaValPredefTypeNode(type, (const xmlChar *)value, val, node);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaTypePtr(n_type, type, 0);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
-        des_xmlSchemaValPtr_ptr(n_val, val, 2);
-        des_xmlNodePtr(n_node, node, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValPredefTypeNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_type);
-            printf(" %d", n_value);
-            printf(" %d", n_val);
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValPredefTypeNodeNoNorm(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaTypePtr type; /* the predefined type */
-    int n_type;
-    xmlChar * value; /* the value to check */
-    int n_value;
-    xmlSchemaValPtr * val; /* the return computed value */
-    int n_val;
-    xmlNodePtr node; /* the node containing the value */
-    int n_node;
-
-    for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        type = gen_xmlSchemaTypePtr(n_type, 0);
-        value = gen_const_xmlChar_ptr(n_value, 1);
-        val = gen_xmlSchemaValPtr_ptr(n_val, 2);
-        node = gen_xmlNodePtr(n_node, 3);
-
-        ret_val = xmlSchemaValPredefTypeNodeNoNorm(type, (const xmlChar *)value, val, node);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaTypePtr(n_type, type, 0);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
-        des_xmlSchemaValPtr_ptr(n_val, val, 2);
-        des_xmlNodePtr(n_node, node, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValPredefTypeNodeNoNorm",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_type);
-            printf(" %d", n_value);
-            printf(" %d", n_val);
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValidateFacet(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaTypePtr base; /* the base type */
-    int n_base;
-    xmlSchemaFacetPtr facet; /* the facet to check */
-    int n_facet;
-    xmlChar * value; /* the lexical repr of the value to validate */
-    int n_value;
-    xmlSchemaValPtr val; /* the precomputed value */
-    int n_val;
-
-    for (n_base = 0;n_base < gen_nb_xmlSchemaTypePtr;n_base++) {
-    for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        base = gen_xmlSchemaTypePtr(n_base, 0);
-        facet = gen_xmlSchemaFacetPtr(n_facet, 1);
-        value = gen_const_xmlChar_ptr(n_value, 2);
-        val = gen_xmlSchemaValPtr(n_val, 3);
-
-        ret_val = xmlSchemaValidateFacet(base, facet, (const xmlChar *)value, val);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaTypePtr(n_base, base, 0);
-        des_xmlSchemaFacetPtr(n_facet, facet, 1);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
-        des_xmlSchemaValPtr(n_val, val, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValidateFacet",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_base);
-            printf(" %d", n_facet);
-            printf(" %d", n_value);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValidateFacetWhtsp(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaFacetPtr facet; /* the facet to check */
-    int n_facet;
-    xmlSchemaWhitespaceValueType fws; /* the whitespace type of the facet's value */
-    int n_fws;
-    xmlSchemaValType valType; /* the built-in type of the value */
-    int n_valType;
-    xmlChar * value; /* the lexical (or normalized for pattern) repr of the value to validate */
-    int n_value;
-    xmlSchemaValPtr val; /* the precomputed value */
-    int n_val;
-    xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */
-    int n_ws;
-
-    for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
-    for (n_fws = 0;n_fws < gen_nb_xmlSchemaWhitespaceValueType;n_fws++) {
-    for (n_valType = 0;n_valType < gen_nb_xmlSchemaValType;n_valType++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
-    for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) {
-        mem_base = xmlMemBlocks();
-        facet = gen_xmlSchemaFacetPtr(n_facet, 0);
-        fws = gen_xmlSchemaWhitespaceValueType(n_fws, 1);
-        valType = gen_xmlSchemaValType(n_valType, 2);
-        value = gen_const_xmlChar_ptr(n_value, 3);
-        val = gen_xmlSchemaValPtr(n_val, 4);
-        ws = gen_xmlSchemaWhitespaceValueType(n_ws, 5);
-
-        ret_val = xmlSchemaValidateFacetWhtsp(facet, fws, valType, (const xmlChar *)value, val, ws);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaFacetPtr(n_facet, facet, 0);
-        des_xmlSchemaWhitespaceValueType(n_fws, fws, 1);
-        des_xmlSchemaValType(n_valType, valType, 2);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
-        des_xmlSchemaValPtr(n_val, val, 4);
-        des_xmlSchemaWhitespaceValueType(n_ws, ws, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValidateFacetWhtsp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_facet);
-            printf(" %d", n_fws);
-            printf(" %d", n_valType);
-            printf(" %d", n_value);
-            printf(" %d", n_val);
-            printf(" %d", n_ws);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValidateLengthFacet(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaTypePtr type; /* the built-in type */
-    int n_type;
-    xmlSchemaFacetPtr facet; /* the facet to check */
-    int n_facet;
-    xmlChar * value; /* the lexical repr. of the value to be validated */
-    int n_value;
-    xmlSchemaValPtr val; /* the precomputed value */
-    int n_val;
-    unsigned long * length; /* the actual length of the value */
-    int n_length;
-
-    for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
-    for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
-    for (n_length = 0;n_length < gen_nb_unsigned_long_ptr;n_length++) {
-        mem_base = xmlMemBlocks();
-        type = gen_xmlSchemaTypePtr(n_type, 0);
-        facet = gen_xmlSchemaFacetPtr(n_facet, 1);
-        value = gen_const_xmlChar_ptr(n_value, 2);
-        val = gen_xmlSchemaValPtr(n_val, 3);
-        length = gen_unsigned_long_ptr(n_length, 4);
-
-        ret_val = xmlSchemaValidateLengthFacet(type, facet, (const xmlChar *)value, val, length);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaTypePtr(n_type, type, 0);
-        des_xmlSchemaFacetPtr(n_facet, facet, 1);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
-        des_xmlSchemaValPtr(n_val, val, 3);
-        des_unsigned_long_ptr(n_length, length, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValidateLengthFacet",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_type);
-            printf(" %d", n_facet);
-            printf(" %d", n_value);
-            printf(" %d", n_val);
-            printf(" %d", n_length);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValidateLengthFacetWhtsp(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaFacetPtr facet; /* the facet to check */
-    int n_facet;
-    xmlSchemaValType valType; /* the built-in type */
-    int n_valType;
-    xmlChar * value; /* the lexical repr. of the value to be validated */
-    int n_value;
-    xmlSchemaValPtr val; /* the precomputed value */
-    int n_val;
-    unsigned long * length; /* the actual length of the value */
-    int n_length;
-    xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */
-    int n_ws;
-
-    for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
-    for (n_valType = 0;n_valType < gen_nb_xmlSchemaValType;n_valType++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
-    for (n_length = 0;n_length < gen_nb_unsigned_long_ptr;n_length++) {
-    for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) {
-        mem_base = xmlMemBlocks();
-        facet = gen_xmlSchemaFacetPtr(n_facet, 0);
-        valType = gen_xmlSchemaValType(n_valType, 1);
-        value = gen_const_xmlChar_ptr(n_value, 2);
-        val = gen_xmlSchemaValPtr(n_val, 3);
-        length = gen_unsigned_long_ptr(n_length, 4);
-        ws = gen_xmlSchemaWhitespaceValueType(n_ws, 5);
-
-        ret_val = xmlSchemaValidateLengthFacetWhtsp(facet, valType, (const xmlChar *)value, val, length, ws);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaFacetPtr(n_facet, facet, 0);
-        des_xmlSchemaValType(n_valType, valType, 1);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
-        des_xmlSchemaValPtr(n_val, val, 3);
-        des_unsigned_long_ptr(n_length, length, 4);
-        des_xmlSchemaWhitespaceValueType(n_ws, ws, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValidateLengthFacetWhtsp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_facet);
-            printf(" %d", n_valType);
-            printf(" %d", n_value);
-            printf(" %d", n_val);
-            printf(" %d", n_length);
-            printf(" %d", n_ws);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValidateListSimpleTypeFacet(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaFacetPtr facet; /* the facet to check */
-    int n_facet;
-    xmlChar * value; /* the lexical repr of the value to validate */
-    int n_value;
-    unsigned long actualLen; /* the number of list items */
-    int n_actualLen;
-    unsigned long * expectedLen; /* the resulting expected number of list items */
-    int n_expectedLen;
-
-    for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_actualLen = 0;n_actualLen < gen_nb_unsigned_long;n_actualLen++) {
-    for (n_expectedLen = 0;n_expectedLen < gen_nb_unsigned_long_ptr;n_expectedLen++) {
-        mem_base = xmlMemBlocks();
-        facet = gen_xmlSchemaFacetPtr(n_facet, 0);
-        value = gen_const_xmlChar_ptr(n_value, 1);
-        actualLen = gen_unsigned_long(n_actualLen, 2);
-        expectedLen = gen_unsigned_long_ptr(n_expectedLen, 3);
-
-        ret_val = xmlSchemaValidateListSimpleTypeFacet(facet, (const xmlChar *)value, actualLen, expectedLen);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaFacetPtr(n_facet, facet, 0);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
-        des_unsigned_long(n_actualLen, actualLen, 2);
-        des_unsigned_long_ptr(n_expectedLen, expectedLen, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValidateListSimpleTypeFacet",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_facet);
-            printf(" %d", n_value);
-            printf(" %d", n_actualLen);
-            printf(" %d", n_expectedLen);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValidatePredefinedType(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaTypePtr type; /* the predefined type */
-    int n_type;
-    xmlChar * value; /* the value to check */
-    int n_value;
-    xmlSchemaValPtr * val; /* the return computed value */
-    int n_val;
-
-    for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) {
-        mem_base = xmlMemBlocks();
-        type = gen_xmlSchemaTypePtr(n_type, 0);
-        value = gen_const_xmlChar_ptr(n_value, 1);
-        val = gen_xmlSchemaValPtr_ptr(n_val, 2);
-
-        ret_val = xmlSchemaValidatePredefinedType(type, (const xmlChar *)value, val);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaTypePtr(n_type, type, 0);
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
-        des_xmlSchemaValPtr_ptr(n_val, val, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValidatePredefinedType",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_type);
-            printf(" %d", n_value);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValueAppend(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaValPtr prev; /* the value */
-    int n_prev;
-    xmlSchemaValPtr cur; /* the value to be appended */
-    int n_cur;
-
-    for (n_prev = 0;n_prev < gen_nb_xmlSchemaValPtr;n_prev++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlSchemaValPtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        prev = gen_xmlSchemaValPtr(n_prev, 0);
-        cur = gen_xmlSchemaValPtr(n_cur, 1);
-
-        ret_val = xmlSchemaValueAppend(prev, cur);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaValPtr(n_prev, prev, 0);
-        des_xmlSchemaValPtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValueAppend",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_prev);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValueGetAsBoolean(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlSchemaValPtr val; /* the value */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlSchemaValPtr(n_val, 0);
-
-        ret_val = xmlSchemaValueGetAsBoolean(val);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlSchemaValPtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValueGetAsBoolean",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValueGetAsString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlSchemaValPtr val; /* the value */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlSchemaValPtr(n_val, 0);
-
-        ret_val = xmlSchemaValueGetAsString(val);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlSchemaValPtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaValueGetAsString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaValueGetNext(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlSchemaWhiteSpaceReplace(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * value; /* a value */
-    int n_value;
-
-    for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
-        mem_base = xmlMemBlocks();
-        value = gen_const_xmlChar_ptr(n_value, 0);
-
-        ret_val = xmlSchemaWhiteSpaceReplace((const xmlChar *)value);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlSchemaWhiteSpaceReplace",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_xmlschemastypes(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xmlschemastypes : 26 of 34 functions ...\n");
-    test_ret += test_xmlSchemaCheckFacet();
-    test_ret += test_xmlSchemaCleanupTypes();
-    test_ret += test_xmlSchemaCollapseString();
-    test_ret += test_xmlSchemaCompareValues();
-    test_ret += test_xmlSchemaCompareValuesWhtsp();
-    test_ret += test_xmlSchemaCopyValue();
-    test_ret += test_xmlSchemaGetBuiltInListSimpleTypeItemType();
-    test_ret += test_xmlSchemaGetBuiltInType();
-    test_ret += test_xmlSchemaGetCanonValue();
-    test_ret += test_xmlSchemaGetCanonValueWhtsp();
-    test_ret += test_xmlSchemaGetFacetValueAsULong();
-    test_ret += test_xmlSchemaGetPredefinedType();
-    test_ret += test_xmlSchemaGetValType();
-    test_ret += test_xmlSchemaInitTypes();
-    test_ret += test_xmlSchemaIsBuiltInTypeFacet();
-    test_ret += test_xmlSchemaNewFacet();
-    test_ret += test_xmlSchemaNewNOTATIONValue();
-    test_ret += test_xmlSchemaNewQNameValue();
-    test_ret += test_xmlSchemaNewStringValue();
-    test_ret += test_xmlSchemaValPredefTypeNode();
-    test_ret += test_xmlSchemaValPredefTypeNodeNoNorm();
-    test_ret += test_xmlSchemaValidateFacet();
-    test_ret += test_xmlSchemaValidateFacetWhtsp();
-    test_ret += test_xmlSchemaValidateLengthFacet();
-    test_ret += test_xmlSchemaValidateLengthFacetWhtsp();
-    test_ret += test_xmlSchemaValidateListSimpleTypeFacet();
-    test_ret += test_xmlSchemaValidatePredefinedType();
-    test_ret += test_xmlSchemaValueAppend();
-    test_ret += test_xmlSchemaValueGetAsBoolean();
-    test_ret += test_xmlSchemaValueGetAsString();
-    test_ret += test_xmlSchemaValueGetNext();
-    test_ret += test_xmlSchemaWhiteSpaceReplace();
-
-    if (test_ret != 0)
-       printf("Module xmlschemastypes: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlCharStrdup(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    char * cur; /* the input char * */
-    int n_cur;
-
-    for (n_cur = 0;n_cur < gen_nb_const_char_ptr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_const_char_ptr(n_cur, 0);
-
-        ret_val = xmlCharStrdup((const char *)cur);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_cur, (const char *)cur, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCharStrdup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCharStrndup(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    char * cur; /* the input char * */
-    int n_cur;
-    int len; /* the len of @cur */
-    int n_len;
-
-    for (n_cur = 0;n_cur < gen_nb_const_char_ptr;n_cur++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_const_char_ptr(n_cur, 0);
-        len = gen_int(n_len, 1);
-
-        ret_val = xmlCharStrndup((const char *)cur, len);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_cur, (const char *)cur, 0);
-        des_int(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCharStrndup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlCheckUTF8(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    unsigned char * utf; /* Pointer to putative UTF-8 encoded string. */
-    int n_utf;
-
-    for (n_utf = 0;n_utf < gen_nb_const_unsigned_char_ptr;n_utf++) {
-        mem_base = xmlMemBlocks();
-        utf = gen_const_unsigned_char_ptr(n_utf, 0);
-
-        ret_val = xmlCheckUTF8((const unsigned char *)utf);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_unsigned_char_ptr(n_utf, (const unsigned char *)utf, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlCheckUTF8",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_utf);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlGetUTF8Char(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    unsigned char * utf; /* a sequence of UTF-8 encoded bytes */
-    int n_utf;
-    int * len; /* a pointer to the minimum number of bytes present in the sequence.  This is used to assure the next character is completely contained within the sequence. */
-    int n_len;
-
-    for (n_utf = 0;n_utf < gen_nb_const_unsigned_char_ptr;n_utf++) {
-    for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
-        mem_base = xmlMemBlocks();
-        utf = gen_const_unsigned_char_ptr(n_utf, 0);
-        len = gen_int_ptr(n_len, 1);
-
-        ret_val = xmlGetUTF8Char((const unsigned char *)utf, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_unsigned_char_ptr(n_utf, (const unsigned char *)utf, 0);
-        des_int_ptr(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlGetUTF8Char",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_utf);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrEqual(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * str1; /* the first xmlChar * */
-    int n_str1;
-    xmlChar * str2; /* the second xmlChar * */
-    int n_str2;
-
-    for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
-    for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
-        mem_base = xmlMemBlocks();
-        str1 = gen_const_xmlChar_ptr(n_str1, 0);
-        str2 = gen_const_xmlChar_ptr(n_str2, 1);
-
-        ret_val = xmlStrEqual((const xmlChar *)str1, (const xmlChar *)str2);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
-        des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStrEqual",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str1);
-            printf(" %d", n_str2);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrPrintf(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrQEqual(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * pref; /* the prefix of the QName */
-    int n_pref;
-    xmlChar * name; /* the localname of the QName */
-    int n_name;
-    xmlChar * str; /* the second xmlChar * */
-    int n_str;
-
-    for (n_pref = 0;n_pref < gen_nb_const_xmlChar_ptr;n_pref++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-        mem_base = xmlMemBlocks();
-        pref = gen_const_xmlChar_ptr(n_pref, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        str = gen_const_xmlChar_ptr(n_str, 2);
-
-        ret_val = xmlStrQEqual((const xmlChar *)pref, (const xmlChar *)name, (const xmlChar *)str);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_pref, (const xmlChar *)pref, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStrQEqual",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_pref);
-            printf(" %d", n_name);
-            printf(" %d", n_str);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrVPrintf(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrcasecmp(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * str1; /* the first xmlChar * */
-    int n_str1;
-    xmlChar * str2; /* the second xmlChar * */
-    int n_str2;
-
-    for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
-    for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
-        mem_base = xmlMemBlocks();
-        str1 = gen_const_xmlChar_ptr(n_str1, 0);
-        str2 = gen_const_xmlChar_ptr(n_str2, 1);
-
-        ret_val = xmlStrcasecmp((const xmlChar *)str1, (const xmlChar *)str2);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
-        des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStrcasecmp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str1);
-            printf(" %d", n_str2);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrcasestr(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlChar * str; /* the xmlChar * array (haystack) */
-    int n_str;
-    xmlChar * val; /* the xmlChar to search (needle) */
-    int n_val;
-
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-    for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
-        mem_base = xmlMemBlocks();
-        str = gen_const_xmlChar_ptr(n_str, 0);
-        val = gen_const_xmlChar_ptr(n_val, 1);
-
-        ret_val = xmlStrcasestr((const xmlChar *)str, (const xmlChar *)val);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
-        des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStrcasestr",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrchr(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlChar * str; /* the xmlChar * array */
-    int n_str;
-    xmlChar val; /* the xmlChar to search */
-    int n_val;
-
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-    for (n_val = 0;n_val < gen_nb_xmlChar;n_val++) {
-        mem_base = xmlMemBlocks();
-        str = gen_const_xmlChar_ptr(n_str, 0);
-        val = gen_xmlChar(n_val, 1);
-
-        ret_val = xmlStrchr((const xmlChar *)str, val);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
-        des_xmlChar(n_val, val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStrchr",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrcmp(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * str1; /* the first xmlChar * */
-    int n_str1;
-    xmlChar * str2; /* the second xmlChar * */
-    int n_str2;
-
-    for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
-    for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
-        mem_base = xmlMemBlocks();
-        str1 = gen_const_xmlChar_ptr(n_str1, 0);
-        str2 = gen_const_xmlChar_ptr(n_str2, 1);
-
-        ret_val = xmlStrcmp((const xmlChar *)str1, (const xmlChar *)str2);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
-        des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStrcmp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str1);
-            printf(" %d", n_str2);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrdup(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * cur; /* the input xmlChar * */
-    int n_cur;
-
-    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_const_xmlChar_ptr(n_cur, 0);
-
-        ret_val = xmlStrdup((const xmlChar *)cur);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStrdup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrlen(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * str; /* the xmlChar * array */
-    int n_str;
-
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-        mem_base = xmlMemBlocks();
-        str = gen_const_xmlChar_ptr(n_str, 0);
-
-        ret_val = xmlStrlen((const xmlChar *)str);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStrlen",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrncasecmp(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * str1; /* the first xmlChar * */
-    int n_str1;
-    xmlChar * str2; /* the second xmlChar * */
-    int n_str2;
-    int len; /* the max comparison length */
-    int n_len;
-
-    for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
-    for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        str1 = gen_const_xmlChar_ptr(n_str1, 0);
-        str2 = gen_const_xmlChar_ptr(n_str2, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlStrncasecmp((const xmlChar *)str1, (const xmlChar *)str2, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
-        des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStrncasecmp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str1);
-            printf(" %d", n_str2);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrncatNew(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * str1; /* first xmlChar string */
-    int n_str1;
-    xmlChar * str2; /* second xmlChar string */
-    int n_str2;
-    int len; /* the len of @str2 or < 0 */
-    int n_len;
-
-    for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
-    for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        str1 = gen_const_xmlChar_ptr(n_str1, 0);
-        str2 = gen_const_xmlChar_ptr(n_str2, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlStrncatNew((const xmlChar *)str1, (const xmlChar *)str2, len);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
-        des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStrncatNew",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str1);
-            printf(" %d", n_str2);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrncmp(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * str1; /* the first xmlChar * */
-    int n_str1;
-    xmlChar * str2; /* the second xmlChar * */
-    int n_str2;
-    int len; /* the max comparison length */
-    int n_len;
-
-    for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
-    for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        str1 = gen_const_xmlChar_ptr(n_str1, 0);
-        str2 = gen_const_xmlChar_ptr(n_str2, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlStrncmp((const xmlChar *)str1, (const xmlChar *)str2, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
-        des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStrncmp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str1);
-            printf(" %d", n_str2);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrndup(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * cur; /* the input xmlChar * */
-    int n_cur;
-    int len; /* the len of @cur */
-    int n_len;
-
-    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_const_xmlChar_ptr(n_cur, 0);
-        len = gen_int(n_len, 1);
-
-        ret_val = xmlStrndup((const xmlChar *)cur, len);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
-        des_int(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStrndup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrstr(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlChar * str; /* the xmlChar * array (haystack) */
-    int n_str;
-    xmlChar * val; /* the xmlChar to search (needle) */
-    int n_val;
-
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-    for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
-        mem_base = xmlMemBlocks();
-        str = gen_const_xmlChar_ptr(n_str, 0);
-        val = gen_const_xmlChar_ptr(n_val, 1);
-
-        ret_val = xmlStrstr((const xmlChar *)str, (const xmlChar *)val);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
-        des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStrstr",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlStrsub(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * str; /* the xmlChar * array (haystack) */
-    int n_str;
-    int start; /* the index of the first char (zero based) */
-    int n_start;
-    int len; /* the length of the substring */
-    int n_len;
-
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-    for (n_start = 0;n_start < gen_nb_int;n_start++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        str = gen_const_xmlChar_ptr(n_str, 0);
-        start = gen_int(n_start, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlStrsub((const xmlChar *)str, start, len);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
-        des_int(n_start, start, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlStrsub",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str);
-            printf(" %d", n_start);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUTF8Charcmp(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * utf1; /* pointer to first UTF8 char */
-    int n_utf1;
-    xmlChar * utf2; /* pointer to second UTF8 char */
-    int n_utf2;
-
-    for (n_utf1 = 0;n_utf1 < gen_nb_const_xmlChar_ptr;n_utf1++) {
-    for (n_utf2 = 0;n_utf2 < gen_nb_const_xmlChar_ptr;n_utf2++) {
-        mem_base = xmlMemBlocks();
-        utf1 = gen_const_xmlChar_ptr(n_utf1, 0);
-        utf2 = gen_const_xmlChar_ptr(n_utf2, 1);
-
-        ret_val = xmlUTF8Charcmp((const xmlChar *)utf1, (const xmlChar *)utf2);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_utf1, (const xmlChar *)utf1, 0);
-        des_const_xmlChar_ptr(n_utf2, (const xmlChar *)utf2, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUTF8Charcmp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_utf1);
-            printf(" %d", n_utf2);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUTF8Size(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * utf; /* pointer to the UTF8 character */
-    int n_utf;
-
-    for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
-        mem_base = xmlMemBlocks();
-        utf = gen_const_xmlChar_ptr(n_utf, 0);
-
-        ret_val = xmlUTF8Size((const xmlChar *)utf);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUTF8Size",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_utf);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUTF8Strlen(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * utf; /* a sequence of UTF-8 encoded bytes */
-    int n_utf;
-
-    for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
-        mem_base = xmlMemBlocks();
-        utf = gen_const_xmlChar_ptr(n_utf, 0);
-
-        ret_val = xmlUTF8Strlen((const xmlChar *)utf);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUTF8Strlen",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_utf);
-            printf("\n");
-        }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUTF8Strloc(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * utf; /* the input UTF8 * */
-    int n_utf;
-    xmlChar * utfchar; /* the UTF8 character to be found */
-    int n_utfchar;
-
-    for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
-    for (n_utfchar = 0;n_utfchar < gen_nb_const_xmlChar_ptr;n_utfchar++) {
-        mem_base = xmlMemBlocks();
-        utf = gen_const_xmlChar_ptr(n_utf, 0);
-        utfchar = gen_const_xmlChar_ptr(n_utfchar, 1);
-
-        ret_val = xmlUTF8Strloc((const xmlChar *)utf, (const xmlChar *)utfchar);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
-        des_const_xmlChar_ptr(n_utfchar, (const xmlChar *)utfchar, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUTF8Strloc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_utf);
-            printf(" %d", n_utfchar);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUTF8Strndup(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * utf; /* the input UTF8 * */
-    int n_utf;
-    int len; /* the len of @utf (in chars) */
-    int n_len;
-
-    for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        utf = gen_const_xmlChar_ptr(n_utf, 0);
-        len = gen_int(n_len, 1);
-
-        ret_val = xmlUTF8Strndup((const xmlChar *)utf, len);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
-        des_int(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUTF8Strndup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_utf);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUTF8Strpos(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlChar * utf; /* the input UTF8 * */
-    int n_utf;
-    int pos; /* the position of the desired UTF8 char (in chars) */
-    int n_pos;
-
-    for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
-    for (n_pos = 0;n_pos < gen_nb_int;n_pos++) {
-        mem_base = xmlMemBlocks();
-        utf = gen_const_xmlChar_ptr(n_utf, 0);
-        pos = gen_int(n_pos, 1);
-
-        ret_val = xmlUTF8Strpos((const xmlChar *)utf, pos);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
-        des_int(n_pos, pos, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUTF8Strpos",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_utf);
-            printf(" %d", n_pos);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUTF8Strsize(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    int ret_val;
-    xmlChar * utf; /* a sequence of UTF-8 encoded bytes */
-    int n_utf;
-    int len; /* the number of characters in the array */
-    int n_len;
-
-    for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        utf = gen_const_xmlChar_ptr(n_utf, 0);
-        len = gen_int(n_len, 1);
-
-        ret_val = xmlUTF8Strsize((const xmlChar *)utf, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
-        des_int(n_len, len, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUTF8Strsize",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_utf);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUTF8Strsub(void) {
-    int test_ret = 0;
-
-    int mem_base;
-    xmlChar * ret_val;
-    xmlChar * utf; /* a sequence of UTF-8 encoded bytes */
-    int n_utf;
-    int start; /* relative pos of first char */
-    int n_start;
-    int len; /* total number to copy */
-    int n_len;
-
-    for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
-    for (n_start = 0;n_start < gen_nb_int;n_start++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        utf = gen_const_xmlChar_ptr(n_utf, 0);
-        start = gen_int(n_start, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlUTF8Strsub((const xmlChar *)utf, start, len);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
-        des_int(n_start, start, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUTF8Strsub",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_utf);
-            printf(" %d", n_start);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-
-    return(test_ret);
-}
-
-static int
-test_xmlstring(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xmlstring : 26 of 30 functions ...\n");
-    test_ret += test_xmlCharStrdup();
-    test_ret += test_xmlCharStrndup();
-    test_ret += test_xmlCheckUTF8();
-    test_ret += test_xmlGetUTF8Char();
-    test_ret += test_xmlStrEqual();
-    test_ret += test_xmlStrPrintf();
-    test_ret += test_xmlStrQEqual();
-    test_ret += test_xmlStrVPrintf();
-    test_ret += test_xmlStrcasecmp();
-    test_ret += test_xmlStrcasestr();
-    test_ret += test_xmlStrchr();
-    test_ret += test_xmlStrcmp();
-    test_ret += test_xmlStrdup();
-    test_ret += test_xmlStrlen();
-    test_ret += test_xmlStrncasecmp();
-    test_ret += test_xmlStrncatNew();
-    test_ret += test_xmlStrncmp();
-    test_ret += test_xmlStrndup();
-    test_ret += test_xmlStrstr();
-    test_ret += test_xmlStrsub();
-    test_ret += test_xmlUTF8Charcmp();
-    test_ret += test_xmlUTF8Size();
-    test_ret += test_xmlUTF8Strlen();
-    test_ret += test_xmlUTF8Strloc();
-    test_ret += test_xmlUTF8Strndup();
-    test_ret += test_xmlUTF8Strpos();
-    test_ret += test_xmlUTF8Strsize();
-    test_ret += test_xmlUTF8Strsub();
-
-    if (test_ret != 0)
-       printf("Module xmlstring: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlUCSIsAegeanNumbers(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsAegeanNumbers(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsAegeanNumbers",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsAlphabeticPresentationForms(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsAlphabeticPresentationForms(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsAlphabeticPresentationForms",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsArabic(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsArabic(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsArabic",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsArabicPresentationFormsA(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsArabicPresentationFormsA(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsArabicPresentationFormsA",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsArabicPresentationFormsB(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsArabicPresentationFormsB(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsArabicPresentationFormsB",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsArmenian(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsArmenian(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsArmenian",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsArrows(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsArrows(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsArrows",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsBasicLatin(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsBasicLatin(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsBasicLatin",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsBengali(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsBengali(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsBengali",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsBlock(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-    char * block; /* UCS block name */
-    int n_block;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-    for (n_block = 0;n_block < gen_nb_const_char_ptr;n_block++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-        block = gen_const_char_ptr(n_block, 1);
-
-        ret_val = xmlUCSIsBlock(code, (const char *)block);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        des_const_char_ptr(n_block, (const char *)block, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsBlock",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf(" %d", n_block);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsBlockElements(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsBlockElements(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsBlockElements",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsBopomofo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsBopomofo(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsBopomofo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsBopomofoExtended(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsBopomofoExtended(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsBopomofoExtended",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsBoxDrawing(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsBoxDrawing(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsBoxDrawing",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsBraillePatterns(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsBraillePatterns(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsBraillePatterns",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsBuhid(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsBuhid(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsBuhid",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsByzantineMusicalSymbols(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsByzantineMusicalSymbols(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsByzantineMusicalSymbols",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCJKCompatibility(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCJKCompatibility(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCJKCompatibility",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCJKCompatibilityForms(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCJKCompatibilityForms(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityForms",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCJKCompatibilityIdeographs(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCJKCompatibilityIdeographs(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityIdeographs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCJKCompatibilityIdeographsSupplement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCJKCompatibilityIdeographsSupplement(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityIdeographsSupplement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCJKRadicalsSupplement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCJKRadicalsSupplement(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCJKRadicalsSupplement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCJKSymbolsandPunctuation(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCJKSymbolsandPunctuation(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCJKSymbolsandPunctuation",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCJKUnifiedIdeographs(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCJKUnifiedIdeographs(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCJKUnifiedIdeographsExtensionA(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCJKUnifiedIdeographsExtensionA(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographsExtensionA",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCJKUnifiedIdeographsExtensionB(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCJKUnifiedIdeographsExtensionB(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographsExtensionB",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCat(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-    char * cat; /* UCS Category name */
-    int n_cat;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-    for (n_cat = 0;n_cat < gen_nb_const_char_ptr;n_cat++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-        cat = gen_const_char_ptr(n_cat, 1);
-
-        ret_val = xmlUCSIsCat(code, (const char *)cat);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        des_const_char_ptr(n_cat, (const char *)cat, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCat",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf(" %d", n_cat);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatC(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatC(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatC",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatCc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatCc(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatCc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatCf(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatCf(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatCf",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatCo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatCo(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatCo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatCs(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatCs(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatCs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatL(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatL(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatL",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatLl(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatLl(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatLl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatLm(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatLm(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatLm",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatLo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatLo(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatLo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatLt(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatLt(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatLt",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatLu(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatLu(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatLu",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatM(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatM(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatM",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatMc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatMc(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatMc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatMe(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatMe(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatMe",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatMn(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatMn(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatMn",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatN(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatN(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatN",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatNd(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatNd(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatNd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatNl(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatNl(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatNl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatNo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatNo(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatNo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatP(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatP(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatP",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatPc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatPc(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatPc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatPd(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatPd(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatPd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatPe(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatPe(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatPe",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatPf(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatPf(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatPf",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatPi(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatPi(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatPi",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatPo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatPo(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatPo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatPs(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatPs(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatPs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatS(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatS(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatS",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatSc(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatSc(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatSc",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatSk(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatSk(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatSk",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatSm(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatSm(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatSm",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatSo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatSo(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatSo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatZ(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatZ(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatZ",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatZl(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatZl(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatZl",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatZp(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatZp(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatZp",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCatZs(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCatZs(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCatZs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCherokee(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCherokee(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCherokee",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCombiningDiacriticalMarks(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCombiningDiacriticalMarks(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCombiningDiacriticalMarks",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCombiningDiacriticalMarksforSymbols(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCombiningDiacriticalMarksforSymbols(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCombiningDiacriticalMarksforSymbols",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCombiningHalfMarks(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCombiningHalfMarks(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCombiningHalfMarks",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCombiningMarksforSymbols(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCombiningMarksforSymbols(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCombiningMarksforSymbols",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsControlPictures(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsControlPictures(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsControlPictures",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCurrencySymbols(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCurrencySymbols(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCurrencySymbols",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCypriotSyllabary(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCypriotSyllabary(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCypriotSyllabary",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCyrillic(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCyrillic(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCyrillic",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsCyrillicSupplement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsCyrillicSupplement(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsCyrillicSupplement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsDeseret(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsDeseret(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsDeseret",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsDevanagari(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsDevanagari(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsDevanagari",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsDingbats(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsDingbats(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsDingbats",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsEnclosedAlphanumerics(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsEnclosedAlphanumerics(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsEnclosedAlphanumerics",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsEnclosedCJKLettersandMonths(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsEnclosedCJKLettersandMonths(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsEnclosedCJKLettersandMonths",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsEthiopic(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsEthiopic(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsEthiopic",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsGeneralPunctuation(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsGeneralPunctuation(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsGeneralPunctuation",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsGeometricShapes(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsGeometricShapes(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsGeometricShapes",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsGeorgian(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsGeorgian(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsGeorgian",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsGothic(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsGothic(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsGothic",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsGreek(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsGreek(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsGreek",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsGreekExtended(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsGreekExtended(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsGreekExtended",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsGreekandCoptic(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsGreekandCoptic(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsGreekandCoptic",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsGujarati(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsGujarati(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsGujarati",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsGurmukhi(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsGurmukhi(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsGurmukhi",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsHalfwidthandFullwidthForms(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsHalfwidthandFullwidthForms(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsHalfwidthandFullwidthForms",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsHangulCompatibilityJamo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsHangulCompatibilityJamo(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsHangulCompatibilityJamo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsHangulJamo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsHangulJamo(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsHangulJamo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsHangulSyllables(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsHangulSyllables(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsHangulSyllables",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsHanunoo(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsHanunoo(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsHanunoo",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsHebrew(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsHebrew(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsHebrew",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsHighPrivateUseSurrogates(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsHighPrivateUseSurrogates(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsHighPrivateUseSurrogates",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsHighSurrogates(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsHighSurrogates(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsHighSurrogates",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsHiragana(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsHiragana(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsHiragana",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsIPAExtensions(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsIPAExtensions(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsIPAExtensions",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsIdeographicDescriptionCharacters(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsIdeographicDescriptionCharacters(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsIdeographicDescriptionCharacters",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsKanbun(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsKanbun(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsKanbun",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsKangxiRadicals(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsKangxiRadicals(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsKangxiRadicals",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsKannada(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsKannada(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsKannada",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsKatakana(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsKatakana(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsKatakana",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsKatakanaPhoneticExtensions(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsKatakanaPhoneticExtensions(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsKatakanaPhoneticExtensions",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsKhmer(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsKhmer(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsKhmer",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsKhmerSymbols(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsKhmerSymbols(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsKhmerSymbols",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsLao(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsLao(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsLao",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsLatin1Supplement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsLatin1Supplement(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsLatin1Supplement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsLatinExtendedA(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsLatinExtendedA(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsLatinExtendedA",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsLatinExtendedAdditional(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsLatinExtendedAdditional(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsLatinExtendedAdditional",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsLatinExtendedB(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsLatinExtendedB(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsLatinExtendedB",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsLetterlikeSymbols(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsLetterlikeSymbols(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsLetterlikeSymbols",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsLimbu(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsLimbu(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsLimbu",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsLinearBIdeograms(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsLinearBIdeograms(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsLinearBIdeograms",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsLinearBSyllabary(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsLinearBSyllabary(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsLinearBSyllabary",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsLowSurrogates(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsLowSurrogates(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsLowSurrogates",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsMalayalam(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsMalayalam(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsMalayalam",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsMathematicalAlphanumericSymbols(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsMathematicalAlphanumericSymbols(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsMathematicalAlphanumericSymbols",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsMathematicalOperators(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsMathematicalOperators(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsMathematicalOperators",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsMiscellaneousMathematicalSymbolsA(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsMiscellaneousMathematicalSymbolsA(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsMiscellaneousMathematicalSymbolsA",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsMiscellaneousMathematicalSymbolsB(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsMiscellaneousMathematicalSymbolsB(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsMiscellaneousMathematicalSymbolsB",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsMiscellaneousSymbols(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsMiscellaneousSymbols(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsMiscellaneousSymbols",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsMiscellaneousSymbolsandArrows(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsMiscellaneousSymbolsandArrows(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsMiscellaneousSymbolsandArrows",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsMiscellaneousTechnical(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsMiscellaneousTechnical(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsMiscellaneousTechnical",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsMongolian(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsMongolian(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsMongolian",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsMusicalSymbols(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsMusicalSymbols(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsMusicalSymbols",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsMyanmar(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsMyanmar(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsMyanmar",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsNumberForms(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsNumberForms(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsNumberForms",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsOgham(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsOgham(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsOgham",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsOldItalic(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsOldItalic(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsOldItalic",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsOpticalCharacterRecognition(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsOpticalCharacterRecognition(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsOpticalCharacterRecognition",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsOriya(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsOriya(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsOriya",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsOsmanya(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsOsmanya(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsOsmanya",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsPhoneticExtensions(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsPhoneticExtensions(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsPhoneticExtensions",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsPrivateUse(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsPrivateUse(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsPrivateUse",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsPrivateUseArea(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsPrivateUseArea(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsPrivateUseArea",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsRunic(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsRunic(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsRunic",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsShavian(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsShavian(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsShavian",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsSinhala(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsSinhala(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsSinhala",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsSmallFormVariants(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsSmallFormVariants(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsSmallFormVariants",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsSpacingModifierLetters(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsSpacingModifierLetters(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsSpacingModifierLetters",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsSpecials(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsSpecials(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsSpecials",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsSuperscriptsandSubscripts(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsSuperscriptsandSubscripts(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsSuperscriptsandSubscripts",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsSupplementalArrowsA(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsSupplementalArrowsA(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsSupplementalArrowsA",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsSupplementalArrowsB(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsSupplementalArrowsB(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsSupplementalArrowsB",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsSupplementalMathematicalOperators(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsSupplementalMathematicalOperators(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsSupplementalMathematicalOperators",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsSupplementaryPrivateUseAreaA(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsSupplementaryPrivateUseAreaA(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsSupplementaryPrivateUseAreaA",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsSupplementaryPrivateUseAreaB(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsSupplementaryPrivateUseAreaB(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsSupplementaryPrivateUseAreaB",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsSyriac(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsSyriac(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsSyriac",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsTagalog(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsTagalog(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsTagalog",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsTagbanwa(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsTagbanwa(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsTagbanwa",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsTags(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsTags(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsTags",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsTaiLe(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsTaiLe(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsTaiLe",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsTaiXuanJingSymbols(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsTaiXuanJingSymbols(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsTaiXuanJingSymbols",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsTamil(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsTamil(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsTamil",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsTelugu(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsTelugu(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsTelugu",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsThaana(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsThaana(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsThaana",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsThai(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsThai(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsThai",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsTibetan(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsTibetan(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsTibetan",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsUgaritic(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsUgaritic(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsUgaritic",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsUnifiedCanadianAboriginalSyllabics(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsUnifiedCanadianAboriginalSyllabics(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsUnifiedCanadianAboriginalSyllabics",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsVariationSelectors(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsVariationSelectors(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsVariationSelectors",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsVariationSelectorsSupplement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsVariationSelectorsSupplement(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsVariationSelectorsSupplement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsYiRadicals(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsYiRadicals(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsYiRadicals",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsYiSyllables(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsYiSyllables(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsYiSyllables",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlUCSIsYijingHexagramSymbols(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_UNICODE_ENABLED)
-    int mem_base;
-    int ret_val;
-    int code; /* UCS code point */
-    int n_code;
-
-    for (n_code = 0;n_code < gen_nb_int;n_code++) {
-        mem_base = xmlMemBlocks();
-        code = gen_int(n_code, 0);
-
-        ret_val = xmlUCSIsYijingHexagramSymbols(code);
-        desret_int(ret_val);
-        call_tests++;
-        des_int(n_code, code, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlUCSIsYijingHexagramSymbols",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_code);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_xmlunicode(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xmlunicode : 166 of 166 functions ...\n");
-    test_ret += test_xmlUCSIsAegeanNumbers();
-    test_ret += test_xmlUCSIsAlphabeticPresentationForms();
-    test_ret += test_xmlUCSIsArabic();
-    test_ret += test_xmlUCSIsArabicPresentationFormsA();
-    test_ret += test_xmlUCSIsArabicPresentationFormsB();
-    test_ret += test_xmlUCSIsArmenian();
-    test_ret += test_xmlUCSIsArrows();
-    test_ret += test_xmlUCSIsBasicLatin();
-    test_ret += test_xmlUCSIsBengali();
-    test_ret += test_xmlUCSIsBlock();
-    test_ret += test_xmlUCSIsBlockElements();
-    test_ret += test_xmlUCSIsBopomofo();
-    test_ret += test_xmlUCSIsBopomofoExtended();
-    test_ret += test_xmlUCSIsBoxDrawing();
-    test_ret += test_xmlUCSIsBraillePatterns();
-    test_ret += test_xmlUCSIsBuhid();
-    test_ret += test_xmlUCSIsByzantineMusicalSymbols();
-    test_ret += test_xmlUCSIsCJKCompatibility();
-    test_ret += test_xmlUCSIsCJKCompatibilityForms();
-    test_ret += test_xmlUCSIsCJKCompatibilityIdeographs();
-    test_ret += test_xmlUCSIsCJKCompatibilityIdeographsSupplement();
-    test_ret += test_xmlUCSIsCJKRadicalsSupplement();
-    test_ret += test_xmlUCSIsCJKSymbolsandPunctuation();
-    test_ret += test_xmlUCSIsCJKUnifiedIdeographs();
-    test_ret += test_xmlUCSIsCJKUnifiedIdeographsExtensionA();
-    test_ret += test_xmlUCSIsCJKUnifiedIdeographsExtensionB();
-    test_ret += test_xmlUCSIsCat();
-    test_ret += test_xmlUCSIsCatC();
-    test_ret += test_xmlUCSIsCatCc();
-    test_ret += test_xmlUCSIsCatCf();
-    test_ret += test_xmlUCSIsCatCo();
-    test_ret += test_xmlUCSIsCatCs();
-    test_ret += test_xmlUCSIsCatL();
-    test_ret += test_xmlUCSIsCatLl();
-    test_ret += test_xmlUCSIsCatLm();
-    test_ret += test_xmlUCSIsCatLo();
-    test_ret += test_xmlUCSIsCatLt();
-    test_ret += test_xmlUCSIsCatLu();
-    test_ret += test_xmlUCSIsCatM();
-    test_ret += test_xmlUCSIsCatMc();
-    test_ret += test_xmlUCSIsCatMe();
-    test_ret += test_xmlUCSIsCatMn();
-    test_ret += test_xmlUCSIsCatN();
-    test_ret += test_xmlUCSIsCatNd();
-    test_ret += test_xmlUCSIsCatNl();
-    test_ret += test_xmlUCSIsCatNo();
-    test_ret += test_xmlUCSIsCatP();
-    test_ret += test_xmlUCSIsCatPc();
-    test_ret += test_xmlUCSIsCatPd();
-    test_ret += test_xmlUCSIsCatPe();
-    test_ret += test_xmlUCSIsCatPf();
-    test_ret += test_xmlUCSIsCatPi();
-    test_ret += test_xmlUCSIsCatPo();
-    test_ret += test_xmlUCSIsCatPs();
-    test_ret += test_xmlUCSIsCatS();
-    test_ret += test_xmlUCSIsCatSc();
-    test_ret += test_xmlUCSIsCatSk();
-    test_ret += test_xmlUCSIsCatSm();
-    test_ret += test_xmlUCSIsCatSo();
-    test_ret += test_xmlUCSIsCatZ();
-    test_ret += test_xmlUCSIsCatZl();
-    test_ret += test_xmlUCSIsCatZp();
-    test_ret += test_xmlUCSIsCatZs();
-    test_ret += test_xmlUCSIsCherokee();
-    test_ret += test_xmlUCSIsCombiningDiacriticalMarks();
-    test_ret += test_xmlUCSIsCombiningDiacriticalMarksforSymbols();
-    test_ret += test_xmlUCSIsCombiningHalfMarks();
-    test_ret += test_xmlUCSIsCombiningMarksforSymbols();
-    test_ret += test_xmlUCSIsControlPictures();
-    test_ret += test_xmlUCSIsCurrencySymbols();
-    test_ret += test_xmlUCSIsCypriotSyllabary();
-    test_ret += test_xmlUCSIsCyrillic();
-    test_ret += test_xmlUCSIsCyrillicSupplement();
-    test_ret += test_xmlUCSIsDeseret();
-    test_ret += test_xmlUCSIsDevanagari();
-    test_ret += test_xmlUCSIsDingbats();
-    test_ret += test_xmlUCSIsEnclosedAlphanumerics();
-    test_ret += test_xmlUCSIsEnclosedCJKLettersandMonths();
-    test_ret += test_xmlUCSIsEthiopic();
-    test_ret += test_xmlUCSIsGeneralPunctuation();
-    test_ret += test_xmlUCSIsGeometricShapes();
-    test_ret += test_xmlUCSIsGeorgian();
-    test_ret += test_xmlUCSIsGothic();
-    test_ret += test_xmlUCSIsGreek();
-    test_ret += test_xmlUCSIsGreekExtended();
-    test_ret += test_xmlUCSIsGreekandCoptic();
-    test_ret += test_xmlUCSIsGujarati();
-    test_ret += test_xmlUCSIsGurmukhi();
-    test_ret += test_xmlUCSIsHalfwidthandFullwidthForms();
-    test_ret += test_xmlUCSIsHangulCompatibilityJamo();
-    test_ret += test_xmlUCSIsHangulJamo();
-    test_ret += test_xmlUCSIsHangulSyllables();
-    test_ret += test_xmlUCSIsHanunoo();
-    test_ret += test_xmlUCSIsHebrew();
-    test_ret += test_xmlUCSIsHighPrivateUseSurrogates();
-    test_ret += test_xmlUCSIsHighSurrogates();
-    test_ret += test_xmlUCSIsHiragana();
-    test_ret += test_xmlUCSIsIPAExtensions();
-    test_ret += test_xmlUCSIsIdeographicDescriptionCharacters();
-    test_ret += test_xmlUCSIsKanbun();
-    test_ret += test_xmlUCSIsKangxiRadicals();
-    test_ret += test_xmlUCSIsKannada();
-    test_ret += test_xmlUCSIsKatakana();
-    test_ret += test_xmlUCSIsKatakanaPhoneticExtensions();
-    test_ret += test_xmlUCSIsKhmer();
-    test_ret += test_xmlUCSIsKhmerSymbols();
-    test_ret += test_xmlUCSIsLao();
-    test_ret += test_xmlUCSIsLatin1Supplement();
-    test_ret += test_xmlUCSIsLatinExtendedA();
-    test_ret += test_xmlUCSIsLatinExtendedAdditional();
-    test_ret += test_xmlUCSIsLatinExtendedB();
-    test_ret += test_xmlUCSIsLetterlikeSymbols();
-    test_ret += test_xmlUCSIsLimbu();
-    test_ret += test_xmlUCSIsLinearBIdeograms();
-    test_ret += test_xmlUCSIsLinearBSyllabary();
-    test_ret += test_xmlUCSIsLowSurrogates();
-    test_ret += test_xmlUCSIsMalayalam();
-    test_ret += test_xmlUCSIsMathematicalAlphanumericSymbols();
-    test_ret += test_xmlUCSIsMathematicalOperators();
-    test_ret += test_xmlUCSIsMiscellaneousMathematicalSymbolsA();
-    test_ret += test_xmlUCSIsMiscellaneousMathematicalSymbolsB();
-    test_ret += test_xmlUCSIsMiscellaneousSymbols();
-    test_ret += test_xmlUCSIsMiscellaneousSymbolsandArrows();
-    test_ret += test_xmlUCSIsMiscellaneousTechnical();
-    test_ret += test_xmlUCSIsMongolian();
-    test_ret += test_xmlUCSIsMusicalSymbols();
-    test_ret += test_xmlUCSIsMyanmar();
-    test_ret += test_xmlUCSIsNumberForms();
-    test_ret += test_xmlUCSIsOgham();
-    test_ret += test_xmlUCSIsOldItalic();
-    test_ret += test_xmlUCSIsOpticalCharacterRecognition();
-    test_ret += test_xmlUCSIsOriya();
-    test_ret += test_xmlUCSIsOsmanya();
-    test_ret += test_xmlUCSIsPhoneticExtensions();
-    test_ret += test_xmlUCSIsPrivateUse();
-    test_ret += test_xmlUCSIsPrivateUseArea();
-    test_ret += test_xmlUCSIsRunic();
-    test_ret += test_xmlUCSIsShavian();
-    test_ret += test_xmlUCSIsSinhala();
-    test_ret += test_xmlUCSIsSmallFormVariants();
-    test_ret += test_xmlUCSIsSpacingModifierLetters();
-    test_ret += test_xmlUCSIsSpecials();
-    test_ret += test_xmlUCSIsSuperscriptsandSubscripts();
-    test_ret += test_xmlUCSIsSupplementalArrowsA();
-    test_ret += test_xmlUCSIsSupplementalArrowsB();
-    test_ret += test_xmlUCSIsSupplementalMathematicalOperators();
-    test_ret += test_xmlUCSIsSupplementaryPrivateUseAreaA();
-    test_ret += test_xmlUCSIsSupplementaryPrivateUseAreaB();
-    test_ret += test_xmlUCSIsSyriac();
-    test_ret += test_xmlUCSIsTagalog();
-    test_ret += test_xmlUCSIsTagbanwa();
-    test_ret += test_xmlUCSIsTags();
-    test_ret += test_xmlUCSIsTaiLe();
-    test_ret += test_xmlUCSIsTaiXuanJingSymbols();
-    test_ret += test_xmlUCSIsTamil();
-    test_ret += test_xmlUCSIsTelugu();
-    test_ret += test_xmlUCSIsThaana();
-    test_ret += test_xmlUCSIsThai();
-    test_ret += test_xmlUCSIsTibetan();
-    test_ret += test_xmlUCSIsUgaritic();
-    test_ret += test_xmlUCSIsUnifiedCanadianAboriginalSyllabics();
-    test_ret += test_xmlUCSIsVariationSelectors();
-    test_ret += test_xmlUCSIsVariationSelectorsSupplement();
-    test_ret += test_xmlUCSIsYiRadicals();
-    test_ret += test_xmlUCSIsYiSyllables();
-    test_ret += test_xmlUCSIsYijingHexagramSymbols();
-
-    if (test_ret != 0)
-       printf("Module xmlunicode: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlNewTextWriter(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    xmlTextWriterPtr ret_val;
-    xmlOutputBufferPtr out; /* an xmlOutputBufferPtr */
-    int n_out;
-
-    for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
-        mem_base = xmlMemBlocks();
-        out = gen_xmlOutputBufferPtr(n_out, 0);
-
-        ret_val = xmlNewTextWriter(out);
-        if (ret_val != NULL) out = NULL;
-        desret_xmlTextWriterPtr(ret_val);
-        call_tests++;
-        des_xmlOutputBufferPtr(n_out, out, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewTextWriter",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_out);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewTextWriterFilename(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    xmlTextWriterPtr ret_val;
-    const char * uri; /* the URI of the resource for the output */
-    int n_uri;
-    int compression; /* compress the output? */
-    int n_compression;
-
-    for (n_uri = 0;n_uri < gen_nb_fileoutput;n_uri++) {
-    for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
-        mem_base = xmlMemBlocks();
-        uri = gen_fileoutput(n_uri, 0);
-        compression = gen_int(n_compression, 1);
-
-        ret_val = xmlNewTextWriterFilename(uri, compression);
-        desret_xmlTextWriterPtr(ret_val);
-        call_tests++;
-        des_fileoutput(n_uri, uri, 0);
-        des_int(n_compression, compression, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewTextWriterFilename",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_uri);
-            printf(" %d", n_compression);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewTextWriterMemory(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    xmlTextWriterPtr ret_val;
-    xmlBufferPtr buf; /* xmlBufferPtr */
-    int n_buf;
-    int compression; /* compress the output? */
-    int n_compression;
-
-    for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
-    for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
-        mem_base = xmlMemBlocks();
-        buf = gen_xmlBufferPtr(n_buf, 0);
-        compression = gen_int(n_compression, 1);
-
-        ret_val = xmlNewTextWriterMemory(buf, compression);
-        desret_xmlTextWriterPtr(ret_val);
-        call_tests++;
-        des_xmlBufferPtr(n_buf, buf, 0);
-        des_int(n_compression, compression, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewTextWriterMemory",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_buf);
-            printf(" %d", n_compression);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewTextWriterPushParser(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    xmlTextWriterPtr ret_val;
-    xmlParserCtxtPtr ctxt; /* xmlParserCtxtPtr to hold the new XML document tree */
-    int n_ctxt;
-    int compression; /* compress the output? */
-    int n_compression;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
-    for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
-        compression = gen_int(n_compression, 1);
-
-        ret_val = xmlNewTextWriterPushParser(ctxt, compression);
-        if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;} if (ret_val != NULL) ctxt = NULL;
-        desret_xmlTextWriterPtr(ret_val);
-        call_tests++;
-        des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
-        des_int(n_compression, compression, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewTextWriterPushParser",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_compression);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlNewTextWriterTree(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    xmlTextWriterPtr ret_val;
-    xmlDocPtr doc; /* xmlDocPtr */
-    int n_doc;
-    xmlNodePtr node; /* xmlNodePtr or NULL for doc->children */
-    int n_node;
-    int compression; /* compress the output? */
-    int n_compression;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-        compression = gen_int(n_compression, 2);
-
-        ret_val = xmlNewTextWriterTree(doc, node, compression);
-        desret_xmlTextWriterPtr(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        des_int(n_compression, compression, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlNewTextWriterTree",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf(" %d", n_node);
-            printf(" %d", n_compression);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterEndAttribute(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-
-        ret_val = xmlTextWriterEndAttribute(writer);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterEndAttribute",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterEndCDATA(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-
-        ret_val = xmlTextWriterEndCDATA(writer);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterEndCDATA",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterEndComment(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-
-        ret_val = xmlTextWriterEndComment(writer);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterEndComment",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterEndDTD(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-
-        ret_val = xmlTextWriterEndDTD(writer);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterEndDTD",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterEndDTDAttlist(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-
-        ret_val = xmlTextWriterEndDTDAttlist(writer);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterEndDTDAttlist",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterEndDTDElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-
-        ret_val = xmlTextWriterEndDTDElement(writer);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterEndDTDElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterEndDTDEntity(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-
-        ret_val = xmlTextWriterEndDTDEntity(writer);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterEndDTDEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterEndDocument(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-
-        ret_val = xmlTextWriterEndDocument(writer);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterEndDocument",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterEndElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-
-        ret_val = xmlTextWriterEndElement(writer);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterEndElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterEndPI(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-
-        ret_val = xmlTextWriterEndPI(writer);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterEndPI",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterFlush(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-
-        ret_val = xmlTextWriterFlush(writer);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterFlush",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterFullEndElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-
-        ret_val = xmlTextWriterFullEndElement(writer);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterFullEndElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterSetIndent(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    int indent; /* do indentation? */
-    int n_indent;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_indent = 0;n_indent < gen_nb_int;n_indent++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        indent = gen_int(n_indent, 1);
-
-        ret_val = xmlTextWriterSetIndent(writer, indent);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_int(n_indent, indent, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterSetIndent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_indent);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterSetIndentString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * str; /* the xmlChar string */
-    int n_str;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        str = gen_const_xmlChar_ptr(n_str, 1);
-
-        ret_val = xmlTextWriterSetIndentString(writer, (const xmlChar *)str);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterSetIndentString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_str);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterSetQuoteChar(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar quotechar; /* the quote character */
-    int n_quotechar;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_quotechar = 0;n_quotechar < gen_nb_xmlChar;n_quotechar++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        quotechar = gen_xmlChar(n_quotechar, 1);
-
-        ret_val = xmlTextWriterSetQuoteChar(writer, quotechar);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_xmlChar(n_quotechar, quotechar, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterSetQuoteChar",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_quotechar);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterStartAttribute(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * name; /* element name */
-    int n_name;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlTextWriterStartAttribute(writer, (const xmlChar *)name);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterStartAttribute",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterStartAttributeNS(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * prefix; /* namespace prefix or NULL */
-    int n_prefix;
-    xmlChar * name; /* element local name */
-    int n_name;
-    xmlChar * namespaceURI; /* namespace URI or NULL */
-    int n_namespaceURI;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
-
-        ret_val = xmlTextWriterStartAttributeNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterStartAttributeNS",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_prefix);
-            printf(" %d", n_name);
-            printf(" %d", n_namespaceURI);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterStartCDATA(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-
-        ret_val = xmlTextWriterStartCDATA(writer);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterStartCDATA",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterStartComment(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-
-        ret_val = xmlTextWriterStartComment(writer);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterStartComment",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterStartDTD(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * name; /* the name of the DTD */
-    int n_name;
-    xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
-    int n_pubid;
-    xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
-    int n_sysid;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
-    for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        pubid = gen_const_xmlChar_ptr(n_pubid, 2);
-        sysid = gen_const_xmlChar_ptr(n_sysid, 3);
-
-        ret_val = xmlTextWriterStartDTD(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2);
-        des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterStartDTD",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_name);
-            printf(" %d", n_pubid);
-            printf(" %d", n_sysid);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterStartDTDAttlist(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * name; /* the name of the DTD ATTLIST */
-    int n_name;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlTextWriterStartDTDAttlist(writer, (const xmlChar *)name);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterStartDTDAttlist",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterStartDTDElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * name; /* the name of the DTD element */
-    int n_name;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlTextWriterStartDTDElement(writer, (const xmlChar *)name);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterStartDTDElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterStartDTDEntity(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    int pe; /* TRUE if this is a parameter entity, FALSE if not */
-    int n_pe;
-    xmlChar * name; /* the name of the DTD ATTLIST */
-    int n_name;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        pe = gen_int(n_pe, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-
-        ret_val = xmlTextWriterStartDTDEntity(writer, pe, (const xmlChar *)name);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_int(n_pe, pe, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterStartDTDEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_pe);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterStartDocument(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    char * version; /* the xml version ("1.0") or NULL for default ("1.0") */
-    int n_version;
-    char * encoding; /* the encoding or NULL for default */
-    int n_encoding;
-    char * standalone; /* "yes" or "no" or NULL for default */
-    int n_standalone;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_version = 0;n_version < gen_nb_const_char_ptr;n_version++) {
-    for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
-    for (n_standalone = 0;n_standalone < gen_nb_const_char_ptr;n_standalone++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        version = gen_const_char_ptr(n_version, 1);
-        encoding = gen_const_char_ptr(n_encoding, 2);
-        standalone = gen_const_char_ptr(n_standalone, 3);
-
-        ret_val = xmlTextWriterStartDocument(writer, (const char *)version, (const char *)encoding, (const char *)standalone);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_char_ptr(n_version, (const char *)version, 1);
-        des_const_char_ptr(n_encoding, (const char *)encoding, 2);
-        des_const_char_ptr(n_standalone, (const char *)standalone, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterStartDocument",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_version);
-            printf(" %d", n_encoding);
-            printf(" %d", n_standalone);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterStartElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * name; /* element name */
-    int n_name;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlTextWriterStartElement(writer, (const xmlChar *)name);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterStartElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterStartElementNS(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * prefix; /* namespace prefix or NULL */
-    int n_prefix;
-    xmlChar * name; /* element local name */
-    int n_name;
-    xmlChar * namespaceURI; /* namespace URI or NULL */
-    int n_namespaceURI;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
-
-        ret_val = xmlTextWriterStartElementNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterStartElementNS",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_prefix);
-            printf(" %d", n_name);
-            printf(" %d", n_namespaceURI);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterStartPI(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * target; /* PI target */
-    int n_target;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        target = gen_const_xmlChar_ptr(n_target, 1);
-
-        ret_val = xmlTextWriterStartPI(writer, (const xmlChar *)target);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterStartPI",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_target);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteAttribute(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * name; /* attribute name */
-    int n_name;
-    xmlChar * content; /* attribute content */
-    int n_content;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        content = gen_const_xmlChar_ptr(n_content, 2);
-
-        ret_val = xmlTextWriterWriteAttribute(writer, (const xmlChar *)name, (const xmlChar *)content);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteAttribute",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_name);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteAttributeNS(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * prefix; /* namespace prefix */
-    int n_prefix;
-    xmlChar * name; /* attribute local name */
-    int n_name;
-    xmlChar * namespaceURI; /* namespace URI */
-    int n_namespaceURI;
-    xmlChar * content; /* attribute content */
-    int n_content;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
-        content = gen_const_xmlChar_ptr(n_content, 4);
-
-        ret_val = xmlTextWriterWriteAttributeNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI, (const xmlChar *)content);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteAttributeNS",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_prefix);
-            printf(" %d", n_name);
-            printf(" %d", n_namespaceURI);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteBase64(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    char * data; /* binary data */
-    int n_data;
-    int start; /* the position within the data of the first byte to encode */
-    int n_start;
-    int len; /* the number of bytes to encode */
-    int n_len;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) {
-    for (n_start = 0;n_start < gen_nb_int;n_start++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        data = gen_const_char_ptr(n_data, 1);
-        start = gen_int(n_start, 2);
-        len = gen_int(n_len, 3);
-
-        ret_val = xmlTextWriterWriteBase64(writer, (const char *)data, start, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_char_ptr(n_data, (const char *)data, 1);
-        des_int(n_start, start, 2);
-        des_int(n_len, len, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteBase64",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_data);
-            printf(" %d", n_start);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteBinHex(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    char * data; /* binary data */
-    int n_data;
-    int start; /* the position within the data of the first byte to encode */
-    int n_start;
-    int len; /* the number of bytes to encode */
-    int n_len;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) {
-    for (n_start = 0;n_start < gen_nb_int;n_start++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        data = gen_const_char_ptr(n_data, 1);
-        start = gen_int(n_start, 2);
-        len = gen_int(n_len, 3);
-
-        ret_val = xmlTextWriterWriteBinHex(writer, (const char *)data, start, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_char_ptr(n_data, (const char *)data, 1);
-        des_int(n_start, start, 2);
-        des_int(n_len, len, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteBinHex",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_data);
-            printf(" %d", n_start);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteCDATA(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * content; /* CDATA content */
-    int n_content;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-
-        ret_val = xmlTextWriterWriteCDATA(writer, (const xmlChar *)content);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteCDATA",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteComment(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * content; /* comment string */
-    int n_content;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-
-        ret_val = xmlTextWriterWriteComment(writer, (const xmlChar *)content);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteComment",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteDTD(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * name; /* the name of the DTD */
-    int n_name;
-    xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
-    int n_pubid;
-    xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
-    int n_sysid;
-    xmlChar * subset; /* string content of the DTD */
-    int n_subset;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
-    for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
-    for (n_subset = 0;n_subset < gen_nb_const_xmlChar_ptr;n_subset++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        pubid = gen_const_xmlChar_ptr(n_pubid, 2);
-        sysid = gen_const_xmlChar_ptr(n_sysid, 3);
-        subset = gen_const_xmlChar_ptr(n_subset, 4);
-
-        ret_val = xmlTextWriterWriteDTD(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)subset);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2);
-        des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3);
-        des_const_xmlChar_ptr(n_subset, (const xmlChar *)subset, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteDTD",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_name);
-            printf(" %d", n_pubid);
-            printf(" %d", n_sysid);
-            printf(" %d", n_subset);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteDTDAttlist(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * name; /* the name of the DTD ATTLIST */
-    int n_name;
-    xmlChar * content; /* content of the ATTLIST */
-    int n_content;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        content = gen_const_xmlChar_ptr(n_content, 2);
-
-        ret_val = xmlTextWriterWriteDTDAttlist(writer, (const xmlChar *)name, (const xmlChar *)content);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteDTDAttlist",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_name);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteDTDElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * name; /* the name of the DTD element */
-    int n_name;
-    xmlChar * content; /* content of the element */
-    int n_content;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        content = gen_const_xmlChar_ptr(n_content, 2);
-
-        ret_val = xmlTextWriterWriteDTDElement(writer, (const xmlChar *)name, (const xmlChar *)content);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteDTDElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_name);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteDTDEntity(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    int pe; /* TRUE if this is a parameter entity, FALSE if not */
-    int n_pe;
-    xmlChar * name; /* the name of the DTD entity */
-    int n_name;
-    xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
-    int n_pubid;
-    xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
-    int n_sysid;
-    xmlChar * ndataid; /* the xml notation name. */
-    int n_ndataid;
-    xmlChar * content; /* content of the entity */
-    int n_content;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
-    for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
-    for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        pe = gen_int(n_pe, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        pubid = gen_const_xmlChar_ptr(n_pubid, 3);
-        sysid = gen_const_xmlChar_ptr(n_sysid, 4);
-        ndataid = gen_const_xmlChar_ptr(n_ndataid, 5);
-        content = gen_const_xmlChar_ptr(n_content, 6);
-
-        ret_val = xmlTextWriterWriteDTDEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid, (const xmlChar *)content);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_int(n_pe, pe, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 3);
-        des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 4);
-        des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 5);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 6);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteDTDEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_pe);
-            printf(" %d", n_name);
-            printf(" %d", n_pubid);
-            printf(" %d", n_sysid);
-            printf(" %d", n_ndataid);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteDTDExternalEntity(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    int pe; /* TRUE if this is a parameter entity, FALSE if not */
-    int n_pe;
-    xmlChar * name; /* the name of the DTD entity */
-    int n_name;
-    xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
-    int n_pubid;
-    xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
-    int n_sysid;
-    xmlChar * ndataid; /* the xml notation name. */
-    int n_ndataid;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
-    for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
-    for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        pe = gen_int(n_pe, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        pubid = gen_const_xmlChar_ptr(n_pubid, 3);
-        sysid = gen_const_xmlChar_ptr(n_sysid, 4);
-        ndataid = gen_const_xmlChar_ptr(n_ndataid, 5);
-
-        ret_val = xmlTextWriterWriteDTDExternalEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_int(n_pe, pe, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 3);
-        des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 4);
-        des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 5);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteDTDExternalEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_pe);
-            printf(" %d", n_name);
-            printf(" %d", n_pubid);
-            printf(" %d", n_sysid);
-            printf(" %d", n_ndataid);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteDTDExternalEntityContents(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
-    int n_pubid;
-    xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
-    int n_sysid;
-    xmlChar * ndataid; /* the xml notation name. */
-    int n_ndataid;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
-    for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
-    for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        pubid = gen_const_xmlChar_ptr(n_pubid, 1);
-        sysid = gen_const_xmlChar_ptr(n_sysid, 2);
-        ndataid = gen_const_xmlChar_ptr(n_ndataid, 3);
-
-        ret_val = xmlTextWriterWriteDTDExternalEntityContents(writer, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 1);
-        des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 2);
-        des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteDTDExternalEntityContents",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_pubid);
-            printf(" %d", n_sysid);
-            printf(" %d", n_ndataid);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteDTDInternalEntity(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    int pe; /* TRUE if this is a parameter entity, FALSE if not */
-    int n_pe;
-    xmlChar * name; /* the name of the DTD entity */
-    int n_name;
-    xmlChar * content; /* content of the entity */
-    int n_content;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        pe = gen_int(n_pe, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        content = gen_const_xmlChar_ptr(n_content, 3);
-
-        ret_val = xmlTextWriterWriteDTDInternalEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)content);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_int(n_pe, pe, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteDTDInternalEntity",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_pe);
-            printf(" %d", n_name);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteDTDNotation(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * name; /* the name of the xml notation */
-    int n_name;
-    xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
-    int n_pubid;
-    xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
-    int n_sysid;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
-    for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        pubid = gen_const_xmlChar_ptr(n_pubid, 2);
-        sysid = gen_const_xmlChar_ptr(n_sysid, 3);
-
-        ret_val = xmlTextWriterWriteDTDNotation(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2);
-        des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteDTDNotation",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_name);
-            printf(" %d", n_pubid);
-            printf(" %d", n_sysid);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteElement(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * name; /* element name */
-    int n_name;
-    xmlChar * content; /* element content */
-    int n_content;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        content = gen_const_xmlChar_ptr(n_content, 2);
-
-        ret_val = xmlTextWriterWriteElement(writer, (const xmlChar *)name, (const xmlChar *)content);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteElement",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_name);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteElementNS(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * prefix; /* namespace prefix */
-    int n_prefix;
-    xmlChar * name; /* element local name */
-    int n_name;
-    xmlChar * namespaceURI; /* namespace URI */
-    int n_namespaceURI;
-    xmlChar * content; /* element content */
-    int n_content;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
-        name = gen_const_xmlChar_ptr(n_name, 2);
-        namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
-        content = gen_const_xmlChar_ptr(n_content, 4);
-
-        ret_val = xmlTextWriterWriteElementNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI, (const xmlChar *)content);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
-        des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 4);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteElementNS",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_prefix);
-            printf(" %d", n_name);
-            printf(" %d", n_namespaceURI);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteFormatAttribute(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteFormatAttributeNS(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteFormatCDATA(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteFormatComment(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteFormatDTD(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteFormatDTDAttlist(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteFormatDTDElement(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteFormatDTDInternalEntity(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteFormatElement(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteFormatElementNS(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteFormatPI(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteFormatRaw(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteFormatString(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWritePI(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * target; /* PI target */
-    int n_target;
-    xmlChar * content; /* PI content */
-    int n_content;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        target = gen_const_xmlChar_ptr(n_target, 1);
-        content = gen_const_xmlChar_ptr(n_content, 2);
-
-        ret_val = xmlTextWriterWritePI(writer, (const xmlChar *)target, (const xmlChar *)content);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWritePI",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_target);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteRaw(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * content; /* text string */
-    int n_content;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-
-        ret_val = xmlTextWriterWriteRaw(writer, (const xmlChar *)content);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteRaw",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteRawLen(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * content; /* text string */
-    int n_content;
-    int len; /* length of the text string */
-    int n_len;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-    for (n_len = 0;n_len < gen_nb_int;n_len++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-        len = gen_int(n_len, 2);
-
-        ret_val = xmlTextWriterWriteRawLen(writer, (const xmlChar *)content, len);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        des_int(n_len, len, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteRawLen",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_content);
-            printf(" %d", n_len);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_WRITER_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
-    int n_writer;
-    xmlChar * content; /* text string */
-    int n_content;
-
-    for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
-    for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
-        mem_base = xmlMemBlocks();
-        writer = gen_xmlTextWriterPtr(n_writer, 0);
-        content = gen_const_xmlChar_ptr(n_content, 1);
-
-        ret_val = xmlTextWriterWriteString(writer, (const xmlChar *)content);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlTextWriterPtr(n_writer, writer, 0);
-        des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlTextWriterWriteString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_writer);
-            printf(" %d", n_content);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteVFormatAttribute(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteVFormatAttributeNS(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteVFormatCDATA(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteVFormatComment(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteVFormatDTD(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteVFormatDTDAttlist(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteVFormatDTDElement(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteVFormatDTDInternalEntity(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteVFormatElement(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteVFormatElementNS(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteVFormatPI(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteVFormatRaw(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlTextWriterWriteVFormatString(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-static int
-test_xmlwriter(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xmlwriter : 52 of 80 functions ...\n");
-    test_ret += test_xmlNewTextWriter();
-    test_ret += test_xmlNewTextWriterFilename();
-    test_ret += test_xmlNewTextWriterMemory();
-    test_ret += test_xmlNewTextWriterPushParser();
-    test_ret += test_xmlNewTextWriterTree();
-    test_ret += test_xmlTextWriterEndAttribute();
-    test_ret += test_xmlTextWriterEndCDATA();
-    test_ret += test_xmlTextWriterEndComment();
-    test_ret += test_xmlTextWriterEndDTD();
-    test_ret += test_xmlTextWriterEndDTDAttlist();
-    test_ret += test_xmlTextWriterEndDTDElement();
-    test_ret += test_xmlTextWriterEndDTDEntity();
-    test_ret += test_xmlTextWriterEndDocument();
-    test_ret += test_xmlTextWriterEndElement();
-    test_ret += test_xmlTextWriterEndPI();
-    test_ret += test_xmlTextWriterFlush();
-    test_ret += test_xmlTextWriterFullEndElement();
-    test_ret += test_xmlTextWriterSetIndent();
-    test_ret += test_xmlTextWriterSetIndentString();
-    test_ret += test_xmlTextWriterSetQuoteChar();
-    test_ret += test_xmlTextWriterStartAttribute();
-    test_ret += test_xmlTextWriterStartAttributeNS();
-    test_ret += test_xmlTextWriterStartCDATA();
-    test_ret += test_xmlTextWriterStartComment();
-    test_ret += test_xmlTextWriterStartDTD();
-    test_ret += test_xmlTextWriterStartDTDAttlist();
-    test_ret += test_xmlTextWriterStartDTDElement();
-    test_ret += test_xmlTextWriterStartDTDEntity();
-    test_ret += test_xmlTextWriterStartDocument();
-    test_ret += test_xmlTextWriterStartElement();
-    test_ret += test_xmlTextWriterStartElementNS();
-    test_ret += test_xmlTextWriterStartPI();
-    test_ret += test_xmlTextWriterWriteAttribute();
-    test_ret += test_xmlTextWriterWriteAttributeNS();
-    test_ret += test_xmlTextWriterWriteBase64();
-    test_ret += test_xmlTextWriterWriteBinHex();
-    test_ret += test_xmlTextWriterWriteCDATA();
-    test_ret += test_xmlTextWriterWriteComment();
-    test_ret += test_xmlTextWriterWriteDTD();
-    test_ret += test_xmlTextWriterWriteDTDAttlist();
-    test_ret += test_xmlTextWriterWriteDTDElement();
-    test_ret += test_xmlTextWriterWriteDTDEntity();
-    test_ret += test_xmlTextWriterWriteDTDExternalEntity();
-    test_ret += test_xmlTextWriterWriteDTDExternalEntityContents();
-    test_ret += test_xmlTextWriterWriteDTDInternalEntity();
-    test_ret += test_xmlTextWriterWriteDTDNotation();
-    test_ret += test_xmlTextWriterWriteElement();
-    test_ret += test_xmlTextWriterWriteElementNS();
-    test_ret += test_xmlTextWriterWriteFormatAttribute();
-    test_ret += test_xmlTextWriterWriteFormatAttributeNS();
-    test_ret += test_xmlTextWriterWriteFormatCDATA();
-    test_ret += test_xmlTextWriterWriteFormatComment();
-    test_ret += test_xmlTextWriterWriteFormatDTD();
-    test_ret += test_xmlTextWriterWriteFormatDTDAttlist();
-    test_ret += test_xmlTextWriterWriteFormatDTDElement();
-    test_ret += test_xmlTextWriterWriteFormatDTDInternalEntity();
-    test_ret += test_xmlTextWriterWriteFormatElement();
-    test_ret += test_xmlTextWriterWriteFormatElementNS();
-    test_ret += test_xmlTextWriterWriteFormatPI();
-    test_ret += test_xmlTextWriterWriteFormatRaw();
-    test_ret += test_xmlTextWriterWriteFormatString();
-    test_ret += test_xmlTextWriterWritePI();
-    test_ret += test_xmlTextWriterWriteRaw();
-    test_ret += test_xmlTextWriterWriteRawLen();
-    test_ret += test_xmlTextWriterWriteString();
-    test_ret += test_xmlTextWriterWriteVFormatAttribute();
-    test_ret += test_xmlTextWriterWriteVFormatAttributeNS();
-    test_ret += test_xmlTextWriterWriteVFormatCDATA();
-    test_ret += test_xmlTextWriterWriteVFormatComment();
-    test_ret += test_xmlTextWriterWriteVFormatDTD();
-    test_ret += test_xmlTextWriterWriteVFormatDTDAttlist();
-    test_ret += test_xmlTextWriterWriteVFormatDTDElement();
-    test_ret += test_xmlTextWriterWriteVFormatDTDInternalEntity();
-    test_ret += test_xmlTextWriterWriteVFormatElement();
-    test_ret += test_xmlTextWriterWriteVFormatElementNS();
-    test_ret += test_xmlTextWriterWriteVFormatPI();
-    test_ret += test_xmlTextWriterWriteVFormatRaw();
-    test_ret += test_xmlTextWriterWriteVFormatString();
-
-    if (test_ret != 0)
-       printf("Module xmlwriter: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlXPathCastBooleanToNumber(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    double ret_val;
-    int val; /* a boolean */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_int;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_int(n_val, 0);
-
-        ret_val = xmlXPathCastBooleanToNumber(val);
-        desret_double(ret_val);
-        call_tests++;
-        des_int(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCastBooleanToNumber",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCastBooleanToString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    int val; /* a boolean */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_int;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_int(n_val, 0);
-
-        ret_val = xmlXPathCastBooleanToString(val);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_int(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCastBooleanToString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCastNodeSetToBoolean(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlNodeSetPtr ns; /* a node-set */
-    int n_ns;
-
-    for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) {
-        mem_base = xmlMemBlocks();
-        ns = gen_xmlNodeSetPtr(n_ns, 0);
-
-        ret_val = xmlXPathCastNodeSetToBoolean(ns);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_ns, ns, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCastNodeSetToBoolean",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ns);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCastNodeSetToNumber(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    double ret_val;
-    xmlNodeSetPtr ns; /* a node-set */
-    int n_ns;
-
-    for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) {
-        mem_base = xmlMemBlocks();
-        ns = gen_xmlNodeSetPtr(n_ns, 0);
-
-        ret_val = xmlXPathCastNodeSetToNumber(ns);
-        desret_double(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_ns, ns, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCastNodeSetToNumber",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ns);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCastNodeSetToString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlNodeSetPtr ns; /* a node-set */
-    int n_ns;
-
-    for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) {
-        mem_base = xmlMemBlocks();
-        ns = gen_xmlNodeSetPtr(n_ns, 0);
-
-        ret_val = xmlXPathCastNodeSetToString(ns);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_ns, ns, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCastNodeSetToString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ns);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCastNodeToNumber(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    double ret_val;
-    xmlNodePtr node; /* a node */
-    int n_node;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-
-        ret_val = xmlXPathCastNodeToNumber(node);
-        desret_double(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCastNodeToNumber",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCastNodeToString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlNodePtr node; /* a node */
-    int n_node;
-
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        node = gen_xmlNodePtr(n_node, 0);
-
-        ret_val = xmlXPathCastNodeToString(node);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node, node, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCastNodeToString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCastNumberToBoolean(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    double val; /* a number */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_double;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_double(n_val, 0);
-
-        ret_val = xmlXPathCastNumberToBoolean(val);
-        desret_int(ret_val);
-        call_tests++;
-        des_double(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCastNumberToBoolean",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCastNumberToString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    double val; /* a number */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_double;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_double(n_val, 0);
-
-        ret_val = xmlXPathCastNumberToString(val);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_double(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCastNumberToString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCastStringToBoolean(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlChar * val; /* a string */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_const_xmlChar_ptr(n_val, 0);
-
-        ret_val = xmlXPathCastStringToBoolean((const xmlChar *)val);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCastStringToBoolean",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCastStringToNumber(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    double ret_val;
-    xmlChar * val; /* a string */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_const_xmlChar_ptr(n_val, 0);
-
-        ret_val = xmlXPathCastStringToNumber((const xmlChar *)val);
-        desret_double(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCastStringToNumber",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCastToBoolean(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXPathObjectPtr val; /* an XPath object */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlXPathObjectPtr(n_val, 0);
-
-        ret_val = xmlXPathCastToBoolean(val);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXPathObjectPtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCastToBoolean",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCastToNumber(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    double ret_val;
-    xmlXPathObjectPtr val; /* an XPath object */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlXPathObjectPtr(n_val, 0);
-
-        ret_val = xmlXPathCastToNumber(val);
-        desret_double(ret_val);
-        call_tests++;
-        des_xmlXPathObjectPtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCastToNumber",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCastToString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlXPathObjectPtr val; /* an XPath object */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlXPathObjectPtr(n_val, 0);
-
-        ret_val = xmlXPathCastToString(val);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlXPathObjectPtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCastToString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCmpNodes(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlNodePtr node1; /* the first node */
-    int n_node1;
-    xmlNodePtr node2; /* the second node */
-    int n_node2;
-
-    for (n_node1 = 0;n_node1 < gen_nb_xmlNodePtr;n_node1++) {
-    for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
-        mem_base = xmlMemBlocks();
-        node1 = gen_xmlNodePtr(n_node1, 0);
-        node2 = gen_xmlNodePtr(n_node2, 1);
-
-        ret_val = xmlXPathCmpNodes(node1, node2);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_node1, node1, 0);
-        des_xmlNodePtr(n_node2, node2, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCmpNodes",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_node1);
-            printf(" %d", n_node2);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCompile(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-#ifdef LIBXML_XPATH_ENABLED
-
-#define gen_nb_xmlXPathCompExprPtr 1
-static xmlXPathCompExprPtr gen_xmlXPathCompExprPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlXPathCompExprPtr(int no ATTRIBUTE_UNUSED, xmlXPathCompExprPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-#ifdef LIBXML_XPATH_ENABLED
-
-#define gen_nb_xmlXPathContextPtr 1
-static xmlXPathContextPtr gen_xmlXPathContextPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlXPathContextPtr(int no ATTRIBUTE_UNUSED, xmlXPathContextPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlXPathCompiledEval(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlXPathCompExprPtr comp; /* the compiled XPath expression */
-    int n_comp;
-    xmlXPathContextPtr ctx; /* the XPath context */
-    int n_ctx;
-
-    for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) {
-    for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        comp = gen_xmlXPathCompExprPtr(n_comp, 0);
-        ctx = gen_xmlXPathContextPtr(n_ctx, 1);
-
-        ret_val = xmlXPathCompiledEval(comp, ctx);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlXPathCompExprPtr(n_comp, comp, 0);
-        des_xmlXPathContextPtr(n_ctx, ctx, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCompiledEval",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_comp);
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCompiledEvalToBoolean(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXPathCompExprPtr comp; /* the compiled XPath expression */
-    int n_comp;
-    xmlXPathContextPtr ctxt; /* the XPath context */
-    int n_ctxt;
-
-    for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) {
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        comp = gen_xmlXPathCompExprPtr(n_comp, 0);
-        ctxt = gen_xmlXPathContextPtr(n_ctxt, 1);
-
-        ret_val = xmlXPathCompiledEvalToBoolean(comp, ctxt);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXPathCompExprPtr(n_comp, comp, 0);
-        des_xmlXPathContextPtr(n_ctxt, ctxt, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCompiledEvalToBoolean",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_comp);
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathContextSetCache(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXPathContextPtr ctxt; /* the XPath context */
-    int n_ctxt;
-    int active; /* enables/disables (creates/frees) the cache */
-    int n_active;
-    int value; /* a value with semantics dependant on @options */
-    int n_value;
-    int options; /* options (currently only the value 0 is used) */
-    int n_options;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
-    for (n_active = 0;n_active < gen_nb_int;n_active++) {
-    for (n_value = 0;n_value < gen_nb_int;n_value++) {
-    for (n_options = 0;n_options < gen_nb_int;n_options++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
-        active = gen_int(n_active, 1);
-        value = gen_int(n_value, 2);
-        options = gen_int(n_options, 3);
-
-        ret_val = xmlXPathContextSetCache(ctxt, active, value, options);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_active, active, 1);
-        des_int(n_value, value, 2);
-        des_int(n_options, options, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathContextSetCache",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_active);
-            printf(" %d", n_value);
-            printf(" %d", n_options);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathConvertBoolean(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlXPathObjectPtr val; /* an XPath object */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlXPathObjectPtr(n_val, 0);
-
-        ret_val = xmlXPathConvertBoolean(val);
-        val = NULL;
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlXPathObjectPtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathConvertBoolean",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathConvertNumber(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlXPathObjectPtr val; /* an XPath object */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlXPathObjectPtr(n_val, 0);
-
-        ret_val = xmlXPathConvertNumber(val);
-        val = NULL;
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlXPathObjectPtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathConvertNumber",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathConvertString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlXPathObjectPtr val; /* an XPath object */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlXPathObjectPtr(n_val, 0);
-
-        ret_val = xmlXPathConvertString(val);
-        val = NULL;
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlXPathObjectPtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathConvertString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCtxtCompile(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathEval(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlChar * str; /* the XPath expression */
-    int n_str;
-    xmlXPathContextPtr ctx; /* the XPath context */
-    int n_ctx;
-
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-    for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        str = gen_const_xmlChar_ptr(n_str, 0);
-        ctx = gen_xmlXPathContextPtr(n_ctx, 1);
-
-        ret_val = xmlXPathEval((const xmlChar *)str, ctx);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
-        des_xmlXPathContextPtr(n_ctx, ctx, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathEval",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str);
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathEvalExpression(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlChar * str; /* the XPath expression */
-    int n_str;
-    xmlXPathContextPtr ctxt; /* the XPath context */
-    int n_ctxt;
-
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        str = gen_const_xmlChar_ptr(n_str, 0);
-        ctxt = gen_xmlXPathContextPtr(n_ctxt, 1);
-
-        ret_val = xmlXPathEvalExpression((const xmlChar *)str, ctxt);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
-        des_xmlXPathContextPtr(n_ctxt, ctxt, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathEvalExpression",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str);
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathEvalPredicate(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXPathContextPtr ctxt; /* the XPath context */
-    int n_ctxt;
-    xmlXPathObjectPtr res; /* the Predicate Expression evaluation result */
-    int n_res;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
-    for (n_res = 0;n_res < gen_nb_xmlXPathObjectPtr;n_res++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
-        res = gen_xmlXPathObjectPtr(n_res, 1);
-
-        ret_val = xmlXPathEvalPredicate(ctxt, res);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
-        des_xmlXPathObjectPtr(n_res, res, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathEvalPredicate",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_res);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathInit(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-
-        mem_base = xmlMemBlocks();
-
-        xmlXPathInit();
-        call_tests++;
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathInit",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf("\n");
-        }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathIsInf(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    double val; /* a double value */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_double;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_double(n_val, 0);
-
-        ret_val = xmlXPathIsInf(val);
-        desret_int(ret_val);
-        call_tests++;
-        des_double(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathIsInf",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathIsNaN(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
-    int mem_base;
-    int ret_val;
-    double val; /* a double value */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_double;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_double(n_val, 0);
-
-        ret_val = xmlXPathIsNaN(val);
-        desret_int(ret_val);
-        call_tests++;
-        des_double(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathIsNaN",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNewContext(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNodeSetCreate(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlNodePtr val; /* an initial xmlNodePtr, or NULL */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlNodePtr(n_val, 0);
-
-        ret_val = xmlXPathNodeSetCreate(val);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNodeSetCreate",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathObjectCopy(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlXPathObjectPtr val; /* the original object */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlXPathObjectPtr(n_val, 0);
-
-        ret_val = xmlXPathObjectCopy(val);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlXPathObjectPtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathObjectCopy",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathOrderDocElems(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    long ret_val;
-    xmlDocPtr doc; /* an input document */
-    int n_doc;
-
-    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
-        mem_base = xmlMemBlocks();
-        doc = gen_xmlDocPtr(n_doc, 0);
-
-        ret_val = xmlXPathOrderDocElems(doc);
-        desret_long(ret_val);
-        call_tests++;
-        des_xmlDocPtr(n_doc, doc, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathOrderDocElems",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_doc);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_xpath(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xpath : 30 of 38 functions ...\n");
-    test_ret += test_xmlXPathCastBooleanToNumber();
-    test_ret += test_xmlXPathCastBooleanToString();
-    test_ret += test_xmlXPathCastNodeSetToBoolean();
-    test_ret += test_xmlXPathCastNodeSetToNumber();
-    test_ret += test_xmlXPathCastNodeSetToString();
-    test_ret += test_xmlXPathCastNodeToNumber();
-    test_ret += test_xmlXPathCastNodeToString();
-    test_ret += test_xmlXPathCastNumberToBoolean();
-    test_ret += test_xmlXPathCastNumberToString();
-    test_ret += test_xmlXPathCastStringToBoolean();
-    test_ret += test_xmlXPathCastStringToNumber();
-    test_ret += test_xmlXPathCastToBoolean();
-    test_ret += test_xmlXPathCastToNumber();
-    test_ret += test_xmlXPathCastToString();
-    test_ret += test_xmlXPathCmpNodes();
-    test_ret += test_xmlXPathCompile();
-    test_ret += test_xmlXPathCompiledEval();
-    test_ret += test_xmlXPathCompiledEvalToBoolean();
-    test_ret += test_xmlXPathContextSetCache();
-    test_ret += test_xmlXPathConvertBoolean();
-    test_ret += test_xmlXPathConvertNumber();
-    test_ret += test_xmlXPathConvertString();
-    test_ret += test_xmlXPathCtxtCompile();
-    test_ret += test_xmlXPathEval();
-    test_ret += test_xmlXPathEvalExpression();
-    test_ret += test_xmlXPathEvalPredicate();
-    test_ret += test_xmlXPathInit();
-    test_ret += test_xmlXPathIsInf();
-    test_ret += test_xmlXPathIsNaN();
-    test_ret += test_xmlXPathNewContext();
-    test_ret += test_xmlXPathNodeSetCreate();
-    test_ret += test_xmlXPathObjectCopy();
-    test_ret += test_xmlXPathOrderDocElems();
-
-    if (test_ret != 0)
-       printf("Module xpath: %d errors\n", test_ret);
-    return(test_ret);
-}
-#ifdef LIBXML_XPATH_ENABLED
-
-#define gen_nb_xmlXPathParserContextPtr 1
-static xmlXPathParserContextPtr gen_xmlXPathParserContextPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlXPathParserContextPtr(int no ATTRIBUTE_UNUSED, xmlXPathParserContextPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_valuePop(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* an XPath evaluation context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        ret_val = valuePop(ctxt);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in valuePop",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_valuePush(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXPathParserContextPtr ctxt; /* an XPath evaluation context */
-    int n_ctxt;
-    xmlXPathObjectPtr value; /* the XPath object */
-    int n_value;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        value = gen_xmlXPathObjectPtr(n_value, 1);
-
-        ret_val = valuePush(ctxt, value);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlXPathObjectPtr(n_value, value, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in valuePush",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathAddValues(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        xmlXPathAddValues(ctxt);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathAddValues",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathBooleanFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathBooleanFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathBooleanFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCeilingFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathCeilingFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCeilingFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCompareValues(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int inf; /* less than (1) or greater than (0) */
-    int n_inf;
-    int strict; /* is the comparison strict */
-    int n_strict;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_inf = 0;n_inf < gen_nb_int;n_inf++) {
-    for (n_strict = 0;n_strict < gen_nb_int;n_strict++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        inf = gen_int(n_inf, 1);
-        strict = gen_int(n_strict, 2);
-
-        ret_val = xmlXPathCompareValues(ctxt, inf, strict);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_inf, inf, 1);
-        des_int(n_strict, strict, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCompareValues",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_inf);
-            printf(" %d", n_strict);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathConcatFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathConcatFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathConcatFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathContainsFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathContainsFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathContainsFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathCountFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathCountFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathCountFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathDebugDumpCompExpr(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    FILE * output; /* the FILE * for the output */
-    int n_output;
-    xmlXPathCompExprPtr comp; /* the precompiled XPath expression */
-    int n_comp;
-    int depth; /* the indentation level. */
-    int n_depth;
-
-    for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
-    for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) {
-    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
-        mem_base = xmlMemBlocks();
-        output = gen_FILE_ptr(n_output, 0);
-        comp = gen_xmlXPathCompExprPtr(n_comp, 1);
-        depth = gen_int(n_depth, 2);
-
-        xmlXPathDebugDumpCompExpr(output, comp, depth);
-        call_tests++;
-        des_FILE_ptr(n_output, output, 0);
-        des_xmlXPathCompExprPtr(n_comp, comp, 1);
-        des_int(n_depth, depth, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathDebugDumpCompExpr",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_comp);
-            printf(" %d", n_depth);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathDebugDumpObject(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED)
-    int mem_base;
-    FILE * output; /* the FILE * to dump the output */
-    int n_output;
-    xmlXPathObjectPtr cur; /* the object to inspect */
-    int n_cur;
-    int depth; /* indentation level */
-    int n_depth;
-
-    for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlXPathObjectPtr;n_cur++) {
-    for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
-        mem_base = xmlMemBlocks();
-        output = gen_FILE_ptr(n_output, 0);
-        cur = gen_xmlXPathObjectPtr(n_cur, 1);
-        depth = gen_int(n_depth, 2);
-
-        xmlXPathDebugDumpObject(output, cur, depth);
-        call_tests++;
-        des_FILE_ptr(n_output, output, 0);
-        des_xmlXPathObjectPtr(n_cur, cur, 1);
-        des_int(n_depth, depth, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathDebugDumpObject",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_output);
-            printf(" %d", n_cur);
-            printf(" %d", n_depth);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathDifference(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlNodeSetPtr nodes1; /* a node-set */
-    int n_nodes1;
-    xmlNodeSetPtr nodes2; /* a node-set */
-    int n_nodes2;
-
-    for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
-    for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
-        mem_base = xmlMemBlocks();
-        nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
-        nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
-
-        ret_val = xmlXPathDifference(nodes1, nodes2);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
-        des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathDifference",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_nodes1);
-            printf(" %d", n_nodes2);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathDistinct(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlNodeSetPtr nodes; /* a node-set */
-    int n_nodes;
-
-    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
-        mem_base = xmlMemBlocks();
-        nodes = gen_xmlNodeSetPtr(n_nodes, 0);
-
-        ret_val = xmlXPathDistinct(nodes);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_nodes, nodes, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathDistinct",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_nodes);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathDistinctSorted(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlNodeSetPtr nodes; /* a node-set, sorted by document order */
-    int n_nodes;
-
-    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
-        mem_base = xmlMemBlocks();
-        nodes = gen_xmlNodeSetPtr(n_nodes, 0);
-
-        ret_val = xmlXPathDistinctSorted(nodes);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_nodes, nodes, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathDistinctSorted",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_nodes);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathDivValues(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        xmlXPathDivValues(ctxt);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathDivValues",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathEqualValues(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        ret_val = xmlXPathEqualValues(ctxt);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathEqualValues",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathErr(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* a XPath parser context */
-    int n_ctxt;
-    int error; /* the error code */
-    int n_error;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_error = 0;n_error < gen_nb_int;n_error++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        error = gen_int(n_error, 1);
-
-        xmlXPathErr(ctxt, error);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_error, error, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathErr",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_error);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathEvalExpr(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        xmlXPathEvalExpr(ctxt);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathEvalExpr",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathEvaluatePredicateResult(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    xmlXPathObjectPtr res; /* the Predicate Expression evaluation result */
-    int n_res;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_res = 0;n_res < gen_nb_xmlXPathObjectPtr;n_res++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        res = gen_xmlXPathObjectPtr(n_res, 1);
-
-        ret_val = xmlXPathEvaluatePredicateResult(ctxt, res);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlXPathObjectPtr(n_res, res, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathEvaluatePredicateResult",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_res);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathFalseFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathFalseFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathFalseFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathFloorFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathFloorFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathFloorFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathFunctionLookup(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathFunctionLookupNS(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathHasSameNodes(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlNodeSetPtr nodes1; /* a node-set */
-    int n_nodes1;
-    xmlNodeSetPtr nodes2; /* a node-set */
-    int n_nodes2;
-
-    for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
-    for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
-        mem_base = xmlMemBlocks();
-        nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
-        nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
-
-        ret_val = xmlXPathHasSameNodes(nodes1, nodes2);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
-        des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathHasSameNodes",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_nodes1);
-            printf(" %d", n_nodes2);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathIdFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathIdFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathIdFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathIntersection(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlNodeSetPtr nodes1; /* a node-set */
-    int n_nodes1;
-    xmlNodeSetPtr nodes2; /* a node-set */
-    int n_nodes2;
-
-    for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
-    for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
-        mem_base = xmlMemBlocks();
-        nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
-        nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
-
-        ret_val = xmlXPathIntersection(nodes1, nodes2);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
-        des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathIntersection",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_nodes1);
-            printf(" %d", n_nodes2);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathIsNodeType(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlChar * name; /* a name string */
-    int n_name;
-
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        name = gen_const_xmlChar_ptr(n_name, 0);
-
-        ret_val = xmlXPathIsNodeType((const xmlChar *)name);
-        desret_int(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathIsNodeType",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathLangFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathLangFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathLangFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathLastFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathLastFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathLastFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathLeading(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlNodeSetPtr nodes1; /* a node-set */
-    int n_nodes1;
-    xmlNodeSetPtr nodes2; /* a node-set */
-    int n_nodes2;
-
-    for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
-    for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
-        mem_base = xmlMemBlocks();
-        nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
-        nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
-
-        ret_val = xmlXPathLeading(nodes1, nodes2);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
-        des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathLeading",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_nodes1);
-            printf(" %d", n_nodes2);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathLeadingSorted(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlNodeSetPtr nodes1; /* a node-set, sorted by document order */
-    int n_nodes1;
-    xmlNodeSetPtr nodes2; /* a node-set, sorted by document order */
-    int n_nodes2;
-
-    for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
-    for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
-        mem_base = xmlMemBlocks();
-        nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
-        nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
-
-        ret_val = xmlXPathLeadingSorted(nodes1, nodes2);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
-        des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathLeadingSorted",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_nodes1);
-            printf(" %d", n_nodes2);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathLocalNameFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathLocalNameFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathLocalNameFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathModValues(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        xmlXPathModValues(ctxt);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathModValues",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathMultValues(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        xmlXPathMultValues(ctxt);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathMultValues",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNamespaceURIFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathNamespaceURIFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNamespaceURIFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNewBoolean(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    int val; /* the boolean value */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_int;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_int(n_val, 0);
-
-        ret_val = xmlXPathNewBoolean(val);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_int(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNewBoolean",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNewCString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    char * val; /* the char * value */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_const_char_ptr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_const_char_ptr(n_val, 0);
-
-        ret_val = xmlXPathNewCString((const char *)val);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_const_char_ptr(n_val, (const char *)val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNewCString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNewFloat(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    double val; /* the double value */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_double;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_double(n_val, 0);
-
-        ret_val = xmlXPathNewFloat(val);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_double(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNewFloat",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNewNodeSet(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlNodePtr val; /* the NodePtr value */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlNodePtr(n_val, 0);
-
-        ret_val = xmlXPathNewNodeSet(val);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNewNodeSet",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNewNodeSetList(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlNodeSetPtr val; /* an existing NodeSet */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlNodeSetPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlNodeSetPtr(n_val, 0);
-
-        ret_val = xmlXPathNewNodeSetList(val);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNewNodeSetList",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNewParserContext(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNewString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlChar * val; /* the xmlChar * value */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_const_xmlChar_ptr(n_val, 0);
-
-        ret_val = xmlXPathNewString((const xmlChar *)val);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNewString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNextAncestor(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    xmlNodePtr cur; /* the current node in the traversal */
-    int n_cur;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlXPathNextAncestor(ctxt, cur);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNextAncestor",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNextAncestorOrSelf(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    xmlNodePtr cur; /* the current node in the traversal */
-    int n_cur;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlXPathNextAncestorOrSelf(ctxt, cur);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNextAncestorOrSelf",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNextAttribute(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    xmlNodePtr cur; /* the current attribute in the traversal */
-    int n_cur;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlXPathNextAttribute(ctxt, cur);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNextAttribute",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNextChild(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    xmlNodePtr cur; /* the current node in the traversal */
-    int n_cur;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlXPathNextChild(ctxt, cur);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNextChild",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNextDescendant(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    xmlNodePtr cur; /* the current node in the traversal */
-    int n_cur;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlXPathNextDescendant(ctxt, cur);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNextDescendant",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNextDescendantOrSelf(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    xmlNodePtr cur; /* the current node in the traversal */
-    int n_cur;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlXPathNextDescendantOrSelf(ctxt, cur);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNextDescendantOrSelf",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNextFollowing(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    xmlNodePtr cur; /* the current node in the traversal */
-    int n_cur;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlXPathNextFollowing(ctxt, cur);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNextFollowing",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNextFollowingSibling(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    xmlNodePtr cur; /* the current node in the traversal */
-    int n_cur;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlXPathNextFollowingSibling(ctxt, cur);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNextFollowingSibling",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNextNamespace(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    xmlNodePtr cur; /* the current attribute in the traversal */
-    int n_cur;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlXPathNextNamespace(ctxt, cur);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNextNamespace",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNextParent(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    xmlNodePtr cur; /* the current node in the traversal */
-    int n_cur;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlXPathNextParent(ctxt, cur);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNextParent",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNextPreceding(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    xmlNodePtr cur; /* the current node in the traversal */
-    int n_cur;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlXPathNextPreceding(ctxt, cur);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNextPreceding",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNextPrecedingSibling(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    xmlNodePtr cur; /* the current node in the traversal */
-    int n_cur;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlXPathNextPrecedingSibling(ctxt, cur);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNextPrecedingSibling",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNextSelf(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    xmlNodePtr cur; /* the current node in the traversal */
-    int n_cur;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        cur = gen_xmlNodePtr(n_cur, 1);
-
-        ret_val = xmlXPathNextSelf(ctxt, cur);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_cur, cur, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNextSelf",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_cur);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNodeLeading(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlNodeSetPtr nodes; /* a node-set */
-    int n_nodes;
-    xmlNodePtr node; /* a node */
-    int n_node;
-
-    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        nodes = gen_xmlNodeSetPtr(n_nodes, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-
-        ret_val = xmlXPathNodeLeading(nodes, node);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_nodes, nodes, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNodeLeading",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_nodes);
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNodeLeadingSorted(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlNodeSetPtr nodes; /* a node-set, sorted by document order */
-    int n_nodes;
-    xmlNodePtr node; /* a node */
-    int n_node;
-
-    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        nodes = gen_xmlNodeSetPtr(n_nodes, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-
-        ret_val = xmlXPathNodeLeadingSorted(nodes, node);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_nodes, nodes, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNodeLeadingSorted",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_nodes);
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNodeSetAdd(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlNodeSetPtr cur; /* the initial node set */
-    int n_cur;
-    xmlNodePtr val; /* a new xmlNodePtr */
-    int n_val;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
-    for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodeSetPtr(n_cur, 0);
-        val = gen_xmlNodePtr(n_val, 1);
-
-        ret_val = xmlXPathNodeSetAdd(cur, val);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_cur, cur, 0);
-        des_xmlNodePtr(n_val, val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNodeSetAdd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNodeSetAddNs(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlNodeSetPtr cur; /* the initial node set */
-    int n_cur;
-    xmlNodePtr node; /* the hosting node */
-    int n_node;
-    xmlNsPtr ns; /* a the namespace node */
-    int n_ns;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-    for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodeSetPtr(n_cur, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-        ns = gen_xmlNsPtr(n_ns, 2);
-
-        ret_val = xmlXPathNodeSetAddNs(cur, node, ns);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_cur, cur, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        des_xmlNsPtr(n_ns, ns, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNodeSetAddNs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_node);
-            printf(" %d", n_ns);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNodeSetAddUnique(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlNodeSetPtr cur; /* the initial node set */
-    int n_cur;
-    xmlNodePtr val; /* a new xmlNodePtr */
-    int n_val;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
-    for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodeSetPtr(n_cur, 0);
-        val = gen_xmlNodePtr(n_val, 1);
-
-        ret_val = xmlXPathNodeSetAddUnique(cur, val);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_cur, cur, 0);
-        des_xmlNodePtr(n_val, val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNodeSetAddUnique",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNodeSetContains(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlNodeSetPtr cur; /* the node-set */
-    int n_cur;
-    xmlNodePtr val; /* the node */
-    int n_val;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
-    for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodeSetPtr(n_cur, 0);
-        val = gen_xmlNodePtr(n_val, 1);
-
-        ret_val = xmlXPathNodeSetContains(cur, val);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_cur, cur, 0);
-        des_xmlNodePtr(n_val, val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNodeSetContains",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNodeSetDel(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr cur; /* the initial node set */
-    int n_cur;
-    xmlNodePtr val; /* an xmlNodePtr */
-    int n_val;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
-    for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodeSetPtr(n_cur, 0);
-        val = gen_xmlNodePtr(n_val, 1);
-
-        xmlXPathNodeSetDel(cur, val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_cur, cur, 0);
-        des_xmlNodePtr(n_val, val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNodeSetDel",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNodeSetMerge(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlNodeSetPtr val1; /* the first NodeSet or NULL */
-    int n_val1;
-    xmlNodeSetPtr val2; /* the second NodeSet */
-    int n_val2;
-
-    for (n_val1 = 0;n_val1 < gen_nb_xmlNodeSetPtr;n_val1++) {
-    for (n_val2 = 0;n_val2 < gen_nb_xmlNodeSetPtr;n_val2++) {
-        mem_base = xmlMemBlocks();
-        val1 = gen_xmlNodeSetPtr(n_val1, 0);
-        val2 = gen_xmlNodeSetPtr(n_val2, 1);
-
-        ret_val = xmlXPathNodeSetMerge(val1, val2);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_val1, val1, 0);
-        des_xmlNodeSetPtr(n_val2, val2, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNodeSetMerge",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val1);
-            printf(" %d", n_val2);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNodeSetRemove(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr cur; /* the initial node set */
-    int n_cur;
-    int val; /* the index to remove */
-    int n_val;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
-    for (n_val = 0;n_val < gen_nb_int;n_val++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlNodeSetPtr(n_cur, 0);
-        val = gen_int(n_val, 1);
-
-        xmlXPathNodeSetRemove(cur, val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_cur, cur, 0);
-        des_int(n_val, val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNodeSetRemove",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNodeSetSort(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr set; /* the node set */
-    int n_set;
-
-    for (n_set = 0;n_set < gen_nb_xmlNodeSetPtr;n_set++) {
-        mem_base = xmlMemBlocks();
-        set = gen_xmlNodeSetPtr(n_set, 0);
-
-        xmlXPathNodeSetSort(set);
-        call_tests++;
-        des_xmlNodeSetPtr(n_set, set, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNodeSetSort",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_set);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNodeTrailing(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlNodeSetPtr nodes; /* a node-set */
-    int n_nodes;
-    xmlNodePtr node; /* a node */
-    int n_node;
-
-    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        nodes = gen_xmlNodeSetPtr(n_nodes, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-
-        ret_val = xmlXPathNodeTrailing(nodes, node);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_nodes, nodes, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNodeTrailing",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_nodes);
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNodeTrailingSorted(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlNodeSetPtr nodes; /* a node-set, sorted by document order */
-    int n_nodes;
-    xmlNodePtr node; /* a node */
-    int n_node;
-
-    for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
-        mem_base = xmlMemBlocks();
-        nodes = gen_xmlNodeSetPtr(n_nodes, 0);
-        node = gen_xmlNodePtr(n_node, 1);
-
-        ret_val = xmlXPathNodeTrailingSorted(nodes, node);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_nodes, nodes, 0);
-        des_xmlNodePtr(n_node, node, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNodeTrailingSorted",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_nodes);
-            printf(" %d", n_node);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNormalizeFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathNormalizeFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNormalizeFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNotEqualValues(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        ret_val = xmlXPathNotEqualValues(ctxt);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNotEqualValues",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNotFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathNotFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNotFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNsLookup(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    const xmlChar * ret_val;
-    xmlXPathContextPtr ctxt; /* the XPath context */
-    int n_ctxt;
-    xmlChar * prefix; /* the namespace prefix value */
-    int n_prefix;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
-
-        ret_val = xmlXPathNsLookup(ctxt, (const xmlChar *)prefix);
-        desret_const_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNsLookup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_prefix);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathNumberFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathNumberFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathNumberFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathParseNCName(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        ret_val = xmlXPathParseNCName(ctxt);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathParseNCName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathParseName(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        ret_val = xmlXPathParseName(ctxt);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathParseName",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathPopBoolean(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXPathParserContextPtr ctxt; /* an XPath parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        ret_val = xmlXPathPopBoolean(ctxt);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathPopBoolean",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathPopExternal(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    void * ret_val;
-    xmlXPathParserContextPtr ctxt; /* an XPath parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        ret_val = xmlXPathPopExternal(ctxt);
-        desret_void_ptr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathPopExternal",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathPopNodeSet(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlXPathParserContextPtr ctxt; /* an XPath parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        ret_val = xmlXPathPopNodeSet(ctxt);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathPopNodeSet",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathPopNumber(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    double ret_val;
-    xmlXPathParserContextPtr ctxt; /* an XPath parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        ret_val = xmlXPathPopNumber(ctxt);
-        desret_double(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathPopNumber",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathPopString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlChar * ret_val;
-    xmlXPathParserContextPtr ctxt; /* an XPath parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        ret_val = xmlXPathPopString(ctxt);
-        desret_xmlChar_ptr(ret_val);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathPopString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathPositionFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathPositionFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathPositionFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathRegisterAllFunctions(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathContextPtr ctxt; /* the XPath context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
-
-        xmlXPathRegisterAllFunctions(ctxt);
-        call_tests++;
-        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathRegisterAllFunctions",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathRegisterFunc(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathRegisterFuncLookup(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathRegisterFuncNS(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathRegisterNs(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXPathContextPtr ctxt; /* the XPath context */
-    int n_ctxt;
-    xmlChar * prefix; /* the namespace prefix cannot be NULL or empty string */
-    int n_prefix;
-    xmlChar * ns_uri; /* the namespace name */
-    int n_ns_uri;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
-    for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
-    for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
-        prefix = gen_const_xmlChar_ptr(n_prefix, 1);
-        ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2);
-
-        ret_val = xmlXPathRegisterNs(ctxt, (const xmlChar *)prefix, (const xmlChar *)ns_uri);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
-        des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathRegisterNs",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_prefix);
-            printf(" %d", n_ns_uri);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathRegisterVariable(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXPathContextPtr ctxt; /* the XPath context */
-    int n_ctxt;
-    xmlChar * name; /* the variable name */
-    int n_name;
-    xmlXPathObjectPtr value; /* the variable value or NULL */
-    int n_value;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        value = gen_xmlXPathObjectPtr(n_value, 2);
-
-        ret_val = xmlXPathRegisterVariable(ctxt, (const xmlChar *)name, value);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_xmlXPathObjectPtr(n_value, value, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathRegisterVariable",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_name);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathRegisterVariableLookup(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathRegisterVariableNS(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    int ret_val;
-    xmlXPathContextPtr ctxt; /* the XPath context */
-    int n_ctxt;
-    xmlChar * name; /* the variable name */
-    int n_name;
-    xmlChar * ns_uri; /* the variable namespace URI */
-    int n_ns_uri;
-    xmlXPathObjectPtr value; /* the variable value or NULL */
-    int n_value;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) {
-    for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2);
-        value = gen_xmlXPathObjectPtr(n_value, 3);
-
-        ret_val = xmlXPathRegisterVariableNS(ctxt, (const xmlChar *)name, (const xmlChar *)ns_uri, value);
-        desret_int(ret_val);
-        call_tests++;
-        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2);
-        des_xmlXPathObjectPtr(n_value, value, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathRegisterVariableNS",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_name);
-            printf(" %d", n_ns_uri);
-            printf(" %d", n_value);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathRegisteredFuncsCleanup(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathContextPtr ctxt; /* the XPath context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
-
-        xmlXPathRegisteredFuncsCleanup(ctxt);
-        call_tests++;
-        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathRegisteredFuncsCleanup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathRegisteredNsCleanup(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathContextPtr ctxt; /* the XPath context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
-
-        xmlXPathRegisteredNsCleanup(ctxt);
-        call_tests++;
-        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathRegisteredNsCleanup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathRegisteredVariablesCleanup(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathContextPtr ctxt; /* the XPath context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
-
-        xmlXPathRegisteredVariablesCleanup(ctxt);
-        call_tests++;
-        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathRegisteredVariablesCleanup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathRoot(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        xmlXPathRoot(ctxt);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathRoot",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathRoundFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathRoundFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathRoundFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathStartsWithFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathStartsWithFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathStartsWithFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathStringEvalNumber(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    double ret_val;
-    xmlChar * str; /* A string to scan */
-    int n_str;
-
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-        mem_base = xmlMemBlocks();
-        str = gen_const_xmlChar_ptr(n_str, 0);
-
-        ret_val = xmlXPathStringEvalNumber((const xmlChar *)str);
-        desret_double(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathStringEvalNumber",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathStringFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathStringFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathStringFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathStringLengthFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathStringLengthFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathStringLengthFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathSubValues(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        xmlXPathSubValues(ctxt);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathSubValues",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathSubstringAfterFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathSubstringAfterFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathSubstringAfterFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathSubstringBeforeFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathSubstringBeforeFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathSubstringBeforeFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathSubstringFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathSubstringFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathSubstringFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathSumFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathSumFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathSumFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathTrailing(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlNodeSetPtr nodes1; /* a node-set */
-    int n_nodes1;
-    xmlNodeSetPtr nodes2; /* a node-set */
-    int n_nodes2;
-
-    for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
-    for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
-        mem_base = xmlMemBlocks();
-        nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
-        nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
-
-        ret_val = xmlXPathTrailing(nodes1, nodes2);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
-        des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathTrailing",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_nodes1);
-            printf(" %d", n_nodes2);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathTrailingSorted(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlNodeSetPtr ret_val;
-    xmlNodeSetPtr nodes1; /* a node-set, sorted by document order */
-    int n_nodes1;
-    xmlNodeSetPtr nodes2; /* a node-set, sorted by document order */
-    int n_nodes2;
-
-    for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
-    for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
-        mem_base = xmlMemBlocks();
-        nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
-        nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
-
-        ret_val = xmlXPathTrailingSorted(nodes1, nodes2);
-        desret_xmlNodeSetPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
-        des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathTrailingSorted",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_nodes1);
-            printf(" %d", n_nodes2);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathTranslateFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathTranslateFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathTranslateFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathTrueFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    int nargs; /* the number of arguments */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPathTrueFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathTrueFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathValueFlipSign(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        xmlXPathValueFlipSign(ctxt);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathValueFlipSign",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathVariableLookup(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlXPathContextPtr ctxt; /* the XPath context */
-    int n_ctxt;
-    xmlChar * name; /* the variable name */
-    int n_name;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-
-        ret_val = xmlXPathVariableLookup(ctxt, (const xmlChar *)name);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathVariableLookup",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_name);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathVariableLookupNS(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlXPathContextPtr ctxt; /* the XPath context */
-    int n_ctxt;
-    xmlChar * name; /* the variable name */
-    int n_name;
-    xmlChar * ns_uri; /* the variable namespace URI */
-    int n_ns_uri;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
-    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
-    for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
-        name = gen_const_xmlChar_ptr(n_name, 1);
-        ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2);
-
-        ret_val = xmlXPathVariableLookupNS(ctxt, (const xmlChar *)name, (const xmlChar *)ns_uri);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
-        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
-        des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathVariableLookupNS",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_name);
-            printf(" %d", n_ns_uri);
-            printf("\n");
-        }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathWrapCString(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    char * val; /* the char * value */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_char_ptr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_char_ptr(n_val, 0);
-
-        ret_val = xmlXPathWrapCString(val);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_char_ptr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathWrapCString",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathWrapExternal(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    void * val; /* the user data */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_void_ptr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_void_ptr(n_val, 0);
-
-        ret_val = xmlXPathWrapExternal(val);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_void_ptr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathWrapExternal",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPathWrapNodeSet(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlNodeSetPtr val; /* the NodePtr value */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlNodeSetPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlNodeSetPtr(n_val, 0);
-
-        ret_val = xmlXPathWrapNodeSet(val);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPathWrapNodeSet",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPatherror(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPATH_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
-    int n_ctxt;
-    const char * file; /* the file name */
-    int n_file;
-    int line; /* the line number */
-    int n_line;
-    int no; /* the error number */
-    int n_no;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_file = 0;n_file < gen_nb_filepath;n_file++) {
-    for (n_line = 0;n_line < gen_nb_int;n_line++) {
-    for (n_no = 0;n_no < gen_nb_int;n_no++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        file = gen_filepath(n_file, 1);
-        line = gen_int(n_line, 2);
-        no = gen_int(n_no, 3);
-
-        xmlXPatherror(ctxt, file, line, no);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_filepath(n_file, file, 1);
-        des_int(n_line, line, 2);
-        des_int(n_no, no, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPatherror",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_file);
-            printf(" %d", n_line);
-            printf(" %d", n_no);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_xpathInternals(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xpathInternals : 106 of 117 functions ...\n");
-    test_ret += test_valuePop();
-    test_ret += test_valuePush();
-    test_ret += test_xmlXPathAddValues();
-    test_ret += test_xmlXPathBooleanFunction();
-    test_ret += test_xmlXPathCeilingFunction();
-    test_ret += test_xmlXPathCompareValues();
-    test_ret += test_xmlXPathConcatFunction();
-    test_ret += test_xmlXPathContainsFunction();
-    test_ret += test_xmlXPathCountFunction();
-    test_ret += test_xmlXPathDebugDumpCompExpr();
-    test_ret += test_xmlXPathDebugDumpObject();
-    test_ret += test_xmlXPathDifference();
-    test_ret += test_xmlXPathDistinct();
-    test_ret += test_xmlXPathDistinctSorted();
-    test_ret += test_xmlXPathDivValues();
-    test_ret += test_xmlXPathEqualValues();
-    test_ret += test_xmlXPathErr();
-    test_ret += test_xmlXPathEvalExpr();
-    test_ret += test_xmlXPathEvaluatePredicateResult();
-    test_ret += test_xmlXPathFalseFunction();
-    test_ret += test_xmlXPathFloorFunction();
-    test_ret += test_xmlXPathFunctionLookup();
-    test_ret += test_xmlXPathFunctionLookupNS();
-    test_ret += test_xmlXPathHasSameNodes();
-    test_ret += test_xmlXPathIdFunction();
-    test_ret += test_xmlXPathIntersection();
-    test_ret += test_xmlXPathIsNodeType();
-    test_ret += test_xmlXPathLangFunction();
-    test_ret += test_xmlXPathLastFunction();
-    test_ret += test_xmlXPathLeading();
-    test_ret += test_xmlXPathLeadingSorted();
-    test_ret += test_xmlXPathLocalNameFunction();
-    test_ret += test_xmlXPathModValues();
-    test_ret += test_xmlXPathMultValues();
-    test_ret += test_xmlXPathNamespaceURIFunction();
-    test_ret += test_xmlXPathNewBoolean();
-    test_ret += test_xmlXPathNewCString();
-    test_ret += test_xmlXPathNewFloat();
-    test_ret += test_xmlXPathNewNodeSet();
-    test_ret += test_xmlXPathNewNodeSetList();
-    test_ret += test_xmlXPathNewParserContext();
-    test_ret += test_xmlXPathNewString();
-    test_ret += test_xmlXPathNextAncestor();
-    test_ret += test_xmlXPathNextAncestorOrSelf();
-    test_ret += test_xmlXPathNextAttribute();
-    test_ret += test_xmlXPathNextChild();
-    test_ret += test_xmlXPathNextDescendant();
-    test_ret += test_xmlXPathNextDescendantOrSelf();
-    test_ret += test_xmlXPathNextFollowing();
-    test_ret += test_xmlXPathNextFollowingSibling();
-    test_ret += test_xmlXPathNextNamespace();
-    test_ret += test_xmlXPathNextParent();
-    test_ret += test_xmlXPathNextPreceding();
-    test_ret += test_xmlXPathNextPrecedingSibling();
-    test_ret += test_xmlXPathNextSelf();
-    test_ret += test_xmlXPathNodeLeading();
-    test_ret += test_xmlXPathNodeLeadingSorted();
-    test_ret += test_xmlXPathNodeSetAdd();
-    test_ret += test_xmlXPathNodeSetAddNs();
-    test_ret += test_xmlXPathNodeSetAddUnique();
-    test_ret += test_xmlXPathNodeSetContains();
-    test_ret += test_xmlXPathNodeSetDel();
-    test_ret += test_xmlXPathNodeSetMerge();
-    test_ret += test_xmlXPathNodeSetRemove();
-    test_ret += test_xmlXPathNodeSetSort();
-    test_ret += test_xmlXPathNodeTrailing();
-    test_ret += test_xmlXPathNodeTrailingSorted();
-    test_ret += test_xmlXPathNormalizeFunction();
-    test_ret += test_xmlXPathNotEqualValues();
-    test_ret += test_xmlXPathNotFunction();
-    test_ret += test_xmlXPathNsLookup();
-    test_ret += test_xmlXPathNumberFunction();
-    test_ret += test_xmlXPathParseNCName();
-    test_ret += test_xmlXPathParseName();
-    test_ret += test_xmlXPathPopBoolean();
-    test_ret += test_xmlXPathPopExternal();
-    test_ret += test_xmlXPathPopNodeSet();
-    test_ret += test_xmlXPathPopNumber();
-    test_ret += test_xmlXPathPopString();
-    test_ret += test_xmlXPathPositionFunction();
-    test_ret += test_xmlXPathRegisterAllFunctions();
-    test_ret += test_xmlXPathRegisterFunc();
-    test_ret += test_xmlXPathRegisterFuncLookup();
-    test_ret += test_xmlXPathRegisterFuncNS();
-    test_ret += test_xmlXPathRegisterNs();
-    test_ret += test_xmlXPathRegisterVariable();
-    test_ret += test_xmlXPathRegisterVariableLookup();
-    test_ret += test_xmlXPathRegisterVariableNS();
-    test_ret += test_xmlXPathRegisteredFuncsCleanup();
-    test_ret += test_xmlXPathRegisteredNsCleanup();
-    test_ret += test_xmlXPathRegisteredVariablesCleanup();
-    test_ret += test_xmlXPathRoot();
-    test_ret += test_xmlXPathRoundFunction();
-    test_ret += test_xmlXPathStartsWithFunction();
-    test_ret += test_xmlXPathStringEvalNumber();
-    test_ret += test_xmlXPathStringFunction();
-    test_ret += test_xmlXPathStringLengthFunction();
-    test_ret += test_xmlXPathSubValues();
-    test_ret += test_xmlXPathSubstringAfterFunction();
-    test_ret += test_xmlXPathSubstringBeforeFunction();
-    test_ret += test_xmlXPathSubstringFunction();
-    test_ret += test_xmlXPathSumFunction();
-    test_ret += test_xmlXPathTrailing();
-    test_ret += test_xmlXPathTrailingSorted();
-    test_ret += test_xmlXPathTranslateFunction();
-    test_ret += test_xmlXPathTrueFunction();
-    test_ret += test_xmlXPathValueFlipSign();
-    test_ret += test_xmlXPathVariableLookup();
-    test_ret += test_xmlXPathVariableLookupNS();
-    test_ret += test_xmlXPathWrapCString();
-    test_ret += test_xmlXPathWrapExternal();
-    test_ret += test_xmlXPathWrapNodeSet();
-    test_ret += test_xmlXPatherror();
-
-    if (test_ret != 0)
-       printf("Module xpathInternals: %d errors\n", test_ret);
-    return(test_ret);
-}
-
-static int
-test_xmlXPtrBuildNodeList(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlNodePtr ret_val;
-    xmlXPathObjectPtr obj; /* the XPointer result from the evaluation. */
-    int n_obj;
-
-    for (n_obj = 0;n_obj < gen_nb_xmlXPathObjectPtr;n_obj++) {
-        mem_base = xmlMemBlocks();
-        obj = gen_xmlXPathObjectPtr(n_obj, 0);
-
-        ret_val = xmlXPtrBuildNodeList(obj);
-        desret_xmlNodePtr(ret_val);
-        call_tests++;
-        des_xmlXPathObjectPtr(n_obj, obj, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrBuildNodeList",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_obj);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrEval(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlChar * str; /* the XPointer expression */
-    int n_str;
-    xmlXPathContextPtr ctx; /* the XPointer context */
-    int n_ctx;
-
-    for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
-    for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
-        mem_base = xmlMemBlocks();
-        str = gen_const_xmlChar_ptr(n_str, 0);
-        ctx = gen_xmlXPathContextPtr(n_ctx, 1);
-
-        ret_val = xmlXPtrEval((const xmlChar *)str, ctx);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
-        des_xmlXPathContextPtr(n_ctx, ctx, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrEval",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_str);
-            printf(" %d", n_ctx);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrEvalRangePredicate(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPointer Parser context */
-    int n_ctxt;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-
-        xmlXPtrEvalRangePredicate(ctxt);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrEvalRangePredicate",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-#ifdef LIBXML_XPTR_ENABLED
-
-#define gen_nb_xmlLocationSetPtr 1
-static xmlLocationSetPtr gen_xmlLocationSetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-    return(NULL);
-}
-static void des_xmlLocationSetPtr(int no ATTRIBUTE_UNUSED, xmlLocationSetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
-}
-#endif
-
-
-static int
-test_xmlXPtrLocationSetAdd(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlLocationSetPtr cur; /* the initial range set */
-    int n_cur;
-    xmlXPathObjectPtr val; /* a new xmlXPathObjectPtr */
-    int n_val;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) {
-    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlLocationSetPtr(n_cur, 0);
-        val = gen_xmlXPathObjectPtr(n_val, 1);
-
-        xmlXPtrLocationSetAdd(cur, val);
-        call_tests++;
-        des_xmlLocationSetPtr(n_cur, cur, 0);
-        des_xmlXPathObjectPtr(n_val, val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrLocationSetAdd",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrLocationSetCreate(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrLocationSetDel(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlLocationSetPtr cur; /* the initial range set */
-    int n_cur;
-    xmlXPathObjectPtr val; /* an xmlXPathObjectPtr */
-    int n_val;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) {
-    for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlLocationSetPtr(n_cur, 0);
-        val = gen_xmlXPathObjectPtr(n_val, 1);
-
-        xmlXPtrLocationSetDel(cur, val);
-        call_tests++;
-        des_xmlLocationSetPtr(n_cur, cur, 0);
-        des_xmlXPathObjectPtr(n_val, val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrLocationSetDel",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrLocationSetMerge(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrLocationSetRemove(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlLocationSetPtr cur; /* the initial range set */
-    int n_cur;
-    int val; /* the index to remove */
-    int n_val;
-
-    for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) {
-    for (n_val = 0;n_val < gen_nb_int;n_val++) {
-        mem_base = xmlMemBlocks();
-        cur = gen_xmlLocationSetPtr(n_cur, 0);
-        val = gen_int(n_val, 1);
-
-        xmlXPtrLocationSetRemove(cur, val);
-        call_tests++;
-        des_xmlLocationSetPtr(n_cur, cur, 0);
-        des_int(n_val, val, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrLocationSetRemove",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_cur);
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrNewCollapsedRange(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlNodePtr start; /* the starting and ending node */
-    int n_start;
-
-    for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
-        mem_base = xmlMemBlocks();
-        start = gen_xmlNodePtr(n_start, 0);
-
-        ret_val = xmlXPtrNewCollapsedRange(start);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_start, start, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrNewCollapsedRange",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_start);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrNewContext(void) {
-    int test_ret = 0;
-
-
-    /* missing type support */
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrNewLocationSetNodeSet(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlNodeSetPtr set; /* a node set */
-    int n_set;
-
-    for (n_set = 0;n_set < gen_nb_xmlNodeSetPtr;n_set++) {
-        mem_base = xmlMemBlocks();
-        set = gen_xmlNodeSetPtr(n_set, 0);
-
-        ret_val = xmlXPtrNewLocationSetNodeSet(set);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlNodeSetPtr(n_set, set, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrNewLocationSetNodeSet",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_set);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrNewLocationSetNodes(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlNodePtr start; /* the start NodePtr value */
-    int n_start;
-    xmlNodePtr end; /* the end NodePtr value or NULL */
-    int n_end;
-
-    for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
-    for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
-        mem_base = xmlMemBlocks();
-        start = gen_xmlNodePtr(n_start, 0);
-        end = gen_xmlNodePtr(n_end, 1);
-
-        ret_val = xmlXPtrNewLocationSetNodes(start, end);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_start, start, 0);
-        des_xmlNodePtr(n_end, end, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrNewLocationSetNodes",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_start);
-            printf(" %d", n_end);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrNewRange(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlNodePtr start; /* the starting node */
-    int n_start;
-    int startindex; /* the start index */
-    int n_startindex;
-    xmlNodePtr end; /* the ending point */
-    int n_end;
-    int endindex; /* the ending index */
-    int n_endindex;
-
-    for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
-    for (n_startindex = 0;n_startindex < gen_nb_int;n_startindex++) {
-    for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
-    for (n_endindex = 0;n_endindex < gen_nb_int;n_endindex++) {
-        mem_base = xmlMemBlocks();
-        start = gen_xmlNodePtr(n_start, 0);
-        startindex = gen_int(n_startindex, 1);
-        end = gen_xmlNodePtr(n_end, 2);
-        endindex = gen_int(n_endindex, 3);
-
-        ret_val = xmlXPtrNewRange(start, startindex, end, endindex);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_start, start, 0);
-        des_int(n_startindex, startindex, 1);
-        des_xmlNodePtr(n_end, end, 2);
-        des_int(n_endindex, endindex, 3);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrNewRange",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_start);
-            printf(" %d", n_startindex);
-            printf(" %d", n_end);
-            printf(" %d", n_endindex);
-            printf("\n");
-        }
-    }
-    }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrNewRangeNodeObject(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlNodePtr start; /* the starting node */
-    int n_start;
-    xmlXPathObjectPtr end; /* the ending object */
-    int n_end;
-
-    for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
-    for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) {
-        mem_base = xmlMemBlocks();
-        start = gen_xmlNodePtr(n_start, 0);
-        end = gen_xmlXPathObjectPtr(n_end, 1);
-
-        ret_val = xmlXPtrNewRangeNodeObject(start, end);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_start, start, 0);
-        des_xmlXPathObjectPtr(n_end, end, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrNewRangeNodeObject",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_start);
-            printf(" %d", n_end);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrNewRangeNodePoint(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlNodePtr start; /* the starting node */
-    int n_start;
-    xmlXPathObjectPtr end; /* the ending point */
-    int n_end;
-
-    for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
-    for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) {
-        mem_base = xmlMemBlocks();
-        start = gen_xmlNodePtr(n_start, 0);
-        end = gen_xmlXPathObjectPtr(n_end, 1);
-
-        ret_val = xmlXPtrNewRangeNodePoint(start, end);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_start, start, 0);
-        des_xmlXPathObjectPtr(n_end, end, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrNewRangeNodePoint",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_start);
-            printf(" %d", n_end);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrNewRangeNodes(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlNodePtr start; /* the starting node */
-    int n_start;
-    xmlNodePtr end; /* the ending node */
-    int n_end;
-
-    for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
-    for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
-        mem_base = xmlMemBlocks();
-        start = gen_xmlNodePtr(n_start, 0);
-        end = gen_xmlNodePtr(n_end, 1);
-
-        ret_val = xmlXPtrNewRangeNodes(start, end);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlNodePtr(n_start, start, 0);
-        des_xmlNodePtr(n_end, end, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrNewRangeNodes",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_start);
-            printf(" %d", n_end);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrNewRangePointNode(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlXPathObjectPtr start; /* the starting point */
-    int n_start;
-    xmlNodePtr end; /* the ending node */
-    int n_end;
-
-    for (n_start = 0;n_start < gen_nb_xmlXPathObjectPtr;n_start++) {
-    for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
-        mem_base = xmlMemBlocks();
-        start = gen_xmlXPathObjectPtr(n_start, 0);
-        end = gen_xmlNodePtr(n_end, 1);
-
-        ret_val = xmlXPtrNewRangePointNode(start, end);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlXPathObjectPtr(n_start, start, 0);
-        des_xmlNodePtr(n_end, end, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrNewRangePointNode",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_start);
-            printf(" %d", n_end);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrNewRangePoints(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlXPathObjectPtr start; /* the starting point */
-    int n_start;
-    xmlXPathObjectPtr end; /* the ending point */
-    int n_end;
-
-    for (n_start = 0;n_start < gen_nb_xmlXPathObjectPtr;n_start++) {
-    for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) {
-        mem_base = xmlMemBlocks();
-        start = gen_xmlXPathObjectPtr(n_start, 0);
-        end = gen_xmlXPathObjectPtr(n_end, 1);
-
-        ret_val = xmlXPtrNewRangePoints(start, end);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlXPathObjectPtr(n_start, start, 0);
-        des_xmlXPathObjectPtr(n_end, end, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrNewRangePoints",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_start);
-            printf(" %d", n_end);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrRangeToFunction(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlXPathParserContextPtr ctxt; /* the XPointer Parser context */
-    int n_ctxt;
-    int nargs; /* the number of args */
-    int n_nargs;
-
-    for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
-    for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
-        mem_base = xmlMemBlocks();
-        ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
-        nargs = gen_int(n_nargs, 1);
-
-        xmlXPtrRangeToFunction(ctxt, nargs);
-        call_tests++;
-        des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
-        des_int(n_nargs, nargs, 1);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrRangeToFunction",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_ctxt);
-            printf(" %d", n_nargs);
-            printf("\n");
-        }
-    }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-
-static int
-test_xmlXPtrWrapLocationSet(void) {
-    int test_ret = 0;
-
-#if defined(LIBXML_XPTR_ENABLED)
-    int mem_base;
-    xmlXPathObjectPtr ret_val;
-    xmlLocationSetPtr val; /* the LocationSet value */
-    int n_val;
-
-    for (n_val = 0;n_val < gen_nb_xmlLocationSetPtr;n_val++) {
-        mem_base = xmlMemBlocks();
-        val = gen_xmlLocationSetPtr(n_val, 0);
-
-        ret_val = xmlXPtrWrapLocationSet(val);
-        desret_xmlXPathObjectPtr(ret_val);
-        call_tests++;
-        des_xmlLocationSetPtr(n_val, val, 0);
-        xmlResetLastError();
-        if (mem_base != xmlMemBlocks()) {
-            printf("Leak of %d blocks found in xmlXPtrWrapLocationSet",
-                  xmlMemBlocks() - mem_base);
-           test_ret++;
-            printf(" %d", n_val);
-            printf("\n");
-        }
-    }
-    function_tests++;
-#endif
-
-    return(test_ret);
-}
-
-static int
-test_xpointer(void) {
-    int test_ret = 0;
-
-    if (quiet == 0) printf("Testing xpointer : 17 of 21 functions ...\n");
-    test_ret += test_xmlXPtrBuildNodeList();
-    test_ret += test_xmlXPtrEval();
-    test_ret += test_xmlXPtrEvalRangePredicate();
-    test_ret += test_xmlXPtrLocationSetAdd();
-    test_ret += test_xmlXPtrLocationSetCreate();
-    test_ret += test_xmlXPtrLocationSetDel();
-    test_ret += test_xmlXPtrLocationSetMerge();
-    test_ret += test_xmlXPtrLocationSetRemove();
-    test_ret += test_xmlXPtrNewCollapsedRange();
-    test_ret += test_xmlXPtrNewContext();
-    test_ret += test_xmlXPtrNewLocationSetNodeSet();
-    test_ret += test_xmlXPtrNewLocationSetNodes();
-    test_ret += test_xmlXPtrNewRange();
-    test_ret += test_xmlXPtrNewRangeNodeObject();
-    test_ret += test_xmlXPtrNewRangeNodePoint();
-    test_ret += test_xmlXPtrNewRangeNodes();
-    test_ret += test_xmlXPtrNewRangePointNode();
-    test_ret += test_xmlXPtrNewRangePoints();
-    test_ret += test_xmlXPtrRangeToFunction();
-    test_ret += test_xmlXPtrWrapLocationSet();
-
-    if (test_ret != 0)
-       printf("Module xpointer: %d errors\n", test_ret);
-    return(test_ret);
-}
-static int
-test_module(const char *module) {
-    if (!strcmp(module, "HTMLparser")) return(test_HTMLparser());
-    if (!strcmp(module, "HTMLtree")) return(test_HTMLtree());
-    if (!strcmp(module, "SAX2")) return(test_SAX2());
-    if (!strcmp(module, "c14n")) return(test_c14n());
-    if (!strcmp(module, "catalog")) return(test_catalog());
-    if (!strcmp(module, "chvalid")) return(test_chvalid());
-    if (!strcmp(module, "debugXML")) return(test_debugXML());
-    if (!strcmp(module, "dict")) return(test_dict());
-    if (!strcmp(module, "encoding")) return(test_encoding());
-    if (!strcmp(module, "entities")) return(test_entities());
-    if (!strcmp(module, "hash")) return(test_hash());
-    if (!strcmp(module, "list")) return(test_list());
-    if (!strcmp(module, "nanoftp")) return(test_nanoftp());
-    if (!strcmp(module, "nanohttp")) return(test_nanohttp());
-    if (!strcmp(module, "parser")) return(test_parser());
-    if (!strcmp(module, "parserInternals")) return(test_parserInternals());
-    if (!strcmp(module, "pattern")) return(test_pattern());
-    if (!strcmp(module, "relaxng")) return(test_relaxng());
-    if (!strcmp(module, "schemasInternals")) return(test_schemasInternals());
-    if (!strcmp(module, "schematron")) return(test_schematron());
-    if (!strcmp(module, "tree")) return(test_tree());
-    if (!strcmp(module, "uri")) return(test_uri());
-    if (!strcmp(module, "valid")) return(test_valid());
-    if (!strcmp(module, "xinclude")) return(test_xinclude());
-    if (!strcmp(module, "xmlIO")) return(test_xmlIO());
-    if (!strcmp(module, "xmlautomata")) return(test_xmlautomata());
-    if (!strcmp(module, "xmlerror")) return(test_xmlerror());
-    if (!strcmp(module, "xmlmodule")) return(test_xmlmodule());
-    if (!strcmp(module, "xmlreader")) return(test_xmlreader());
-    if (!strcmp(module, "xmlregexp")) return(test_xmlregexp());
-    if (!strcmp(module, "xmlsave")) return(test_xmlsave());
-    if (!strcmp(module, "xmlschemas")) return(test_xmlschemas());
-    if (!strcmp(module, "xmlschemastypes")) return(test_xmlschemastypes());
-    if (!strcmp(module, "xmlstring")) return(test_xmlstring());
-    if (!strcmp(module, "xmlunicode")) return(test_xmlunicode());
-    if (!strcmp(module, "xmlwriter")) return(test_xmlwriter());
-    if (!strcmp(module, "xpath")) return(test_xpath());
-    if (!strcmp(module, "xpathInternals")) return(test_xpathInternals());
-    if (!strcmp(module, "xpointer")) return(test_xpointer());
-    return(0);
-}
diff --git a/reactos/lib/3rdparty/libxml2/testchar.c b/reactos/lib/3rdparty/libxml2/testchar.c
deleted file mode 100644 (file)
index 0d08792..0000000
+++ /dev/null
@@ -1,617 +0,0 @@
-/**
- * Test the UTF-8 decoding routines
- *
- * author: Daniel Veillard
- * copy: see Copyright for the status of this software.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <libxml/parser.h>
-#include <libxml/parserInternals.h>
-
-#include "buf.h"
-
-int lastError;
-
-static void errorHandler(void *unused, xmlErrorPtr err) {
-    if ((unused == NULL) && (err != NULL) && (lastError == 0)) {
-        lastError = err->code;
-    }
-}
-
-char document1[100] = "<doc>XXXX</doc>";
-char document2[100] = "<doc foo='XXXX'/>";
-
-static void testDocumentRangeByte1(xmlParserCtxtPtr ctxt, char *document,
-                  int len,  char *data, int forbid1, int forbid2) {
-    int i;
-    xmlDocPtr res;
-
-    for (i = 0;i <= 0xFF;i++) {
-       lastError = 0;
-       xmlCtxtReset(ctxt);
-
-        data[0] = i;
-
-       res = xmlReadMemory(document, len, "test", NULL, 0);
-
-       if ((i == forbid1) || (i == forbid2)) {
-           if ((lastError == 0) || (res != NULL))
-               fprintf(stderr,
-                   "Failed to detect invalid char for Byte 0x%02X: %c\n",
-                       i, i);
-       }
-
-       else if ((i == '<') || (i == '&')) {
-           if ((lastError == 0) || (res != NULL))
-               fprintf(stderr,
-                   "Failed to detect illegal char %c for Byte 0x%02X\n", i, i);
-       }
-       else if (((i < 0x20) || (i >= 0x80)) &&
-           (i != 0x9) && (i != 0xA) && (i != 0xD)) {
-           if ((lastError != XML_ERR_INVALID_CHAR) && (res != NULL))
-               fprintf(stderr,
-                   "Failed to detect invalid char for Byte 0x%02X\n", i);
-       }
-       else if (res == NULL) {
-           fprintf(stderr,
-               "Failed to parse valid char for Byte 0x%02X : %c\n", i, i);
-       }
-       if (res != NULL)
-           xmlFreeDoc(res);
-    }
-}
-
-static void testDocumentRangeByte2(xmlParserCtxtPtr ctxt, char *document,
-                  int len,  char *data) {
-    int i, j;
-    xmlDocPtr res;
-
-    for (i = 0x80;i <= 0xFF;i++) {
-    for (j = 0;j <= 0xFF;j++) {
-       lastError = 0;
-       xmlCtxtReset(ctxt);
-
-        data[0] = i;
-        data[1] = j;
-
-       res = xmlReadMemory(document, len, "test", NULL, 0);
-
-       /* if first bit of first char is set, then second bit must too */
-       if ((i & 0x80) && ((i & 0x40) == 0)) {
-           if ((lastError == 0) || (res != NULL))
-               fprintf(stderr,
-               "Failed to detect invalid char for Bytes 0x%02X 0x%02X\n",
-                       i, j);
-       }
-
-       /*
-        * if first bit of first char is set, then second char first
-        * bits must be 10
-        */
-       else if ((i & 0x80) && ((j & 0xC0) != 0x80)) {
-           if ((lastError == 0) || (res != NULL))
-               fprintf(stderr,
-           "Failed to detect invalid char for Bytes 0x%02X 0x%02X\n",
-                       i, j);
-       }
-
-       /*
-        * if using a 2 byte encoding then the value must be greater
-        * than 0x80, i.e. one of bits 5 to 1 of i must be set
-        */
-       else if ((i & 0x80) && ((i & 0x1E) == 0)) {
-           if ((lastError == 0) || (res != NULL))
-               fprintf(stderr,
-           "Failed to detect invalid char for Bytes 0x%02X 0x%02X\n",
-                       i, j);
-       }
-
-       /*
-        * if third bit of first char is set, then the sequence would need
-        * at least 3 bytes, but we give only 2 !
-        */
-       else if ((i & 0xE0) == 0xE0) {
-           if ((lastError == 0) || (res != NULL))
-               fprintf(stderr,
-           "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x00\n",
-                       i, j);
-       }
-
-       /*
-        * We should see no error in remaning cases
-        */
-       else if ((lastError != 0) || (res == NULL)) {
-           fprintf(stderr,
-               "Failed to parse document for Bytes 0x%02X 0x%02X\n", i, j);
-       }
-       if (res != NULL)
-           xmlFreeDoc(res);
-    }
-    }
-}
-
-/**
- * testDocumentRanges:
- *
- * Test the correct UTF8 character parsing in context of XML documents
- * Those are in-context injection tests checking the parser behaviour on
- * edge case values at different point in content, beginning and end of
- * CDATA in text or in attribute values.
- */
-
-static void testDocumentRanges(void) {
-    xmlParserCtxtPtr ctxt;
-    char *data;
-
-    /*
-     * Set up a parsing context using the first document as
-     * the current input source.
-     */
-    ctxt = xmlNewParserCtxt();
-    if (ctxt == NULL) {
-        fprintf(stderr, "Failed to allocate parser context\n");
-       return;
-    }
-
-    printf("testing 1 byte char in document: 1");
-    fflush(stdout);
-    data = &document1[5];
-    data[0] = ' ';
-    data[1] = ' ';
-    data[2] = ' ';
-    data[3] = ' ';
-    /* test 1 byte injection at beginning of area */
-    testDocumentRangeByte1(ctxt, &document1[0], strlen(document1),
-                           data, -1, -1);
-    printf(" 2");
-    fflush(stdout);
-    data[0] = ' ';
-    data[1] = ' ';
-    data[2] = ' ';
-    data[3] = ' ';
-    /* test 1 byte injection at end of area */
-    testDocumentRangeByte1(ctxt, &document1[0], strlen(document1),
-                           data + 3, -1, -1);
-
-    printf(" 3");
-    fflush(stdout);
-    data = &document2[10];
-    data[0] = ' ';
-    data[1] = ' ';
-    data[2] = ' ';
-    data[3] = ' ';
-    /* test 1 byte injection at beginning of area */
-    testDocumentRangeByte1(ctxt, &document2[0], strlen(document2),
-                           data, '\'', -1);
-    printf(" 4");
-    fflush(stdout);
-    data[0] = ' ';
-    data[1] = ' ';
-    data[2] = ' ';
-    data[3] = ' ';
-    /* test 1 byte injection at end of area */
-    testDocumentRangeByte1(ctxt, &document2[0], strlen(document2),
-                           data + 3, '\'', -1);
-    printf(" done\n");
-
-    printf("testing 2 byte char in document: 1");
-    fflush(stdout);
-    data = &document1[5];
-    data[0] = ' ';
-    data[1] = ' ';
-    data[2] = ' ';
-    data[3] = ' ';
-    /* test 2 byte injection at beginning of area */
-    testDocumentRangeByte2(ctxt, &document1[0], strlen(document1),
-                           data);
-    printf(" 2");
-    fflush(stdout);
-    data[0] = ' ';
-    data[1] = ' ';
-    data[2] = ' ';
-    data[3] = ' ';
-    /* test 2 byte injection at end of area */
-    testDocumentRangeByte2(ctxt, &document1[0], strlen(document1),
-                           data + 2);
-
-    printf(" 3");
-    fflush(stdout);
-    data = &document2[10];
-    data[0] = ' ';
-    data[1] = ' ';
-    data[2] = ' ';
-    data[3] = ' ';
-    /* test 2 byte injection at beginning of area */
-    testDocumentRangeByte2(ctxt, &document2[0], strlen(document2),
-                           data);
-    printf(" 4");
-    fflush(stdout);
-    data[0] = ' ';
-    data[1] = ' ';
-    data[2] = ' ';
-    data[3] = ' ';
-    /* test 2 byte injection at end of area */
-    testDocumentRangeByte2(ctxt, &document2[0], strlen(document2),
-                           data + 2);
-    printf(" done\n");
-
-    xmlFreeParserCtxt(ctxt);
-}
-
-static void testCharRangeByte1(xmlParserCtxtPtr ctxt, char *data) {
-    int i = 0;
-    int len, c;
-
-    data[1] = 0;
-    data[2] = 0;
-    data[3] = 0;
-    for (i = 0;i <= 0xFF;i++) {
-        data[0] = i;
-       ctxt->charset = XML_CHAR_ENCODING_UTF8;
-
-       lastError = 0;
-        c = xmlCurrentChar(ctxt, &len);
-       if ((i == 0) || (i >= 0x80)) {
-           /* we must see an error there */
-           if (lastError != XML_ERR_INVALID_CHAR)
-               fprintf(stderr,
-                   "Failed to detect invalid char for Byte 0x%02X\n", i);
-       } else if (i == 0xD) {
-           if ((c != 0xA) || (len != 1))
-               fprintf(stderr, "Failed to convert char for Byte 0x%02X\n", i);
-       } else if ((c != i) || (len != 1)) {
-           fprintf(stderr, "Failed to parse char for Byte 0x%02X\n", i);
-       }
-    }
-}
-
-static void testCharRangeByte2(xmlParserCtxtPtr ctxt, char *data) {
-    int i, j;
-    int len, c;
-
-    data[2] = 0;
-    data[3] = 0;
-    for (i = 0x80;i <= 0xFF;i++) {
-       for (j = 0;j <= 0xFF;j++) {
-           data[0] = i;
-           data[1] = j;
-           ctxt->charset = XML_CHAR_ENCODING_UTF8;
-
-           lastError = 0;
-           c = xmlCurrentChar(ctxt, &len);
-
-           /* if first bit of first char is set, then second bit must too */
-           if ((i & 0x80) && ((i & 0x40) == 0)) {
-               if (lastError != XML_ERR_INVALID_CHAR)
-                   fprintf(stderr,
-                   "Failed to detect invalid char for Bytes 0x%02X 0x%02X\n",
-                           i, j);
-           }
-
-           /*
-            * if first bit of first char is set, then second char first
-            * bits must be 10
-            */
-           else if ((i & 0x80) && ((j & 0xC0) != 0x80)) {
-               if (lastError != XML_ERR_INVALID_CHAR)
-                   fprintf(stderr,
-               "Failed to detect invalid char for Bytes 0x%02X 0x%02X: %d\n",
-                           i, j, c);
-           }
-
-           /*
-            * if using a 2 byte encoding then the value must be greater
-            * than 0x80, i.e. one of bits 5 to 1 of i must be set
-            */
-           else if ((i & 0x80) && ((i & 0x1E) == 0)) {
-               if (lastError != XML_ERR_INVALID_CHAR)
-                   fprintf(stderr,
-               "Failed to detect invalid char for Bytes 0x%02X 0x%02X: %d\n",
-                           i, j, c);
-           }
-
-           /*
-            * if third bit of first char is set, then the sequence would need
-            * at least 3 bytes, but we give only 2 !
-            */
-           else if ((i & 0xE0) == 0xE0) {
-               if (lastError != XML_ERR_INVALID_CHAR)
-                   fprintf(stderr,
-               "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x00\n",
-                           i, j);
-           }
-
-            /*
-            * We should see no error in remaning cases
-            */
-           else if ((lastError != 0) || (len != 2)) {
-               fprintf(stderr,
-                   "Failed to parse char for Bytes 0x%02X 0x%02X\n", i, j);
-           }
-
-            /*
-            * Finally check the value is right
-            */
-           else if (c != (j & 0x3F) + ((i & 0x1F) << 6)) {
-               fprintf(stderr,
-       "Failed to parse char for Bytes 0x%02X 0x%02X: expect %d got %d\n",
-                       i, j, ((j & 0x3F) + ((i & 0x1F) << 6)), c);
-           }
-        }
-    }
-}
-
-static void testCharRangeByte3(xmlParserCtxtPtr ctxt, char *data) {
-    int i, j, k, K;
-    int len, c;
-    unsigned char lows[6] = {0, 0x80, 0x81, 0xC1, 0xFF, 0xBF};
-    int value;
-
-    data[3] = 0;
-    for (i = 0xE0;i <= 0xFF;i++) {
-    for (j = 0;j <= 0xFF;j++) {
-    for (k = 0;k < 6;k++) {
-       data[0] = i;
-       data[1] = j;
-       K = lows[k];
-       data[2] = (char) K;
-       value = (K & 0x3F) + ((j & 0x3F) << 6) + ((i & 0xF) << 12);
-       ctxt->charset = XML_CHAR_ENCODING_UTF8;
-
-       lastError = 0;
-       c = xmlCurrentChar(ctxt, &len);
-
-       /*
-        * if fourth bit of first char is set, then the sequence would need
-        * at least 4 bytes, but we give only 3 !
-        */
-       if ((i & 0xF0) == 0xF0) {
-           if (lastError != XML_ERR_INVALID_CHAR)
-               fprintf(stderr,
-       "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n",
-                       i, j, K, data[3]);
-       }
-
-        /*
-        * The second and the third bytes must start with 10
-        */
-       else if (((j & 0xC0) != 0x80) || ((K & 0xC0) != 0x80)) {
-           if (lastError != XML_ERR_INVALID_CHAR)
-               fprintf(stderr,
-       "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X\n",
-                       i, j, K);
-       }
-
-       /*
-        * if using a 3 byte encoding then the value must be greater
-        * than 0x800, i.e. one of bits 4 to 0 of i must be set or
-        * the 6th byte of data[1] must be set
-        */
-       else if (((i & 0xF) == 0) && ((j & 0x20) == 0)) {
-           if (lastError != XML_ERR_INVALID_CHAR)
-               fprintf(stderr,
-           "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X\n",
-                       i, j, K);
-       }
-
-        /*
-        * There are values in that range that are not allowed in XML-1.0
-        */
-       else if (((value > 0xD7FF) && (value <0xE000)) ||
-                ((value > 0xFFFD) && (value <0x10000))) {
-           if (lastError != XML_ERR_INVALID_CHAR)
-               fprintf(stderr,
-       "Failed to detect invalid char 0x%04X for Bytes 0x%02X 0x%02X 0x%02X\n",
-                       value, i, j, K);
-       }
-
-       /*
-        * We should see no error in remaining cases
-        */
-       else if ((lastError != 0) || (len != 3)) {
-           fprintf(stderr,
-               "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X\n",
-                   i, j, K);
-       }
-
-       /*
-        * Finally check the value is right
-        */
-       else if (c != value) {
-           fprintf(stderr,
-    "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X: expect %d got %d\n",
-               i, j, data[2], value, c);
-       }
-    }
-    }
-    }
-}
-
-static void testCharRangeByte4(xmlParserCtxtPtr ctxt, char *data) {
-    int i, j, k, K, l, L;
-    int len, c;
-    unsigned char lows[6] = {0, 0x80, 0x81, 0xC1, 0xFF, 0xBF};
-    int value;
-
-    data[4] = 0;
-    for (i = 0xF0;i <= 0xFF;i++) {
-    for (j = 0;j <= 0xFF;j++) {
-    for (k = 0;k < 6;k++) {
-    for (l = 0;l < 6;l++) {
-       data[0] = i;
-       data[1] = j;
-       K = lows[k];
-       data[2] = (char) K;
-       L = lows[l];
-       data[3] = (char) L;
-       value = (L & 0x3F) + ((K & 0x3F) << 6) + ((j & 0x3F) << 12) +
-               ((i & 0x7) << 18);
-       ctxt->charset = XML_CHAR_ENCODING_UTF8;
-
-       lastError = 0;
-       c = xmlCurrentChar(ctxt, &len);
-
-       /*
-        * if fifth bit of first char is set, then the sequence would need
-        * at least 5 bytes, but we give only 4 !
-        */
-       if ((i & 0xF8) == 0xF8) {
-           if (lastError != XML_ERR_INVALID_CHAR)
-               fprintf(stderr,
-  "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n",
-                       i, j, K, data[3]);
-       }
-
-        /*
-        * The second, third and fourth bytes must start with 10
-        */
-       else if (((j & 0xC0) != 0x80) || ((K & 0xC0) != 0x80) ||
-                ((L & 0xC0) != 0x80)) {
-           if (lastError != XML_ERR_INVALID_CHAR)
-               fprintf(stderr,
-       "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n",
-                       i, j, K, L);
-       }
-
-       /*
-        * if using a 3 byte encoding then the value must be greater
-        * than 0x10000, i.e. one of bits 3 to 0 of i must be set or
-        * the 6 or 5th byte of j must be set
-        */
-       else if (((i & 0x7) == 0) && ((j & 0x30) == 0)) {
-           if (lastError != XML_ERR_INVALID_CHAR)
-               fprintf(stderr,
-       "Failed to detect invalid char for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n",
-                       i, j, K, L);
-       }
-
-        /*
-        * There are values in that range that are not allowed in XML-1.0
-        */
-       else if (((value > 0xD7FF) && (value <0xE000)) ||
-                ((value > 0xFFFD) && (value <0x10000)) ||
-                (value > 0x10FFFF)) {
-           if (lastError != XML_ERR_INVALID_CHAR)
-               fprintf(stderr,
-"Failed to detect invalid char 0x%04X for Bytes 0x%02X 0x%02X 0x%02X 0x%02X\n",
-                       value, i, j, K, L);
-       }
-
-       /*
-        * We should see no error in remaining cases
-        */
-       else if ((lastError != 0) || (len != 4)) {
-           fprintf(stderr,
-               "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X\n",
-                   i, j, K);
-       }
-
-       /*
-        * Finally check the value is right
-        */
-       else if (c != value) {
-           fprintf(stderr,
-    "Failed to parse char for Bytes 0x%02X 0x%02X 0x%02X: expect %d got %d\n",
-               i, j, data[2], value, c);
-       }
-    }
-    }
-    }
-    }
-}
-
-/**
- * testCharRanges:
- *
- * Test the correct UTF8 character parsing in isolation i.e.
- * not when parsing a full document, this is less expensive and we can
- * cover the full range of UTF-8 chars accepted by XML-1.0
- */
-
-static void testCharRanges(void) {
-    char data[5];
-    xmlParserCtxtPtr ctxt;
-    xmlParserInputBufferPtr buf;
-    xmlParserInputPtr input;
-
-    memset(data, 0, 5);
-
-    /*
-     * Set up a parsing context using the above data buffer as
-     * the current input source.
-     */
-    ctxt = xmlNewParserCtxt();
-    if (ctxt == NULL) {
-        fprintf(stderr, "Failed to allocate parser context\n");
-       return;
-    }
-    buf = xmlParserInputBufferCreateStatic(data, sizeof(data),
-                                           XML_CHAR_ENCODING_NONE);
-    if (buf == NULL) {
-        fprintf(stderr, "Failed to allocate input buffer\n");
-       goto error;
-    }
-    input = xmlNewInputStream(ctxt);
-    if (input == NULL) {
-        xmlFreeParserInputBuffer(buf);
-       goto error;
-    }
-    input->filename = NULL;
-    input->buf = buf;
-    input->cur =
-    input->base = xmlBufContent(input->buf->buffer);
-    input->end = input->base + 4;
-    inputPush(ctxt, input);
-
-    printf("testing char range: 1");
-    fflush(stdout);
-    testCharRangeByte1(ctxt, data);
-    printf(" 2");
-    fflush(stdout);
-    testCharRangeByte2(ctxt, data);
-    printf(" 3");
-    fflush(stdout);
-    testCharRangeByte3(ctxt, data);
-    printf(" 4");
-    fflush(stdout);
-    testCharRangeByte4(ctxt, data);
-    printf(" done\n");
-    fflush(stdout);
-
-error:
-    xmlFreeParserCtxt(ctxt);
-}
-
-int main(void) {
-
-    /*
-     * this initialize the library and check potential ABI mismatches
-     * between the version it was compiled for and the actual shared
-     * library used.
-     */
-    LIBXML_TEST_VERSION
-
-    /*
-     * Catch errors separately
-     */
-
-    xmlSetStructuredErrorFunc(NULL, errorHandler);
-
-    /*
-     * Run the tests
-     */
-    testCharRanges();
-    testDocumentRanges();
-
-    /*
-     * Cleanup function for the XML library.
-     */
-    xmlCleanupParser();
-    /*
-     * this is to debug memory for regression tests
-     */
-    xmlMemoryDump();
-    return(0);
-}
diff --git a/reactos/lib/3rdparty/libxml2/testdict.c b/reactos/lib/3rdparty/libxml2/testdict.c
deleted file mode 100644 (file)
index 4e8581f..0000000
+++ /dev/null
@@ -1,444 +0,0 @@
-#include <string.h>
-#include <libxml/parser.h>
-#include <libxml/dict.h>
-
-/* #define WITH_PRINT */
-
-static const char *seeds1[] = {
-   "a", "b", "c",
-   "d", "e", "f",
-   "g", "h", "i",
-   "j", "k", "l",
-
-   NULL
-};
-
-static const char *seeds2[] = {
-   "m", "n", "o",
-   "p", "q", "r",
-   "s", "t", "u",
-   "v", "w", "x",
-
-   NULL
-};
-
-#define NB_STRINGS_NS 100
-#define NB_STRINGS_MAX 10000
-#define NB_STRINGS_MIN 10
-
-static xmlChar *strings1[NB_STRINGS_MAX];
-static xmlChar *strings2[NB_STRINGS_MAX];
-static const xmlChar *test1[NB_STRINGS_MAX];
-static const xmlChar *test2[NB_STRINGS_MAX];
-static int nbErrors = 0;
-
-static void fill_strings(void) {
-    int i, j, k;
-
-    /*
-     * That's a bit nasty but the output is fine and it doesn't take hours
-     * there is a small but sufficient number of duplicates, and we have
-     * ":xxx" and full QNames in the last NB_STRINGS_NS values
-     */
-    for (i = 0; seeds1[i] != NULL; i++) {
-        strings1[i] = xmlStrdup((const xmlChar *) seeds1[i]);
-       if (strings1[i] == NULL) {
-           fprintf(stderr, "Out of memory while generating strings1\n");
-           exit(1);
-       }
-    }
-    for (j = 0, k = 0;i < NB_STRINGS_MAX - NB_STRINGS_NS;i++,j++) {
-        strings1[i] = xmlStrncatNew(strings1[j], strings1[k], -1);
-       if (strings1[i] == NULL) {
-           fprintf(stderr, "Out of memory while generating strings1\n");
-           exit(1);
-       }
-       if (j >= 50) {
-           j = 0;
-           k++;
-       }
-    }
-    for (j = 0; (j < 50) && (i < NB_STRINGS_MAX); i++, j+=2) {
-        strings1[i] = xmlStrncatNew(strings1[j], (const xmlChar *) ":", -1);
-       if (strings1[i] == NULL) {
-           fprintf(stderr, "Out of memory while generating strings1\n");
-           exit(1);
-       }
-    }
-    for (j = NB_STRINGS_MAX - NB_STRINGS_NS, k = 0;
-         i < NB_STRINGS_MAX;i++,j++) {
-        strings1[i] = xmlStrncatNew(strings1[j], strings1[k], -1);
-       if (strings1[i] == NULL) {
-           fprintf(stderr, "Out of memory while generating strings1\n");
-           exit(1);
-       }
-       k += 3;
-       if (k >= 50) k = 0;
-    }
-
-    /*
-     * Now do the same with the second pool of strings
-     */
-    for (i = 0; seeds2[i] != NULL; i++) {
-        strings2[i] = xmlStrdup((const xmlChar *) seeds2[i]);
-       if (strings2[i] == NULL) {
-           fprintf(stderr, "Out of memory while generating strings2\n");
-           exit(1);
-       }
-    }
-    for (j = 0, k = 0;i < NB_STRINGS_MAX - NB_STRINGS_NS;i++,j++) {
-        strings2[i] = xmlStrncatNew(strings2[j], strings2[k], -1);
-       if (strings2[i] == NULL) {
-           fprintf(stderr, "Out of memory while generating strings2\n");
-           exit(1);
-       }
-       if (j >= 50) {
-           j = 0;
-           k++;
-       }
-    }
-    for (j = 0; (j < 50) && (i < NB_STRINGS_MAX); i++, j+=2) {
-        strings2[i] = xmlStrncatNew(strings2[j], (const xmlChar *) ":", -1);
-       if (strings2[i] == NULL) {
-           fprintf(stderr, "Out of memory while generating strings2\n");
-           exit(1);
-       }
-    }
-    for (j = NB_STRINGS_MAX - NB_STRINGS_NS, k = 0;
-         i < NB_STRINGS_MAX;i++,j++) {
-        strings2[i] = xmlStrncatNew(strings2[j], strings2[k], -1);
-       if (strings2[i] == NULL) {
-           fprintf(stderr, "Out of memory while generating strings2\n");
-           exit(1);
-       }
-       k += 3;
-       if (k >= 50) k = 0;
-    }
-
-}
-
-#ifdef WITH_PRINT
-static void print_strings(void) {
-    int i;
-
-    for (i = 0; i < NB_STRINGS_MAX;i++) {
-        printf("%s\n", strings1[i]);
-    }
-    for (i = 0; i < NB_STRINGS_MAX;i++) {
-        printf("%s\n", strings2[i]);
-    }
-}
-#endif
-
-static void clean_strings(void) {
-    int i;
-
-    for (i = 0; i < NB_STRINGS_MAX; i++) {
-        if (strings1[i] != NULL) /* really should not happen */
-           xmlFree(strings1[i]);
-    }
-    for (i = 0; i < NB_STRINGS_MAX; i++) {
-        if (strings2[i] != NULL) /* really should not happen */
-           xmlFree(strings2[i]);
-    }
-}
-
-/*
- * This tests the sub-dictionary support
- */
-static int run_test2(xmlDictPtr parent) {
-    int i, j;
-    xmlDictPtr dict;
-    int ret = 0;
-    xmlChar prefix[40];
-    xmlChar *cur, *pref;
-    const xmlChar *tmp;
-
-    dict = xmlDictCreateSub(parent);
-    if (dict == NULL) {
-       fprintf(stderr, "Out of memory while creating sub-dictionary\n");
-       exit(1);
-    }
-    memset(test2, 0, sizeof(test2));
-
-    /*
-     * Fill in NB_STRINGS_MIN, at this point the dictionary should not grow
-     * and we allocate all those doing the fast key computations
-     * All the strings are based on a different seeds subset so we know
-     * they are allocated in the main dictionary, not coming from the parent
-     */
-    for (i = 0;i < NB_STRINGS_MIN;i++) {
-        test2[i] = xmlDictLookup(dict, strings2[i], -1);
-       if (test2[i] == NULL) {
-           fprintf(stderr, "Failed lookup for '%s'\n", strings2[i]);
-           ret = 1;
-           nbErrors++;
-       }
-    }
-    j = NB_STRINGS_MAX - NB_STRINGS_NS;
-    /* ":foo" like strings2 */
-    for (i = 0;i < NB_STRINGS_MIN;i++, j++) {
-        test2[j] = xmlDictLookup(dict, strings2[j], xmlStrlen(strings2[j]));
-       if (test2[j] == NULL) {
-           fprintf(stderr, "Failed lookup for '%s'\n", strings2[j]);
-           ret = 1;
-           nbErrors++;
-       }
-    }
-    /* "a:foo" like strings2 */
-    j = NB_STRINGS_MAX - NB_STRINGS_MIN;
-    for (i = 0;i < NB_STRINGS_MIN;i++, j++) {
-        test2[j] = xmlDictLookup(dict, strings2[j], xmlStrlen(strings2[j]));
-       if (test2[j] == NULL) {
-           fprintf(stderr, "Failed lookup for '%s'\n", strings2[j]);
-           ret = 1;
-           nbErrors++;
-       }
-    }
-
-    /*
-     * At this point allocate all the strings
-     * the dictionary will grow in the process, reallocate more string tables
-     * and switch to the better key generator
-     */
-    for (i = 0;i < NB_STRINGS_MAX;i++) {
-        if (test2[i] != NULL)
-           continue;
-       test2[i] = xmlDictLookup(dict, strings2[i], -1);
-       if (test2[i] == NULL) {
-           fprintf(stderr, "Failed lookup for '%s'\n", strings2[i]);
-           ret = 1;
-           nbErrors++;
-       }
-    }
-
-    /*
-     * Now we can start to test things, first that all strings2 belongs to
-     * the dict, and that none of them was actually allocated in the parent
-     */
-    for (i = 0;i < NB_STRINGS_MAX;i++) {
-        if (!xmlDictOwns(dict, test2[i])) {
-           fprintf(stderr, "Failed ownership failure for '%s'\n",
-                   strings2[i]);
-           ret = 1;
-           nbErrors++;
-       }
-        if (xmlDictOwns(parent, test2[i])) {
-           fprintf(stderr, "Failed parent ownership failure for '%s'\n",
-                   strings2[i]);
-           ret = 1;
-           nbErrors++;
-       }
-    }
-
-    /*
-     * Also verify that all strings from the parent are seen from the subdict
-     */
-    for (i = 0;i < NB_STRINGS_MAX;i++) {
-        if (!xmlDictOwns(dict, test1[i])) {
-           fprintf(stderr, "Failed sub-ownership failure for '%s'\n",
-                   strings1[i]);
-           ret = 1;
-           nbErrors++;
-       }
-    }
-
-    /*
-     * Then that another lookup to the string in sub will return the same
-     */
-    for (i = 0;i < NB_STRINGS_MAX;i++) {
-        if (xmlDictLookup(dict, strings2[i], -1) != test2[i]) {
-           fprintf(stderr, "Failed re-lookup check for %d, '%s'\n",
-                   i, strings2[i]);
-           ret = 1;
-           nbErrors++;
-       }
-    }
-    /*
-     * But also that any lookup for a string in the parent will be provided
-     * as in the parent
-     */
-    for (i = 0;i < NB_STRINGS_MAX;i++) {
-        if (xmlDictLookup(dict, strings1[i], -1) != test1[i]) {
-           fprintf(stderr, "Failed parent string lookup check for %d, '%s'\n",
-                   i, strings1[i]);
-           ret = 1;
-           nbErrors++;
-       }
-    }
-
-    /*
-     * check the QName lookups
-     */
-    for (i = NB_STRINGS_MAX - NB_STRINGS_NS;i < NB_STRINGS_MAX;i++) {
-        cur = strings2[i];
-       pref = &prefix[0];
-       while (*cur != ':') *pref++ = *cur++;
-       cur++;
-       *pref = 0;
-       tmp = xmlDictQLookup(dict, &prefix[0], cur);
-       if (xmlDictQLookup(dict, &prefix[0], cur) != test2[i]) {
-           fprintf(stderr, "Failed lookup check for '%s':'%s'\n",
-                   &prefix[0], cur);
-            ret = 1;
-           nbErrors++;
-       }
-    }
-    /*
-     * check the QName lookups for strings from the parent
-     */
-    for (i = NB_STRINGS_MAX - NB_STRINGS_NS;i < NB_STRINGS_MAX;i++) {
-        cur = strings1[i];
-       pref = &prefix[0];
-       while (*cur != ':') *pref++ = *cur++;
-       cur++;
-       *pref = 0;
-       tmp = xmlDictQLookup(dict, &prefix[0], cur);
-       if (xmlDictQLookup(dict, &prefix[0], cur) != test1[i]) {
-           fprintf(stderr, "Failed parent lookup check for '%s':'%s'\n",
-                   &prefix[0], cur);
-            ret = 1;
-           nbErrors++;
-       }
-    }
-
-    xmlDictFree(dict);
-    return(ret);
-}
-
-/*
- * Test a single dictionary
- */
-static int run_test1(void) {
-    int i, j;
-    xmlDictPtr dict;
-    int ret = 0;
-    xmlChar prefix[40];
-    xmlChar *cur, *pref;
-    const xmlChar *tmp;
-
-    dict = xmlDictCreate();
-    if (dict == NULL) {
-       fprintf(stderr, "Out of memory while creating dictionary\n");
-       exit(1);
-    }
-    memset(test1, 0, sizeof(test1));
-
-    /*
-     * Fill in NB_STRINGS_MIN, at this point the dictionary should not grow
-     * and we allocate all those doing the fast key computations
-     */
-    for (i = 0;i < NB_STRINGS_MIN;i++) {
-        test1[i] = xmlDictLookup(dict, strings1[i], -1);
-       if (test1[i] == NULL) {
-           fprintf(stderr, "Failed lookup for '%s'\n", strings1[i]);
-           ret = 1;
-           nbErrors++;
-       }
-    }
-    j = NB_STRINGS_MAX - NB_STRINGS_NS;
-    /* ":foo" like strings1 */
-    for (i = 0;i < NB_STRINGS_MIN;i++, j++) {
-        test1[j] = xmlDictLookup(dict, strings1[j], xmlStrlen(strings1[j]));
-       if (test1[j] == NULL) {
-           fprintf(stderr, "Failed lookup for '%s'\n", strings1[j]);
-           ret = 1;
-           nbErrors++;
-       }
-    }
-    /* "a:foo" like strings1 */
-    j = NB_STRINGS_MAX - NB_STRINGS_MIN;
-    for (i = 0;i < NB_STRINGS_MIN;i++, j++) {
-        test1[j] = xmlDictLookup(dict, strings1[j], xmlStrlen(strings1[j]));
-       if (test1[j] == NULL) {
-           fprintf(stderr, "Failed lookup for '%s'\n", strings1[j]);
-           ret = 1;
-           nbErrors++;
-       }
-    }
-
-    /*
-     * At this point allocate all the strings
-     * the dictionary will grow in the process, reallocate more string tables
-     * and switch to the better key generator
-     */
-    for (i = 0;i < NB_STRINGS_MAX;i++) {
-        if (test1[i] != NULL)
-           continue;
-       test1[i] = xmlDictLookup(dict, strings1[i], -1);
-       if (test1[i] == NULL) {
-           fprintf(stderr, "Failed lookup for '%s'\n", strings1[i]);
-           ret = 1;
-           nbErrors++;
-       }
-    }
-
-    /*
-     * Now we can start to test things, first that all strings1 belongs to
-     * the dict
-     */
-    for (i = 0;i < NB_STRINGS_MAX;i++) {
-        if (!xmlDictOwns(dict, test1[i])) {
-           fprintf(stderr, "Failed ownership failure for '%s'\n",
-                   strings1[i]);
-           ret = 1;
-           nbErrors++;
-       }
-    }
-
-    /*
-     * Then that another lookup to the string will return the same
-     */
-    for (i = 0;i < NB_STRINGS_MAX;i++) {
-        if (xmlDictLookup(dict, strings1[i], -1) != test1[i]) {
-           fprintf(stderr, "Failed re-lookup check for %d, '%s'\n",
-                   i, strings1[i]);
-           ret = 1;
-           nbErrors++;
-       }
-    }
-
-    /*
-     * More complex, check the QName lookups
-     */
-    for (i = NB_STRINGS_MAX - NB_STRINGS_NS;i < NB_STRINGS_MAX;i++) {
-        cur = strings1[i];
-       pref = &prefix[0];
-       while (*cur != ':') *pref++ = *cur++;
-       cur++;
-       *pref = 0;
-       tmp = xmlDictQLookup(dict, &prefix[0], cur);
-       if (xmlDictQLookup(dict, &prefix[0], cur) != test1[i]) {
-           fprintf(stderr, "Failed lookup check for '%s':'%s'\n",
-                   &prefix[0], cur);
-            ret = 1;
-           nbErrors++;
-       }
-    }
-
-    run_test2(dict);
-
-    xmlDictFree(dict);
-    return(ret);
-}
-
-int main(void)
-{
-    int ret;
-
-    LIBXML_TEST_VERSION
-    fill_strings();
-#ifdef WITH_PRINT
-    print_strings();
-#endif
-    ret = run_test1();
-    if (ret == 0) {
-        printf("dictionary tests succeeded %d strings\n", 2 * NB_STRINGS_MAX);
-    } else {
-        printf("dictionary tests failed with %d errors\n", nbErrors);
-    }
-    clean_strings();
-    xmlCleanupParser();
-    xmlMemoryDump();
-    return(ret);
-}
diff --git a/reactos/lib/3rdparty/libxml2/testdso.c b/reactos/lib/3rdparty/libxml2/testdso.c
deleted file mode 100644 (file)
index bd4ff08..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdio.h>
-
-#define IN_LIBXML
-#include "libxml/xmlexports.h"
-
-XMLPUBFUN int hello_world(void);
-
-int hello_world(void)
-{
-  printf("Success!\n");
-  return 0;
-}
diff --git a/reactos/lib/3rdparty/libxml2/testlimits.c b/reactos/lib/3rdparty/libxml2/testlimits.c
deleted file mode 100644 (file)
index 7ee6fb9..0000000
+++ /dev/null
@@ -1,1634 +0,0 @@
-/*
- * testlimits.c: C program to run libxml2 regression tests checking various
- *       limits in document size. Will consume a lot of RAM and CPU cycles
- *
- * To compile on Unixes:
- * cc -o testlimits `xml2-config --cflags` testlimits.c `xml2-config --libs` -lpthread
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#ifdef HAVE_CONFIG_H
-#include "libxml.h"
-#else
-#include <stdio.h>
-#endif
-
-#if !defined(_WIN32) || defined(__CYGWIN__)
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <time.h>
-
-#include <libxml/parser.h>
-#include <libxml/parserInternals.h>
-#include <libxml/tree.h>
-#include <libxml/uri.h>
-#ifdef LIBXML_READER_ENABLED
-#include <libxml/xmlreader.h>
-#endif
-
-static int verbose = 0;
-static int tests_quiet = 0;
-
-/************************************************************************
- *                                                                     *
- *             time handling                                           *
- *                                                                     *
- ************************************************************************/
-
-/* maximum time for one parsing before declaring a timeout */
-#define MAX_TIME 2 /* seconds */
-
-static clock_t t0;
-int timeout = 0;
-
-static void reset_timout(void) {
-    timeout = 0;
-    t0 = clock();
-}
-
-static int check_time(void) {
-    clock_t tnow = clock();
-    if (((tnow - t0) / CLOCKS_PER_SEC) > MAX_TIME) {
-        timeout = 1;
-        return(0);
-    }
-    return(1);
-}
-
-/************************************************************************
- *                                                                     *
- *             Huge document generator                                 *
- *                                                                     *
- ************************************************************************/
-
-#include <libxml/xmlIO.h>
-
-/*
- * Huge documents are built using fixed start and end chunks
- * and filling between the two an unconventional amount of char data
- */
-typedef struct hugeTest hugeTest;
-typedef hugeTest *hugeTestPtr;
-struct hugeTest {
-    const char *description;
-    const char *name;
-    const char *start;
-    const char *end;
-};
-
-static struct hugeTest hugeTests[] = {
-    { "Huge text node", "huge:textNode", "<foo>", "</foo>" },
-    { "Huge attribute node", "huge:attrNode", "<foo bar='", "'/>" },
-    { "Huge comment node", "huge:commentNode", "<foo><!--", "--></foo>" },
-    { "Huge PI node", "huge:piNode", "<foo><?bar ", "?></foo>" },
-};
-
-static const char *current;
-static int rlen;
-static unsigned int currentTest = 0;
-static int instate = 0;
-
-/**
- * hugeMatch:
- * @URI: an URI to test
- *
- * Check for an huge: query
- *
- * Returns 1 if yes and 0 if another Input module should be used
- */
-static int
-hugeMatch(const char * URI) {
-    if ((URI != NULL) && (!strncmp(URI, "huge:", 5)))
-        return(1);
-    return(0);
-}
-
-/**
- * hugeOpen:
- * @URI: an URI to test
- *
- * Return a pointer to the huge: query handler, in this example simply
- * the current pointer...
- *
- * Returns an Input context or NULL in case or error
- */
-static void *
-hugeOpen(const char * URI) {
-    if ((URI == NULL) || (strncmp(URI, "huge:", 5)))
-        return(NULL);
-
-    for (currentTest = 0;currentTest < sizeof(hugeTests)/sizeof(hugeTests[0]);
-         currentTest++)
-         if (!strcmp(hugeTests[currentTest].name, URI))
-             goto found;
-
-    return(NULL);
-
-found:
-    rlen = strlen(hugeTests[currentTest].start);
-    current = hugeTests[currentTest].start;
-    instate = 0;
-    return((void *) current);
-}
-
-/**
- * hugeClose:
- * @context: the read context
- *
- * Close the huge: query handler
- *
- * Returns 0 or -1 in case of error
- */
-static int
-hugeClose(void * context) {
-    if (context == NULL) return(-1);
-    fprintf(stderr, "\n");
-    return(0);
-}
-
-#define CHUNK 4096
-
-char filling[CHUNK + 1];
-
-static void fillFilling(void) {
-    int i;
-
-    for (i = 0;i < CHUNK;i++) {
-        filling[i] = 'a';
-    }
-    filling[CHUNK] = 0;
-}
-
-size_t maxlen = 64 * 1024 * 1024;
-size_t curlen = 0;
-size_t dotlen;
-
-/**
- * hugeRead:
- * @context: the read context
- * @buffer: where to store data
- * @len: number of bytes to read
- *
- * Implement an huge: query read.
- *
- * Returns the number of bytes read or -1 in case of error
- */
-static int
-hugeRead(void *context, char *buffer, int len)
-{
-    if ((context == NULL) || (buffer == NULL) || (len < 0))
-        return (-1);
-
-    if (instate == 0) {
-        if (len >= rlen) {
-            len = rlen;
-            rlen = 0;
-            memcpy(buffer, current, len);
-            instate = 1;
-            curlen = 0;
-            dotlen = maxlen / 10;
-        } else {
-            memcpy(buffer, current, len);
-            rlen -= len;
-            current += len;
-        }
-    } else if (instate == 2) {
-        if (len >= rlen) {
-            len = rlen;
-            rlen = 0;
-            memcpy(buffer, current, len);
-            instate = 3;
-            curlen = 0;
-        } else {
-            memcpy(buffer, current, len);
-            rlen -= len;
-            current += len;
-        }
-    } else if (instate == 1) {
-        if (len > CHUNK) len = CHUNK;
-        memcpy(buffer, &filling[0], len);
-        curlen += len;
-        if (curlen >= maxlen) {
-            rlen = strlen(hugeTests[currentTest].end);
-            current = hugeTests[currentTest].end;
-            instate = 2;
-       } else {
-            if (curlen > dotlen) {
-                fprintf(stderr, ".");
-                dotlen += maxlen / 10;
-            }
-        }
-    } else
-      len = 0;
-    return (len);
-}
-
-/************************************************************************
- *                                                                     *
- *             Crazy document generator                                *
- *                                                                     *
- ************************************************************************/
-
-unsigned int crazy_indx = 0;
-
-const char *crazy = "<?xml version='1.0' encoding='UTF-8'?>\
-<?tst ?>\
-<!-- tst -->\
-<!DOCTYPE foo [\
-<?tst ?>\
-<!-- tst -->\
-<!ELEMENT foo (#PCDATA)>\
-<!ELEMENT p (#PCDATA|emph)* >\
-]>\
-<?tst ?>\
-<!-- tst -->\
-<foo bar='foo'>\
-<?tst ?>\
-<!-- tst -->\
-foo\
-<![CDATA[ ]]>\
-</foo>\
-<?tst ?>\
-<!-- tst -->";
-
-/**
- * crazyMatch:
- * @URI: an URI to test
- *
- * Check for a crazy: query
- *
- * Returns 1 if yes and 0 if another Input module should be used
- */
-static int
-crazyMatch(const char * URI) {
-    if ((URI != NULL) && (!strncmp(URI, "crazy:", 6)))
-        return(1);
-    return(0);
-}
-
-/**
- * crazyOpen:
- * @URI: an URI to test
- *
- * Return a pointer to the crazy: query handler, in this example simply
- * the current pointer...
- *
- * Returns an Input context or NULL in case or error
- */
-static void *
-crazyOpen(const char * URI) {
-    if ((URI == NULL) || (strncmp(URI, "crazy:", 6)))
-        return(NULL);
-
-    if (crazy_indx > strlen(crazy))
-        return(NULL);
-    reset_timout();
-    rlen = crazy_indx;
-    current = &crazy[0];
-    instate = 0;
-    return((void *) current);
-}
-
-/**
- * crazyClose:
- * @context: the read context
- *
- * Close the crazy: query handler
- *
- * Returns 0 or -1 in case of error
- */
-static int
-crazyClose(void * context) {
-    if (context == NULL) return(-1);
-    return(0);
-}
-
-
-/**
- * crazyRead:
- * @context: the read context
- * @buffer: where to store data
- * @len: number of bytes to read
- *
- * Implement an crazy: query read.
- *
- * Returns the number of bytes read or -1 in case of error
- */
-static int
-crazyRead(void *context, char *buffer, int len)
-{
-    if ((context == NULL) || (buffer == NULL) || (len < 0))
-        return (-1);
-
-    if ((check_time() <= 0) && (instate == 1)) {
-        fprintf(stderr, "\ntimeout in crazy(%d)\n", crazy_indx);
-        rlen = strlen(crazy) - crazy_indx;
-        current = &crazy[crazy_indx];
-        instate = 2;
-    }
-    if (instate == 0) {
-        if (len >= rlen) {
-            len = rlen;
-            rlen = 0;
-            memcpy(buffer, current, len);
-            instate = 1;
-            curlen = 0;
-        } else {
-            memcpy(buffer, current, len);
-            rlen -= len;
-            current += len;
-        }
-    } else if (instate == 2) {
-        if (len >= rlen) {
-            len = rlen;
-            rlen = 0;
-            memcpy(buffer, current, len);
-            instate = 3;
-            curlen = 0;
-        } else {
-            memcpy(buffer, current, len);
-            rlen -= len;
-            current += len;
-        }
-    } else if (instate == 1) {
-        if (len > CHUNK) len = CHUNK;
-        memcpy(buffer, &filling[0], len);
-        curlen += len;
-        if (curlen >= maxlen) {
-            rlen = strlen(crazy) - crazy_indx;
-            current = &crazy[crazy_indx];
-            instate = 2;
-        }
-    } else
-      len = 0;
-    return (len);
-}
-/************************************************************************
- *                                                                     *
- *             Libxml2 specific routines                               *
- *                                                                     *
- ************************************************************************/
-
-static int nb_tests = 0;
-static int nb_errors = 0;
-static int nb_leaks = 0;
-static int extraMemoryFromResolver = 0;
-
-/*
- * We need to trap calls to the resolver to not account memory for the catalog
- * which is shared to the current running test. We also don't want to have
- * network downloads modifying tests.
- */
-static xmlParserInputPtr
-testExternalEntityLoader(const char *URL, const char *ID,
-                        xmlParserCtxtPtr ctxt) {
-    xmlParserInputPtr ret;
-    int memused = xmlMemUsed();
-
-    ret = xmlNoNetExternalEntityLoader(URL, ID, ctxt);
-    extraMemoryFromResolver += xmlMemUsed() - memused;
-
-    return(ret);
-}
-
-/*
- * Trapping the error messages at the generic level to grab the equivalent of
- * stderr messages on CLI tools.
- */
-static char testErrors[32769];
-static int testErrorsSize = 0;
-
-static void XMLCDECL
-channel(void *ctx  ATTRIBUTE_UNUSED, const char *msg, ...) {
-    va_list args;
-    int res;
-
-    if (testErrorsSize >= 32768)
-        return;
-    va_start(args, msg);
-    res = vsnprintf(&testErrors[testErrorsSize],
-                    32768 - testErrorsSize,
-                   msg, args);
-    va_end(args);
-    if (testErrorsSize + res >= 32768) {
-        /* buffer is full */
-       testErrorsSize = 32768;
-       testErrors[testErrorsSize] = 0;
-    } else {
-        testErrorsSize += res;
-    }
-    testErrors[testErrorsSize] = 0;
-}
-
-/**
- * xmlParserPrintFileContext:
- * @input:  an xmlParserInputPtr input
- *
- * Displays current context within the input content for error tracking
- */
-
-static void
-xmlParserPrintFileContextInternal(xmlParserInputPtr input ,
-               xmlGenericErrorFunc chanl, void *data ) {
-    const xmlChar *cur, *base;
-    unsigned int n, col;       /* GCC warns if signed, because compared with sizeof() */
-    xmlChar  content[81]; /* space for 80 chars + line terminator */
-    xmlChar *ctnt;
-
-    if (input == NULL) return;
-    cur = input->cur;
-    base = input->base;
-    /* skip backwards over any end-of-lines */
-    while ((cur > base) && ((*(cur) == '\n') || (*(cur) == '\r'))) {
-       cur--;
-    }
-    n = 0;
-    /* search backwards for beginning-of-line (to max buff size) */
-    while ((n++ < (sizeof(content)-1)) && (cur > base) &&
-   (*(cur) != '\n') && (*(cur) != '\r'))
-        cur--;
-    if ((*(cur) == '\n') || (*(cur) == '\r')) cur++;
-    /* calculate the error position in terms of the current position */
-    col = input->cur - cur;
-    /* search forward for end-of-line (to max buff size) */
-    n = 0;
-    ctnt = content;
-    /* copy selected text to our buffer */
-    while ((*cur != 0) && (*(cur) != '\n') &&
-   (*(cur) != '\r') && (n < sizeof(content)-1)) {
-               *ctnt++ = *cur++;
-       n++;
-    }
-    *ctnt = 0;
-    /* print out the selected text */
-    chanl(data ,"%s\n", content);
-    /* create blank line with problem pointer */
-    n = 0;
-    ctnt = content;
-    /* (leave buffer space for pointer + line terminator) */
-    while ((n<col) && (n++ < sizeof(content)-2) && (*ctnt != 0)) {
-       if (*(ctnt) != '\t')
-           *(ctnt) = ' ';
-       ctnt++;
-    }
-    *ctnt++ = '^';
-    *ctnt = 0;
-    chanl(data ,"%s\n", content);
-}
-
-static void
-testStructuredErrorHandler(void *ctx  ATTRIBUTE_UNUSED, xmlErrorPtr err) {
-    char *file = NULL;
-    int line = 0;
-    int code = -1;
-    int domain;
-    void *data = NULL;
-    const char *str;
-    const xmlChar *name = NULL;
-    xmlNodePtr node;
-    xmlErrorLevel level;
-    xmlParserInputPtr input = NULL;
-    xmlParserInputPtr cur = NULL;
-    xmlParserCtxtPtr ctxt = NULL;
-
-    if (err == NULL)
-        return;
-
-    file = err->file;
-    line = err->line;
-    code = err->code;
-    domain = err->domain;
-    level = err->level;
-    node = err->node;
-    if ((domain == XML_FROM_PARSER) || (domain == XML_FROM_HTML) ||
-        (domain == XML_FROM_DTD) || (domain == XML_FROM_NAMESPACE) ||
-       (domain == XML_FROM_IO) || (domain == XML_FROM_VALID)) {
-       ctxt = err->ctxt;
-    }
-    str = err->message;
-
-    if (code == XML_ERR_OK)
-        return;
-
-    if ((node != NULL) && (node->type == XML_ELEMENT_NODE))
-        name = node->name;
-
-    /*
-     * Maintain the compatibility with the legacy error handling
-     */
-    if (ctxt != NULL) {
-        input = ctxt->input;
-        if ((input != NULL) && (input->filename == NULL) &&
-            (ctxt->inputNr > 1)) {
-            cur = input;
-            input = ctxt->inputTab[ctxt->inputNr - 2];
-        }
-        if (input != NULL) {
-            if (input->filename)
-                channel(data, "%s:%d: ", input->filename, input->line);
-            else if ((line != 0) && (domain == XML_FROM_PARSER))
-                channel(data, "Entity: line %d: ", input->line);
-        }
-    } else {
-        if (file != NULL)
-            channel(data, "%s:%d: ", file, line);
-        else if ((line != 0) && (domain == XML_FROM_PARSER))
-            channel(data, "Entity: line %d: ", line);
-    }
-    if (name != NULL) {
-        channel(data, "element %s: ", name);
-    }
-    if (code == XML_ERR_OK)
-        return;
-    switch (domain) {
-        case XML_FROM_PARSER:
-            channel(data, "parser ");
-            break;
-        case XML_FROM_NAMESPACE:
-            channel(data, "namespace ");
-            break;
-        case XML_FROM_DTD:
-        case XML_FROM_VALID:
-            channel(data, "validity ");
-            break;
-        case XML_FROM_HTML:
-            channel(data, "HTML parser ");
-            break;
-        case XML_FROM_MEMORY:
-            channel(data, "memory ");
-            break;
-        case XML_FROM_OUTPUT:
-            channel(data, "output ");
-            break;
-        case XML_FROM_IO:
-            channel(data, "I/O ");
-            break;
-        case XML_FROM_XINCLUDE:
-            channel(data, "XInclude ");
-            break;
-        case XML_FROM_XPATH:
-            channel(data, "XPath ");
-            break;
-        case XML_FROM_XPOINTER:
-            channel(data, "parser ");
-            break;
-        case XML_FROM_REGEXP:
-            channel(data, "regexp ");
-            break;
-        case XML_FROM_MODULE:
-            channel(data, "module ");
-            break;
-        case XML_FROM_SCHEMASV:
-            channel(data, "Schemas validity ");
-            break;
-        case XML_FROM_SCHEMASP:
-            channel(data, "Schemas parser ");
-            break;
-        case XML_FROM_RELAXNGP:
-            channel(data, "Relax-NG parser ");
-            break;
-        case XML_FROM_RELAXNGV:
-            channel(data, "Relax-NG validity ");
-            break;
-        case XML_FROM_CATALOG:
-            channel(data, "Catalog ");
-            break;
-        case XML_FROM_C14N:
-            channel(data, "C14N ");
-            break;
-        case XML_FROM_XSLT:
-            channel(data, "XSLT ");
-            break;
-        default:
-            break;
-    }
-    if (code == XML_ERR_OK)
-        return;
-    switch (level) {
-        case XML_ERR_NONE:
-            channel(data, ": ");
-            break;
-        case XML_ERR_WARNING:
-            channel(data, "warning : ");
-            break;
-        case XML_ERR_ERROR:
-            channel(data, "error : ");
-            break;
-        case XML_ERR_FATAL:
-            channel(data, "error : ");
-            break;
-    }
-    if (code == XML_ERR_OK)
-        return;
-    if (str != NULL) {
-        int len;
-       len = xmlStrlen((const xmlChar *)str);
-       if ((len > 0) && (str[len - 1] != '\n'))
-           channel(data, "%s\n", str);
-       else
-           channel(data, "%s", str);
-    } else {
-        channel(data, "%s\n", "out of memory error");
-    }
-    if (code == XML_ERR_OK)
-        return;
-
-    if (ctxt != NULL) {
-        xmlParserPrintFileContextInternal(input, channel, data);
-        if (cur != NULL) {
-            if (cur->filename)
-                channel(data, "%s:%d: \n", cur->filename, cur->line);
-            else if ((line != 0) && (domain == XML_FROM_PARSER))
-                channel(data, "Entity: line %d: \n", cur->line);
-            xmlParserPrintFileContextInternal(cur, channel, data);
-        }
-    }
-    if ((domain == XML_FROM_XPATH) && (err->str1 != NULL) &&
-        (err->int1 < 100) &&
-       (err->int1 < xmlStrlen((const xmlChar *)err->str1))) {
-       xmlChar buf[150];
-       int i;
-
-       channel(data, "%s\n", err->str1);
-       for (i=0;i < err->int1;i++)
-            buf[i] = ' ';
-       buf[i++] = '^';
-       buf[i] = 0;
-       channel(data, "%s\n", buf);
-    }
-}
-
-static void
-initializeLibxml2(void) {
-    xmlGetWarningsDefaultValue = 0;
-    xmlPedanticParserDefault(0);
-
-    xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup);
-    xmlInitParser();
-    xmlSetExternalEntityLoader(testExternalEntityLoader);
-    xmlSetStructuredErrorFunc(NULL, testStructuredErrorHandler);
-    /*
-     * register the new I/O handlers
-     */
-    if (xmlRegisterInputCallbacks(hugeMatch, hugeOpen,
-                                  hugeRead, hugeClose) < 0) {
-        fprintf(stderr, "failed to register Huge handlers\n");
-       exit(1);
-    }
-    if (xmlRegisterInputCallbacks(crazyMatch, crazyOpen,
-                                  crazyRead, crazyClose) < 0) {
-        fprintf(stderr, "failed to register Crazy handlers\n");
-       exit(1);
-    }
-}
-
-/************************************************************************
- *                                                                     *
- *             SAX empty callbacks                                     *
- *                                                                     *
- ************************************************************************/
-
-unsigned long callbacks = 0;
-
-/**
- * isStandaloneCallback:
- * @ctxt:  An XML parser context
- *
- * Is this document tagged standalone ?
- *
- * Returns 1 if true
- */
-static int
-isStandaloneCallback(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return (0);
-}
-
-/**
- * hasInternalSubsetCallback:
- * @ctxt:  An XML parser context
- *
- * Does this document has an internal subset
- *
- * Returns 1 if true
- */
-static int
-hasInternalSubsetCallback(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return (0);
-}
-
-/**
- * hasExternalSubsetCallback:
- * @ctxt:  An XML parser context
- *
- * Does this document has an external subset
- *
- * Returns 1 if true
- */
-static int
-hasExternalSubsetCallback(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return (0);
-}
-
-/**
- * internalSubsetCallback:
- * @ctxt:  An XML parser context
- *
- * Does this document has an internal subset
- */
-static void
-internalSubsetCallback(void *ctx ATTRIBUTE_UNUSED,
-                       const xmlChar * name ATTRIBUTE_UNUSED,
-                       const xmlChar * ExternalID ATTRIBUTE_UNUSED,
-                       const xmlChar * SystemID ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * externalSubsetCallback:
- * @ctxt:  An XML parser context
- *
- * Does this document has an external subset
- */
-static void
-externalSubsetCallback(void *ctx ATTRIBUTE_UNUSED,
-                       const xmlChar * name ATTRIBUTE_UNUSED,
-                       const xmlChar * ExternalID ATTRIBUTE_UNUSED,
-                       const xmlChar * SystemID ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * resolveEntityCallback:
- * @ctxt:  An XML parser context
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- *
- * Special entity resolver, better left to the parser, it has
- * more context than the application layer.
- * The default behaviour is to NOT resolve the entities, in that case
- * the ENTITY_REF nodes are built in the structure (and the parameter
- * values).
- *
- * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
- */
-static xmlParserInputPtr
-resolveEntityCallback(void *ctx ATTRIBUTE_UNUSED,
-                      const xmlChar * publicId ATTRIBUTE_UNUSED,
-                      const xmlChar * systemId ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return (NULL);
-}
-
-/**
- * getEntityCallback:
- * @ctxt:  An XML parser context
- * @name: The entity name
- *
- * Get an entity by name
- *
- * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
- */
-static xmlEntityPtr
-getEntityCallback(void *ctx ATTRIBUTE_UNUSED,
-                  const xmlChar * name ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return (NULL);
-}
-
-/**
- * getParameterEntityCallback:
- * @ctxt:  An XML parser context
- * @name: The entity name
- *
- * Get a parameter entity by name
- *
- * Returns the xmlParserInputPtr
- */
-static xmlEntityPtr
-getParameterEntityCallback(void *ctx ATTRIBUTE_UNUSED,
-                           const xmlChar * name ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return (NULL);
-}
-
-
-/**
- * entityDeclCallback:
- * @ctxt:  An XML parser context
- * @name:  the entity name
- * @type:  the entity type
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- * @content: the entity value (without processing).
- *
- * An entity definition has been parsed
- */
-static void
-entityDeclCallback(void *ctx ATTRIBUTE_UNUSED,
-                   const xmlChar * name ATTRIBUTE_UNUSED,
-                   int type ATTRIBUTE_UNUSED,
-                   const xmlChar * publicId ATTRIBUTE_UNUSED,
-                   const xmlChar * systemId ATTRIBUTE_UNUSED,
-                   xmlChar * content ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * attributeDeclCallback:
- * @ctxt:  An XML parser context
- * @name:  the attribute name
- * @type:  the attribute type
- *
- * An attribute definition has been parsed
- */
-static void
-attributeDeclCallback(void *ctx ATTRIBUTE_UNUSED,
-                      const xmlChar * elem ATTRIBUTE_UNUSED,
-                      const xmlChar * name ATTRIBUTE_UNUSED,
-                      int type ATTRIBUTE_UNUSED, int def ATTRIBUTE_UNUSED,
-                      const xmlChar * defaultValue ATTRIBUTE_UNUSED,
-                      xmlEnumerationPtr tree ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * elementDeclCallback:
- * @ctxt:  An XML parser context
- * @name:  the element name
- * @type:  the element type
- * @content: the element value (without processing).
- *
- * An element definition has been parsed
- */
-static void
-elementDeclCallback(void *ctx ATTRIBUTE_UNUSED,
-                    const xmlChar * name ATTRIBUTE_UNUSED,
-                    int type ATTRIBUTE_UNUSED,
-                    xmlElementContentPtr content ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * notationDeclCallback:
- * @ctxt:  An XML parser context
- * @name: The name of the notation
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- *
- * What to do when a notation declaration has been parsed.
- */
-static void
-notationDeclCallback(void *ctx ATTRIBUTE_UNUSED,
-                     const xmlChar * name ATTRIBUTE_UNUSED,
-                     const xmlChar * publicId ATTRIBUTE_UNUSED,
-                     const xmlChar * systemId ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * unparsedEntityDeclCallback:
- * @ctxt:  An XML parser context
- * @name: The name of the entity
- * @publicId: The public ID of the entity
- * @systemId: The system ID of the entity
- * @notationName: the name of the notation
- *
- * What to do when an unparsed entity declaration is parsed
- */
-static void
-unparsedEntityDeclCallback(void *ctx ATTRIBUTE_UNUSED,
-                           const xmlChar * name ATTRIBUTE_UNUSED,
-                           const xmlChar * publicId ATTRIBUTE_UNUSED,
-                           const xmlChar * systemId ATTRIBUTE_UNUSED,
-                           const xmlChar * notationName ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * setDocumentLocatorCallback:
- * @ctxt:  An XML parser context
- * @loc: A SAX Locator
- *
- * Receive the document locator at startup, actually xmlDefaultSAXLocator
- * Everything is available on the context, so this is useless in our case.
- */
-static void
-setDocumentLocatorCallback(void *ctx ATTRIBUTE_UNUSED,
-                           xmlSAXLocatorPtr loc ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * startDocumentCallback:
- * @ctxt:  An XML parser context
- *
- * called when the document start being processed.
- */
-static void
-startDocumentCallback(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * endDocumentCallback:
- * @ctxt:  An XML parser context
- *
- * called when the document end has been detected.
- */
-static void
-endDocumentCallback(void *ctx ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-#if 0
-/**
- * startElementCallback:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when an opening tag has been processed.
- */
-static void
-startElementCallback(void *ctx ATTRIBUTE_UNUSED,
-                     const xmlChar * name ATTRIBUTE_UNUSED,
-                     const xmlChar ** atts ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * endElementCallback:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when the end of an element has been detected.
- */
-static void
-endElementCallback(void *ctx ATTRIBUTE_UNUSED,
-                   const xmlChar * name ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-#endif
-
-/**
- * charactersCallback:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @len: the number of xmlChar
- *
- * receiving some chars from the parser.
- * Question: how much at a time ???
- */
-static void
-charactersCallback(void *ctx ATTRIBUTE_UNUSED,
-                   const xmlChar * ch ATTRIBUTE_UNUSED,
-                   int len ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * referenceCallback:
- * @ctxt:  An XML parser context
- * @name:  The entity name
- *
- * called when an entity reference is detected.
- */
-static void
-referenceCallback(void *ctx ATTRIBUTE_UNUSED,
-                  const xmlChar * name ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * ignorableWhitespaceCallback:
- * @ctxt:  An XML parser context
- * @ch:  a xmlChar string
- * @start: the first char in the string
- * @len: the number of xmlChar
- *
- * receiving some ignorable whitespaces from the parser.
- * Question: how much at a time ???
- */
-static void
-ignorableWhitespaceCallback(void *ctx ATTRIBUTE_UNUSED,
-                            const xmlChar * ch ATTRIBUTE_UNUSED,
-                            int len ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * processingInstructionCallback:
- * @ctxt:  An XML parser context
- * @target:  the target name
- * @data: the PI data's
- * @len: the number of xmlChar
- *
- * A processing instruction has been parsed.
- */
-static void
-processingInstructionCallback(void *ctx ATTRIBUTE_UNUSED,
-                              const xmlChar * target ATTRIBUTE_UNUSED,
-                              const xmlChar * data ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * cdataBlockCallback:
- * @ctx: the user data (XML parser context)
- * @value:  The pcdata content
- * @len:  the block length
- *
- * called when a pcdata block has been parsed
- */
-static void
-cdataBlockCallback(void *ctx ATTRIBUTE_UNUSED,
-                   const xmlChar * value ATTRIBUTE_UNUSED,
-                   int len ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * commentCallback:
- * @ctxt:  An XML parser context
- * @value:  the comment content
- *
- * A comment has been parsed.
- */
-static void
-commentCallback(void *ctx ATTRIBUTE_UNUSED,
-                const xmlChar * value ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * warningCallback:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a warning messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-warningCallback(void *ctx ATTRIBUTE_UNUSED,
-                const char *msg ATTRIBUTE_UNUSED, ...)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * errorCallback:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a error messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-errorCallback(void *ctx ATTRIBUTE_UNUSED, const char *msg ATTRIBUTE_UNUSED,
-              ...)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * fatalErrorCallback:
- * @ctxt:  An XML parser context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format a fatalError messages, gives file, line, position and
- * extra parameters.
- */
-static void XMLCDECL
-fatalErrorCallback(void *ctx ATTRIBUTE_UNUSED,
-                   const char *msg ATTRIBUTE_UNUSED, ...)
-{
-    return;
-}
-
-
-/*
- * SAX2 specific callbacks
- */
-
-/**
- * startElementNsCallback:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when an opening tag has been processed.
- */
-static void
-startElementNsCallback(void *ctx ATTRIBUTE_UNUSED,
-                       const xmlChar * localname ATTRIBUTE_UNUSED,
-                       const xmlChar * prefix ATTRIBUTE_UNUSED,
-                       const xmlChar * URI ATTRIBUTE_UNUSED,
-                       int nb_namespaces ATTRIBUTE_UNUSED,
-                       const xmlChar ** namespaces ATTRIBUTE_UNUSED,
-                       int nb_attributes ATTRIBUTE_UNUSED,
-                       int nb_defaulted ATTRIBUTE_UNUSED,
-                       const xmlChar ** attributes ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-/**
- * endElementCallback:
- * @ctxt:  An XML parser context
- * @name:  The element name
- *
- * called when the end of an element has been detected.
- */
-static void
-endElementNsCallback(void *ctx ATTRIBUTE_UNUSED,
-                     const xmlChar * localname ATTRIBUTE_UNUSED,
-                     const xmlChar * prefix ATTRIBUTE_UNUSED,
-                     const xmlChar * URI ATTRIBUTE_UNUSED)
-{
-    callbacks++;
-    return;
-}
-
-static xmlSAXHandler callbackSAX2HandlerStruct = {
-    internalSubsetCallback,
-    isStandaloneCallback,
-    hasInternalSubsetCallback,
-    hasExternalSubsetCallback,
-    resolveEntityCallback,
-    getEntityCallback,
-    entityDeclCallback,
-    notationDeclCallback,
-    attributeDeclCallback,
-    elementDeclCallback,
-    unparsedEntityDeclCallback,
-    setDocumentLocatorCallback,
-    startDocumentCallback,
-    endDocumentCallback,
-    NULL,
-    NULL,
-    referenceCallback,
-    charactersCallback,
-    ignorableWhitespaceCallback,
-    processingInstructionCallback,
-    commentCallback,
-    warningCallback,
-    errorCallback,
-    fatalErrorCallback,
-    getParameterEntityCallback,
-    cdataBlockCallback,
-    externalSubsetCallback,
-    XML_SAX2_MAGIC,
-    NULL,
-    startElementNsCallback,
-    endElementNsCallback,
-    NULL
-};
-
-static xmlSAXHandlerPtr callbackSAX2Handler = &callbackSAX2HandlerStruct;
-
-/************************************************************************
- *                                                                     *
- *             The tests front-ends                                     *
- *                                                                     *
- ************************************************************************/
-
-/**
- * readerTest:
- * @filename: the file to parse
- * @max_size: size of the limit to test
- * @options: parsing options
- * @fail: should a failure be reported
- *
- * Parse a memory generated file using SAX
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-saxTest(const char *filename, size_t limit, int options, int fail) {
-    int res = 0;
-    xmlParserCtxtPtr ctxt;
-    xmlDocPtr doc;
-    xmlSAXHandlerPtr old_sax;
-
-    nb_tests++;
-
-    maxlen = limit;
-    ctxt = xmlNewParserCtxt();
-    if (ctxt == NULL) {
-        fprintf(stderr, "Failed to create parser context\n");
-       return(1);
-    }
-    old_sax = ctxt->sax;
-    ctxt->sax = callbackSAX2Handler;
-    ctxt->userData = NULL;
-    doc = xmlCtxtReadFile(ctxt, filename, NULL, options);
-
-    if (doc != NULL) {
-        fprintf(stderr, "SAX parsing generated a document !\n");
-        xmlFreeDoc(doc);
-        res = 0;
-    } else if (ctxt->wellFormed == 0) {
-        if (fail)
-            res = 0;
-        else {
-            fprintf(stderr, "Failed to parse '%s' %lu\n", filename, limit);
-            res = 1;
-        }
-    } else {
-        if (fail) {
-            fprintf(stderr, "Failed to get failure for '%s' %lu\n",
-                    filename, limit);
-            res = 1;
-        } else
-            res = 0;
-    }
-    ctxt->sax = old_sax;
-    xmlFreeParserCtxt(ctxt);
-
-    return(res);
-}
-#ifdef LIBXML_READER_ENABLED
-/**
- * readerTest:
- * @filename: the file to parse
- * @max_size: size of the limit to test
- * @options: parsing options
- * @fail: should a failure be reported
- *
- * Parse a memory generated file using the xmlReader
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-readerTest(const char *filename, size_t limit, int options, int fail) {
-    xmlTextReaderPtr reader;
-    int res = 0;
-    int ret;
-
-    nb_tests++;
-
-    maxlen = limit;
-    reader = xmlReaderForFile(filename , NULL, options);
-    if (reader == NULL) {
-        fprintf(stderr, "Failed to open '%s' test\n", filename);
-       return(1);
-    }
-    ret = xmlTextReaderRead(reader);
-    while (ret == 1) {
-        ret = xmlTextReaderRead(reader);
-    }
-    if (ret != 0) {
-        if (fail)
-            res = 0;
-        else {
-            if (strncmp(filename, "crazy:", 6) == 0)
-                fprintf(stderr, "Failed to parse '%s' %u\n",
-                        filename, crazy_indx);
-            else
-                fprintf(stderr, "Failed to parse '%s' %lu\n",
-                        filename, limit);
-            res = 1;
-        }
-    } else {
-        if (fail) {
-            if (strncmp(filename, "crazy:", 6) == 0)
-                fprintf(stderr, "Failed to get failure for '%s' %u\n",
-                        filename, crazy_indx);
-            else
-                fprintf(stderr, "Failed to get failure for '%s' %lu\n",
-                        filename, limit);
-            res = 1;
-        } else
-            res = 0;
-    }
-    if (timeout)
-        res = 1;
-    xmlFreeTextReader(reader);
-
-    return(res);
-}
-#endif
-
-/************************************************************************
- *                                                                     *
- *                     Tests descriptions                              *
- *                                                                     *
- ************************************************************************/
-
-typedef int (*functest) (const char *filename, size_t limit, int options,
-                         int fail);
-
-typedef struct limitDesc limitDesc;
-typedef limitDesc *limitDescPtr;
-struct limitDesc {
-    const char *name; /* the huge generator name */
-    size_t limit;     /* the limit to test */
-    int options;      /* extra parser options */
-    int fail;         /* whether the test should fail */
-};
-
-static limitDesc limitDescriptions[] = {
-    /* max lenght of a text node in content */
-    {"huge:textNode", XML_MAX_TEXT_LENGTH - CHUNK, 0, 0},
-    {"huge:textNode", XML_MAX_TEXT_LENGTH + CHUNK, 0, 1},
-    {"huge:textNode", XML_MAX_TEXT_LENGTH + CHUNK, XML_PARSE_HUGE, 0},
-    /* max lenght of a text node in content */
-    {"huge:attrNode", XML_MAX_TEXT_LENGTH - CHUNK, 0, 0},
-    {"huge:attrNode", XML_MAX_TEXT_LENGTH + CHUNK, 0, 1},
-    {"huge:attrNode", XML_MAX_TEXT_LENGTH + CHUNK, XML_PARSE_HUGE, 0},
-    /* max lenght of a comment node */
-    {"huge:commentNode", XML_MAX_TEXT_LENGTH - CHUNK, 0, 0},
-    {"huge:commentNode", XML_MAX_TEXT_LENGTH + CHUNK, 0, 1},
-    {"huge:commentNode", XML_MAX_TEXT_LENGTH + CHUNK, XML_PARSE_HUGE, 0},
-    /* max lenght of a PI node */
-    {"huge:piNode", XML_MAX_TEXT_LENGTH - CHUNK, 0, 0},
-    {"huge:piNode", XML_MAX_TEXT_LENGTH + CHUNK, 0, 1},
-    {"huge:piNode", XML_MAX_TEXT_LENGTH + CHUNK, XML_PARSE_HUGE, 0},
-};
-
-typedef struct testDesc testDesc;
-typedef testDesc *testDescPtr;
-struct testDesc {
-    const char *desc; /* descripton of the test */
-    functest    func; /* function implementing the test */
-};
-
-static
-testDesc testDescriptions[] = {
-    { "Parsing of huge files with the sax parser", saxTest},
-/*    { "Parsing of huge files with the tree parser", treeTest}, */
-#ifdef LIBXML_READER_ENABLED
-    { "Parsing of huge files with the reader", readerTest},
-#endif
-    {NULL, NULL}
-};
-
-typedef struct testException testException;
-typedef testException *testExceptionPtr;
-struct testException {
-    unsigned int test;  /* the parser test number */
-    unsigned int limit; /* the limit test number */
-    int fail;           /* new fail value or -1*/
-    size_t size;        /* new limit value or 0 */
-};
-
-static
-testException testExceptions[] = {
-    /* the SAX parser doesn't hit a limit of XML_MAX_TEXT_LENGTH text nodes */
-    { 0, 1, 0, 0},
-};
-
-static int
-launchTests(testDescPtr tst, unsigned int test) {
-    int res = 0, err = 0;
-    unsigned int i, j;
-    size_t limit;
-    int fail;
-
-    if (tst == NULL) return(-1);
-
-    for (i = 0;i < sizeof(limitDescriptions)/sizeof(limitDescriptions[0]);i++) {
-        limit = limitDescriptions[i].limit;
-        fail = limitDescriptions[i].fail;
-        /*
-         * Handle exceptions if any
-         */
-        for (j = 0;j < sizeof(testExceptions)/sizeof(testExceptions[0]);j++) {
-            if ((testExceptions[j].test == test) &&
-                (testExceptions[j].limit == i)) {
-                if (testExceptions[j].fail != -1)
-                    fail = testExceptions[j].fail;
-                if (testExceptions[j].size != 0)
-                    limit = testExceptions[j].size;
-                break;
-            }
-        }
-        res = tst->func(limitDescriptions[i].name, limit,
-                        limitDescriptions[i].options, fail);
-        if (res != 0) {
-            nb_errors++;
-            err++;
-        }
-    }
-    return(err);
-}
-
-
-static int
-runtest(unsigned int i) {
-    int ret = 0, res;
-    int old_errors, old_tests, old_leaks;
-
-    old_errors = nb_errors;
-    old_tests = nb_tests;
-    old_leaks = nb_leaks;
-    if ((tests_quiet == 0) && (testDescriptions[i].desc != NULL))
-       printf("## %s\n", testDescriptions[i].desc);
-    res = launchTests(&testDescriptions[i], i);
-    if (res != 0)
-       ret++;
-    if (verbose) {
-       if ((nb_errors == old_errors) && (nb_leaks == old_leaks))
-           printf("Ran %d tests, no errors\n", nb_tests - old_tests);
-       else
-           printf("Ran %d tests, %d errors, %d leaks\n",
-                  nb_tests - old_tests,
-                  nb_errors - old_errors,
-                  nb_leaks - old_leaks);
-    }
-    return(ret);
-}
-
-static int
-launchCrazySAX(unsigned int test, int fail) {
-    int res = 0, err = 0;
-
-    crazy_indx = test;
-
-    res = saxTest("crazy::test", XML_MAX_LOOKUP_LIMIT - CHUNK, 0, fail);
-    if (res != 0) {
-        nb_errors++;
-        err++;
-    }
-    if (tests_quiet == 0)
-        fprintf(stderr, "%c", crazy[test]);
-
-    return(err);
-}
-
-static int
-launchCrazy(unsigned int test, int fail) {
-    int res = 0, err = 0;
-
-    crazy_indx = test;
-
-    res = readerTest("crazy::test", XML_MAX_LOOKUP_LIMIT - CHUNK, 0, fail);
-    if (res != 0) {
-        nb_errors++;
-        err++;
-    }
-    if (tests_quiet == 0)
-        fprintf(stderr, "%c", crazy[test]);
-
-    return(err);
-}
-
-static int get_crazy_fail(int test) {
-    /*
-     * adding 1000000 of character 'a' leads to parser failure mostly
-     * everywhere except in those special spots. Need to be updated
-     * each time crazy is updated
-     */
-    int fail = 1;
-    if ((test == 44) || /* PI in Misc */
-        ((test >= 50) && (test <= 55)) || /* Comment in Misc */
-        (test == 79) || /* PI in DTD */
-        ((test >= 85) && (test <= 90)) || /* Comment in DTD */
-        (test == 154) || /* PI in Misc */
-        ((test >= 160) && (test <= 165)) || /* Comment in Misc */
-        ((test >= 178) && (test <= 181)) || /* attribute value */
-        (test == 183) || /* Text */
-        (test == 189) || /* PI in Content */
-        (test == 191) || /* Text */
-        ((test >= 195) && (test <= 200)) || /* Comment in Content */
-        ((test >= 203) && (test <= 206)) || /* Text */
-        (test == 215) || (test == 216) || /* in CDATA */
-        (test == 219) || /* Text */
-        (test == 231) || /* PI in Misc */
-        ((test >= 237) && (test <= 242))) /* Comment in Misc */
-        fail = 0;
-    return(fail);
-}
-
-static int
-runcrazy(void) {
-    int ret = 0, res = 0;
-    int old_errors, old_tests, old_leaks;
-    unsigned int i;
-
-    old_errors = nb_errors;
-    old_tests = nb_tests;
-    old_leaks = nb_leaks;
-    if (tests_quiet == 0) {
-       printf("## Crazy tests on reader\n");
-    }
-    for (i = 0;i < strlen(crazy);i++) {
-        res += launchCrazy(i, get_crazy_fail(i));
-        if (res != 0)
-            ret++;
-    }
-    if (tests_quiet == 0) {
-       printf("\n## Crazy tests on SAX\n");
-    }
-    for (i = 0;i < strlen(crazy);i++) {
-        res += launchCrazySAX(i, get_crazy_fail(i));
-        if (res != 0)
-            ret++;
-    }
-    if (tests_quiet == 0)
-        fprintf(stderr, "\n");
-    if (verbose) {
-       if ((nb_errors == old_errors) && (nb_leaks == old_leaks))
-           printf("Ran %d tests, no errors\n", nb_tests - old_tests);
-       else
-           printf("Ran %d tests, %d errors, %d leaks\n",
-                  nb_tests - old_tests,
-                  nb_errors - old_errors,
-                  nb_leaks - old_leaks);
-    }
-    return(ret);
-}
-
-
-int
-main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    int i, a, ret = 0;
-    int subset = 0;
-
-    fillFilling();
-    initializeLibxml2();
-
-    for (a = 1; a < argc;a++) {
-        if (!strcmp(argv[a], "-v"))
-           verbose = 1;
-        else if (!strcmp(argv[a], "-quiet"))
-           tests_quiet = 1;
-        else if (!strcmp(argv[a], "-crazy"))
-           subset = 1;
-    }
-    if (subset == 0) {
-       for (i = 0; testDescriptions[i].func != NULL; i++) {
-           ret += runtest(i);
-       }
-    }
-    ret += runcrazy();
-    if ((nb_errors == 0) && (nb_leaks == 0)) {
-        ret = 0;
-       printf("Total %d tests, no errors\n",
-              nb_tests);
-    } else {
-        ret = 1;
-       printf("Total %d tests, %d errors, %d leaks\n",
-              nb_tests, nb_errors, nb_leaks);
-    }
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(ret);
-}
diff --git a/reactos/lib/3rdparty/libxml2/testrecurse.c b/reactos/lib/3rdparty/libxml2/testrecurse.c
deleted file mode 100644 (file)
index e5d5d1b..0000000
+++ /dev/null
@@ -1,965 +0,0 @@
-/*
- * testrecurse.c: C program to run libxml2 regression tests checking entities
- *            recursions
- *
- * To compile on Unixes:
- * cc -o testrecurse `xml2-config --cflags` testrecurse.c `xml2-config --libs` -lpthread
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#include "libxml.h"
-#include <stdio.h>
-
-#if !defined(_WIN32) || defined(__CYGWIN__)
-#include <unistd.h>
-#endif
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#include <libxml/parser.h>
-#include <libxml/tree.h>
-#include <libxml/uri.h>
-#ifdef LIBXML_READER_ENABLED
-#include <libxml/xmlreader.h>
-#endif
-
-/*
- * O_BINARY is just for Windows compatibility - if it isn't defined
- * on this system, avoid any compilation error
- */
-#ifdef O_BINARY
-#define RD_FLAGS       O_RDONLY | O_BINARY
-#else
-#define        RD_FLAGS        O_RDONLY
-#endif
-
-typedef int (*functest) (const char *filename, const char *result,
-                         const char *error, int options);
-
-typedef struct testDesc testDesc;
-typedef testDesc *testDescPtr;
-struct testDesc {
-    const char *desc; /* descripton of the test */
-    functest    func; /* function implementing the test */
-    const char *in;   /* glob to path for input files */
-    const char *out;  /* output directory */
-    const char *suffix;/* suffix for output files */
-    const char *err;  /* suffix for error output files */
-    int     options;  /* parser options for the test */
-};
-
-static int checkTestFile(const char *filename);
-
-
-#if defined(_WIN32) && !defined(__CYGWIN__)
-
-#include <windows.h>
-#include <io.h>
-
-typedef struct
-{
-      size_t gl_pathc;    /* Count of paths matched so far  */
-      char **gl_pathv;    /* List of matched pathnames.  */
-      size_t gl_offs;     /* Slots to reserve in 'gl_pathv'.  */
-} glob_t;
-
-#define GLOB_DOOFFS 0
-static int glob(const char *pattern, int flags,
-                int errfunc(const char *epath, int eerrno),
-                glob_t *pglob) {
-    glob_t *ret;
-    WIN32_FIND_DATA FindFileData;
-    HANDLE hFind;
-    unsigned int nb_paths = 0;
-    char directory[500];
-    int len;
-
-    if ((pattern == NULL) || (pglob == NULL)) return(-1);
-
-    strncpy(directory, pattern, 499);
-    for (len = strlen(directory);len >= 0;len--) {
-        if (directory[len] == '/') {
-           len++;
-           directory[len] = 0;
-           break;
-       }
-    }
-    if (len <= 0)
-        len = 0;
-
-
-    ret = pglob;
-    memset(ret, 0, sizeof(glob_t));
-
-    hFind = FindFirstFileA(pattern, &FindFileData);
-    if (hFind == INVALID_HANDLE_VALUE)
-        return(0);
-    nb_paths = 20;
-    ret->gl_pathv = (char **) malloc(nb_paths * sizeof(char *));
-    if (ret->gl_pathv == NULL) {
-       FindClose(hFind);
-        return(-1);
-    }
-    strncpy(directory + len, FindFileData.cFileName, 499 - len);
-    ret->gl_pathv[ret->gl_pathc] = strdup(directory);
-    if (ret->gl_pathv[ret->gl_pathc] == NULL)
-        goto done;
-    ret->gl_pathc++;
-    while(FindNextFileA(hFind, &FindFileData)) {
-        if (FindFileData.cFileName[0] == '.')
-           continue;
-        if (ret->gl_pathc + 2 > nb_paths) {
-            char **tmp = realloc(ret->gl_pathv, nb_paths * 2 * sizeof(char *));
-            if (tmp == NULL)
-                break;
-            ret->gl_pathv = tmp;
-            nb_paths *= 2;
-       }
-       strncpy(directory + len, FindFileData.cFileName, 499 - len);
-       ret->gl_pathv[ret->gl_pathc] = strdup(directory);
-        if (ret->gl_pathv[ret->gl_pathc] == NULL)
-            break;
-        ret->gl_pathc++;
-    }
-    ret->gl_pathv[ret->gl_pathc] = NULL;
-
-done:
-    FindClose(hFind);
-    return(0);
-}
-
-
-
-static void globfree(glob_t *pglob) {
-    unsigned int i;
-    if (pglob == NULL)
-        return;
-
-    for (i = 0;i < pglob->gl_pathc;i++) {
-         if (pglob->gl_pathv[i] != NULL)
-             free(pglob->gl_pathv[i]);
-    }
-}
-
-#else
-#include <glob.h>
-#endif
-
-/************************************************************************
- *                                                                     *
- *             Huge document generator                                 *
- *                                                                     *
- ************************************************************************/
-
-#include <libxml/xmlIO.h>
-
-
-static const char *start = "<!DOCTYPE foo [\
-<!ENTITY f 'some internal data'> \
-<!ENTITY e '&f;&f;'> \
-<!ENTITY d '&e;&e;'> \
-]> \
-<foo>";
-
-static const char *segment = "  <bar>&e; &f; &d;</bar>\n";
-static const char *finish = "</foo>";
-
-static int curseg = 0;
-static const char *current;
-static int rlen;
-
-/**
- * hugeMatch:
- * @URI: an URI to test
- *
- * Check for an huge: query
- *
- * Returns 1 if yes and 0 if another Input module should be used
- */
-static int
-hugeMatch(const char * URI) {
-    if ((URI != NULL) && (!strncmp(URI, "huge:", 4)))
-        return(1);
-    return(0);
-}
-
-/**
- * hugeOpen:
- * @URI: an URI to test
- *
- * Return a pointer to the huge: query handler, in this example simply
- * the current pointer...
- *
- * Returns an Input context or NULL in case or error
- */
-static void *
-hugeOpen(const char * URI) {
-    if ((URI == NULL) || (strncmp(URI, "huge:", 4)))
-        return(NULL);
-    rlen = strlen(start);
-    current = start;
-    return((void *) current);
-}
-
-/**
- * hugeClose:
- * @context: the read context
- *
- * Close the huge: query handler
- *
- * Returns 0 or -1 in case of error
- */
-static int
-hugeClose(void * context) {
-    if (context == NULL) return(-1);
-    return(0);
-}
-
-#define MAX_NODES 1000000
-
-/**
- * hugeRead:
- * @context: the read context
- * @buffer: where to store data
- * @len: number of bytes to read
- *
- * Implement an huge: query read.
- *
- * Returns the number of bytes read or -1 in case of error
- */
-static int
-hugeRead(void *context, char *buffer, int len)
-{
-    if ((context == NULL) || (buffer == NULL) || (len < 0))
-        return (-1);
-
-    if (len >= rlen) {
-        if (curseg >= MAX_NODES + 1) {
-            rlen = 0;
-            return(0);
-        }
-        len = rlen;
-        rlen = 0;
-       memcpy(buffer, current, len);
-        curseg ++;
-        if (curseg == MAX_NODES) {
-           fprintf(stderr, "\n");
-            rlen = strlen(finish);
-            current = finish;
-       } else {
-           if (curseg % (MAX_NODES / 10) == 0)
-               fprintf(stderr, ".");
-            rlen = strlen(segment);
-            current = segment;
-       }
-    } else {
-       memcpy(buffer, current, len);
-       rlen -= len;
-        current += len;
-    }
-    return (len);
-}
-
-/************************************************************************
- *                                                                     *
- *             Libxml2 specific routines                               *
- *                                                                     *
- ************************************************************************/
-
-static int nb_tests = 0;
-static int nb_errors = 0;
-static int nb_leaks = 0;
-static int extraMemoryFromResolver = 0;
-
-static int
-fatalError(void) {
-    fprintf(stderr, "Exitting tests on fatal error\n");
-    exit(1);
-}
-
-/*
- * We need to trap calls to the resolver to not account memory for the catalog
- * which is shared to the current running test. We also don't want to have
- * network downloads modifying tests.
- */
-static xmlParserInputPtr
-testExternalEntityLoader(const char *URL, const char *ID,
-                        xmlParserCtxtPtr ctxt) {
-    xmlParserInputPtr ret;
-
-    if (checkTestFile(URL)) {
-       ret = xmlNoNetExternalEntityLoader(URL, ID, ctxt);
-    } else {
-       int memused = xmlMemUsed();
-       ret = xmlNoNetExternalEntityLoader(URL, ID, ctxt);
-       extraMemoryFromResolver += xmlMemUsed() - memused;
-    }
-
-    return(ret);
-}
-
-/*
- * Trapping the error messages at the generic level to grab the equivalent of
- * stderr messages on CLI tools.
- */
-static char testErrors[32769];
-static int testErrorsSize = 0;
-
-static void XMLCDECL
-channel(void *ctx  ATTRIBUTE_UNUSED, const char *msg, ...) {
-    va_list args;
-    int res;
-
-    if (testErrorsSize >= 32768)
-        return;
-    va_start(args, msg);
-    res = vsnprintf(&testErrors[testErrorsSize],
-                    32768 - testErrorsSize,
-                   msg, args);
-    va_end(args);
-    if (testErrorsSize + res >= 32768) {
-        /* buffer is full */
-       testErrorsSize = 32768;
-       testErrors[testErrorsSize] = 0;
-    } else {
-        testErrorsSize += res;
-    }
-    testErrors[testErrorsSize] = 0;
-}
-
-/**
- * xmlParserPrintFileContext:
- * @input:  an xmlParserInputPtr input
- *
- * Displays current context within the input content for error tracking
- */
-
-static void
-xmlParserPrintFileContextInternal(xmlParserInputPtr input ,
-               xmlGenericErrorFunc chanl, void *data ) {
-    const xmlChar *cur, *base;
-    unsigned int n, col;       /* GCC warns if signed, because compared with sizeof() */
-    xmlChar  content[81]; /* space for 80 chars + line terminator */
-    xmlChar *ctnt;
-
-    if (input == NULL) return;
-    cur = input->cur;
-    base = input->base;
-    /* skip backwards over any end-of-lines */
-    while ((cur > base) && ((*(cur) == '\n') || (*(cur) == '\r'))) {
-       cur--;
-    }
-    n = 0;
-    /* search backwards for beginning-of-line (to max buff size) */
-    while ((n++ < (sizeof(content)-1)) && (cur > base) &&
-   (*(cur) != '\n') && (*(cur) != '\r'))
-        cur--;
-    if ((*(cur) == '\n') || (*(cur) == '\r')) cur++;
-    /* calculate the error position in terms of the current position */
-    col = input->cur - cur;
-    /* search forward for end-of-line (to max buff size) */
-    n = 0;
-    ctnt = content;
-    /* copy selected text to our buffer */
-    while ((*cur != 0) && (*(cur) != '\n') &&
-   (*(cur) != '\r') && (n < sizeof(content)-1)) {
-               *ctnt++ = *cur++;
-       n++;
-    }
-    *ctnt = 0;
-    /* print out the selected text */
-    chanl(data ,"%s\n", content);
-    /* create blank line with problem pointer */
-    n = 0;
-    ctnt = content;
-    /* (leave buffer space for pointer + line terminator) */
-    while ((n<col) && (n++ < sizeof(content)-2) && (*ctnt != 0)) {
-       if (*(ctnt) != '\t')
-           *(ctnt) = ' ';
-       ctnt++;
-    }
-    *ctnt++ = '^';
-    *ctnt = 0;
-    chanl(data ,"%s\n", content);
-}
-
-static void
-testStructuredErrorHandler(void *ctx  ATTRIBUTE_UNUSED, xmlErrorPtr err) {
-    char *file = NULL;
-    int line = 0;
-    int code = -1;
-    int domain;
-    void *data = NULL;
-    const char *str;
-    const xmlChar *name = NULL;
-    xmlNodePtr node;
-    xmlErrorLevel level;
-    xmlParserInputPtr input = NULL;
-    xmlParserInputPtr cur = NULL;
-    xmlParserCtxtPtr ctxt = NULL;
-
-    if (err == NULL)
-        return;
-
-    file = err->file;
-    line = err->line;
-    code = err->code;
-    domain = err->domain;
-    level = err->level;
-    node = err->node;
-    if ((domain == XML_FROM_PARSER) || (domain == XML_FROM_HTML) ||
-        (domain == XML_FROM_DTD) || (domain == XML_FROM_NAMESPACE) ||
-       (domain == XML_FROM_IO) || (domain == XML_FROM_VALID)) {
-       ctxt = err->ctxt;
-    }
-    str = err->message;
-
-    if (code == XML_ERR_OK)
-        return;
-
-    if ((node != NULL) && (node->type == XML_ELEMENT_NODE))
-        name = node->name;
-
-    /*
-     * Maintain the compatibility with the legacy error handling
-     */
-    if (ctxt != NULL) {
-        input = ctxt->input;
-        if ((input != NULL) && (input->filename == NULL) &&
-            (ctxt->inputNr > 1)) {
-            cur = input;
-            input = ctxt->inputTab[ctxt->inputNr - 2];
-        }
-        if (input != NULL) {
-            if (input->filename)
-                channel(data, "%s:%d: ", input->filename, input->line);
-            else if ((line != 0) && (domain == XML_FROM_PARSER))
-                channel(data, "Entity: line %d: ", input->line);
-        }
-    } else {
-        if (file != NULL)
-            channel(data, "%s:%d: ", file, line);
-        else if ((line != 0) && (domain == XML_FROM_PARSER))
-            channel(data, "Entity: line %d: ", line);
-    }
-    if (name != NULL) {
-        channel(data, "element %s: ", name);
-    }
-    if (code == XML_ERR_OK)
-        return;
-    switch (domain) {
-        case XML_FROM_PARSER:
-            channel(data, "parser ");
-            break;
-        case XML_FROM_NAMESPACE:
-            channel(data, "namespace ");
-            break;
-        case XML_FROM_DTD:
-        case XML_FROM_VALID:
-            channel(data, "validity ");
-            break;
-        case XML_FROM_HTML:
-            channel(data, "HTML parser ");
-            break;
-        case XML_FROM_MEMORY:
-            channel(data, "memory ");
-            break;
-        case XML_FROM_OUTPUT:
-            channel(data, "output ");
-            break;
-        case XML_FROM_IO:
-            channel(data, "I/O ");
-            break;
-        case XML_FROM_XINCLUDE:
-            channel(data, "XInclude ");
-            break;
-        case XML_FROM_XPATH:
-            channel(data, "XPath ");
-            break;
-        case XML_FROM_XPOINTER:
-            channel(data, "parser ");
-            break;
-        case XML_FROM_REGEXP:
-            channel(data, "regexp ");
-            break;
-        case XML_FROM_MODULE:
-            channel(data, "module ");
-            break;
-        case XML_FROM_SCHEMASV:
-            channel(data, "Schemas validity ");
-            break;
-        case XML_FROM_SCHEMASP:
-            channel(data, "Schemas parser ");
-            break;
-        case XML_FROM_RELAXNGP:
-            channel(data, "Relax-NG parser ");
-            break;
-        case XML_FROM_RELAXNGV:
-            channel(data, "Relax-NG validity ");
-            break;
-        case XML_FROM_CATALOG:
-            channel(data, "Catalog ");
-            break;
-        case XML_FROM_C14N:
-            channel(data, "C14N ");
-            break;
-        case XML_FROM_XSLT:
-            channel(data, "XSLT ");
-            break;
-        default:
-            break;
-    }
-    if (code == XML_ERR_OK)
-        return;
-    switch (level) {
-        case XML_ERR_NONE:
-            channel(data, ": ");
-            break;
-        case XML_ERR_WARNING:
-            channel(data, "warning : ");
-            break;
-        case XML_ERR_ERROR:
-            channel(data, "error : ");
-            break;
-        case XML_ERR_FATAL:
-            channel(data, "error : ");
-            break;
-    }
-    if (code == XML_ERR_OK)
-        return;
-    if (str != NULL) {
-        int len;
-       len = xmlStrlen((const xmlChar *)str);
-       if ((len > 0) && (str[len - 1] != '\n'))
-           channel(data, "%s\n", str);
-       else
-           channel(data, "%s", str);
-    } else {
-        channel(data, "%s\n", "out of memory error");
-    }
-    if (code == XML_ERR_OK)
-        return;
-
-    if (ctxt != NULL) {
-        xmlParserPrintFileContextInternal(input, channel, data);
-        if (cur != NULL) {
-            if (cur->filename)
-                channel(data, "%s:%d: \n", cur->filename, cur->line);
-            else if ((line != 0) && (domain == XML_FROM_PARSER))
-                channel(data, "Entity: line %d: \n", cur->line);
-            xmlParserPrintFileContextInternal(cur, channel, data);
-        }
-    }
-    if ((domain == XML_FROM_XPATH) && (err->str1 != NULL) &&
-        (err->int1 < 100) &&
-       (err->int1 < xmlStrlen((const xmlChar *)err->str1))) {
-       xmlChar buf[150];
-       int i;
-
-       channel(data, "%s\n", err->str1);
-       for (i=0;i < err->int1;i++)
-            buf[i] = ' ';
-       buf[i++] = '^';
-       buf[i] = 0;
-       channel(data, "%s\n", buf);
-    }
-}
-
-static void
-initializeLibxml2(void) {
-    xmlGetWarningsDefaultValue = 0;
-    xmlPedanticParserDefault(0);
-
-    xmlMemSetup(xmlMemFree, xmlMemMalloc, xmlMemRealloc, xmlMemoryStrdup);
-    xmlInitParser();
-    xmlSetExternalEntityLoader(testExternalEntityLoader);
-    xmlSetStructuredErrorFunc(NULL, testStructuredErrorHandler);
-    /*
-     * register the new I/O handlers
-     */
-    if (xmlRegisterInputCallbacks(hugeMatch, hugeOpen,
-                                  hugeRead, hugeClose) < 0) {
-        fprintf(stderr, "failed to register Huge handler\n");
-       exit(1);
-    }
-}
-
-/************************************************************************
- *                                                                     *
- *             File name and path utilities                            *
- *                                                                     *
- ************************************************************************/
-
-static const char *baseFilename(const char *filename) {
-    const char *cur;
-    if (filename == NULL)
-        return(NULL);
-    cur = &filename[strlen(filename)];
-    while ((cur > filename) && (*cur != '/'))
-        cur--;
-    if (*cur == '/')
-        return(cur + 1);
-    return(cur);
-}
-
-static char *resultFilename(const char *filename, const char *out,
-                            const char *suffix) {
-    const char *base;
-    char res[500];
-    char suffixbuff[500];
-
-/*************
-    if ((filename[0] == 't') && (filename[1] == 'e') &&
-        (filename[2] == 's') && (filename[3] == 't') &&
-       (filename[4] == '/'))
-       filename = &filename[5];
- *************/
-
-    base = baseFilename(filename);
-    if (suffix == NULL)
-        suffix = ".tmp";
-    if (out == NULL)
-        out = "";
-
-    strncpy(suffixbuff,suffix,499);
-#ifdef VMS
-    if(strstr(base,".") && suffixbuff[0]=='.')
-      suffixbuff[0]='_';
-#endif
-
-    snprintf(res, 499, "%s%s%s", out, base, suffixbuff);
-    res[499] = 0;
-    return(strdup(res));
-}
-
-static int checkTestFile(const char *filename) {
-    struct stat buf;
-
-    if (stat(filename, &buf) == -1)
-        return(0);
-
-#if defined(_WIN32) && !defined(__CYGWIN__)
-    if (!(buf.st_mode & _S_IFREG))
-        return(0);
-#else
-    if (!S_ISREG(buf.st_mode))
-        return(0);
-#endif
-
-    return(1);
-}
-
-
-
-/************************************************************************
- *                                                                     *
- *             Test to detect or not recursive entities                *
- *                                                                     *
- ************************************************************************/
-/**
- * recursiveDetectTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages: unused
- *
- * Parse a file loading DTD and replacing entities check it fails for
- * lol cases
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-recursiveDetectTest(const char *filename,
-             const char *result ATTRIBUTE_UNUSED,
-             const char *err ATTRIBUTE_UNUSED,
-            int options ATTRIBUTE_UNUSED) {
-    xmlDocPtr doc;
-    xmlParserCtxtPtr ctxt;
-    int res = 0;
-
-    nb_tests++;
-
-    ctxt = xmlNewParserCtxt();
-    /*
-     * base of the test, parse with the old API
-     */
-    doc = xmlCtxtReadFile(ctxt, filename, NULL,
-                          XML_PARSE_NOENT | XML_PARSE_DTDLOAD);
-    if ((doc != NULL) || (ctxt->lastError.code != XML_ERR_ENTITY_LOOP)) {
-        fprintf(stderr, "Failed to detect recursion in %s\n", filename);
-       xmlFreeParserCtxt(ctxt);
-       xmlFreeDoc(doc);
-        return(1);
-    }
-    xmlFreeParserCtxt(ctxt);
-
-    return(res);
-}
-
-/**
- * notRecursiveDetectTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages: unused
- *
- * Parse a file loading DTD and replacing entities check it works for
- * good cases
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-notRecursiveDetectTest(const char *filename,
-             const char *result ATTRIBUTE_UNUSED,
-             const char *err ATTRIBUTE_UNUSED,
-            int options ATTRIBUTE_UNUSED) {
-    xmlDocPtr doc;
-    xmlParserCtxtPtr ctxt;
-    int res = 0;
-
-    nb_tests++;
-
-    ctxt = xmlNewParserCtxt();
-    /*
-     * base of the test, parse with the old API
-     */
-    doc = xmlCtxtReadFile(ctxt, filename, NULL,
-                          XML_PARSE_NOENT | XML_PARSE_DTDLOAD);
-    if (doc == NULL) {
-        fprintf(stderr, "Failed to parse correct file %s\n", filename);
-       xmlFreeParserCtxt(ctxt);
-        return(1);
-    }
-    xmlFreeDoc(doc);
-    xmlFreeParserCtxt(ctxt);
-
-    return(res);
-}
-
-#ifdef LIBXML_READER_ENABLED
-/**
- * notRecursiveHugeTest:
- * @filename: the file to parse
- * @result: the file with expected result
- * @err: the file with error messages: unused
- *
- * Parse a memory generated file
- * good cases
- *
- * Returns 0 in case of success, an error code otherwise
- */
-static int
-notRecursiveHugeTest(const char *filename ATTRIBUTE_UNUSED,
-             const char *result ATTRIBUTE_UNUSED,
-             const char *err ATTRIBUTE_UNUSED,
-            int options ATTRIBUTE_UNUSED) {
-    xmlTextReaderPtr reader;
-    int res = 0;
-    int ret;
-
-    nb_tests++;
-
-    reader = xmlReaderForFile("huge:test" , NULL,
-                              XML_PARSE_NOENT | XML_PARSE_DTDLOAD);
-    if (reader == NULL) {
-        fprintf(stderr, "Failed to open huge:test\n");
-       return(1);
-    }
-    ret = xmlTextReaderRead(reader);
-    while (ret == 1) {
-        ret = xmlTextReaderRead(reader);
-    }
-    if (ret != 0) {
-        fprintf(stderr, "Failed to parser huge:test with entities\n");
-       res = 1;
-    }
-    xmlFreeTextReader(reader);
-
-    return(res);
-}
-#endif
-
-/************************************************************************
- *                                                                     *
- *                     Tests Descriptions                              *
- *                                                                     *
- ************************************************************************/
-
-static
-testDesc testDescriptions[] = {
-    { "Parsing recursive test cases" ,
-      recursiveDetectTest, "./test/recurse/lol*.xml", NULL, NULL, NULL,
-      0 },
-    { "Parsing non-recursive test cases" ,
-      notRecursiveDetectTest, "./test/recurse/good*.xml", NULL, NULL, NULL,
-      0 },
-#ifdef LIBXML_READER_ENABLED
-    { "Parsing non-recursive huge case" ,
-      notRecursiveHugeTest, NULL, NULL, NULL, NULL,
-      0 },
-#endif
-    {NULL, NULL, NULL, NULL, NULL, NULL, 0}
-};
-
-/************************************************************************
- *                                                                     *
- *             The main code driving the tests                         *
- *                                                                     *
- ************************************************************************/
-
-static int
-launchTests(testDescPtr tst) {
-    int res = 0, err = 0;
-    size_t i;
-    char *result;
-    char *error;
-    int mem;
-
-    if (tst == NULL) return(-1);
-    if (tst->in != NULL) {
-       glob_t globbuf;
-
-       globbuf.gl_offs = 0;
-       glob(tst->in, GLOB_DOOFFS, NULL, &globbuf);
-       for (i = 0;i < globbuf.gl_pathc;i++) {
-           if (!checkTestFile(globbuf.gl_pathv[i]))
-               continue;
-           if (tst->suffix != NULL) {
-               result = resultFilename(globbuf.gl_pathv[i], tst->out,
-                                       tst->suffix);
-               if (result == NULL) {
-                   fprintf(stderr, "Out of memory !\n");
-                   fatalError();
-               }
-           } else {
-               result = NULL;
-           }
-           if (tst->err != NULL) {
-               error = resultFilename(globbuf.gl_pathv[i], tst->out,
-                                       tst->err);
-               if (error == NULL) {
-                   fprintf(stderr, "Out of memory !\n");
-                   fatalError();
-               }
-           } else {
-               error = NULL;
-           }
-           if ((result) &&(!checkTestFile(result))) {
-               fprintf(stderr, "Missing result file %s\n", result);
-           } else if ((error) &&(!checkTestFile(error))) {
-               fprintf(stderr, "Missing error file %s\n", error);
-           } else {
-               mem = xmlMemUsed();
-               extraMemoryFromResolver = 0;
-               testErrorsSize = 0;
-               testErrors[0] = 0;
-               res = tst->func(globbuf.gl_pathv[i], result, error,
-                               tst->options | XML_PARSE_COMPACT);
-               xmlResetLastError();
-               if (res != 0) {
-                   fprintf(stderr, "File %s generated an error\n",
-                           globbuf.gl_pathv[i]);
-                   nb_errors++;
-                   err++;
-               }
-               else if (xmlMemUsed() != mem) {
-                   if ((xmlMemUsed() != mem) &&
-                       (extraMemoryFromResolver == 0)) {
-                       fprintf(stderr, "File %s leaked %d bytes\n",
-                               globbuf.gl_pathv[i], xmlMemUsed() - mem);
-                       nb_leaks++;
-                       err++;
-                   }
-               }
-               testErrorsSize = 0;
-           }
-           if (result)
-               free(result);
-           if (error)
-               free(error);
-       }
-       globfree(&globbuf);
-    } else {
-        testErrorsSize = 0;
-       testErrors[0] = 0;
-       extraMemoryFromResolver = 0;
-        res = tst->func(NULL, NULL, NULL, tst->options);
-       if (res != 0) {
-           nb_errors++;
-           err++;
-       }
-    }
-    return(err);
-}
-
-static int verbose = 0;
-static int tests_quiet = 0;
-
-static int
-runtest(int i) {
-    int ret = 0, res;
-    int old_errors, old_tests, old_leaks;
-
-    old_errors = nb_errors;
-    old_tests = nb_tests;
-    old_leaks = nb_leaks;
-    if ((tests_quiet == 0) && (testDescriptions[i].desc != NULL))
-       printf("## %s\n", testDescriptions[i].desc);
-    res = launchTests(&testDescriptions[i]);
-    if (res != 0)
-       ret++;
-    if (verbose) {
-       if ((nb_errors == old_errors) && (nb_leaks == old_leaks))
-           printf("Ran %d tests, no errors\n", nb_tests - old_tests);
-       else
-           printf("Ran %d tests, %d errors, %d leaks\n",
-                  nb_tests - old_tests,
-                  nb_errors - old_errors,
-                  nb_leaks - old_leaks);
-    }
-    return(ret);
-}
-
-int
-main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
-    int i, a, ret = 0;
-    int subset = 0;
-
-    initializeLibxml2();
-
-    for (a = 1; a < argc;a++) {
-        if (!strcmp(argv[a], "-v"))
-           verbose = 1;
-        else if (!strcmp(argv[a], "-quiet"))
-           tests_quiet = 1;
-       else {
-           for (i = 0; testDescriptions[i].func != NULL; i++) {
-               if (strstr(testDescriptions[i].desc, argv[a])) {
-                   ret += runtest(i);
-                   subset++;
-               }
-           }
-       }
-    }
-    if (subset == 0) {
-       for (i = 0; testDescriptions[i].func != NULL; i++) {
-           ret += runtest(i);
-       }
-    }
-    if ((nb_errors == 0) && (nb_leaks == 0)) {
-        ret = 0;
-       printf("Total %d tests, no errors\n",
-              nb_tests);
-    } else {
-        ret = 1;
-       printf("Total %d tests, %d errors, %d leaks\n",
-              nb_tests, nb_errors, nb_leaks);
-    }
-    xmlCleanupParser();
-    xmlMemoryDump();
-
-    return(ret);
-}
index 52d6671..0d7fe52 100644 (file)
@@ -146,6 +146,7 @@ struct _xmlRMutex {
 static pthread_key_t globalkey;
 static pthread_t mainthread;
 static pthread_once_t once_control = PTHREAD_ONCE_INIT;
+static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
 static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
 #elif defined HAVE_WIN32_THREADS
 #if defined(HAVE_COMPILER_TLS)
@@ -251,7 +252,6 @@ xmlMutexLock(xmlMutexPtr tok)
 #ifdef DEBUG_THREADS
         xmlGenericError(xmlGenericErrorContext,
                         "xmlMutexLock():BeOS:Couldn't aquire semaphore\n");
-        exit();
 #endif
     }
     tok->tid = find_thread(NULL);
@@ -499,7 +499,6 @@ __xmlGlobalInitMutexLock(void)
 #ifdef DEBUG_THREADS
         xmlGenericError(xmlGenericErrorContext,
                         "xmlGlobalInitMutexLock():BeOS:Couldn't acquire semaphore\n");
-        exit();
 #endif
     }
 #endif
@@ -915,7 +914,7 @@ xmlCleanupThreads(void)
 #ifdef HAVE_PTHREAD_H
     if ((libxml_is_threaded)  && (pthread_key_delete != NULL))
         pthread_key_delete(globalkey);
-    once_control = PTHREAD_ONCE_INIT;
+    once_control = once_control_init;
 #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
     if (globalkey != TLS_OUT_OF_INDEXES) {
         xmlGlobalStateCleanupHelperParams *p;
@@ -955,6 +954,7 @@ xmlOnceInit(void)
 #ifdef HAVE_PTHREAD_H
     (void) pthread_key_create(&globalkey, xmlFreeGlobalState);
     mainthread = pthread_self();
+    __xmlInitializeDict();
 #elif defined(HAVE_WIN32_THREADS)
     if (!run_once.done) {
         if (InterlockedIncrement(&run_once.control) == 1) {
@@ -962,6 +962,7 @@ xmlOnceInit(void)
             globalkey = TlsAlloc();
 #endif
             mainthread = GetCurrentThreadId();
+           __xmlInitializeDict();
             run_once.done = 1;
         } else {
             /* Another thread is working; give up our slice and
@@ -975,6 +976,7 @@ xmlOnceInit(void)
         globalkey = tls_allocate();
         tls_set(globalkey, NULL);
         mainthread = find_thread(NULL);
+       __xmlInitializeDict();
     } else
         atomic_add(&run_once_init, -1);
 #endif
index 5443988..99697a0 100644 (file)
@@ -30,6 +30,14 @@ typedef unsigned __int64 uint64_t;
 #endif
 #endif
 
+#ifndef MK_UINT64
+#if defined(WIN32) && defined(_MSC_VER) && _MSC_VER < 1300
+#define MK_UINT64(x) ((uint64_t)(x))
+#else
+#define MK_UINT64(x) x##ULL
+#endif
+#endif
+
 #ifndef MAX
 #define MAX(x,y) (((x) > (y) ? (x) : (y)))
 #endif
@@ -37,10 +45,10 @@ typedef unsigned __int64 uint64_t;
 #define MIN(x,y) (((x) < (y) ? (x) : (y)))
 #endif
 
-int compute_minrun(const uint64_t);
+int compute_minrun(uint64_t);
 
 #ifndef CLZ
-#ifdef __GNUC__
+#if defined(__GNUC__) && ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ > 3))
 #define CLZ __builtin_clzll
 #else
 
@@ -67,12 +75,12 @@ int clzll(uint64_t x) /* {{{ */
 #endif
 #endif
 
-int compute_minrun(const uint64_t size) /* {{{ */
+int compute_minrun(uint64_t size) /* {{{ */
 {
   const int top_bit = 64 - CLZ(size);
   const int shift = MAX(top_bit, 6) - 6;
   const int minrun = size >> shift;
-  const uint64_t mask = (1ULL << shift) - 1;
+  const uint64_t mask = (MK_UINT64(1) << shift) - 1;
   if (mask & size) return minrun + 1;
   return minrun;
 }
index 145a689..7e5af26 100644 (file)
@@ -314,7 +314,7 @@ xmlSplitQName2(const xmlChar *name, xmlChar **prefix) {
  * parse an XML qualified name string,i
  *
  * returns NULL if it is not a Qualified Name, otherwise, update len
- *         with the lenght in byte of the prefix and return a pointer
+ *         with the length in byte of the prefix and return a pointer
  *         to the start of the name without the prefix
  */
 
index 10bc4f4..6e53a76 100644 (file)
@@ -5796,7 +5796,7 @@ xmlValidatePushElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
  * xmlValidatePushCData:
  * @ctxt:  the validation context
  * @data:  some character data read
- * @len:  the lenght of the data
+ * @len:  the length of the data
  *
  * check the CData parsed for validation in the current stack
  *
diff --git a/reactos/lib/3rdparty/libxml2/xml2-config.1 b/reactos/lib/3rdparty/libxml2/xml2-config.1
deleted file mode 100644 (file)
index 8cf9858..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-.TH GNOME-XML 1 "3 July 1999" Version 1.1.0
-.SH NAME
-xml-config - script to get information about the installed version of GNOME-XML
-.SH SYNOPSIS
-.B xml-config
-[\-\-prefix\fI[=DIR]\fP] [\-\-libs] [\-\-cflags] [\-\-version] [\-\-help]
-.SH DESCRIPTION
-\fIxml-config\fP is a tool that is used to determine the compile and
-linker flags that should be used to compile and link programs that use
-\fIGNOME-XML\fP.
-.SH OPTIONS
-\fIxml-config\fP accepts the following options:
-.TP 8
-.B  \-\-version
-Print the currently installed version of \fIGNOME-XML\fP on the standard output.
-.TP 8
-.B  \-\-libs
-Print the linker flags that are necessary to link a \fIGNOME-XML\fP program.
-.TP 8
-.B  \-\-cflags
-Print the compiler flags that are necessary to compile a \fIGNOME-XML\fP program.
-.TP 8
-.B  \-\-prefix=PREFIX
-If specified, use PREFIX instead of the installation prefix that
-\fIGNOME-XML\fP was built with when computing the output for the
-\-\-cflags and \-\-libs options. This option must be specified before
-any \-\-libs or \-\-cflags options.
-.SH AUTHOR
-This manual page was written by Fredrik Hallenberg <hallon@lysator.liu.se>,
-for the Debian GNU/linux system (but may be used by others).
diff --git a/reactos/lib/3rdparty/libxml2/xml2-config.in b/reactos/lib/3rdparty/libxml2/xml2-config.in
deleted file mode 100644 (file)
index 1957486..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-#! /bin/sh
-
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-includedir=@includedir@
-libdir=@libdir@
-
-usage()
-{
-    cat <<EOF
-Usage: xml2-config [OPTION]
-
-Known values for OPTION are:
-
-  --prefix=DIR         change libxml prefix [default $prefix]
-  --exec-prefix=DIR    change libxml exec prefix [default $exec_prefix]
-  --libs               print library linking information
-  --cflags             print pre-processor and compiler flags
-  --modules            module support enabled
-  --help               display this help and exit
-  --version            output version information
-EOF
-
-    exit $1
-}
-
-if test $# -eq 0; then
-    usage 1
-fi
-
-cflags=false
-libs=false
-
-while test $# -gt 0; do
-    case "$1" in
-    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-    *) optarg= ;;
-    esac
-
-    case "$1" in
-    --prefix=*)
-       prefix=$optarg
-       includedir=$prefix/include
-       libdir=$prefix/lib
-       ;;
-
-    --prefix)
-       echo $prefix
-       ;;
-
-    --exec-prefix=*)
-      exec_prefix=$optarg
-      libdir=$exec_prefix/lib
-      ;;
-
-    --exec-prefix)
-      echo $exec_prefix
-      ;;
-
-    --version)
-       echo @VERSION@
-       exit 0
-       ;;
-
-    --help)
-       usage 0
-       ;;
-
-    --cflags)
-               echo @XML_INCLUDEDIR@ @XML_CFLAGS@
-               ;;
-
-    --libtool-libs)
-       if [ -r ${libdir}/@XML_LIBTOOLLIBS@ ]
-       then
-           echo ${libdir}/@XML_LIBTOOLLIBS@
-       fi
-        ;;
-
-    --modules)
-               echo @WITH_MODULES@
-               ;;
-
-    --libs)
-        if [ "`uname`" = "Linux" ]
-       then
-           if [ "@XML_LIBDIR@" = "-L/usr/lib" -o "@XML_LIBDIR@" = "-L/usr/lib64" ]
-           then
-               echo @XML_LIBS@ @MODULE_PLATFORM_LIBS@
-           else
-               echo @XML_LIBDIR@ @XML_LIBS@ @MODULE_PLATFORM_LIBS@
-           fi
-       else
-           echo @XML_LIBDIR@ @XML_LIBS@ @MODULE_PLATFORM_LIBS@ @WIN32_EXTRA_LIBADD@
-       fi
-               ;;
-
-    *)
-       usage
-       exit 1
-       ;;
-    esac
-    shift
-done
-
-exit 0
diff --git a/reactos/lib/3rdparty/libxml2/xml2Conf.sh.in b/reactos/lib/3rdparty/libxml2/xml2Conf.sh.in
deleted file mode 100644 (file)
index 08cb233..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# Configuration file for using the XML library in GNOME applications
-#
-XML2_LIBDIR="@XML_LIBDIR@"
-XML2_LIBS="@XML_LIBS@"
-XML2_INCLUDEDIR="@XML_INCLUDEDIR@"
-MODULE_VERSION="xml2-@VERSION@"
-
index ac6f472..16a7b3d 100644 (file)
@@ -801,7 +801,7 @@ xmlCheckFilename (const char *path)
     return 1;
 }
 
-static int
+int
 xmlNop(void) {
     return(0);
 }
@@ -3239,7 +3239,7 @@ xmlParserInputBufferPush(xmlParserInputBufferPtr in,
         * convert as much as possible to the parser reading buffer.
         */
        use = xmlBufUse(in->raw);
-       nbchars = xmlCharEncInput(in);
+       nbchars = xmlCharEncInput(in, 1);
        if (nbchars < 0) {
            xmlIOErr(XML_IO_ENCODER, NULL);
            in->error = XML_IO_ENCODER;
@@ -3344,7 +3344,7 @@ xmlParserInputBufferGrow(xmlParserInputBufferPtr in, int len) {
         * convert as much as possible to the parser reading buffer.
         */
        use = xmlBufUse(in->raw);
-       nbchars = xmlCharEncInput(in);
+       nbchars = xmlCharEncInput(in, 1);
        if (nbchars < 0) {
            xmlIOErr(XML_IO_ENCODER, NULL);
            in->error = XML_IO_ENCODER;
@@ -3726,14 +3726,16 @@ xmlOutputBufferFlush(xmlOutputBufferPtr out) {
      */
     if ((out->conv != NULL) && (out->encoder != NULL)) {
        /*
-        * convert as much as possible to the parser reading buffer.
+        * convert as much as possible to the parser output buffer.
         */
-       nbchars = xmlCharEncOutput(out, 0);
-       if (nbchars < 0) {
-           xmlIOErr(XML_IO_ENCODER, NULL);
-           out->error = XML_IO_ENCODER;
-           return(-1);
-       }
+       do {
+           nbchars = xmlCharEncOutput(out, 0);
+           if (nbchars < 0) {
+               xmlIOErr(XML_IO_ENCODER, NULL);
+               out->error = XML_IO_ENCODER;
+               return(-1);
+           }
+       } while (nbchars);
     }
 
     /*
index 9415d9a..26d8db1 100644 (file)
@@ -168,6 +168,7 @@ static int nodefdtd = 0;
 #endif
 #ifdef LIBXML_PUSH_ENABLED
 static int push = 0;
+static int pushsize = 4096;
 #endif /* LIBXML_PUSH_ENABLED */
 #ifdef HAVE_MMAP
 static int memory = 0;
@@ -1874,7 +1875,8 @@ static void streamFile(char *filename) {
            xmlTextReaderSetParserProp(reader, XML_PARSER_VALIDATE, 1);
        else
 #endif /* LIBXML_VALID_ENABLED */
-           xmlTextReaderSetParserProp(reader, XML_PARSER_LOADDTD, 1);
+           if (loaddtd)
+               xmlTextReaderSetParserProp(reader, XML_PARSER_LOADDTD, 1);
 #ifdef LIBXML_SCHEMAS_ENABLED
        if (relaxng != NULL) {
            if ((timing) && (!repeat)) {
@@ -2192,17 +2194,15 @@ static void parseAndPrintFile(char *filename, xmlParserCtxtPtr rectxt) {
        f = fopen(filename, "r");
 #endif
         if (f != NULL) {
-            int res, size = 3;
+            int res;
             char chars[4096];
             htmlParserCtxtPtr ctxt;
 
-            /* if (repeat) */
-                size = 4096;
             res = fread(chars, 1, 4, f);
             if (res > 0) {
                 ctxt = htmlCreatePushParserCtxt(NULL, NULL,
                             chars, res, filename, XML_CHAR_ENCODING_NONE);
-                while ((res = fread(chars, 1, size, f)) > 0) {
+                while ((res = fread(chars, 1, pushsize, f)) > 0) {
                     htmlParseChunk(ctxt, chars, res, 0);
                 }
                 htmlParseChunk(ctxt, chars, 0, 1);
@@ -3017,6 +3017,7 @@ static void usage(const char *name) {
 #endif
 #ifdef LIBXML_PUSH_ENABLED
     printf("\t--push : use the push mode of the parser\n");
+    printf("\t--pushsmall : use the push mode of the parser using tiny increments\n");
 #endif /* LIBXML_PUSH_ENABLED */
 #ifdef HAVE_MMAP
     printf("\t--memory : parse from memory\n");
@@ -3076,7 +3077,7 @@ static void usage(const char *name) {
     printf("\t--sax: do not build a tree but work just at the SAX level\n");
     printf("\t--oldxml10: use XML-1.0 parsing rules before the 5th edition\n");
 #ifdef LIBXML_XPATH_ENABLED
-    printf("\t--xpath expr: evaluate the XPath expression, inply --noout\n");
+    printf("\t--xpath expr: evaluate the XPath expression, imply --noout\n");
 #endif
 
     printf("\nLibxml project home page: http://xmlsoft.org/\n");
@@ -3247,6 +3248,11 @@ main(int argc, char **argv) {
        else if ((!strcmp(argv[i], "-push")) ||
                 (!strcmp(argv[i], "--push")))
            push++;
+       else if ((!strcmp(argv[i], "-pushsmall")) ||
+                (!strcmp(argv[i], "--pushsmall"))) {
+           push++;
+            pushsize = 10;
+        }
 #endif /* LIBXML_PUSH_ENABLED */
 #ifdef HAVE_MMAP
        else if ((!strcmp(argv[i], "-memory")) ||
index 579e943..00083d0 100644 (file)
@@ -984,7 +984,7 @@ printf("Expand failed !\n");
  * xmlTextReaderValidateCData:
  * @reader:  the xmlTextReaderPtr used
  * @data:  pointer to the CData
- * @len:  lenght of the CData block in bytes.
+ * @len:  length of the CData block in bytes.
  *
  * Push some CData for validation
  */
@@ -1409,8 +1409,7 @@ get_next_node:
 #endif
            (reader->entNr == 0) &&
            (reader->node->prev != NULL) &&
-            (reader->node->prev->type != XML_DTD_NODE) &&
-           (reader->entNr == 0)) {
+            (reader->node->prev->type != XML_DTD_NODE)) {
            xmlNodePtr tmp = reader->node->prev;
            if ((tmp->extra & NODE_IS_PRESERVED) == 0) {
                xmlUnlinkNode(tmp);
@@ -1459,8 +1458,7 @@ get_next_node:
 #endif
            (reader->entNr == 0) &&
            (oldnode->type != XML_DTD_NODE) &&
-           ((oldnode->extra & NODE_IS_PRESERVED) == 0) &&
-           (reader->entNr == 0)) {
+           ((oldnode->extra & NODE_IS_PRESERVED) == 0)) {
            xmlUnlinkNode(oldnode);
            xmlTextReaderFreeNode(reader, oldnode);
        }
index 68e7bed..1f9911c 100644 (file)
@@ -6838,7 +6838,7 @@ xmlExpRef(xmlExpNodePtr exp) {
  * xmlExpNewAtom:
  * @ctxt: the expression context
  * @name: the atom name
- * @len: the atom name lenght in byte (or -1);
+ * @len: the atom name length in byte (or -1);
  *
  * Get the atom associated to this name from that context
  *
@@ -6975,7 +6975,7 @@ tail:
  * @ctxt: the expression context
  * @exp: the expression
  * @langList: where to store the tokens
- * @len: the allocated lenght of @list
+ * @len: the allocated length of @list
  *
  * Find all the strings used in @exp and store them in @list
  *
@@ -7041,7 +7041,7 @@ tail:
  * @ctxt: the expression context
  * @exp: the expression
  * @tokList: where to store the tokens
- * @len: the allocated lenght of @list
+ * @len: the allocated length of @list
  *
  * Find all the strings that appears at the start of the languages
  * accepted by @exp and store them in @list. E.g. for (a, b) | c
index 829abb3..774404b 100644 (file)
@@ -2247,6 +2247,7 @@ xmlBufNodeDump(xmlBufPtr buf, xmlDocPtr doc, xmlNodePtr cur, int level,
     size_t use;
     int ret;
     xmlOutputBufferPtr outbuf;
+    int oldalloc;
 
     xmlInitParser();
 
@@ -2278,7 +2279,10 @@ xmlBufNodeDump(xmlBufPtr buf, xmlDocPtr doc, xmlNodePtr cur, int level,
     outbuf->written = 0;
 
     use = xmlBufUse(buf);
+    oldalloc = xmlBufGetAllocationScheme(buf);
+    xmlBufSetAllocationScheme(buf, XML_BUFFER_ALLOC_DOUBLEIT);
     xmlNodeDumpOutput(outbuf, doc, cur, level, format, NULL);
+    xmlBufSetAllocationScheme(buf, oldalloc);
     xmlFree(outbuf);
     ret = xmlBufUse(buf) - use;
     return (ret);
index d6a47e4..121533f 100644 (file)
@@ -26063,6 +26063,20 @@ xmlSchemaValidatorPopElem(xmlSchemaValidCtxtPtr vctxt)
                    "AUTOMATON create on '%s'\n", inode->localName);
 #endif
            }
+
+           /*
+            * Do not check further content if the node has been nilled
+            */
+           if (INODE_NILLED(inode)) {
+               ret = 0;
+#ifdef DEBUG_AUTOMATA
+               xmlGenericError(xmlGenericErrorContext,
+                   "AUTOMATON succeeded on nilled '%s'\n",
+                   inode->localName);
+#endif
+                goto skip_nilled;
+           }
+
            /*
            * Get hold of the still expected content, since a further
            * call to xmlRegExecPushString() will loose this information.
@@ -26100,6 +26114,9 @@ xmlSchemaValidatorPopElem(xmlSchemaValidCtxtPtr vctxt)
 
        }
     }
+
+skip_nilled:
+
     if (inode->typeDef->contentType == XML_SCHEMA_CONTENT_ELEMENTS)
        goto end_elem;
 
@@ -27846,7 +27863,10 @@ xmlSchemaVDocWalk(xmlSchemaValidCtxtPtr vctxt)
     const xmlChar *nsName;
 
     /* DOC VAL TODO: Move this to the start function. */
-    valRoot = xmlDocGetRootElement(vctxt->doc);
+    if (vctxt->validationRoot != NULL)
+        valRoot = vctxt->validationRoot;
+    else
+       valRoot = xmlDocGetRootElement(vctxt->doc);
     if (valRoot == NULL) {
        /* VAL TODO: Error code? */
        VERROR(1, NULL, "The document has no document element");
index e22f8b4..8905398 100644 (file)
@@ -35,7 +35,7 @@ Used Version: 1.0.6
 Website: http://www.bzip.org
 
 Title: LibXML
-Used Version: 2.9.0
+Used Version: 2.9.1
 Website: http://xmlsoft.org | ftp://xmlsoft.org/libxml2/
 
 Title: ZLib