# HG changeset patch # User arajkumar # Date 1524143232 -19800 # Thu Apr 19 18:37:12 2018 +0530 # Node ID 6d35c101f53e2eb9d70b96430c4ce397b325b0d2 # Parent 930274ac06c523fee15f7ce10069931b30275428 8197987: Update libxslt to version 1.1.32 Reviewed-by: diff --git a/modules/javafx.web/src/main/legal/libxslt.md b/modules/javafx.web/src/main/legal/libxslt.md --- a/modules/javafx.web/src/main/legal/libxslt.md +++ b/modules/javafx.web/src/main/legal/libxslt.md @@ -1,4 +1,4 @@ -## xmlsoft.org: libxslt v1.1.28 +## xmlsoft.org: libxslt v1.1.32 ### libxslt License
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/AUTHORS b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/AUTHORS
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/AUTHORS
+++ /dev/null
@@ -1,63 +0,0 @@
-Daniel Veillard:
-   daniel@veillard.com
-   DV on #gnome IRC channel
-   http://veillard.com/
-   Used to work at W3C, now Red Hat
-   co-chair of W3C XML Linking WG
-   invited expert on the W3C XML Core WG
-   Author of libxml2 upon which this library is based.
-
-Bjorn Reese:
-   breese@users.sourceforge.net
-   http://home1.stofanet.dk/breese/
-   Software developer at http://www.systematic.dk/
-   Member of the XML-MTF Mapping WG.
-
-William Brack 
-
-Thomas Broyer 
-
-Igor Zlatkovic  for the Windows port
-
-Patches gently provided by a multitude of people :
-
-Abhishek Arya 
-Ben Walton 
-Bjorn Reese 
-C. M. Sperberg-McQueen 
-Colin Walters 
-Daniel Mustieles 
-Daniel Richard G 
-Darin Adler 
-ÉRDI Gergo 
-Fatih Demir 
-Federico Mena Quintero 
-Frederic Crozat 
-Hao Hu 
-Havoc Pennington 
-IlyaS 
-jacob berkman 
-Jason Viers 
-Jérôme Carretero 
-Joachim Breitner 
-Johan Dahlin 
-John Fleck 
-Jose Maria Celorio 
-Julio M. Merino Vidal 
-Kasimier T. Buchcik 
-Kjartan Maraas 
-Laurence Rowe 
-Malcolm Purvis 
-Martin 
-Michael Bonfils 
-Mike Hommey 
-money_seshu Dronamraju 
-Nick Wellnhofer 
-Nix 
-Pedro F. Giffuni 
-Peter Williams 
-Rob Richards 
-Roumen Petrov 
-Stefan Kost 
-Tomasz KÅ‚oczko 
-Chris Evans 
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/CMakeLists.txt b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/CMakeLists.txt
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/CMakeLists.txt
+++ b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/CMakeLists.txt
@@ -1,23 +1,23 @@
 set(XSLT_SOURCES
-    libxslt/attributes.c
-    libxslt/documents.c
-    libxslt/extensions.c
-    libxslt/extra.c
-    libxslt/functions.c
-    libxslt/imports.c
-    libxslt/keys.c
-    libxslt/namespaces.c
-    libxslt/numbers.c
-    libxslt/pattern.c
-    libxslt/preproc.c
-    libxslt/security.c
-    libxslt/templates.c
-    libxslt/transform.c
-    libxslt/variables.c
-    libxslt/xslt.c
-    libxslt/xsltlocale.c
-    libxslt/xsltutils.c
-    libxslt/attrvt.c
+    src/libxslt/attributes.c
+    src/libxslt/documents.c
+    src/libxslt/extensions.c
+    src/libxslt/extra.c
+    src/libxslt/functions.c
+    src/libxslt/imports.c
+    src/libxslt/keys.c
+    src/libxslt/namespaces.c
+    src/libxslt/numbers.c
+    src/libxslt/pattern.c
+    src/libxslt/preproc.c
+    src/libxslt/security.c
+    src/libxslt/templates.c
+    src/libxslt/transform.c
+    src/libxslt/variables.c
+    src/libxslt/xslt.c
+    src/libxslt/xsltlocale.c
+    src/libxslt/xsltutils.c
+    src/libxslt/attrvt.c
 )
 
 # XSLT_COMPILE_OPTIONS are taken from Chromium.
@@ -29,6 +29,9 @@
         # TODO(brucedawson): http://crbug.com/554200 4311 is a VS
         # 2015 64-bit warning for pointer truncation
         "/wd4311"
+
+        # security.c: from 'const char *' to 'LPCWSTR'
+        "/wd4133"
     )
 elseif (APPLE)
     set(XSLT_PLATFORM_INCLUDE_DIRECTORY mac)
@@ -42,6 +45,7 @@
         # xsltDefaultRegion and xsltCalibrateTimestamps are only
         # used with certain preprocessor defines set.
         "-Wno-unused-function"
+        "-Wno-unused-variable"
      )
 elseif (UNIX AND NOT APPLE)
     set(XSLT_PLATFORM_INCLUDE_DIRECTORY linux)
@@ -63,7 +67,7 @@
 target_link_libraries(XSLTJava PUBLIC XMLJava)
 
 target_include_directories(XSLTJava
-    PUBLIC "."
+    PUBLIC "src"
     PRIVATE "${XSLT_PLATFORM_INCLUDE_DIRECTORY}"
 )
 
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/COPYING b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/COPYING
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/COPYING
+++ /dev/null
@@ -1,53 +0,0 @@
-Licence for libxslt except libexslt
-----------------------------------------------------------------------
- Copyright (C) 2001-2002 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
-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 fur-
-nished 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, 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.
-
-----------------------------------------------------------------------
-
-Licence for libexslt
-----------------------------------------------------------------------
- Copyright (C) 2001-2002 Thomas Broyer, Charlie Bozeman and 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
-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 fur-
-nished 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, FIT-
-NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-AUTHORS 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 the authors 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.
-----------------------------------------------------------------------
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/Copyright b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/Copyright
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/Copyright
+++ /dev/null
@@ -1,53 +0,0 @@
-Licence for libxslt except libexslt
-----------------------------------------------------------------------
- Copyright (C) 2001-2002 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
-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 fur-
-nished 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, 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.
-
-----------------------------------------------------------------------
-
-Licence for libexslt
-----------------------------------------------------------------------
- Copyright (C) 2001-2002 Thomas Broyer, Charlie Bozeman and 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
-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 fur-
-nished 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, FIT-
-NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-AUTHORS 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 the authors 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.
-----------------------------------------------------------------------
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/FEATURES b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/FEATURES
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/FEATURES
+++ /dev/null
@@ -1,244 +0,0 @@
-       Status of implementation of the XSLT 1.0 Features:
-       ==================================================
-
-      $Id$
-
-Stylesheet Constructs:
-======================
-
-YES			    xsl:stylesheet
-?				id = id 
-YES				extension-element-prefixes = tokens 
-YES				exclude-result-prefixes = tokens 
-YES				version = number
-
-YES			    xsl:transform
-?				id = id 
-YES				extension-element-prefixes = tokens 
-YES				exclude-result-prefixes = tokens 
-YES				version = number
-
-
-YES			    Literal Result Element as Stylesheet
-
-YES			    Embedding Stylesheets
-
-NO                          mediaType
-
-Top Level Elements:
-===================
-
-YES			    xsl:include
-YES				href = uri-reference
-
-YES			    xsl:import
-YES				href = uri-reference
-
-YES			    xsl:strip-space
-YES				elements = tokens
-
-YES			    xsl:preserve-space
-YES				elements = tokens
-
-YES			    xsl:template
-YES				match = pattern 
-YES				name = qname 
-YES				priority = number 
-YES				mode = qname
-
-YES			    xsl:namespace-alias
-YES				stylesheet-prefix = prefix | "#default"
-YES				result-prefix = prefix | "#default"
-
-YES			    xsl:attribute-set
-YES				name = qname 
-YES				use-attribute-sets = qnames
-
-YES			    xsl:variable
-YES				name = qname 
-YES				select = expression
-YES				Content: template
-
-YES			    xsl:param
-YES				name = qname 
-YES				select = expression
-YES				Content: template
-
-YES			    xsl:key
-YES				name = qname 
-YES				match = pattern 
-YES				use = expression
-
-YES			    xsl:output
-YES				method = "xml" | "html" | "text" | qname-but-not-ncname 
-YES				version = nmtoken 
-YES				encoding = string 
-YES				omit-xml-declaration = "yes" | "no"
-YES				standalone = "yes" | "no"
-YES				doctype-public = string 
-YES				doctype-system = string 
-YES				cdata-section-elements = qnames 
-YES				indent = "yes" | "no"
-YES				media-type = string
-
-Instructions:
-=============
-
-YES			    xsl:apply-templates
-YES				select = node-set-expression 
-YES				mode = qname
-
-YES			    xsl:apply-imports
-
-YES			    xsl:call-template
-YES				name = qname
-
-YES			    xsl:element
-YES				name = { qname }
-YES				namespace = { uri-reference }
-YES				use-attribute-sets = qnames
-
-YES			    xsl:attribute
-YES				name = { qname }
-YES				namespace = { uri-reference }
-
-YES			    xsl:text
-YES				disable-output-escaping = "yes" | "no"
-
-YES			    xsl:processing-instruction
-YES				name = { ncname }
-
-YES			    xsl:comment
-
-YES			    xsl:copy
-YES				use-attribute-sets = qnames
-
-YES			    xsl:value-of
-YES				select = string-expression 
-YES				disable-output-escaping = "yes" | "no"
-
-YES			    xsl:number
-YES				level = "single" | "multiple" | "any"
-YES				count = pattern 
-YES				from = pattern 
-YES				value = number-expression 
-YES				format = { string }
-NO				lang = { nmtoken }
-NO				letter-value = { "alphabetic" | "traditional" }
-YES				grouping-separator = { char }
-YES				grouping-size = { number }
-
-YES			    xsl:for-each
-YES				select = node-set-expression
-
-YES			    xsl:if
-YES				test = boolean-expression
-
-YES			    xsl:choose
-
-YES			    xsl:when
-YES				test = boolean-expression
-
-YES			    xsl:otherwise
-
-YES			    xsl:sort
-YES				select = string-expression 
-NO				lang = { nmtoken }
-YES				data-type = { "text" | "number" | qname-but-not-ncname }
-YES				order = { "ascending" | "descending" }
-NO				case-order = { "upper-first" | "lower-first" }
-
-YES			    xsl:variable
-YES				name = qname 
-YES				select = expression
-YES				Content: template
-
-YES			    xsl:param
-YES				name = qname 
-YES				select = expression
-YES				Content: template
-
-YES			    xsl:copy-of
-YES				select = expression
-
-YES			    xsl:with-param
-YES				name = qname 
-YES				select = expression
-
-YES			    xsl:decimal-format
-YES				name = qname 
-YES				decimal-separator = char 
-YES				grouping-separator = char 
-YES				infinity = string 
-YES				minus-sign = char 
-YES				NaN = string 
-YES				percent = char 
-YES				per-mille = char 
-YES				zero-digit = char 
-YES				digit = char 
-YES				pattern-separator = char
-
-YES			    xsl:message
-YES				terminate = "yes" | "no"
-
-YES			    xsl:fallback
-
-General:
-========
-
-YES			    Conflict Resolution for Template Rules
-
-YES			    Whitespace Stripping
-
-YES			    Built-in Template Rules
-YES			        match="*|/"
-YES				match="text()|@*"
-YES				match="processing-instruction()|comment()"
-YES				Namespace
-YES				Mode
-
-YES			    Extension Elements
-
-YES			    Extension Functions
-
-YES			    Attribute Value Templates
-
-YES			    Result Tree Fragments
-
-Functions:
-==========
-
-YES			    node-set document(object, node-set?)
-YES			    node-set key(string, object)
-YES			    string format-number(number, string, string?)
-YES			    node-set current() 
-YES			    string unparsed-entity-uri(string)
-YES			    string generate-id(node-set?)
-YES			    object system-property(string)
-YES			    boolean element-available(string)
-YES			    boolean function-available(string)
-
-Patterns:
-=========
-
-YES			    para
-YES			    *
-YES			    chapter|appendix
-YES			    olist/item
-YES			    appendix//para
-YES			    /
-YES			    text()
-YES			    processing-instruction()
-YES			    node()
-YES			    id("W11")
-YES			    para[1]
-YES			    *[position()=1 and self::para]
-YES			    para[last()=1]
-YES			    items/item[position()>1]
-YES			    item[position() mod 2 = 1]
-YES			    div[@class="appendix"]//p
-YES			    @class
-YES			    @*
-YES   except ns for key	    key('a','b')
-
-daniel@veillard.com
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/INSTALL b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/INSTALL
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/INSTALL
+++ /dev/null
@@ -1,49 +0,0 @@
-         How to install the XSLT library:
-
-Requirements:
-=============
-
-this library requires a recent version of libxml2 which you can grab from
-either the GNOME FTP or the xmlsoft.org server:
-
-  ftp://xmlsoft.org/
-
-When installing from a distribution package like a tar.gz:
-==========================================================
-
-expand the package
-
-run ./configure possibly indicating the desired installation prefix: 
-
-    ./configure --prefix=/usr
-
-then run
-
-    make
-
-to build the project and
-
-    make install 
-
-(possibly after having gained root access) to install the library
-and associated include and scripts.
-
-When installing from a checkout of the GNOME CVS base:
-======================================================
-
-
-run ./autogen.sh possibly indicating the desired installation prefix: 
-
-    ./autogen.sh --prefix=/usr
-
-then run
-
-    make
-
-to build the project and
-
-    make install 
-
-(possibly after having gained root access) to instal the library
-and associated include and scripts.
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/Makefile.am b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/Makefile.am
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/Makefile.am
+++ /dev/null
@@ -1,77 +0,0 @@
-SUBDIRS = \
-	libxslt \
-	libexslt \
-	xsltproc \
-	doc \
-	$(PYTHON_SUBDIR) \
-	tests
-
-DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests
-
-confexecdir=$(libdir)
-confexec_DATA = xsltConf.sh
-
-bin_SCRIPTS = xslt-config
-
-dist-hook: cleanup libxslt.spec
-	touch $(distdir)/doc/*.xml
-	touch $(distdir)/doc/EXSLT/*.xml
-	touch $(distdir)/libxslt/*.syms
-	(cd $(srcdir) ; tar -cf - --exclude CVS --exclude .svn win32 vms examples) | (cd $(distdir); tar xf -)
-
-CVS_EXTRA_DIST =
-
-EXTRA_DIST = xsltConf.sh.in xslt-config.in libxslt.spec libxslt.spec.in \
-             FEATURES TODO Copyright libxslt.m4 \
-	     win32/libxslt/libxslt.def win32/libxslt/libxslt.dsw \
-	     win32/libxslt/libxslt_so.dsp win32/libxslt/xsltproc.dsp \
-	     $(CVS_EXTRA_DIST)
-
-## We create xsltConf.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).
-
-xsltConf.sh: xsltConf.sh.in Makefile
-## Use sed and then mv to avoid problems if the user interrupts.
-	sed -e 's?\@XSLT_LIBDIR\@?$(XSLT_LIBDIR)?g' \
-	    -e 's?\@XSLT_INCLUDEDIR\@?$(XSLT_INCLUDEDIR)?g' \
-	    -e 's?\@VERSION\@?$(VERSION)?g' \
-	    -e 's?\@XSLT_LIBS\@?$(XSLT_LIBS) $(EXTRA_LIBS)?g' \
-	       < $(srcdir)/xsltConf.sh.in > xsltConf.tmp \
-	&& mv xsltConf.tmp xsltConf.sh
-
-CLEANFILES = xsltConf.sh
-
-check-local: tests
-
-dummy:
-
-tests: dummy
-	@echo '## Running the regression test suite'
-	@(cd tests ; $(MAKE) tests)
-	@(cd xsltproc ; $(MAKE) tests)
-	@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; $(MAKE) tests ; fi)
-
-valgrind:
-	@echo '## Running the regression tests under Valgrind'
-	@echo '## Go get a cup of coffee it is gonna take a while ...'
-	@(cd tests ; $(MAKE) CHECKER='valgrind -q' tests)
-	@(cd xsltproc ; $(MAKE) CHECKER='valgrind -q' tests)
-
-cleanup:
-	-@(find . -name .\#\* -exec rm {} \;)
-
-cleantar:
-	@(rm -f libxslt*.tar.gz)
-
-rpm: cleantar
-	@(unset CDPATH ; $(MAKE) dist && rpmbuild -ta $(distdir).tar.gz)
-
-
-pkgconfigdir=$(libdir)/pkgconfig
-pkgconfig_DATA = libxslt.pc libexslt.pc
-
-m4datadir = $(datadir)/aclocal
-m4data_DATA = libxslt.m4
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/Makefile.in b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/Makefile.in
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/Makefile.in
+++ /dev/null
@@ -1,1041 +0,0 @@
-# Makefile.in generated by automake 1.11.6 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@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
-    case $$MAKEFLAGS in \
-      *\\[\ \	]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
-    esac; \
-    test $$am__dry = yes; \
-  }
-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 = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
-	$(srcdir)/libexslt.pc.in $(srcdir)/libxslt.pc.in \
-	$(srcdir)/libxslt.spec.in $(srcdir)/xslt-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)/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 = libxslt.pc libexslt.pc xslt-config libxslt.spec
-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)$(bindir)" "$(DESTDIR)$(confexecdir)" \
-	"$(DESTDIR)$(m4datadir)" "$(DESTDIR)$(pkgconfigdir)"
-SCRIPTS = $(bin_SCRIPTS)
-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
-am__can_run_installinfo = \
-  case $$AM_UPDATE_INFO_DIR in \
-    n|no|NO) false;; \
-    *) (install-info --version) >/dev/null 2>&1;; \
-  esac
-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@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXSLT_INCLUDEDIR = @EXSLT_INCLUDEDIR@
-EXSLT_LIBDIR = @EXSLT_LIBDIR@
-EXSLT_LIBS = @EXSLT_LIBS@
-EXTRA_LIBS = @EXTRA_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-HTML_DIR = @HTML_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBEXSLT_MAJOR_VERSION = @LIBEXSLT_MAJOR_VERSION@
-LIBEXSLT_MICRO_VERSION = @LIBEXSLT_MICRO_VERSION@
-LIBEXSLT_MINOR_VERSION = @LIBEXSLT_MINOR_VERSION@
-LIBEXSLT_VERSION = @LIBEXSLT_VERSION@
-LIBEXSLT_VERSION_EXTRA = @LIBEXSLT_VERSION_EXTRA@
-LIBEXSLT_VERSION_INFO = @LIBEXSLT_VERSION_INFO@
-LIBEXSLT_VERSION_NUMBER = @LIBEXSLT_VERSION_NUMBER@
-LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
-LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
-LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBXML_CFLAGS = @LIBXML_CFLAGS@
-LIBXML_LIBS = @LIBXML_LIBS@
-LIBXML_REQUIRED_VERSION = @LIBXML_REQUIRED_VERSION@
-LIBXML_SRC = @LIBXML_SRC@
-LIBXSLT_DEFAULT_PLUGINS_PATH = @LIBXSLT_DEFAULT_PLUGINS_PATH@
-LIBXSLT_MAJOR_MINOR_VERSION = @LIBXSLT_MAJOR_MINOR_VERSION@
-LIBXSLT_MAJOR_VERSION = @LIBXSLT_MAJOR_VERSION@
-LIBXSLT_MICRO_VERSION = @LIBXSLT_MICRO_VERSION@
-LIBXSLT_MINOR_VERSION = @LIBXSLT_MINOR_VERSION@
-LIBXSLT_VERSION = @LIBXSLT_VERSION@
-LIBXSLT_VERSION_EXTRA = @LIBXSLT_VERSION_EXTRA@
-LIBXSLT_VERSION_INFO = @LIBXSLT_VERSION_INFO@
-LIBXSLT_VERSION_NUMBER = @LIBXSLT_VERSION_NUMBER@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-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@
-PYTHONSODV = @PYTHONSODV@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
-PYTHON_SUBDIR = @PYTHON_SUBDIR@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-RELDATE = @RELDATE@
-RM = @RM@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TAR = @TAR@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-VERSION_SCRIPT_FLAGS = @VERSION_SCRIPT_FLAGS@
-WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@
-WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@
-WITH_CRYPTO = @WITH_CRYPTO@
-WITH_DEBUGGER = @WITH_DEBUGGER@
-WITH_MEM_DEBUG = @WITH_MEM_DEBUG@
-WITH_MODULES = @WITH_MODULES@
-WITH_TRIO = @WITH_TRIO@
-WITH_XSLT_DEBUG = @WITH_XSLT_DEBUG@
-XMLLINT = @XMLLINT@
-XML_CONFIG = @XML_CONFIG@
-XSLTPROC = @XSLTPROC@
-XSLTPROCDV = @XSLTPROCDV@
-XSLT_INCLUDEDIR = @XSLT_INCLUDEDIR@
-XSLT_LIBDIR = @XSLT_LIBDIR@
-XSLT_LIBS = @XSLT_LIBS@
-XSLT_LOCALE_WINAPI = @XSLT_LOCALE_WINAPI@
-XSLT_LOCALE_XLOCALE = @XSLT_LOCALE_XLOCALE@
-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 = \
-	libxslt \
-	libexslt \
-	xsltproc \
-	doc \
-	$(PYTHON_SUBDIR) \
-	tests
-
-DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests
-confexecdir = $(libdir)
-confexec_DATA = xsltConf.sh
-bin_SCRIPTS = xslt-config
-CVS_EXTRA_DIST = 
-EXTRA_DIST = xsltConf.sh.in xslt-config.in libxslt.spec libxslt.spec.in \
-             FEATURES TODO Copyright libxslt.m4 \
-	     win32/libxslt/libxslt.def win32/libxslt/libxslt.dsw \
-	     win32/libxslt/libxslt_so.dsp win32/libxslt/xsltproc.dsp \
-	     $(CVS_EXTRA_DIST)
-
-CLEANFILES = xsltConf.sh
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libxslt.pc libexslt.pc
-m4datadir = $(datadir)/aclocal
-m4data_DATA = libxslt.m4
-all: config.h
-	$(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-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
-libxslt.pc: $(top_builddir)/config.status $(srcdir)/libxslt.pc.in
-	cd $(top_builddir) && $(SHELL) ./config.status $@
-libexslt.pc: $(top_builddir)/config.status $(srcdir)/libexslt.pc.in
-	cd $(top_builddir) && $(SHELL) ./config.status $@
-xslt-config: $(top_builddir)/config.status $(srcdir)/xslt-config.in
-	cd $(top_builddir) && $(SHELL) ./config.status $@
-libxslt.spec: $(top_builddir)/config.status $(srcdir)/libxslt.spec.in
-	cd $(top_builddir) && $(SHELL) ./config.status $@
-install-binSCRIPTS: $(bin_SCRIPTS)
-	@$(NORMAL_INSTALL)
-	@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
-	fi; \
-	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-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-	-rm -f libtool config.lt
-install-confexecDATA: $(confexec_DATA)
-	@$(NORMAL_INSTALL)
-	@list='$(confexec_DATA)'; test -n "$(confexecdir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(confexecdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(confexecdir)" || exit 1; \
-	fi; \
-	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)
-	@list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(m4datadir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(m4datadir)" || exit 1; \
-	fi; \
-	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)
-	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
-	fi; \
-	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)
-	$(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 \
-	    $(am__make_dryrun) \
-	      || test -d "$(distdir)/$$subdir" \
-	      || $(MKDIR_P) "$(distdir)/$$subdir" \
-	      || exit 1; \
-	    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
-	$(MAKE) $(AM_MAKEFLAGS) check-local
-check: check-recursive
-all-am: Makefile $(SCRIPTS) $(DATA) config.h
-installdirs: installdirs-recursive
-installdirs-am:
-	for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(confexecdir)" "$(DESTDIR)$(m4datadir)" "$(DESTDIR)$(pkgconfigdir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
-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:
-	-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)
-
-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 $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -f Makefile
-distclean-am: clean-am 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-m4dataDATA install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am: install-binSCRIPTS install-confexecDATA
-
-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 $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -rf $(top_srcdir)/autom4te.cache
-	-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: uninstall-binSCRIPTS uninstall-confexecDATA \
-	uninstall-m4dataDATA uninstall-pkgconfigDATA
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check-am \
-	ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-	all all-am am--refresh check check-am check-local clean \
-	clean-generic clean-libtool 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-generic distclean-hdr distclean-libtool \
-	distclean-tags distcleancheck distdir distuninstallcheck dvi \
-	dvi-am html html-am info info-am install install-am \
-	install-binSCRIPTS install-confexecDATA 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-m4dataDATA install-man 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-generic mostlyclean-libtool pdf pdf-am \
-	ps ps-am tags tags-recursive uninstall uninstall-am \
-	uninstall-binSCRIPTS uninstall-confexecDATA \
-	uninstall-m4dataDATA uninstall-pkgconfigDATA
-
-
-dist-hook: cleanup libxslt.spec
-	touch $(distdir)/doc/*.xml
-	touch $(distdir)/doc/EXSLT/*.xml
-	touch $(distdir)/libxslt/*.syms
-	(cd $(srcdir) ; tar -cf - --exclude CVS --exclude .svn win32 vms examples) | (cd $(distdir); tar xf -)
-
-xsltConf.sh: xsltConf.sh.in Makefile
-	sed -e 's?\@XSLT_LIBDIR\@?$(XSLT_LIBDIR)?g' \
-	    -e 's?\@XSLT_INCLUDEDIR\@?$(XSLT_INCLUDEDIR)?g' \
-	    -e 's?\@VERSION\@?$(VERSION)?g' \
-	    -e 's?\@XSLT_LIBS\@?$(XSLT_LIBS) $(EXTRA_LIBS)?g' \
-	       < $(srcdir)/xsltConf.sh.in > xsltConf.tmp \
-	&& mv xsltConf.tmp xsltConf.sh
-
-check-local: tests
-
-dummy:
-
-tests: dummy
-	@echo '## Running the regression test suite'
-	@(cd tests ; $(MAKE) tests)
-	@(cd xsltproc ; $(MAKE) tests)
-	@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; $(MAKE) tests ; fi)
-
-valgrind:
-	@echo '## Running the regression tests under Valgrind'
-	@echo '## Go get a cup of coffee it is gonna take a while ...'
-	@(cd tests ; $(MAKE) CHECKER='valgrind -q' tests)
-	@(cd xsltproc ; $(MAKE) CHECKER='valgrind -q' tests)
-
-cleanup:
-	-@(find . -name .\#\* -exec rm {} \;)
-
-cleantar:
-	@(rm -f libxslt*.tar.gz)
-
-rpm: cleantar
-	@(unset CDPATH ; $(MAKE) dist && rpmbuild -ta $(distdir).tar.gz)
-
-# 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/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/README b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/README
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/README
+++ /dev/null
@@ -1,24 +0,0 @@
-
-     XSLT support for libxml2 (XML toolkit from the GNOME project)
-
-Full documentation is available on-line at
-    http://xmlsoft.org/XSLT/
-
-This code is released under the MIT Licence see the Copyright file.
- 
-To report bugs, follow the instructions at:
-  http://xmlsoft.org/XSLT/bugs.html
-
-A mailing-list xslt@gnome.org is available, to subscribe:
-    http://mail.gnome.org/mailman/listinfo/xslt
-
-The list archive is at:
-    http://mail.gnome.org/archives/xslt/
-
-All technical answers asked privately will be automatically answered on
-the list and archived for public access unless pricacy is explicitely
-required and justified.
-
-Daniel Veillard
-
-$Id$
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/TODO b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/TODO
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/TODO
+++ /dev/null
@@ -1,124 +0,0 @@
-                  ********
-                 *        *
-                 *  TODO  *
-                 *        *
-                  ********
-
-Lifetime of result Value Tree, make sure we keep pointers. Exslt
-handling of node set values is especially nasty in this respect,
-lots of potential mem leaks...
-
-Pattern tester:
-  -> try to optimize for ID scan and tests.
-
-Pattern scanner:
-  -> add error checks on all returns
-
-Sorting:
-  -> add lang and case-order
-  -> add foreign sorting functions (interfaces ?).
-
-                  ********
-                 *        *
-                 *  DONE  *
-                 *        *
-                  ********
-
-Design:
-  - should transforms for a given stylesheet be thread clean,
-    -> the precompilation now occur only at stylesheet processing
-       time (except the binding for named templates and extension
-       functions which need to be computed once at run-time).
-       Multiple threads should be able to reuse the same stylesheet
-       now.
-
-Embedding Stylesheets:
-  - example in 2.7 would force to validate, we do it by default now
-
-ID and Key support:
-  -> Done
-
-Extra functions:
-  -> document() should not be a problem since Result Tree Fragments are
-     implemented
-  => Done
-
-Templates:
-  -> check the built-in template rule for attributes
-  -> make sure @xxx matches are applied
-
-Contextual error reporting:
-  -> provide a couple of functions providing context analysis, not urgent
-
-Validity:
-  -> should we add validation by default ? Make this an option
-  -> redirrect validity errors
-  => done added a special parsing mode
-
-Import:
-  -> parse them
-  -> provide functions to circulate in the import tree of stylesheets
-  -> make sure we use the cascade wherever it's needed
-
-Extra functions:
-  -> make a separate module.
-  => done functions.[ch]
-
-Support Attribute value templates:
-  -> starts to be urgent. Design it in flexible ways but try to optimize
-     to handle most of it at the stylesheet parse time ...
-  => Done for the most part need to check all attributes in XSLT constructs
-     using them and use the dedicated readin function.
-  -> optimization by checking their existence at stylesheet parse time.
-  => done when building the preproc function
-
-Sorting:
-  -> add support for imbricated sorts
-  => done but not well tested.
-
-Separate util module:
-  -> macros, config, verbosity ?
-  => xsltutils.[ch]
-
-Support for disable-output-escaping="yes":
-  -> looks problematic, libxml has no support for anything like this,
-     and unless adding a new node type :-( or tweaking text node and
-     output routines this is gonna be messy ... must be handled at libxml
-     level.
-  => Done with a trick, text node name is different, requires > 2.2.11
-
-Pattern scanner:
-  -> compute priority
-  -> handle unions
-  -> support for mode
-  => done
-
-Pattern tester:
-  -> also put fast lookup for "text()", "comment()", "node()"
-     based patterns lists.
-  => done
-
-Support Attribute value templates:
-  -> namespace support for attribute value templates is not done, need
-     a small API redesign
-
-Doc:
-  - put a page at http://xmlsoft.org/XSLT/
-  - generate/transform the DocBook to HTML
-  - add HTML to package
-  - manpage and doc for xsltproc
-
-
-Error handling:
-  -> check the version stuff, design a separate module for error interfacing
-     and default handling, parsing vs. runtime, fatal / compat / warning,
-     and lack of optionnal features.
-  -> reports context
-
-ID and Key support:
-  -> done but namespace support in keys is not defined
-  -> make sure keys are recomputed on new document input
-
-Profiler:
-  -> added looks good enough
-  -> autocorrection of initial calibration loop
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/aclocal.m4 b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/aclocal.m4
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/aclocal.m4
+++ /dev/null
@@ -1,9619 +0,0 @@
-# generated automatically by aclocal 1.11.6 -*- 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'.])])
-
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-#
-#   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 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.
-
-m4_define([_LT_COPYING], [dnl
-#   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.
-])
-
-# serial 57 LT_INIT
-
-
-# LT_PREREQ(VERSION)
-# ------------------
-# Complain and exit if this libtool version is less that VERSION.
-m4_defun([LT_PREREQ],
-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
-       [m4_default([$3],
-		   [m4_fatal([Libtool version $1 or higher is required],
-		             63)])],
-       [$2])])
-
-
-# _LT_CHECK_BUILDDIR
-# ------------------
-# Complain if the absolute build directory name contains unusual characters
-m4_defun([_LT_CHECK_BUILDDIR],
-[case `pwd` in
-  *\ * | *\	*)
-    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
-esac
-])
-
-
-# LT_INIT([OPTIONS])
-# ------------------
-AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
-AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-AC_BEFORE([$0], [LT_LANG])dnl
-AC_BEFORE([$0], [LT_OUTPUT])dnl
-AC_BEFORE([$0], [LTDL_INIT])dnl
-m4_require([_LT_CHECK_BUILDDIR])dnl
-
-dnl Autoconf doesn't catch unexpanded LT_ macros by default:
-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
-dnl unless we require an AC_DEFUNed macro:
-AC_REQUIRE([LTOPTIONS_VERSION])dnl
-AC_REQUIRE([LTSUGAR_VERSION])dnl
-AC_REQUIRE([LTVERSION_VERSION])dnl
-AC_REQUIRE([LTOBSOLETE_VERSION])dnl
-m4_require([_LT_PROG_LTMAIN])dnl
-
-_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
-
-dnl Parse OPTIONS
-_LT_SET_OPTIONS([$0], [$1])
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-_LT_SETUP
-
-# Only expand once:
-m4_define([LT_INIT])
-])# LT_INIT
-
-# Old names:
-AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
-AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
-dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-m4_defun([_LT_CC_BASENAME],
-[for cc_temp in $1""; 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-%%"`
-])
-
-
-# _LT_FILEUTILS_DEFAULTS
-# ----------------------
-# It is okay to use these file commands and assume they have been set
-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
-m4_defun([_LT_FILEUTILS_DEFAULTS],
-[: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-])# _LT_FILEUTILS_DEFAULTS
-
-
-# _LT_SETUP
-# ---------
-m4_defun([_LT_SETUP],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
-
-_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
-dnl
-_LT_DECL([], [host_alias], [0], [The host system])dnl
-_LT_DECL([], [host], [0])dnl
-_LT_DECL([], [host_os], [0])dnl
-dnl
-_LT_DECL([], [build_alias], [0], [The build system])dnl
-_LT_DECL([], [build], [0])dnl
-_LT_DECL([], [build_os], [0])dnl
-dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-test -z "$LN_S" && LN_S="ln -s"
-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
-dnl
-AC_REQUIRE([LT_CMD_MAX_LEN])dnl
-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
-dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
-m4_require([_LT_CMD_RELOAD])dnl
-m4_require([_LT_CHECK_MAGIC_METHOD])dnl
-m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
-m4_require([_LT_CMD_OLD_ARCHIVE])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_WITH_SYSROOT])dnl
-
-_LT_CONFIG_LIBTOOL_INIT([
-# 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
-])
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-_LT_CHECK_OBJDIR
-
-m4_require([_LT_TAG_COMPILER])dnl
-
-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
-
-_LT_CC_BASENAME([$compiler])
-
-# 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
-    _LT_PATH_MAGIC
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-LT_SUPPORTED_TAG([CC])
-_LT_LANG_C_CONFIG
-_LT_LANG_DEFAULT_CONFIG
-_LT_CONFIG_COMMANDS
-])# _LT_SETUP
-
-
-# _LT_PREPARE_SED_QUOTE_VARS
-# --------------------------
-# Define a few sed substitution that help us do robust quoting.
-m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
-[# 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'
-])
-
-# _LT_PROG_LTMAIN
-# ---------------
-# Note that this code is called both from `configure', and `config.status'
-# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
-# so we pass a copy along to make sure it has a sensible value anyway.
-m4_defun([_LT_PROG_LTMAIN],
-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain="$ac_aux_dir/ltmain.sh"
-])# _LT_PROG_LTMAIN
-
-
-
-# So that we can recreate a full libtool script including additional
-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
-# label.
-
-
-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
-# ----------------------------------------
-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL_INIT],
-[m4_ifval([$1],
-          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
-                     [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_INIT])
-
-
-# _LT_CONFIG_LIBTOOL([COMMANDS])
-# ------------------------------
-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL],
-[m4_ifval([$1],
-          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
-                     [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
-
-
-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
-# -----------------------------------------------------
-m4_defun([_LT_CONFIG_SAVE_COMMANDS],
-[_LT_CONFIG_LIBTOOL([$1])
-_LT_CONFIG_LIBTOOL_INIT([$2])
-])
-
-
-# _LT_FORMAT_COMMENT([COMMENT])
-# -----------------------------
-# Add leading comment marks to the start of each line, and a trailing
-# full-stop to the whole comment if one is not present already.
-m4_define([_LT_FORMAT_COMMENT],
-[m4_ifval([$1], [
-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
-              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
-)])
-
-
-
-
-
-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
-# -------------------------------------------------------------------
-# CONFIGNAME is the name given to the value in the libtool script.
-# VARNAME is the (base) name used in the configure script.
-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
-# VARNAME.  Any other value will be used directly.
-m4_define([_LT_DECL],
-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
-    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
-	[m4_ifval([$1], [$1], [$2])])
-    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
-    m4_ifval([$4],
-	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
-    lt_dict_add_subkey([lt_decl_dict], [$2],
-	[tagged?], [m4_ifval([$5], [yes], [no])])])
-])
-
-
-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-# --------------------------------------------------------
-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-
-
-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_tag_varnames],
-[_lt_decl_filter([tagged?], [yes], $@)])
-
-
-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
-# ---------------------------------------------------------
-m4_define([_lt_decl_filter],
-[m4_case([$#],
-  [0], [m4_fatal([$0: too few arguments: $#])],
-  [1], [m4_fatal([$0: too few arguments: $#: $1])],
-  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
-  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
-  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
-])
-
-
-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-# --------------------------------------------------
-m4_define([lt_decl_quote_varnames],
-[_lt_decl_filter([value], [1], $@)])
-
-
-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_dquote_varnames],
-[_lt_decl_filter([value], [2], $@)])
-
-
-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_varnames_tagged],
-[m4_assert([$# <= 2])dnl
-_$0(m4_quote(m4_default([$1], [[, ]])),
-    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
-    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
-m4_define([_lt_decl_varnames_tagged],
-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
-
-
-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_all_varnames],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
-     m4_if([$2], [],
-	   m4_quote(lt_decl_varnames),
-	m4_quote(m4_shift($@))))[]dnl
-])
-m4_define([_lt_decl_all_varnames],
-[lt_join($@, lt_decl_varnames_tagged([$1],
-			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
-])
-
-
-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
-# ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'.  VARNAME
-# must have a single quote delimited value for this to work.
-m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
-
-
-# _LT_CONFIG_STATUS_DECLARATIONS
-# ------------------------------
-# We delimit libtool config variables with single quotes, so when
-# we write them to config.status, we have to be sure to quote all
-# embedded single quotes properly.  In configure, this macro expands
-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-#
-#    ='`$ECHO "$" | $SED "$delay_single_quote_subst"`'
-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
-    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAGS
-# ----------------
-# Output comment and list of tags supported by the script
-m4_defun([_LT_LIBTOOL_TAGS],
-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags="_LT_TAGS"dnl
-])
-
-
-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
-# -----------------------------------
-# Extract the dictionary values for VARNAME (optionally with TAG) and
-# expand to a commented shell variable setting:
-#
-#    # Some comment about what VAR is for.
-#    visible_name=$lt_internal_name
-m4_define([_LT_LIBTOOL_DECLARE],
-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
-					   [description])))[]dnl
-m4_pushdef([_libtool_name],
-    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
-    [0], [_libtool_name=[$]$1],
-    [1], [_libtool_name=$lt_[]$1],
-    [2], [_libtool_name=$lt_[]$1],
-    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
-])
-
-
-# _LT_LIBTOOL_CONFIG_VARS
-# -----------------------
-# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
-# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
-# section) are produced by _LT_LIBTOOL_TAG_VARS.
-m4_defun([_LT_LIBTOOL_CONFIG_VARS],
-[m4_foreach([_lt_var],
-    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
-    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAG_VARS(TAG)
-# -------------------------
-m4_define([_LT_LIBTOOL_TAG_VARS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
-    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
-
-
-# _LT_TAGVAR(VARNAME, [TAGNAME])
-# ------------------------------
-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
-
-
-# _LT_CONFIG_COMMANDS
-# -------------------
-# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
-# variables for single and double quote escaping we saved from calls
-# to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'.  Finally, any additional code accumulated
-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
-m4_defun([_LT_CONFIG_COMMANDS],
-[AC_PROVIDE_IFELSE([LT_OUTPUT],
-	dnl If the libtool generation code has been placed in $CONFIG_LT,
-	dnl instead of duplicating it all over again into config.status,
-	dnl then we will have config.status run $CONFIG_LT later, so it
-	dnl needs to know what name is stored there:
-        [AC_CONFIG_COMMANDS([libtool],
-            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
-    dnl If the libtool generation code is destined for config.status,
-    dnl expand the accumulated commands and init code now:
-    [AC_CONFIG_COMMANDS([libtool],
-        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
-])#_LT_CONFIG_COMMANDS
-
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
-[
-
-# 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'
-_LT_CONFIG_STATUS_DECLARATIONS
-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 lt_decl_all_varnames([[ \
-]], lt_decl_quote_varnames); 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 lt_decl_all_varnames([[ \
-]], lt_decl_dquote_varnames); 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
-
-_LT_OUTPUT_LIBTOOL_INIT
-])
-
-# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
-# ------------------------------------
-# Generate a child script FILE with all initialization necessary to
-# reuse the environment learned by the parent script, and make the
-# file executable.  If COMMENT is supplied, it is inserted after the
-# `#!' sequence but before initialization text begins.  After this
-# macro, additional text can be appended to FILE to form the body of
-# the child script.  The macro ends with non-zero status if the
-# file could not be fully written (such as if the disk is full).
-m4_ifdef([AS_INIT_GENERATED],
-[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
-[m4_defun([_LT_GENERATED_FILE_INIT],
-[m4_require([AS_PREPARE])]dnl
-[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
-[lt_write_fail=0
-cat >$1 <<_ASEOF || lt_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-$2
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$1 <<\_ASEOF || lt_write_fail=1
-AS_SHELL_SANITIZE
-_AS_PREPARE
-exec AS_MESSAGE_FD>&1
-_ASEOF
-test $lt_write_fail = 0 && chmod +x $1[]dnl
-m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
-
-# LT_OUTPUT
-# ---------
-# This macro allows early generation of the libtool script (before
-# AC_OUTPUT is called), incase it is used in configure for compilation
-# tests.
-AC_DEFUN([LT_OUTPUT],
-[: ${CONFIG_LT=./config.lt}
-AC_MSG_NOTICE([creating $CONFIG_LT])
-_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
-[# Run this file to recreate a libtool stub with the current configuration.])
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-lt_cl_silent=false
-exec AS_MESSAGE_LOG_FD>>config.log
-{
-  echo
-  AS_BOX([Running $as_me.])
-} >&AS_MESSAGE_LOG_FD
-
-lt_cl_help="\
-\`$as_me' creates a local libtool stub from the current configuration,
-for use in further configure time tests before the real libtool is
-generated.
-
-Usage: $[0] [[OPTIONS]]
-
-  -h, --help      print this help, then exit
-  -V, --version   print version number, then exit
-  -q, --quiet     do not print progress messages
-  -d, --debug     don't remove temporary files
-
-Report bugs to ."
-
-lt_cl_version="\
-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
-configured by $[0], generated by m4_PACKAGE_STRING.
-
-Copyright (C) 2011 Free Software Foundation, Inc.
-This config.lt script is free software; the Free Software Foundation
-gives unlimited permision to copy, distribute and modify it."
-
-while test $[#] != 0
-do
-  case $[1] in
-    --version | --v* | -V )
-      echo "$lt_cl_version"; exit 0 ;;
-    --help | --h* | -h )
-      echo "$lt_cl_help"; exit 0 ;;
-    --debug | --d* | -d )
-      debug=: ;;
-    --quiet | --q* | --silent | --s* | -q )
-      lt_cl_silent=: ;;
-
-    -*) AC_MSG_ERROR([unrecognized option: $[1]
-Try \`$[0] --help' for more information.]) ;;
-
-    *) AC_MSG_ERROR([unrecognized argument: $[1]
-Try \`$[0] --help' for more information.]) ;;
-  esac
-  shift
-done
-
-if $lt_cl_silent; then
-  exec AS_MESSAGE_FD>/dev/null
-fi
-_LTEOF
-
-cat >>"$CONFIG_LT" <<_LTEOF
-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
-_LTEOF
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-AC_MSG_NOTICE([creating $ofile])
-_LT_OUTPUT_LIBTOOL_COMMANDS
-AS_EXIT(0)
-_LTEOF
-chmod +x "$CONFIG_LT"
-
-# configure is writing to config.log, but config.lt does its own redirection,
-# appending to config.log, which fails on DOS, as config.log is still kept
-# open by configure.  Here we exec the FD to /dev/null, effectively closing
-# config.log, so it can be properly (re)opened and appended to by config.lt.
-lt_cl_success=:
-test "$silent" = yes &&
-  lt_config_lt_args="$lt_config_lt_args --quiet"
-exec AS_MESSAGE_LOG_FD>/dev/null
-$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
-exec AS_MESSAGE_LOG_FD>>config.log
-$lt_cl_success || AS_EXIT(1)
-])# LT_OUTPUT
-
-
-# _LT_CONFIG(TAG)
-# ---------------
-# If TAG is the built-in tag, create an initial libtool script with a
-# default configuration from the untagged config vars.  Otherwise add code
-# to config.status for appending the configuration named by TAG from the
-# matching tagged config vars.
-m4_defun([_LT_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_CONFIG_SAVE_COMMANDS([
-  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
-  m4_if(_LT_TAG, [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.
-#
-_LT_COPYING
-_LT_LIBTOOL_TAGS
-
-# ### BEGIN LIBTOOL CONFIG
-_LT_LIBTOOL_CONFIG_VARS
-_LT_LIBTOOL_TAG_VARS
-# ### 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
-
-  _LT_PROG_LTMAIN
-
-  # 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)
-
-  _LT_PROG_REPLACE_SHELLFNS
-
-   mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-],
-[cat <<_LT_EOF >> "$ofile"
-
-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
-dnl in a comment (ie after a #).
-# ### BEGIN LIBTOOL TAG CONFIG: $1
-_LT_LIBTOOL_TAG_VARS(_LT_TAG)
-# ### END LIBTOOL TAG CONFIG: $1
-_LT_EOF
-])dnl /m4_if
-],
-[m4_if([$1], [], [
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'], [])
-])dnl /_LT_CONFIG_SAVE_COMMANDS
-])# _LT_CONFIG
-
-
-# LT_SUPPORTED_TAG(TAG)
-# ---------------------
-# Trace this macro to discover what tags are supported by the libtool
-# --tag option, using:
-#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
-AC_DEFUN([LT_SUPPORTED_TAG], [])
-
-
-# C support is built-in for now
-m4_define([_LT_LANG_C_enabled], [])
-m4_define([_LT_TAGS], [])
-
-
-# LT_LANG(LANG)
-# -------------
-# Enable libtool support for the given language if not already enabled.
-AC_DEFUN([LT_LANG],
-[AC_BEFORE([$0], [LT_OUTPUT])dnl
-m4_case([$1],
-  [C],			[_LT_LANG(C)],
-  [C++],		[_LT_LANG(CXX)],
-  [Go],			[_LT_LANG(GO)],
-  [Java],		[_LT_LANG(GCJ)],
-  [Fortran 77],		[_LT_LANG(F77)],
-  [Fortran],		[_LT_LANG(FC)],
-  [Windows Resource],	[_LT_LANG(RC)],
-  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
-    [_LT_LANG($1)],
-    [m4_fatal([$0: unsupported language: "$1"])])])dnl
-])# LT_LANG
-
-
-# _LT_LANG(LANGNAME)
-# ------------------
-m4_defun([_LT_LANG],
-[m4_ifdef([_LT_LANG_]$1[_enabled], [],
-  [LT_SUPPORTED_TAG([$1])dnl
-  m4_append([_LT_TAGS], [$1 ])dnl
-  m4_define([_LT_LANG_]$1[_enabled], [])dnl
-  _LT_LANG_$1_CONFIG($1)])dnl
-])# _LT_LANG
-
-
-m4_ifndef([AC_PROG_GO], [
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-m4_defun([AC_PROG_GO],
-[AC_LANG_PUSH(Go)dnl
-AC_ARG_VAR([GOC],     [Go compiler command])dnl
-AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
-_AC_ARG_VAR_LDFLAGS()dnl
-AC_CHECK_TOOL(GOC, gccgo)
-if test -z "$GOC"; then
-  if test -n "$ac_tool_prefix"; then
-    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
-  fi
-fi
-if test -z "$GOC"; then
-  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
-fi
-])#m4_defun
-])#m4_ifndef
-
-
-# _LT_LANG_DEFAULT_CONFIG
-# -----------------------
-m4_defun([_LT_LANG_DEFAULT_CONFIG],
-[AC_PROVIDE_IFELSE([AC_PROG_CXX],
-  [LT_LANG(CXX)],
-  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_F77],
-  [LT_LANG(F77)],
-  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_FC],
-  [LT_LANG(FC)],
-  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
-
-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
-dnl pulling things in needlessly.
-AC_PROVIDE_IFELSE([AC_PROG_GCJ],
-  [LT_LANG(GCJ)],
-  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
-    [LT_LANG(GCJ)],
-    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
-      [LT_LANG(GCJ)],
-      [m4_ifdef([AC_PROG_GCJ],
-	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
-       m4_ifdef([A][M_PROG_GCJ],
-	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
-       m4_ifdef([LT_PROG_GCJ],
-	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
-
-AC_PROVIDE_IFELSE([AC_PROG_GO],
-  [LT_LANG(GO)],
-  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
-
-AC_PROVIDE_IFELSE([LT_PROG_RC],
-  [LT_LANG(RC)],
-  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
-])# _LT_LANG_DEFAULT_CONFIG
-
-# Obsolete macros:
-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
-AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
-dnl AC_DEFUN([AC_LIBTOOL_F77], [])
-dnl AC_DEFUN([AC_LIBTOOL_FC], [])
-dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
-dnl AC_DEFUN([AC_LIBTOOL_RC], [])
-
-
-# _LT_TAG_COMPILER
-# ----------------
-m4_defun([_LT_TAG_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
-
-# 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
-])# _LT_TAG_COMPILER
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-m4_defun([_LT_COMPILER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-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*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-m4_defun([_LT_LINKER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-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*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# -------------------------
-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
-  case $host_os in
-    rhapsody* | darwin*)
-    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
-    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-    AC_CHECK_TOOL([LIPO], [lipo], [:])
-    AC_CHECK_TOOL([OTOOL], [otool], [:])
-    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
-    _LT_DECL([], [DSYMUTIL], [1],
-      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
-    _LT_DECL([], [NMEDIT], [1],
-      [Tool to change global to local symbols on Mac OS X])
-    _LT_DECL([], [LIPO], [1],
-      [Tool to manipulate fat objects and archives on Mac OS X])
-    _LT_DECL([], [OTOOL], [1],
-      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
-    _LT_DECL([], [OTOOL64], [1],
-      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
-
-    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
-      [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" >&AS_MESSAGE_LOG_FD
-	$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 >&AS_MESSAGE_LOG_FD
-	# 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 >&AS_MESSAGE_LOG_FD
-	fi
-	rm -rf libconftest.dylib*
-	rm -f conftest.*
-      fi])
-
-    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
-      [lt_cv_ld_exported_symbols_list],
-      [lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-	[lt_cv_ld_exported_symbols_list=yes],
-	[lt_cv_ld_exported_symbols_list=no])
-	LDFLAGS="$save_LDFLAGS"
-    ])
-
-    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
-      [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" >&AS_MESSAGE_LOG_FD
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
-      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
-      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
-      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
-      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
-      $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 >&AS_MESSAGE_LOG_FD
-      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 >&AS_MESSAGE_LOG_FD
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-    ])
-    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
-])
-
-
-# _LT_DARWIN_LINKER_FEATURES([TAG])
-# ---------------------------------
-# Checks for linker and compiler features on darwin
-m4_defun([_LT_DARWIN_LINKER_FEATURES],
-[
-  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
-  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-  _LT_TAGVAR(hardcode_direct, $1)=no
-  _LT_TAGVAR(hardcode_automatic, $1)=yes
-  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
-                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
-  else
-    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
-  fi
-  _LT_TAGVAR(link_all_deplibs, $1)=yes
-  _LT_TAGVAR(allow_undefined_flag, $1)="$_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
-    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    _LT_TAGVAR(archive_expsym_cmds, $1)="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}"
-    _LT_TAGVAR(module_expsym_cmds, $1)="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}"
-    m4_if([$1], [CXX],
-[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
-    fi
-],[])
-  else
-  _LT_TAGVAR(ld_shlibs, $1)=no
-  fi
-])
-
-# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
-# ----------------------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-# Store the results from the different compilers for each TAGNAME.
-# Allow to override them for all tags through lt_cv_aix_libpath.
-m4_defun([_LT_SYS_MODULE_PATH_AIX],
-[m4_require([_LT_DECL_SED])dnl
-if test "${lt_cv_aix_libpath+set}" = set; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
-  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
-  lt_aix_libpath_sed='[
-      /Import File Strings/,/^$/ {
-	  /^0/ {
-	      s/^0  *\([^ ]*\) *$/\1/
-	      p
-	  }
-      }]'
-  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`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_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
-    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi],[])
-  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
-    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
-  fi
-  ])
-  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
-fi
-])# _LT_SYS_MODULE_PATH_AIX
-
-
-# _LT_SHELL_INIT(ARG)
-# -------------------
-m4_define([_LT_SHELL_INIT],
-[m4_divert_text([M4SH-INIT], [$1
-])])# _LT_SHELL_INIT
-
-
-
-# _LT_PROG_ECHO_BACKSLASH
-# -----------------------
-# Find how we can fake an echo command that does not interpret backslash.
-# In particular, with Autoconf 2.60 or later we add some code to the start
-# of the generated configure script which will find a shell with a builtin
-# printf (which we can use as an echo command).
-m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-AC_MSG_CHECKING([how to print strings])
-# 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*) AC_MSG_RESULT([printf]) ;;
-  print*) AC_MSG_RESULT([print -r]) ;;
-  *) AC_MSG_RESULT([cat]) ;;
-esac
-
-m4_ifdef([_AS_DETECT_SUGGESTED],
-[_AS_DETECT_SUGGESTED([
-  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" )])])
-
-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
-])# _LT_PROG_ECHO_BACKSLASH
-
-
-# _LT_WITH_SYSROOT
-# ----------------
-AC_DEFUN([_LT_WITH_SYSROOT],
-[AC_MSG_CHECKING([for sysroot])
-AC_ARG_WITH([sysroot],
-[  --with-sysroot[=DIR] Search for dependent libraries within DIR
-                        (or the compiler's sysroot if not specified).],
-[], [with_sysroot=no])
-
-dnl lt_sysroot will always be passed unquoted.  We quote it here
-dnl in case the user passed a directory name.
-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|'')
-   ;; #(
- *)
-   AC_MSG_RESULT([${with_sysroot}])
-   AC_MSG_ERROR([The sysroot must be an absolute path.])
-   ;;
-esac
-
- AC_MSG_RESULT([${lt_sysroot:-no}])
-_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
-[dependent libraries, and in which our libraries should be installed.])])
-
-# _LT_ENABLE_LOCK
-# ---------------
-m4_defun([_LT_ENABLE_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
-  [AS_HELP_STRING([--disable-libtool-lock],
-    [avoid locking (might break parallel builds)])])
-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 AC_TRY_EVAL(ac_compile); 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 AC_TRY_EVAL(ac_compile); 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 AC_TRY_EVAL(ac_compile); 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"
-  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
-    [AC_LANG_PUSH(C)
-     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
-     AC_LANG_POP])
-  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 AC_TRY_EVAL(ac_compile); 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"
-])# _LT_ENABLE_LOCK
-
-
-# _LT_PROG_AR
-# -----------
-m4_defun([_LT_PROG_AR],
-[AC_CHECK_TOOLS(AR, [ar], false)
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
-
-AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
-  [lt_cv_ar_at_file=no
-   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
-     [echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
-      AC_TRY_EVAL([lt_ar_try])
-      if test "$ac_status" -eq 0; then
-	# Ensure the archiver fails upon bogus file names.
-	rm -f conftest.$ac_objext libconftest.a
-	AC_TRY_EVAL([lt_ar_try])
-	if test "$ac_status" -ne 0; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-     ])
-  ])
-
-if test "x$lt_cv_ar_at_file" = xno; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-_LT_DECL([], [archiver_list_spec], [1],
-  [How to feed a file listing to the archiver])
-])# _LT_PROG_AR
-
-
-# _LT_CMD_OLD_ARCHIVE
-# -------------------
-m4_defun([_LT_CMD_OLD_ARCHIVE],
-[_LT_PROG_AR
-
-AC_CHECK_TOOL(STRIP, strip, :)
-test -z "$STRIP" && STRIP=:
-_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-test -z "$RANLIB" && RANLIB=:
-_LT_DECL([], [RANLIB], [1],
-    [Commands used to install an old-style archive])
-
-# 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
-_LT_DECL([], [old_postinstall_cmds], [2])
-_LT_DECL([], [old_postuninstall_cmds], [2])
-_LT_TAGDECL([], [old_archive_cmds], [2],
-    [Commands used to build an old-style archive])
-_LT_DECL([], [lock_old_archive_extraction], [0],
-    [Whether to use a lock for old archive extraction])
-])# _LT_CMD_OLD_ARCHIVE
-
-
-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([_LT_COMPILER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$3"
-   # 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\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   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
-       $2=yes
-     fi
-   fi
-   $RM conftest*
-])
-
-if test x"[$]$2" = xyes; then
-    m4_if([$5], , :, [$5])
-else
-    m4_if([$6], , :, [$6])
-fi
-])# _LT_COMPILER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
-
-
-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#                  [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------
-# Check whether the given linker option works
-AC_DEFUN([_LT_LINKER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $3"
-   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>&AS_MESSAGE_LOG_FD
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         $2=yes
-       fi
-     else
-       $2=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
-    m4_if([$4], , :, [$4])
-else
-    m4_if([$5], , :, [$5])
-fi
-])# _LT_LINKER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
-
-
-# LT_CMD_MAX_LEN
-#---------------
-AC_DEFUN([LT_CMD_MAX_LEN],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
-  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
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
-  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
-  AC_MSG_RESULT(none)
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-_LT_DECL([], [max_cmd_len], [0],
-    [What is the maximum length of a command?])
-])# LT_CMD_MAX_LEN
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
-
-
-# _LT_HEADER_DLFCN
-# ----------------
-m4_defun([_LT_HEADER_DLFCN],
-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
-])# _LT_HEADER_DLFCN
-
-
-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ----------------------------------------------------------------
-m4_defun([_LT_TRY_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
-  [$4]
-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 
-#endif
-
-#include 
-
-#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 AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) $1 ;;
-      x$lt_dlneed_uscore) $2 ;;
-      x$lt_dlunknown|x*) $3 ;;
-    esac
-  else :
-    # compilation failed
-    $3
-  fi
-fi
-rm -fr conftest*
-])# _LT_TRY_DLOPEN_SELF
-
-
-# LT_SYS_DLOPEN_SELF
-# ------------------
-AC_DEFUN([LT_SYS_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-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
-    AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ])
-    ;;
-
-  *)
-    AC_CHECK_FUNC([shl_load],
-	  [lt_cv_dlopen="shl_load"],
-      [AC_CHECK_LIB([dld], [shl_load],
-	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
-	[AC_CHECK_FUNC([dlopen],
-	      [lt_cv_dlopen="dlopen"],
-	  [AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
-	    [AC_CHECK_LIB([svld], [dlopen],
-		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
-	      [AC_CHECK_LIB([dld], [dld_link],
-		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
-	      ])
-	    ])
-	  ])
-	])
-      ])
-    ;;
-  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"
-
-    AC_CACHE_CHECK([whether a program can dlopen itself],
-	  lt_cv_dlopen_self, [dnl
-	  _LT_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
-	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
-    ])
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
-	  lt_cv_dlopen_self_static, [dnl
-	  _LT_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
-	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
-      ])
-    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
-_LT_DECL([dlopen_support], [enable_dlopen], [0],
-	 [Whether dlopen is supported])
-_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
-	 [Whether dlopen of programs is supported])
-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
-	 [Whether dlopen of statically linked programs is supported])
-])# LT_SYS_DLOPEN_SELF
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-
-
-# _LT_COMPILER_C_O([TAGNAME])
-# ---------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler.
-# This macro does not hard code the compiler like AC_PROG_CC_C_O.
-m4_defun([_LT_COMPILER_C_O],
-[m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
-  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
-  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=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\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   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_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-     fi
-   fi
-   chmod u+w . 2>&AS_MESSAGE_LOG_FD
-   $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*
-])
-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
-	[Does compiler simultaneously support -c and -o options?])
-])# _LT_COMPILER_C_O
-
-
-# _LT_COMPILER_FILE_LOCKS([TAGNAME])
-# ----------------------------------
-# Check to see if we can do hard links to lock some files if needed
-m4_defun([_LT_COMPILER_FILE_LOCKS],
-[m4_require([_LT_ENABLE_LOCK])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_COMPILER_C_O([$1])
-
-hard_links="nottested"
-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  AC_MSG_CHECKING([if we can lock with hard links])
-  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
-  AC_MSG_RESULT([$hard_links])
-  if test "$hard_links" = no; then
-    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
-])# _LT_COMPILER_FILE_LOCKS
-
-
-# _LT_CHECK_OBJDIR
-# ----------------
-m4_defun([_LT_CHECK_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[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])
-objdir=$lt_cv_objdir
-_LT_DECL([], [objdir], [0],
-         [The name of the directory that contains temporary libtool files])dnl
-m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
-  [Define to the sub-directory in which libtool stores uninstalled libraries.])
-])# _LT_CHECK_OBJDIR
-
-
-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
-# --------------------------------------
-# Check hardcoding attributes.
-m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
-   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
-   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$_LT_TAGVAR(hardcode_direct, $1)" != 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, $1)" != no &&
-     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
-    # Linking always hardcodes the temporary library directory.
-    _LT_TAGVAR(hardcode_action, $1)=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    _LT_TAGVAR(hardcode_action, $1)=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  _LT_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
-   test "$_LT_TAGVAR(inherit_rpath, $1)" = 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
-_LT_TAGDECL([], [hardcode_action], [0],
-    [How to hardcode a shared library path into an executable])
-])# _LT_LINKER_HARDCODE_LIBPATH
-
-
-# _LT_CMD_STRIPLIB
-# ----------------
-m4_defun([_LT_CMD_STRIPLIB],
-[m4_require([_LT_DECL_EGREP])
-striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-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"
-  AC_MSG_RESULT([yes])
-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"
-      AC_MSG_RESULT([yes])
-    else
-      AC_MSG_RESULT([no])
-    fi
-    ;;
-  *)
-    AC_MSG_RESULT([no])
-    ;;
-  esac
-fi
-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
-_LT_DECL([], [striplib], [1])
-])# _LT_CMD_STRIPLIB
-
-
-# _LT_SYS_DYNAMIC_LINKER([TAG])
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-m4_defun([_LT_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_OBJDUMP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-m4_if([$1],
-	[], [
-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.so
-      # instead of lib.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}'
-m4_if([$1], [],[
-      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`'
-m4_if([$1], [],[
-  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
-  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
-    [lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
-	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
-	 [lt_cv_shlibpath_overrides_runpath=yes])])
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-    ])
-  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
-AC_MSG_RESULT([$dynamic_linker])
-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
-
-_LT_DECL([], [variables_saved_for_relink], [1],
-    [Variables whose values should be saved in libtool wrapper scripts and
-    restored at link time])
-_LT_DECL([], [need_lib_prefix], [0],
-    [Do we need the "lib" prefix for modules?])
-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
-_LT_DECL([], [version_type], [0], [Library versioning type])
-_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
-_LT_DECL([], [shlibpath_overrides_runpath], [0],
-    [Is shlibpath searched before the hard-coded library search path?])
-_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
-_LT_DECL([], [library_names_spec], [1],
-    [[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]])
-_LT_DECL([], [soname_spec], [1],
-    [[The coded name of the library, if different from the real name]])
-_LT_DECL([], [install_override_mode], [1],
-    [Permission mode override for installation of shared libraries])
-_LT_DECL([], [postinstall_cmds], [2],
-    [Command to use after installation of a shared archive])
-_LT_DECL([], [postuninstall_cmds], [2],
-    [Command to use after uninstallation of a shared archive])
-_LT_DECL([], [finish_cmds], [2],
-    [Commands used to finish a libtool library installation in a directory])
-_LT_DECL([], [finish_eval], [1],
-    [[As "finish_cmds", except a single script fragment to be evaled but
-    not shown]])
-_LT_DECL([], [hardcode_into_libs], [0],
-    [Whether we should hardcode library paths into libraries])
-_LT_DECL([], [sys_lib_search_path_spec], [2],
-    [Compile-time system search path for libraries])
-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
-    [Run-time system search path for libraries])
-])# _LT_SYS_DYNAMIC_LINKER
-
-
-# _LT_PATH_TOOL_PREFIX(TOOL)
-# --------------------------
-# find a file program which can recognize shared library
-AC_DEFUN([_LT_PATH_TOOL_PREFIX],
-[m4_require([_LT_DECL_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[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
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word.  This closes a longstanding sh security hole.
-  ac_dummy="m4_if([$2], , $PATH, [$2])"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$1; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
-      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])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  AC_MSG_RESULT($MAGIC_CMD)
-else
-  AC_MSG_RESULT(no)
-fi
-_LT_DECL([], [MAGIC_CMD], [0],
-	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
-])# _LT_PATH_TOOL_PREFIX
-
-# Old name:
-AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
-
-
-# _LT_PATH_MAGIC
-# --------------
-# find a file program which can recognize a shared library
-m4_defun([_LT_PATH_MAGIC],
-[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
-  else
-    MAGIC_CMD=:
-  fi
-fi
-])# _LT_PATH_MAGIC
-
-
-# LT_PATH_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([LT_PATH_LD],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
-
-AC_ARG_WITH([gnu-ld],
-    [AS_HELP_STRING([--with-gnu-ld],
-	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
-    [test "$withval" = no || with_gnu_ld=yes],
-    [with_gnu_ld=no])dnl
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by $CC])
-  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
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[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 &1 /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
-])
-
-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
-
-_LT_DECL([], [deplibs_check_method], [1],
-    [Method to check whether dependent libraries are shared objects])
-_LT_DECL([], [file_magic_cmd], [1],
-    [Command to use when deplibs_check_method = "file_magic"])
-_LT_DECL([], [file_magic_glob], [1],
-    [How to find potential files when deplibs_check_method = "file_magic"])
-_LT_DECL([], [want_nocaseglob], [1],
-    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
-])# _LT_CHECK_MAGIC_METHOD
-
-
-# LT_PATH_NM
-# ----------
-# find the pathname to a BSD- or MS-compatible name lister
-AC_DEFUN([LT_PATH_NM],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
-[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])
-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
-    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-  AC_SUBST([DUMPBIN])
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-AC_SUBST([NM])
-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
-
-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
-  [lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
-  cat conftest.out >&AS_MESSAGE_LOG_FD
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*])
-])# LT_PATH_NM
-
-# Old names:
-AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
-AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_NM], [])
-dnl AC_DEFUN([AC_PROG_NM], [])
-
-# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-# --------------------------------
-# how to determine the name of the shared library
-# associated with a specific link library.
-#  -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-m4_require([_LT_DECL_DLLTOOL])
-AC_CACHE_CHECK([how to associate runtime and link libraries],
-lt_cv_sharedlib_from_linklib_cmd,
-[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
-])
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
-    [Command to associate shared and link libraries])
-])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-
-
-# _LT_PATH_MANIFEST_TOOL
-# ----------------------
-# locate the manifest tool
-m4_defun([_LT_PATH_MANIFEST_TOOL],
-[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
-  [lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&AS_MESSAGE_LOG_FD
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*])
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
-  MANIFEST_TOOL=:
-fi
-_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
-])# _LT_PATH_MANIFEST_TOOL
-
-
-# LT_LIB_M
-# --------
-# check for math library
-AC_DEFUN([LT_LIB_M],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
-  # These system don't have libm, or don't need it
-  ;;
-*-ncr-sysv4.3*)
-  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
-  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
-  ;;
-*)
-  AC_CHECK_LIB(m, cos, LIBM="-lm")
-  ;;
-esac
-AC_SUBST([LIBM])
-])# LT_LIB_M
-
-# Old name:
-AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_CHECK_LIBM], [])
-
-
-# _LT_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------
-m4_defun([_LT_COMPILER_NO_RTTI],
-[m4_require([_LT_TAG_COMPILER])dnl
-
-_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
-  *)
-    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
-  esac
-
-  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
-    lt_cv_prog_compiler_rtti_exceptions,
-    [-fno-rtti -fno-exceptions], [],
-    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
-	[Compiler flag to turn off builtin functions])
-])# _LT_COMPILER_NO_RTTI
-
-
-# _LT_CMD_GLOBAL_SYMBOLS
-# ----------------------
-m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# 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 AC_TRY_EVAL(ac_compile); then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && 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@&t@_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data.  */
-# define LT@&t@_DLSYM_CONST
-#else
-# define LT@&t@_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@&t@_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_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
-	  if AC_TRY_EVAL(ac_link) && 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" >&AS_MESSAGE_LOG_FD
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
-    fi
-  else
-    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
-    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
-])
-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
-  AC_MSG_RESULT(failed)
-else
-  AC_MSG_RESULT(ok)
-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
-
-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
-    [Take the output of nm and produce a listing of raw symbols and C names])
-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
-    [Transform the output of nm in a proper C declaration])
-_LT_DECL([global_symbol_to_c_name_address],
-    [lt_cv_sys_global_symbol_to_c_name_address], [1],
-    [Transform the output of nm in a C name address pair])
-_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
-    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
-    [Transform the output of nm in a C name address pair when lib prefix is needed])
-_LT_DECL([], [nm_file_list_spec], [1],
-    [Specify filename containing input files for $NM])
-]) # _LT_CMD_GLOBAL_SYMBOLS
-
-
-# _LT_COMPILER_PIC([TAGNAME])
-# ---------------------------
-m4_defun([_LT_COMPILER_PIC],
-[m4_require([_LT_TAG_COMPILER])dnl
-_LT_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_TAGVAR(lt_prog_compiler_static, $1)=
-
-m4_if([$1], [CXX], [
-  # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
-    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-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_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32* | 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
-      m4_if([$1], [GCJ], [],
-	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-      ;;
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)=
-      ;;
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-    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*)
-	;;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	;;
-      esac
-      ;;
-    *qnx* | *nto*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-    *)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[[4-9]]*)
-	# All AIX code is PIC.
-	if test "$host_cpu" = ia64; then
-	  # AIX 5 now supports IA64 processor
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	else
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-	fi
-	;;
-      chorus*)
-	case $cc_basename in
-	cxch68*)
-	  # Green Hills C++ Compiler
-	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-	  ;;
-	esac
-	;;
-      mingw* | cygwin* | os2* | pw32* | 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).
-	m4_if([$1], [GCJ], [],
-	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-	;;
-      dgux*)
-	case $cc_basename in
-	  ec++*)
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  ghcx*)
-	    # Green Hills C++ Compiler
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      freebsd* | dragonfly*)
-	# FreeBSD uses GNU C++
-	;;
-      hpux9* | hpux10* | hpux11*)
-	case $cc_basename in
-	  CC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-	    if test "$host_cpu" != ia64; then
-	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	    fi
-	    ;;
-	  aCC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-	    case $host_cpu in
-	    hppa*64*|ia64*)
-	      # +Z the default
-	      ;;
-	    *)
-	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	      ;;
-	    esac
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      interix*)
-	# This is c89, which is MS Visual C++ (no shared libs)
-	# Anyone wants to do a port?
-	;;
-      irix5* | irix6* | nonstopux*)
-	case $cc_basename in
-	  CC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    # CC pic flag -KPIC is the default.
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
-	case $cc_basename in
-	  KCC*)
-	    # KAI C++ Compiler
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	    ;;
-	  ecpc* )
-	    # old Intel C++ for x86_64 which still supported -KPIC.
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	    ;;
-	  icpc* )
-	    # Intel C++, used to be incompatible with GCC.
-	    # ICC 10 doesn't accept -KPIC any more.
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	    ;;
-	  pgCC* | pgcpp*)
-	    # Portland Group C++ compiler
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  cxx*)
-	    # Compaq C++
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
-	    # IBM XL 8.0, 9.0 on PPC and BlueGene
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-      lynxos*)
-	;;
-      m88k*)
-	;;
-      mvs*)
-	case $cc_basename in
-	  cxx*)
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      netbsd*)
-	;;
-      *qnx* | *nto*)
-        # QNX uses GNU C++, but need to define -shared option too, otherwise
-        # it will coredump.
-        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-        ;;
-      osf3* | osf4* | osf5*)
-	case $cc_basename in
-	  KCC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    ;;
-	  RCC*)
-	    # Rational C++ 2.4.1
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  cxx*)
-	    # Digital/Compaq C++
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      psos*)
-	;;
-      solaris*)
-	case $cc_basename in
-	  CC* | sunCC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	    ;;
-	  gcx*)
-	    # Green Hills C++ Compiler
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sunos4*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.x
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  lcc*)
-	    # Lucid
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-	case $cc_basename in
-	  CC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	esac
-	;;
-      tandem*)
-	case $cc_basename in
-	  NCC*)
-	    # NonStop-UX NCC 3.20
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      vxworks*)
-	;;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-	;;
-    esac
-  fi
-],
-[
-  if test "$GCC" = yes; then
-    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-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_TAGVAR(lt_prog_compiler_pic, $1)='-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
-      m4_if([$1], [GCJ], [],
-	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)=
-      ;;
-
-    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_TAGVAR(lt_prog_compiler_pic, $1)='-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_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
-      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
-        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
-      fi
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      else
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-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).
-      m4_if([$1], [GCJ], [],
-	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-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_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC (with -KPIC) is the default.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
-	;;
-      nagfor*)
-	# NAG Fortran compiler
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-        ;;
-      ccc*)
-        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-        # All Alpha code is PIC.
-        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-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_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
-	  ;;
-	*Sun\ F* | *Sun*Fortran*)
-	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	  ;;
-	*Sun\ C*)
-	  # Sun C 5.9
-	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	  ;;
-        *Intel*\ [[CF]]*Compiler*)
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	  ;;
-	*Portland\ Group*)
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  ;;
-	esac
-	;;
-      esac
-      ;;
-
-    newsos6)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # All OSF/1 code is PIC.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    rdos*)
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    solaris*)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    unicos*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-
-    uts4*)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *)
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-    esac
-  fi
-])
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-    ;;
-  *)
-    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
-    ;;
-esac
-
-AC_CACHE_CHECK([for $compiler option to produce PIC],
-  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
-  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
-  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
-    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
-    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
-    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
-     "" | " "*) ;;
-     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
-     esac],
-    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
-	[Additional compiler flags for building library objects])
-
-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
-	[How to pass a linker flag through the compiler])
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
-_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
-  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
-  $lt_tmp_static_flag,
-  [],
-  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
-	[Compiler flag to prevent dynamic linking])
-])# _LT_COMPILER_PIC
-
-
-# _LT_LINKER_SHLIBS([TAGNAME])
-# ----------------------------
-# See if the linker supports building shared libraries.
-m4_defun([_LT_LINKER_SHLIBS],
-[AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-m4_if([$1], [CXX], [
-  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-  case $host_os in
-  aix[[4-9]]*)
-    # 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
-      _LT_TAGVAR(export_symbols_cmds, $1)='$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
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
-    ;;
-  cygwin* | mingw* | cegcc*)
-    case $cc_basename in
-    cl*)
-      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-      ;;
-    *)
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
-      ;;
-    esac
-    ;;
-  *)
-    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-    ;;
-  esac
-], [
-  runpath_var=
-  _LT_TAGVAR(allow_undefined_flag, $1)=
-  _LT_TAGVAR(always_export_symbols, $1)=no
-  _LT_TAGVAR(archive_cmds, $1)=
-  _LT_TAGVAR(archive_expsym_cmds, $1)=
-  _LT_TAGVAR(compiler_needs_object, $1)=no
-  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  _LT_TAGVAR(hardcode_automatic, $1)=no
-  _LT_TAGVAR(hardcode_direct, $1)=no
-  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
-  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_TAGVAR(hardcode_libdir_separator, $1)=
-  _LT_TAGVAR(hardcode_minus_L, $1)=no
-  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_TAGVAR(inherit_rpath, $1)=no
-  _LT_TAGVAR(link_all_deplibs, $1)=unknown
-  _LT_TAGVAR(module_cmds, $1)=
-  _LT_TAGVAR(module_expsym_cmds, $1)=
-  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
-  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
-  _LT_TAGVAR(thread_safe_flag_spec, $1)=
-  _LT_TAGVAR(whole_archive_flag_spec, $1)=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  _LT_TAGVAR(include_expsyms, $1)=
-  # 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'.
-  _LT_TAGVAR(exclude_expsyms, $1)=['_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.
-dnl Note also adjust exclude_expsyms for C++ above.
-  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
-
-  _LT_TAGVAR(ld_shlibs, $1)=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
-    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${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
-      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      _LT_TAGVAR(whole_archive_flag_spec, $1)=
-    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
-	_LT_TAGVAR(ld_shlibs, $1)=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
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            _LT_TAGVAR(archive_expsym_cmds, $1)=''
-        ;;
-      m68k)
-            _LT_TAGVAR(archive_cmds, $1)='$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)'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	# Joseph Beckenbach  says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-      # as there is no search path for DLLs.
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(always_export_symbols, $1)=no
-      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+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
-        _LT_TAGVAR(archive_cmds, $1)='$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...
-	_LT_TAGVAR(archive_expsym_cmds, $1)='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
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    haiku*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    interix[[3-9]]*)
-      _LT_TAGVAR(hardcode_direct, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${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.
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      _LT_TAGVAR(archive_expsym_cmds, $1)='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
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${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
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${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
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
-	  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
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${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'
-	  _LT_TAGVAR(compiler_needs_object, $1)=yes
-	  ;;
-	esac
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)			# Sun C 5.9
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${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'
-	  _LT_TAGVAR(compiler_needs_object, $1)=yes
-	  tmp_sharedflag='-G' ;;
-	*Sun\ F*)			# Sun Fortran 8.3
-	  tmp_sharedflag='-G' ;;
-	esac
-	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          _LT_TAGVAR(archive_expsym_cmds, $1)='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
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-	  if test "x$supports_anon_versioning" = xyes; then
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='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
-        _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$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
-	_LT_TAGVAR(ld_shlibs, $1)=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
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
-	_LT_TAGVAR(ld_shlibs, $1)=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
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  else
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	  fi
-	;;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-
-    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
-      runpath_var=
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-      _LT_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(always_export_symbols, $1)=yes
-      _LT_TAGVAR(archive_expsym_cmds, $1)='$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.
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	_LT_TAGVAR(hardcode_direct, $1)=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
-	  _LT_TAGVAR(export_symbols_cmds, $1)='$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
-	  _LT_TAGVAR(export_symbols_cmds, $1)='$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.
-
-      _LT_TAGVAR(archive_cmds, $1)=''
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(file_list_spec, $1)='${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
-	  _LT_TAGVAR(hardcode_direct, $1)=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
-	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
-	  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
-
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${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.
-      _LT_TAGVAR(always_export_symbols, $1)=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.
-	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        _LT_SYS_MODULE_PATH_AIX([$1])
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$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
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$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.
-	 _LT_SYS_MODULE_PATH_AIX([$1])
-	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${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.
-	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	  if test "$with_gnu_ld" = yes; then
-	    # We only use this code for GNU lds that support --whole-archive.
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	  else
-	    # Exported symbols can be pulled into shared objects from archives
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	  fi
-	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$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
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            _LT_TAGVAR(archive_expsym_cmds, $1)=''
-        ;;
-      m68k)
-            _LT_TAGVAR(archive_cmds, $1)='$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)'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[[45]]*)
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-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
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	_LT_TAGVAR(always_export_symbols, $1)=yes
-	_LT_TAGVAR(file_list_spec, $1)='@'
-	# 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.
-	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-	_LT_TAGVAR(archive_expsym_cmds, $1)='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, $1)='true'
-	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-	_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-	# Don't use ranlib
-	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
-	_LT_TAGVAR(postlink_cmds, $1)='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
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-	_LT_TAGVAR(allow_undefined_flag, $1)=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.
-	_LT_TAGVAR(archive_cmds, $1)='$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.
-	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-	# FIXME: Should let the user specify the lib program.
-	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-	;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-      _LT_DARWIN_LINKER_FEATURES($1)
-      ;;
-
-    dgux*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=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*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$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
-	_LT_TAGVAR(archive_cmds, $1)='$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
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
-	_LT_TAGVAR(hardcode_direct, $1)=yes
-	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	_LT_TAGVAR(hardcode_minus_L, $1)=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-	case $host_cpu in
-	hppa*64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_TAGVAR(archive_cmds, $1)='$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*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	m4_if($1, [], [
-	  # 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)
-	  _LT_LINKER_OPTION([if $CC understands -b],
-	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
-	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
-	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
-	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
-	  ;;
-	esac
-      fi
-      if test "$with_gnu_ld" = no; then
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  _LT_TAGVAR(hardcode_direct, $1)=no
-	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	  ;;
-	*)
-	  _LT_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
-	  ;;
-	esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$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.
-	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
-	  [lt_cv_irix_exported_symbol],
-	  [save_LDFLAGS="$LDFLAGS"
-	   LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-	   AC_LINK_IFELSE(
-	     [AC_LANG_SOURCE(
-	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
-			      [C++], [[int foo (void) { return 0; }]],
-			      [Fortran 77], [[
-      subroutine foo
-      end]],
-			      [Fortran], [[
-      subroutine foo
-      end]])])],
-	      [lt_cv_irix_exported_symbol=yes],
-	      [lt_cv_irix_exported_symbol=no])
-           LDFLAGS="$save_LDFLAGS"])
-	if test "$lt_cv_irix_exported_symbol" = yes; then
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$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
-	_LT_TAGVAR(archive_cmds, $1)='$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'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$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
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(inherit_rpath, $1)=yes
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    newsos6)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-	_LT_TAGVAR(hardcode_direct, $1)=yes
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	else
-	  case $host_os in
-	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
-	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	     ;;
-	   *)
-	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	     ;;
-	  esac
-	fi
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    os2*)
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(archive_cmds, $1)='$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'
-      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_TAGVAR(archive_cmds, $1)='$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
-	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_TAGVAR(archive_cmds, $1)='$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
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_TAGVAR(archive_cmds, $1)='$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'
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      else
-	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_TAGVAR(archive_cmds, $1)='$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'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='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
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-      fi
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    solaris*)
-      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
-      if test "$GCC" = yes; then
-	wlarc='${wl}'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='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=''
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='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}'
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='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
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=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
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	else
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	fi
-	;;
-      esac
-      _LT_TAGVAR(link_all_deplibs, $1)=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.
-	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-	sni)
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
-	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
-	  _LT_TAGVAR(hardcode_direct, $1)=no
-        ;;
-	motorola)
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
-	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4.3*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	_LT_TAGVAR(ld_shlibs, $1)=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$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.
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      _LT_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
-	;;
-      esac
-    fi
-  fi
-])
-AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
-
-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
-_LT_DECL([], [extract_expsyms_cmds], [2],
-    [The commands to extract the exported symbol list from a shared archive])
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
-  # Assume -lc should be added
-  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $_LT_TAGVAR(archive_cmds, $1) 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.
-      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
-	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
-	[$RM conftest*
-	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
-	  soname=conftest
-	  lib=conftest
-	  libobjs=conftest.$ac_objext
-	  deplibs=
-	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
-	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
-	  compiler_flags=-v
-	  linker_flags=-v
-	  verstring=
-	  output_objdir=.
-	  libname=conftest
-	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
-	  _LT_TAGVAR(allow_undefined_flag, $1)=
-	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
-	  then
-	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-	  else
-	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-	  fi
-	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
-	else
-	  cat conftest.err 1>&5
-	fi
-	$RM conftest*
-	])
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
-    [Whether or not to add -lc for building shared libraries])
-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
-    [enable_shared_with_static_runtimes], [0],
-    [Whether or not to disallow shared libs when runtime libs are static])
-_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
-    [Compiler flag to allow reflexive dlopens])
-_LT_TAGDECL([], [whole_archive_flag_spec], [1],
-    [Compiler flag to generate shared objects directly from archives])
-_LT_TAGDECL([], [compiler_needs_object], [1],
-    [Whether the compiler copes with passing no objects directly])
-_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
-    [Create an old-style archive from a shared archive])
-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
-    [Create a temporary old-style archive to link instead of a shared archive])
-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
-_LT_TAGDECL([], [archive_expsym_cmds], [2])
-_LT_TAGDECL([], [module_cmds], [2],
-    [Commands used to build a loadable module if different from building
-    a shared archive.])
-_LT_TAGDECL([], [module_expsym_cmds], [2])
-_LT_TAGDECL([], [with_gnu_ld], [1],
-    [Whether we are building with GNU ld or not])
-_LT_TAGDECL([], [allow_undefined_flag], [1],
-    [Flag that allows shared libraries with undefined symbols to be built])
-_LT_TAGDECL([], [no_undefined_flag], [1],
-    [Flag that enforces no undefined symbols])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
-    [Flag to hardcode $libdir into a binary during linking.
-    This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_separator], [1],
-    [Whether we need a single "-rpath" flag with a separated argument])
-_LT_TAGDECL([], [hardcode_direct], [0],
-    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
-    DIR into the resulting binary])
-_LT_TAGDECL([], [hardcode_direct_absolute], [0],
-    [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])
-_LT_TAGDECL([], [hardcode_minus_L], [0],
-    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-    into the resulting binary])
-_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
-    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-    into the resulting binary])
-_LT_TAGDECL([], [hardcode_automatic], [0],
-    [Set to "yes" if building a shared library automatically hardcodes DIR
-    into the library and all subsequent libraries and executables linked
-    against it])
-_LT_TAGDECL([], [inherit_rpath], [0],
-    [Set to yes if linker adds runtime paths of dependent libraries
-    to runtime path list])
-_LT_TAGDECL([], [link_all_deplibs], [0],
-    [Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [always_export_symbols], [0],
-    [Set to "yes" if exported symbols are required])
-_LT_TAGDECL([], [export_symbols_cmds], [2],
-    [The commands to list exported symbols])
-_LT_TAGDECL([], [exclude_expsyms], [1],
-    [Symbols that should not be listed in the preloaded symbols])
-_LT_TAGDECL([], [include_expsyms], [1],
-    [Symbols that must always be exported])
-_LT_TAGDECL([], [prelink_cmds], [2],
-    [Commands necessary for linking programs (against libraries) with templates])
-_LT_TAGDECL([], [postlink_cmds], [2],
-    [Commands necessary for finishing linking programs])
-_LT_TAGDECL([], [file_list_spec], [1],
-    [Specify filename containing input files])
-dnl FIXME: Not yet implemented
-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
-dnl    [Compiler flag to generate thread safe objects])
-])# _LT_LINKER_SHLIBS
-
-
-# _LT_LANG_C_CONFIG([TAG])
-# ------------------------
-# Ensure that the configuration variables for a C compiler are suitably
-# defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_C_CONFIG],
-[m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$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);}'
-
-_LT_TAG_COMPILER
-# 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
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_SYS_DYNAMIC_LINKER($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-  LT_SYS_DLOPEN_SELF
-  _LT_CMD_STRIPLIB
-
-  # Report which library types will actually be built
-  AC_MSG_CHECKING([if libtool supports shared libraries])
-  AC_MSG_RESULT([$can_build_shared])
-
-  AC_MSG_CHECKING([whether to build shared libraries])
-  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
-  AC_MSG_RESULT([$enable_shared])
-
-  AC_MSG_CHECKING([whether to build static libraries])
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  AC_MSG_RESULT([$enable_static])
-
-  _LT_CONFIG($1)
-fi
-AC_LANG_POP
-CC="$lt_save_CC"
-])# _LT_LANG_C_CONFIG
-
-
-# _LT_LANG_CXX_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a C++ compiler are suitably
-# defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_CXX_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  AC_PROG_CXXCPP
-else
-  _lt_caught_CXX_error=yes
-fi
-
-AC_LANG_PUSH(C++)
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(compiler_needs_object, $1)=no
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
-  # 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(int, char *[[]]) { return(0); }'
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC=$CC
-  lt_save_CFLAGS=$CFLAGS
-  lt_save_LD=$LD
-  lt_save_GCC=$GCC
-  GCC=$GXX
-  lt_save_with_gnu_ld=$with_gnu_ld
-  lt_save_path_LD=$lt_cv_path_LD
-  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-  else
-    $as_unset lt_cv_prog_gnu_ld
-  fi
-  if test -n "${lt_cv_path_LDCXX+set}"; then
-    lt_cv_path_LD=$lt_cv_path_LDCXX
-  else
-    $as_unset lt_cv_path_LD
-  fi
-  test -z "${LDCXX+set}" || LD=$LDCXX
-  CC=${CXX-"c++"}
-  CFLAGS=$CXXFLAGS
-  compiler=$CC
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-
-  if test -n "$compiler"; then
-    # We don't want -fno-exception when compiling C++ code, so set the
-    # no_builtin_flag separately
-    if test "$GXX" = yes; then
-      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-    else
-      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-    fi
-
-    if test "$GXX" = yes; then
-      # Set up default GNU C++ configuration
-
-      LT_PATH_LD
-
-      # Check if GNU C++ uses GNU ld as the underlying linker, since the
-      # archiving commands below assume that GNU ld is being used.
-      if test "$with_gnu_ld" = yes; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-        # If archive_cmds runs LD, not CC, wlarc should be empty
-        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-        #     investigate it a little bit more. (MM)
-        wlarc='${wl}'
-
-        # ancient GNU ld didn't support --whole-archive et. al.
-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
-	  $GREP 'no-whole-archive' > /dev/null; then
-          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-        else
-          _LT_TAGVAR(whole_archive_flag_spec, $1)=
-        fi
-      else
-        with_gnu_ld=no
-        wlarc=
-
-        # A generic and very simple default shared library creation
-        # command for GNU C++ for the case where it uses the native
-        # linker, instead of GNU ld.  If possible, this setting should
-        # overridden to take advantage of the native linker features on
-        # the platform it is being used on.
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      fi
-
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-    else
-      GXX=no
-      with_gnu_ld=no
-      wlarc=
-    fi
-
-    # PORTME: fill in a description of your system's C++ link characteristics
-    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-    _LT_TAGVAR(ld_shlibs, $1)=yes
-    case $host_os in
-      aix3*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-      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
-          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
-	      case $ld_flag in
-	      *-brtl*)
-	        aix_use_runtimelinking=yes
-	        break
-	        ;;
-	      esac
-	    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.
-
-        _LT_TAGVAR(archive_cmds, $1)=''
-        _LT_TAGVAR(hardcode_direct, $1)=yes
-        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-        _LT_TAGVAR(link_all_deplibs, $1)=yes
-        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
-        if test "$GXX" = 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
-	    _LT_TAGVAR(hardcode_direct, $1)=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
-	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
-	  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
-
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${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.
-        _LT_TAGVAR(always_export_symbols, $1)=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.
-          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
-          # Determine the default libpath from the value encoded in an empty
-          # executable.
-          _LT_SYS_MODULE_PATH_AIX([$1])
-          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$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
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$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.
-	    _LT_SYS_MODULE_PATH_AIX([$1])
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${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.
-	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	    if test "$with_gnu_ld" = yes; then
-	      # We only use this code for GNU lds that support --whole-archive.
-	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	    else
-	      # Exported symbols can be pulled into shared objects from archives
-	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	    fi
-	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-	    # This is similar to how AIX traditionally builds its shared
-	    # libraries.
-	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$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
-        ;;
-
-      beos*)
-	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	  # Joseph Beckenbach  says some releases of gcc
-	  # support --undefined.  This deserves some investigation.  FIXME
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	else
-	  _LT_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-
-      chorus*)
-        case $cc_basename in
-          *)
-	  # FIXME: insert proper C++ library support
-	  _LT_TAGVAR(ld_shlibs, $1)=no
-	  ;;
-        esac
-        ;;
-
-      cygwin* | mingw* | pw32* | cegcc*)
-	case $GXX,$cc_basename in
-	,cl* | no,cl*)
-	  # Native MSVC
-	  # hardcode_libdir_flag_spec is actually meaningless, as there is
-	  # no search path for DLLs.
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	  _LT_TAGVAR(always_export_symbols, $1)=yes
-	  _LT_TAGVAR(file_list_spec, $1)='@'
-	  # 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.
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='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, $1)='true'
-	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-	  # Don't use ranlib
-	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
-	  _LT_TAGVAR(postlink_cmds, $1)='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~
-	    func_to_tool_file "$lt_outputfile"~
-	    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'
-	  ;;
-	*)
-	  # g++
-	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-	  # as there is no search path for DLLs.
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
-	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	  _LT_TAGVAR(always_export_symbols, $1)=no
-	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
-	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $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...
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='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 -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	  else
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	  fi
-	  ;;
-	esac
-	;;
-      darwin* | rhapsody*)
-        _LT_DARWIN_LINKER_FEATURES($1)
-	;;
-
-      dgux*)
-        case $cc_basename in
-          ec++*)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          ghcx*)
-	    # Green Hills C++ Compiler
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-        esac
-        ;;
-
-      freebsd2.*)
-        # C++ shared libraries reported to be fairly broken before
-	# switch to ELF
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      freebsd-elf*)
-        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-        ;;
-
-      freebsd* | dragonfly*)
-        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-        # conventions
-        _LT_TAGVAR(ld_shlibs, $1)=yes
-        ;;
-
-      gnu*)
-        ;;
-
-      haiku*)
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        _LT_TAGVAR(link_all_deplibs, $1)=yes
-        ;;
-
-      hpux9*)
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-        _LT_TAGVAR(hardcode_direct, $1)=yes
-        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-				             # but as the default
-				             # location of the library.
-
-        case $cc_basename in
-          CC*)
-            # FIXME: insert proper C++ library support
-            _LT_TAGVAR(ld_shlibs, $1)=no
-            ;;
-          aCC*)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-            # Commands to make compiler produce verbose output that lists
-            # what "hidden" libraries, object files and flags are used when
-            # linking a shared library.
-            #
-            # There doesn't appear to be a way to prevent this compiler from
-            # explicitly linking system object files so we need to strip them
-            # from the output so that they don't get included in the library
-            # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-            ;;
-          *)
-            if test "$GXX" = yes; then
-              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-            else
-              # FIXME: insert proper C++ library support
-              _LT_TAGVAR(ld_shlibs, $1)=no
-            fi
-            ;;
-        esac
-        ;;
-
-      hpux10*|hpux11*)
-        if test $with_gnu_ld = no; then
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-          case $host_cpu in
-            hppa*64*|ia64*)
-              ;;
-            *)
-	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-              ;;
-          esac
-        fi
-        case $host_cpu in
-          hppa*64*|ia64*)
-            _LT_TAGVAR(hardcode_direct, $1)=no
-            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-            ;;
-          *)
-            _LT_TAGVAR(hardcode_direct, $1)=yes
-            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-					         # but as the default
-					         # location of the library.
-            ;;
-        esac
-
-        case $cc_basename in
-          CC*)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          aCC*)
-	    case $host_cpu in
-	      hppa*64*)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      ia64*)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      *)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	    esac
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-	    ;;
-          *)
-	    if test "$GXX" = yes; then
-	      if test $with_gnu_ld = no; then
-	        case $host_cpu in
-	          hppa*64*)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          ia64*)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          *)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	        esac
-	      fi
-	    else
-	      # FIXME: insert proper C++ library support
-	      _LT_TAGVAR(ld_shlibs, $1)=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      interix[[3-9]]*)
-	_LT_TAGVAR(hardcode_direct, $1)=no
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${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.
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='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'
-	;;
-      irix5* | irix6*)
-        case $cc_basename in
-          CC*)
-	    # SGI C++
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    if test "$GXX" = yes; then
-	      if test "$with_gnu_ld" = no; then
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $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
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
-	      fi
-	    fi
-	    _LT_TAGVAR(link_all_deplibs, $1)=yes
-	    ;;
-        esac
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-        _LT_TAGVAR(inherit_rpath, $1)=yes
-        ;;
-
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-	    ;;
-	  icpc* | ecpc* )
-	    # Intel C++
-	    with_gnu_ld=yes
-	    # version 8.0 and above of icpc choke on multiply defined symbols
-	    # if we add $predep_objects and $postdep_objects, however 7.1 and
-	    # earlier do not add the objects themselves.
-	    case `$CC -V 2>&1` in
-	      *"Version 7."*)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	      *)  # Version 8.0 or newer
-	        tmp_idyn=
-	        case $host_cpu in
-		  ia64*) tmp_idyn=' -i_dynamic';;
-		esac
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	    esac
-	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	    ;;
-          pgCC* | pgcpp*)
-            # Portland Group C++ compiler
-	    case `$CC -V` in
-	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
-	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
-	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
-		$RANLIB $oldlib'
-	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-	      ;;
-	    *) # Version 6 and above use weak symbols
-	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-	      ;;
-	    esac
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${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'
-            ;;
-	  cxx*)
-	    # Compaq C++
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
-	    runpath_var=LD_RUN_PATH
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
-	    ;;
-	  xl* | mpixl* | bgxl*)
-	    # IBM XL 8.0 on PPC, with GNU ld
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    if test "x$supports_anon_versioning" = xyes; then
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-		echo "local: *; };" >> $output_objdir/$libname.ver~
-		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-	    fi
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${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'
-	      _LT_TAGVAR(compiler_needs_object, $1)=yes
-
-	      # Not sure whether something based on
-	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-	      # would be better.
-	      output_verbose_link_cmd='func_echo_all'
-
-	      # Archives containing C++ object files must be created using
-	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	      # necessary to make sure instantiated templates are included
-	      # in the archive.
-	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-
-      lynxos*)
-        # FIXME: insert proper C++ library support
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	;;
-
-      m88k*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-	;;
-
-      mvs*)
-        case $cc_basename in
-          cxx*)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-	  *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-	esac
-	;;
-
-      netbsd*)
-        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-	  wlarc=
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	  _LT_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	fi
-	# Workaround some broken pre-1.5 toolchains
-	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-	;;
-
-      *nto* | *qnx*)
-        _LT_TAGVAR(ld_shlibs, $1)=yes
-	;;
-
-      openbsd2*)
-        # C++ shared libraries are fairly broken
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	;;
-
-      openbsd*)
-	if test -f /usr/libexec/ld.so; then
-	  _LT_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-	  fi
-	  output_verbose_link_cmd=func_echo_all
-	else
-	  _LT_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-
-      osf3* | osf4* | osf5*)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	    # Archives containing C++ object files must be created using
-	    # the KAI C++ compiler.
-	    case $host in
-	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
-	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
-	    esac
-	    ;;
-          RCC*)
-	    # Rational C++ 2.4.1
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          cxx*)
-	    case $host in
-	      osf3*)
-	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-		;;
-	      *)
-	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-	          echo "-hidden">> $lib.exp~
-	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
-	          $RM $lib.exp'
-	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-		;;
-	    esac
-
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-	    ;;
-	  *)
-	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	      case $host in
-	        osf3*)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $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'
-		  ;;
-	        *)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $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'
-		  ;;
-	      esac
-
-	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	      # Commands to make compiler produce verbose output that lists
-	      # what "hidden" libraries, object files and flags are used when
-	      # linking a shared library.
-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-	    else
-	      # FIXME: insert proper C++ library support
-	      _LT_TAGVAR(ld_shlibs, $1)=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      psos*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      sunos4*)
-        case $cc_basename in
-          CC*)
-	    # Sun C++ 4.x
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          lcc*)
-	    # Lucid
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-        esac
-        ;;
-
-      solaris*)
-        case $cc_basename in
-          CC* | sunCC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
-	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=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'.
-	        # Supported since Solaris 2.6 (maybe 2.5.1?)
-		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	        ;;
-	    esac
-	    _LT_TAGVAR(link_all_deplibs, $1)=yes
-
-	    output_verbose_link_cmd='func_echo_all'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	    ;;
-          gcx*)
-	    # Green Hills C++ Compiler
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
-	    # The C++ compiler must be used to create the archive.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    # GNU C++ compiler with Solaris linker
-	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
-	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-		  $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-	      else
-	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
-	        # platform.
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-	      fi
-
-	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
-	      case $host_os in
-		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-		*)
-		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-		  ;;
-	      esac
-	    fi
-	    ;;
-        esac
-        ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      case $cc_basename in
-        CC*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-      esac
-      ;;
-
-      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.
-	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
-	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-	_LT_TAGVAR(link_all_deplibs, $1)=yes
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-	runpath_var='LD_RUN_PATH'
-
-	case $cc_basename in
-          CC*)
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
-	      '"$_LT_TAGVAR(old_archive_cmds, $1)"
-	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
-	      '"$_LT_TAGVAR(reload_cmds, $1)"
-	    ;;
-	  *)
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    ;;
-	esac
-      ;;
-
-      tandem*)
-        case $cc_basename in
-          NCC*)
-	    # NonStop-UX NCC 3.20
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-        esac
-        ;;
-
-      vxworks*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      *)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-    esac
-
-    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-    _LT_TAGVAR(GCC, $1)="$GXX"
-    _LT_TAGVAR(LD, $1)="$LD"
-
-    ## 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...
-    _LT_SYS_HIDDEN_LIBDEPS($1)
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  CC=$lt_save_CC
-  CFLAGS=$lt_save_CFLAGS
-  LDCXX=$LD
-  LD=$lt_save_LD
-  GCC=$lt_save_GCC
-  with_gnu_ld=$lt_save_with_gnu_ld
-  lt_cv_path_LDCXX=$lt_cv_path_LD
-  lt_cv_path_LD=$lt_save_path_LD
-  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
-
-AC_LANG_POP
-])# _LT_LANG_CXX_CONFIG
-
-
-# _LT_FUNC_STRIPNAME_CNF
-# ----------------------
-# func_stripname_cnf 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).
-#
-# This function is identical to the (non-XSI) version of func_stripname,
-# except this one can be used by m4 code that may be executed by configure,
-# rather than the libtool script.
-m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
-AC_REQUIRE([_LT_DECL_SED])
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
-func_stripname_cnf ()
-{
-  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_cnf
-])# _LT_FUNC_STRIPNAME_CNF
-
-# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
-# ---------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
-# Dependencies to place before and after the object being linked:
-_LT_TAGVAR(predep_objects, $1)=
-_LT_TAGVAR(postdep_objects, $1)=
-_LT_TAGVAR(predeps, $1)=
-_LT_TAGVAR(postdeps, $1)=
-_LT_TAGVAR(compiler_lib_search_path, $1)=
-
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library.  It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
-int a;
-void foo (void) { a = 0; }
-_LT_EOF
-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-_LT_EOF
-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
-      subroutine foo
-      implicit none
-      integer*4 a
-      a=0
-      return
-      end
-_LT_EOF
-], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
-      subroutine foo
-      implicit none
-      integer a
-      a=0
-      return
-      end
-_LT_EOF
-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
-public class foo {
-  private int a;
-  public void bar (void) {
-    a = 0;
-  }
-};
-_LT_EOF
-], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
-package foo
-func foo() {
-}
-_LT_EOF
-])
-
-_lt_libdeps_save_CFLAGS=$CFLAGS
-case "$CC $CFLAGS " in #(
-*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
-*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
-*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
-esac
-
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  for p in `eval "$output_verbose_link_cmd"`; do
-    case ${prev}${p} in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test $p = "-L" ||
-          test $p = "-R"; then
-	 prev=$p
-	 continue
-       fi
-
-       # Expand the sysroot to ease extracting the directories later.
-       if test -z "$prev"; then
-         case $p in
-         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
-         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
-         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
-         esac
-       fi
-       case $p in
-       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
-       esac
-       if test "$pre_test_object_deps_done" = no; then
-	 case ${prev} in
-	 -L | -R)
-	   # Internal compiler library paths should come after those
-	   # provided the user.  The postdeps already come after the
-	   # user supplied libs so there is no need to process them.
-	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
-	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
-	   else
-	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
-	   fi
-	   ;;
-	 # The "-l" case would never come before the object being
-	 # linked, so don't bother handling this case.
-	 esac
-       else
-	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
-	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
-	 else
-	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
-	 fi
-       fi
-       prev=
-       ;;
-
-    *.lto.$objext) ;; # Ignore GCC LTO objects
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-	 pre_test_object_deps_done=yes
-	 continue
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
-	   _LT_TAGVAR(predep_objects, $1)="$p"
-	 else
-	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
-	 fi
-       else
-	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
-	   _LT_TAGVAR(postdep_objects, $1)="$p"
-	 else
-	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
-	 fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$RM -f confest.$objext
-CFLAGS=$_lt_libdeps_save_CFLAGS
-
-# PORTME: override above test on systems where it is broken
-m4_if([$1], [CXX],
-[case $host_os in
-interix[[3-9]]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  _LT_TAGVAR(predep_objects,$1)=
-  _LT_TAGVAR(postdep_objects,$1)=
-  _LT_TAGVAR(postdeps,$1)=
-  ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC* | sunCC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-esac
-])
-
-case " $_LT_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
-    [The directories searched by this compiler when creating a shared library])
-_LT_TAGDECL([], [predep_objects], [1],
-    [Dependencies to place before and after the objects being linked to
-    create a shared library])
-_LT_TAGDECL([], [postdep_objects], [1])
-_LT_TAGDECL([], [predeps], [1])
-_LT_TAGDECL([], [postdeps], [1])
-_LT_TAGDECL([], [compiler_lib_search_path], [1],
-    [The library search path used internally by the compiler when linking
-    a shared library])
-])# _LT_SYS_HIDDEN_LIBDEPS
-
-
-# _LT_LANG_F77_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a Fortran 77 compiler are
-# suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_F77_CONFIG],
-[AC_LANG_PUSH(Fortran 77)
-if test -z "$F77" || test "X$F77" = "Xno"; then
-  _lt_disable_F77=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the F77 compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_F77" != yes; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code="\
-      program t
-      end
-"
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC="$CC"
-  lt_save_GCC=$GCC
-  lt_save_CFLAGS=$CFLAGS
-  CC=${F77-"f77"}
-  CFLAGS=$FFLAGS
-  compiler=$CC
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-  GCC=$G77
-  if test -n "$compiler"; then
-    AC_MSG_CHECKING([if libtool supports shared libraries])
-    AC_MSG_RESULT([$can_build_shared])
-
-    AC_MSG_CHECKING([whether to build shared libraries])
-    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
-    AC_MSG_RESULT([$enable_shared])
-
-    AC_MSG_CHECKING([whether to build static libraries])
-    # Make sure either enable_shared or enable_static is yes.
-    test "$enable_shared" = yes || enable_static=yes
-    AC_MSG_RESULT([$enable_static])
-
-    _LT_TAGVAR(GCC, $1)="$G77"
-    _LT_TAGVAR(LD, $1)="$LD"
-
-    ## 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...
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  GCC=$lt_save_GCC
-  CC="$lt_save_CC"
-  CFLAGS="$lt_save_CFLAGS"
-fi # test "$_lt_disable_F77" != yes
-
-AC_LANG_POP
-])# _LT_LANG_F77_CONFIG
-
-
-# _LT_LANG_FC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for a Fortran compiler are
-# suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_FC_CONFIG],
-[AC_LANG_PUSH(Fortran)
-
-if test -z "$FC" || test "X$FC" = "Xno"; then
-  _lt_disable_FC=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for fc test sources.
-ac_ext=${ac_fc_srcext-f}
-
-# Object file extension for compiled fc test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the FC compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_FC" != yes; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code="\
-      program t
-      end
-"
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC="$CC"
-  lt_save_GCC=$GCC
-  lt_save_CFLAGS=$CFLAGS
-  CC=${FC-"f95"}
-  CFLAGS=$FCFLAGS
-  compiler=$CC
-  GCC=$ac_cv_fc_compiler_gnu
-
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-
-  if test -n "$compiler"; then
-    AC_MSG_CHECKING([if libtool supports shared libraries])
-    AC_MSG_RESULT([$can_build_shared])
-
-    AC_MSG_CHECKING([whether to build shared libraries])
-    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
-    AC_MSG_RESULT([$enable_shared])
-
-    AC_MSG_CHECKING([whether to build static libraries])
-    # Make sure either enable_shared or enable_static is yes.
-    test "$enable_shared" = yes || enable_static=yes
-    AC_MSG_RESULT([$enable_static])
-
-    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
-    _LT_TAGVAR(LD, $1)="$LD"
-
-    ## 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...
-    _LT_SYS_HIDDEN_LIBDEPS($1)
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  GCC=$lt_save_GCC
-  CC=$lt_save_CC
-  CFLAGS=$lt_save_CFLAGS
-fi # test "$_lt_disable_FC" != yes
-
-AC_LANG_POP
-])# _LT_LANG_FC_CONFIG
-
-
-# _LT_LANG_GCJ_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Java Compiler compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_GCJ_CONFIG],
-[AC_REQUIRE([LT_PROG_GCJ])dnl
-AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GCJ-"gcj"}
-CFLAGS=$GCJFLAGS
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-
-  _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_GCJ_CONFIG
-
-
-# _LT_LANG_GO_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Go compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_GO_CONFIG],
-[AC_REQUIRE([LT_PROG_GO])dnl
-AC_LANG_SAVE
-
-# Source file extension for Go test sources.
-ac_ext=go
-
-# Object file extension for compiled Go test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="package main; func main() { }"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='package main; func main() { }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GOC-"gccgo"}
-CFLAGS=$GOFLAGS
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
-_LT_CC_BASENAME([$compiler])
-
-# Go did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-
-  _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_GO_CONFIG
-
-
-# _LT_LANG_RC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for the Windows resource compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_RC_CONFIG],
-[AC_REQUIRE([LT_PROG_RC])dnl
-AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=
-CC=${RC-"windres"}
-CFLAGS=
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-if test -n "$compiler"; then
-  :
-  _LT_CONFIG($1)
-fi
-
-GCC=$lt_save_GCC
-AC_LANG_RESTORE
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_RC_CONFIG
-
-
-# LT_PROG_GCJ
-# -----------
-AC_DEFUN([LT_PROG_GCJ],
-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
-  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
-    [AC_CHECK_TOOL(GCJ, gcj,)
-      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
-      AC_SUBST(GCJFLAGS)])])[]dnl
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
-
-
-# LT_PROG_GO
-# ----------
-AC_DEFUN([LT_PROG_GO],
-[AC_CHECK_TOOL(GOC, gccgo,)
-])
-
-
-# LT_PROG_RC
-# ----------
-AC_DEFUN([LT_PROG_RC],
-[AC_CHECK_TOOL(RC, windres,)
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_RC], [])
-
-
-# _LT_DECL_EGREP
-# --------------
-# If we don't have a new enough Autoconf to choose the best grep
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_EGREP],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_REQUIRE([AC_PROG_FGREP])dnl
-test -z "$GREP" && GREP=grep
-_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
-_LT_DECL([], [EGREP], [1], [An ERE matcher])
-_LT_DECL([], [FGREP], [1], [A literal string matcher])
-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
-AC_SUBST([GREP])
-])
-
-
-# _LT_DECL_OBJDUMP
-# --------------
-# If we don't have a new enough Autoconf to choose the best objdump
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_OBJDUMP],
-[AC_CHECK_TOOL(OBJDUMP, objdump, false)
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
-AC_SUBST([OBJDUMP])
-])
-
-# _LT_DECL_DLLTOOL
-# ----------------
-# Ensure DLLTOOL variable is set.
-m4_defun([_LT_DECL_DLLTOOL],
-[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
-AC_SUBST([DLLTOOL])
-])
-
-# _LT_DECL_SED
-# ------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible.  Prefer GNU sed if found.
-m4_defun([_LT_DECL_SED],
-[AC_PROG_SED
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
-    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
-])# _LT_DECL_SED
-
-m4_ifndef([AC_PROG_SED], [
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-
-m4_defun([AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
-        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-      fi
-    done
-  done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-    lt_cv_path_SED=$lt_ac_sed
-    break
-  fi
-  while true; do
-    cat conftest.in conftest.in >conftest.tmp
-    mv conftest.tmp conftest.in
-    cp conftest.in conftest.nl
-    echo >>conftest.nl
-    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-    cmp -s conftest.out conftest.nl || break
-    # 10000 chars as input seems more than enough
-    test $lt_ac_count -gt 10 && break
-    lt_ac_count=`expr $lt_ac_count + 1`
-    if test $lt_ac_count -gt $lt_ac_max; then
-      lt_ac_max=$lt_ac_count
-      lt_cv_path_SED=$lt_ac_sed
-    fi
-  done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])#AC_PROG_SED
-])#m4_ifndef
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_SED], [])
-
-
-# _LT_CHECK_SHELL_FEATURES
-# ------------------------
-# Find out whether the shell is Bourne or XSI compatible,
-# or has some other useful features.
-m4_defun([_LT_CHECK_SHELL_FEATURES],
-[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
-# 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
-AC_MSG_RESULT([$xsi_shell])
-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
-
-AC_MSG_CHECKING([whether the shell understands "+="])
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-AC_MSG_RESULT([$lt_shell_append])
-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
-
-# 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
-_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
-_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
-])# _LT_CHECK_SHELL_FEATURES
-
-
-# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
-# ------------------------------------------------------
-# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
-# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
-m4_defun([_LT_PROG_FUNCTION_REPLACE],
-[dnl {
-sed -e '/^$1 ()$/,/^} # $1 /c\
-$1 ()\
-{\
-m4_bpatsubsts([$2], [$], [\\], [^\([	 ]\)], [\\\1])
-} # Extended-shell $1 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=:
-])
-
-
-# _LT_PROG_REPLACE_SHELLFNS
-# -------------------------
-# Replace existing portable implementations of several shell functions with
-# equivalent extended shell implementations where those features are available..
-m4_defun([_LT_PROG_REPLACE_SHELLFNS],
-[if test x"$xsi_shell" = xyes; then
-  _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
-    case ${1} in
-      */*) func_dirname_result="${1%/*}${2}" ;;
-      *  ) func_dirname_result="${3}" ;;
-    esac])
-
-  _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
-    func_basename_result="${1##*/}"])
-
-  _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
-    case ${1} in
-      */*) func_dirname_result="${1%/*}${2}" ;;
-      *  ) func_dirname_result="${3}" ;;
-    esac
-    func_basename_result="${1##*/}"])
-
-  _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
-    # 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}"}])
-
-  _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
-    func_split_long_opt_name=${1%%=*}
-    func_split_long_opt_arg=${1#*=}])
-
-  _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
-    func_split_short_opt_arg=${1#??}
-    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
-
-  _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
-    case ${1} in
-      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-      *)    func_lo2o_result=${1} ;;
-    esac])
-
-  _LT_PROG_FUNCTION_REPLACE([func_xform], [    func_xform_result=${1%.*}.lo])
-
-  _LT_PROG_FUNCTION_REPLACE([func_arith], [    func_arith_result=$(( $[*] ))])
-
-  _LT_PROG_FUNCTION_REPLACE([func_len], [    func_len_result=${#1}])
-fi
-
-if test x"$lt_shell_append" = xyes; then
-  _LT_PROG_FUNCTION_REPLACE([func_append], [    eval "${1}+=\\${2}"])
-
-  _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
-    func_quote_for_eval "${2}"
-dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
-    eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
-
-  # 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
-  AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
-fi
-])
-
-# _LT_PATH_CONVERSION_FUNCTIONS
-# -----------------------------
-# Determine which file name conversion functions should be used by
-# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
-# for certain cross-compile configurations and native mingw.
-m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_MSG_CHECKING([how to convert $build file names to $host format])
-AC_CACHE_VAL(lt_cv_to_host_file_cmd,
-[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
-])
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
-_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
-         [0], [convert $build file names to $host format])dnl
-
-AC_MSG_CHECKING([how to convert $build file names to toolchain format])
-AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
-[#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
-])
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
-_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
-         [0], [convert $build files to toolchain format])dnl
-])# _LT_PATH_CONVERSION_FUNCTIONS
-
-# Helper functions for option handling.                    -*- Autoconf -*-
-#
-#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
-#   Inc.
-#   Written by Gary V. Vaughan, 2004
-#
-# 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 7 ltoptions.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-
-
-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
-# ------------------------------------------
-m4_define([_LT_MANGLE_OPTION],
-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
-
-
-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
-# ---------------------------------------
-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
-# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
-# saved as a flag.
-m4_define([_LT_SET_OPTION],
-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
-        _LT_MANGLE_DEFUN([$1], [$2]),
-    [m4_warning([Unknown $1 option `$2'])])[]dnl
-])
-
-
-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
-# ------------------------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-m4_define([_LT_IF_OPTION],
-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
-
-
-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
-# -------------------------------------------------------
-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
-# are set.
-m4_define([_LT_UNLESS_OPTIONS],
-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
-	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
-		      [m4_define([$0_found])])])[]dnl
-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
-])[]dnl
-])
-
-
-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
-# ----------------------------------------
-# OPTION-LIST is a space-separated list of Libtool options associated
-# with MACRO-NAME.  If any OPTION has a matching handler declared with
-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
-# the unknown option and exit.
-m4_defun([_LT_SET_OPTIONS],
-[# Set options
-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
-    [_LT_SET_OPTION([$1], _LT_Option)])
-
-m4_if([$1],[LT_INIT],[
-  dnl
-  dnl Simply set some default values (i.e off) if boolean options were not
-  dnl specified:
-  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
-  ])
-  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
-  ])
-  dnl
-  dnl If no reference was made to various pairs of opposing options, then
-  dnl we run the default mode handler for the pair.  For example, if neither
-  dnl `shared' nor `disable-shared' was passed, we enable building of shared
-  dnl archives by default:
-  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
-  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
-  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
-  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
-  		   [_LT_ENABLE_FAST_INSTALL])
-  ])
-])# _LT_SET_OPTIONS
-
-
-
-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
-# -----------------------------------------
-m4_define([_LT_MANGLE_DEFUN],
-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
-
-
-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
-# -----------------------------------------------
-m4_define([LT_OPTION_DEFINE],
-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
-])# LT_OPTION_DEFINE
-
-
-# dlopen
-# ------
-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
-])
-
-AU_DEFUN([AC_LIBTOOL_DLOPEN],
-[_LT_SET_OPTION([LT_INIT], [dlopen])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `dlopen' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
-
-
-# win32-dll
-# ---------
-# Declare package support for building win32 dll's.
-LT_OPTION_DEFINE([LT_INIT], [win32-dll],
-[enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
-  AC_CHECK_TOOL(AS, as, false)
-  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-  AC_CHECK_TOOL(OBJDUMP, objdump, false)
-  ;;
-esac
-
-test -z "$AS" && AS=as
-_LT_DECL([], [AS],      [1], [Assembler program])dnl
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
-])# win32-dll
-
-AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-_LT_SET_OPTION([LT_INIT], [win32-dll])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `win32-dll' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
-
-
-# _LT_ENABLE_SHARED([DEFAULT])
-# ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_SHARED],
-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([shared],
-    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
-	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
-    [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],
-    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
-
-    _LT_DECL([build_libtool_libs], [enable_shared], [0],
-	[Whether or not to build shared libraries])
-])# _LT_ENABLE_SHARED
-
-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
-])
-
-AC_DEFUN([AC_DISABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], [disable-shared])
-])
-
-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_SHARED], [])
-dnl AC_DEFUN([AM_DISABLE_SHARED], [])
-
-
-
-# _LT_ENABLE_STATIC([DEFAULT])
-# ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_STATIC],
-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([static],
-    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
-	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
-    [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],
-    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
-
-    _LT_DECL([build_old_libs], [enable_static], [0],
-	[Whether or not to build static libraries])
-])# _LT_ENABLE_STATIC
-
-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
-])
-
-AC_DEFUN([AC_DISABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], [disable-static])
-])
-
-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_STATIC], [])
-dnl AC_DEFUN([AM_DISABLE_STATIC], [])
-
-
-
-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
-# ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_FAST_INSTALL],
-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([fast-install],
-    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
-    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
-    [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],
-    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
-
-_LT_DECL([fast_install], [enable_fast_install], [0],
-	 [Whether or not to optimize for fast installation])dnl
-])# _LT_ENABLE_FAST_INSTALL
-
-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
-
-# Old names:
-AU_DEFUN([AC_ENABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `fast-install' option into LT_INIT's first parameter.])
-])
-
-AU_DEFUN([AC_DISABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-fast-install' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
-
-
-# _LT_WITH_PIC([MODE])
-# --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
-# LT_INIT options.
-# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
-m4_define([_LT_WITH_PIC],
-[AC_ARG_WITH([pic],
-    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
-	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [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],
-    [pic_mode=default])
-
-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
-
-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
-])# _LT_WITH_PIC
-
-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
-
-# Old name:
-AU_DEFUN([AC_LIBTOOL_PICMODE],
-[_LT_SET_OPTION([LT_INIT], [pic-only])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `pic-only' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
-
-
-m4_define([_LTDL_MODE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
-		 [m4_define([_LTDL_MODE], [nonrecursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [recursive],
-		 [m4_define([_LTDL_MODE], [recursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [subproject],
-		 [m4_define([_LTDL_MODE], [subproject])])
-
-m4_define([_LTDL_TYPE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [installable],
-		 [m4_define([_LTDL_TYPE], [installable])])
-LT_OPTION_DEFINE([LTDL_INIT], [convenience],
-		 [m4_define([_LTDL_TYPE], [convenience])])
-
-# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
-#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# 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 ltsugar.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
-
-
-# lt_join(SEP, ARG1, [ARG2...])
-# -----------------------------
-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
-# associated separator.
-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
-# versions in m4sugar had bugs.
-m4_define([lt_join],
-[m4_if([$#], [1], [],
-       [$#], [2], [[$2]],
-       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
-m4_define([_lt_join],
-[m4_if([$#$2], [2], [],
-       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
-
-
-# lt_car(LIST)
-# lt_cdr(LIST)
-# ------------
-# Manipulate m4 lists.
-# These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
-m4_define([lt_car], [[$1]])
-m4_define([lt_cdr],
-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
-       [$#], 1, [],
-       [m4_dquote(m4_shift($@))])])
-m4_define([lt_unquote], $1)
-
-
-# lt_append(MACRO-NAME, STRING, [SEPARATOR])
-# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
-# Note that neither SEPARATOR nor STRING are expanded; they are appended
-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
-# No SEPARATOR is output if MACRO-NAME was previously undefined (different
-# than defined and empty).
-#
-# This macro is needed until we can rely on Autoconf 2.62, since earlier
-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
-m4_define([lt_append],
-[m4_define([$1],
-	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
-
-
-
-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
-# ----------------------------------------------------------
-# Produce a SEP delimited list of all paired combinations of elements of
-# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
-# has the form PREFIXmINFIXSUFFIXn.
-# Needed until we can rely on m4_combine added in Autoconf 2.62.
-m4_define([lt_combine],
-[m4_if(m4_eval([$# > 3]), [1],
-       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
-[[m4_foreach([_Lt_prefix], [$2],
-	     [m4_foreach([_Lt_suffix],
-		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
-	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
-
-
-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-# -----------------------------------------------------------------------
-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
-m4_define([lt_if_append_uniq],
-[m4_ifdef([$1],
-	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
-		 [lt_append([$1], [$2], [$3])$4],
-		 [$5])],
-	  [lt_append([$1], [$2], [$3])$4])])
-
-
-# lt_dict_add(DICT, KEY, VALUE)
-# -----------------------------
-m4_define([lt_dict_add],
-[m4_define([$1($2)], [$3])])
-
-
-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
-# --------------------------------------------
-m4_define([lt_dict_add_subkey],
-[m4_define([$1($2:$3)], [$4])])
-
-
-# lt_dict_fetch(DICT, KEY, [SUBKEY])
-# ----------------------------------
-m4_define([lt_dict_fetch],
-[m4_ifval([$3],
-	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
-    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
-
-
-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------------------
-m4_define([lt_if_dict_fetch],
-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
-	[$5],
-    [$6])])
-
-
-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
-# --------------------------------------------------------------
-m4_define([lt_dict_filter],
-[m4_if([$5], [], [],
-  [lt_join(m4_quote(m4_default([$4], [[, ]])),
-           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
-		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
-])
-
-# ltversion.m4 -- version numbers			-*- Autoconf -*-
-#
-#   Copyright (C) 2004 Free Software Foundation, Inc.
-#   Written by Scott James Remnant, 2004
-#
-# 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.
-
-# @configure_input@
-
-# serial 3337 ltversion.m4
-# This file is part of GNU Libtool
-
-m4_define([LT_PACKAGE_VERSION], [2.4.2])
-m4_define([LT_PACKAGE_REVISION], [1.3337])
-
-AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.2'
-macro_revision='1.3337'
-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
-_LT_DECL(, macro_revision, 0)
-])
-
-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
-#
-#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
-#   Written by Scott James Remnant, 2004.
-#
-# 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 lt~obsolete.m4
-
-# These exist entirely to fool aclocal when bootstrapping libtool.
-#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
-# which have later been changed to m4_define as they aren't part of the
-# exported API, or moved to Autoconf or Automake where they belong.
-#
-# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
-# using a macro with the same name in our local m4/libtool.m4 it'll
-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
-# and doesn't know about Autoconf macros at all.)
-#
-# So we provide this file, which has a silly filename so it's always
-# included after everything else.  This provides aclocal with the
-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
-# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
-#
-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
-# Yes, that means every name once taken will need to remain here until
-# we give up compatibility with versions before 1.7, at which point
-# we need to keep only those names which we still refer to.
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
-
-m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
-m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
-m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
-m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
-m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
-m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
-m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
-m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
-m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
-m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
-m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
-m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
-m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
-m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
-m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
-m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
-m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
-m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
-m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
-m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
-m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
-m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
-m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
-m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
-m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
-m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
-m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
-m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
-m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
-m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
-m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
-m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
-m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
-m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
-m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
-m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
-m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
-m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
-m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
-
-# 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.6], [],
-      [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.6])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 /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
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/config.guess b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/config.guess
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/config.guess
+++ /dev/null
@@ -1,1516 +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 Free Software Foundation,
-#   Inc.
-
-timestamp='2007-05-17'
-
-# 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 to .  Submit a context
-# diff and a properly formatted 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.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
-
-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 ."
-
-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
-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 tupples: *-*-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 __ELF__ >/dev/null
-		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'`
-	exit ;;
-    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 ;;
-    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:SunOS:5.*:* | ix86xen:SunOS:5.*:*)
-	echo i386-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   /* 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 
-
-		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:*:[45])
-	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 
-              #include 
-
-              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 __LP64__ >/dev/null
-	    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 
-	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:*:*)
-	case ${UNAME_MACHINE} in
-	    pc98)
-		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    amd64)
-		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    *)
-		echo ${UNAME_MACHINE}-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*:windows32*:*)
-    	# uname -m includes "-pc" on this system.
-    	echo ${UNAME_MACHINE}-mingw32
-	exit ;;
-    i*:PW*:*)
-	echo ${UNAME_MACHINE}-pc-pw32
-	exit ;;
-    *:Interix*:[3456]*)
-    	case ${UNAME_MACHINE} in
-	    x86) 
-		echo i586-pc-interix${UNAME_RELEASE}
-		exit ;;
-	    EM64T | authenticamd)
-		echo x86_64-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 ;;
-    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 ;;
-    arm*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    cris:Linux:*:*)
-	echo cris-axis-linux-gnu
-	exit ;;
-    crisv32:Linux:*:*)
-	echo crisv32-axis-linux-gnu
-	exit ;;
-    frv:Linux:*:*)
-    	echo frv-unknown-linux-gnu
-	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:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#undef CPU
-	#undef mips
-	#undef mipsel
-	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=mipsel
-	#else
-	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=mips
-	#else
-	CPU=
-	#endif
-	#endif
-EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^CPU/{
-		s: ::g
-		p
-	    }'`"
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-	;;
-    mips64:Linux:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#undef CPU
-	#undef mips64
-	#undef mips64el
-	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=mips64el
-	#else
-	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=mips64
-	#else
-	CPU=
-	#endif
-	#endif
-EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^CPU/{
-		s: ::g
-		p
-	    }'`"
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-	;;
-    or32:Linux:*:*)
-	echo or32-unknown-linux-gnu
-	exit ;;
-    ppc:Linux:*:*)
-	echo powerpc-unknown-linux-gnu
-	exit ;;
-    ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-gnu
-	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 ld.so.1 >/dev/null
-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-	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 ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-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 ;;
-    vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-gnu
-	exit ;;
-    x86_64:Linux:*:*)
-	echo x86_64-unknown-linux-gnu
-	exit ;;
-    xtensa:Linux:*:*)
-    	echo xtensa-unknown-linux-gnu
-	exit ;;
-    i*86:Linux:*:*)
-	# The BFD linker knows what the default object file format is, so
-	# first see if it will tell us. cd to the root directory to prevent
-	# problems with other programs or directories called `ld' in the path.
-	# Set LC_ALL=C to ensure ld outputs messages in English.
-	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
-			 | sed -ne '/supported targets:/!d
-				    s/[ 	][ 	]*/ /g
-				    s/.*supported targets: *//
-				    s/ .*//
-				    p'`
-        case "$ld_supported_targets" in
-	  elf32-i386)
-		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
-		;;
-	  a.out-i386-linux)
-		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-		exit ;;
-	  coff-i386)
-		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-		exit ;;
-	  "")
-		# Either a pre-BFD a.out linker (linux-gnuoldld) or
-		# one that does not give us useful --help.
-		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
-		exit ;;
-	esac
-	# Determine whether the default compiler is a.out or elf
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include 
-	#ifdef __ELF__
-	# ifdef __GLIBC__
-	#  if __GLIBC__ >= 2
-	LIBC=gnu
-	#  else
-	LIBC=gnulibc1
-	#  endif
-	# else
-	LIBC=gnulibc1
-	# endif
-	#else
-	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-	LIBC=gnu
-	#else
-	LIBC=gnuaout
-	#endif
-	#endif
-	#ifdef __dietlibc__
-	LIBC=dietlibc
-	#endif
-EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^LIBC/{
-		s: ::g
-		p
-	    }'`"
-	test x"${LIBC}" != x && {
-		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-		exit
-	}
-	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; 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.0*:*)
-	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' /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 i386.
-	echo i386-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; } ;;
-    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.0*:*)
-	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 
-        echo i586-unisys-sysv4
-        exit ;;
-    *:UNIX_System_V:4*:FTX*)
-	# From Gerald Hewes .
-	# 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 ;;
-    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
-	    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 ;;
-    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 ;;
-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 <
-# include 
-#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 
-  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 
-#  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 < 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:
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/config.h.in b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/config.h.in
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/config.h.in
+++ /dev/null
@@ -1,223 +0,0 @@
-/* config.h.in.  Generated from configure.in by autoheader.  */
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_ANSIDECL_H
-
-/* Define to 1 if you have the `asctime' function. */
-#undef HAVE_ASCTIME
-
-/* Define to 1 if you have the `clock_gettime' function. */
-#undef HAVE_CLOCK_GETTIME
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_DLFCN_H
-
-/* Define if fabs is there */
-#undef HAVE_FABS
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_FLOAT_H
-
-/* Define if floor is there */
-#undef HAVE_FLOOR
-
-/* Define to 1 if you have the `fprintf' function. */
-#undef HAVE_FPRINTF
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_FP_CLASS_H
-
-/* Define to 1 if you have the `ftime' function. */
-#undef HAVE_FTIME
-
-/* Define if gcrypt library is available. */
-#undef HAVE_GCRYPT
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#undef HAVE_GETTIMEOFDAY
-
-/* Define to 1 if you have the `gmtime' function. */
-#undef HAVE_GMTIME
-
-/* Define to 1 if you have the `gmtime_r' function. */
-#undef HAVE_GMTIME_R
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_IEEEFP_H
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define if pthread library is there (-lpthread) */
-#undef HAVE_LIBPTHREAD
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_LOCALE_H
-
-/* Define to 1 if you have the `localtime' function. */
-#undef HAVE_LOCALTIME
-
-/* Define to 1 if you have the `localtime_r' function. */
-#undef HAVE_LOCALTIME_R
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_MATH_H
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `mktime' function. */
-#undef HAVE_MKTIME
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_NAN_H
-
-/* Define if pow is there */
-#undef HAVE_POW
-
-/* Define to 1 if you have the `printf' function. */
-#undef HAVE_PRINTF
-
-/* Define if  is there */
-#undef HAVE_PTHREAD_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 `sscanf' function. */
-#undef HAVE_SSCANF
-
-/* Define to 1 if you have the `stat' function. */
-#undef HAVE_STAT
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_STDARG_H
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_SYS_SELECT_H
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_SYS_TIMEB_H
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the  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  header file. */
-#undef HAVE_TIME_H
-
-/* Define to 1 if you have the  header file. */
-#undef HAVE_UNISTD_H
-
-/* 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  header file. */
-#undef HAVE_XLOCALE_H
-
-/* Define to 1 if you have the `_stat' function. */
-#undef HAVE__STAT
-
-/* 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
-
-/* Enable extensions on AIX 3, Interix.  */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris.  */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop.  */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-
-
-/* Version number of package */
-#undef VERSION
-
-/* Define if debugging support is enabled */
-#undef WITH_DEBUGGER
-
-/* Define to 1 if on MINIX. */
-#undef _MINIX
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
-   this defined. */
-#undef _POSIX_1_SOURCE
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-#undef _POSIX_SOURCE
-
-/* Using the Win32 Socket implementation */
-#undef _WINSOCKAPI_
-
-/* Win32 Std C name mangling work-around */
-#undef snprintf
-
-/* Win32 Std C name mangling work-around */
-#undef vsnprintf
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/config.sub b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/config.sub
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/config.sub
+++ /dev/null
@@ -1,1626 +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 Free Software Foundation,
-#   Inc.
-
-timestamp='2007-04-29'
-
-# 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 .  Submit a context
-# diff and a properly formatted 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.
-
-# 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 ."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-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-dietlibc | linux-newlib* | linux-uclibc* | \
-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-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)
-		os=
-		basic_machine=$1
-		;;
-	-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 \
-	| bfin \
-	| c4x | clipper \
-	| d10v | d30v | dlx | dsp16xx \
-	| fido | fr30 | frv \
-	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-	| i370 | i860 | i960 | ia64 \
-	| ip2k | iq2000 \
-	| m32c | m32r | m32rle | m68000 | m68k | m88k \
-	| maxq | mb | microblaze | mcore | mep \
-	| mips | mipsbe | mipseb | mipsel | mipsle \
-	| mips16 \
-	| mips64 | mips64el \
-	| mips64vr | mips64vrel \
-	| mips64orion | mips64orionel \
-	| mips64vr4100 | mips64vr4100el \
-	| mips64vr4300 | mips64vr4300el \
-	| mips64vr5000 | mips64vr5000el \
-	| mips64vr5900 | mips64vr5900el \
-	| mipsisa32 | mipsisa32el \
-	| mipsisa32r2 | mipsisa32r2el \
-	| mipsisa64 | mipsisa64el \
-	| mipsisa64r2 | mipsisa64r2el \
-	| mipsisa64sb1 | mipsisa64sb1el \
-	| mipsisa64sr71k | mipsisa64sr71kel \
-	| mipstx39 | mipstx39el \
-	| mn10200 | mn10300 \
-	| mt \
-	| msp430 \
-	| nios | nios2 \
-	| ns16k | ns32k \
-	| or32 \
-	| pdp10 | pdp11 | pj | pjl \
-	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
-	| pyramid \
-	| score \
-	| sh | sh[1234] | sh[24]a | 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 | strongarm \
-	| tahoe | thumb | tic4x | tic80 | tron \
-	| v850 | v850e \
-	| we32k \
-	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
-	| z8k)
-		basic_machine=$basic_machine-unknown
-		;;
-	m6811 | m68hc11 | m6812 | m68hc12)
-		# Motorola 68HC11/12.
-		basic_machine=$basic_machine-unknown
-		os=-none
-		;;
-	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-		;;
-	ms1)
-		basic_machine=mt-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-* \
-	| bfin-* | bs2000-* \
-	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
-	| 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-* \
-	| i*86-* | i860-* | i960-* | ia64-* \
-	| ip2k-* | iq2000-* \
-	| m32c-* | m32r-* | m32rle-* \
-	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | maxq-* | mcore-* \
-	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-	| mips16-* \
-	| mips64-* | mips64el-* \
-	| mips64vr-* | mips64vrel-* \
-	| mips64orion-* | mips64orionel-* \
-	| 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-* \
-	| nios-* | nios2-* \
-	| none-* | np1-* | ns16k-* | ns32k-* \
-	| orion-* \
-	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
-	| pyramid-* \
-	| romp-* | rs6000-* \
-	| sh-* | sh[1234]-* | sh[24]a-* | 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-* | strongarm-* | sv1-* | sx?-* \
-	| tahoe-* | thumb-* \
-	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-	| tron-* \
-	| v850-* | v850e-* | vax-* \
-	| we32k-* \
-	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
-	| xstormy16-* | xtensa-* \
-	| ymp-* \
-	| z8k-*)
-		;;
-	# 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
-		;;
-	aux)
-		basic_machine=m68k-apple
-		os=-aux
-		;;
-	balance)
-		basic_machine=ns32k-sequent
-		os=-dynix
-		;;
-	c90)
-		basic_machine=c90-cray
-		os=-unicos
-		;;
-	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
-		;;
-	cr16c)
-		basic_machine=cr16c-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
-		;;
-	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'm not sure what "Sysv32" means.  Should this be sysv3.2?
-	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
-		;;
-	m88k-omron*)
-		basic_machine=m88k-omron
-		;;
-	magnum | m3230)
-		basic_machine=mips-mips
-		os=-sysv
-		;;
-	merlin)
-		basic_machine=ns32k-utek
-		os=-sysv
-		;;
-	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-/'`
-		;;
-	mvs)
-		basic_machine=i370-ibm
-		os=-mvs
-		;;
-	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
-		;;
-	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
-		;;
-	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)	basic_machine=powerpc-unknown
-		;;
-	ppc-*)	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
-		;;
-	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
-		;;
-	tic54x | c54x*)
-		basic_machine=tic54x-unknown
-		os=-coff
-		;;
-	tic55x | c55x*)
-		basic_machine=tic55x-unknown
-		os=-coff
-		;;
-	tic6x | c6x*)
-		basic_machine=tic6x-unknown
-		os=-coff
-		;;
-	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
-		;;
-	ymp)
-		basic_machine=ymp-cray
-		os=-unicos
-		;;
-	z8k-*-coff)
-		basic_machine=z8k-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[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.
-	-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* | -sunos | -sunos[34]*\
-	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* \
-	      | -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* \
-	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -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*)
-	# 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
-		;;
-	-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
-		;;
-	# 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
-		# This also exists in the configure program, but was not the
-		# default.
-		# os=-sunos4
-		;;
-	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
-				;;
-			-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/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/configure b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/configure
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/configure
+++ /dev/null
@@ -1,16304 +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 \$(( 1 + 1 )) = 2 || 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"
-  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 &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="libxslt/xslt.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include 
-#ifdef HAVE_SYS_TYPES_H
-# include 
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include 
-#endif
-#ifdef STDC_HEADERS
-# include 
-# include 
-#else
-# ifdef HAVE_STDLIB_H
-#  include 
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include 
-# endif
-# include 
-#endif
-#ifdef HAVE_STRINGS_H
-# include 
-#endif
-#ifdef HAVE_INTTYPES_H
-# include 
-#endif
-#ifdef HAVE_STDINT_H
-# include 
-#endif
-#ifdef HAVE_UNISTD_H
-# include 
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-RELDATE
-M_LIBS
-EXTRA_LIBS
-EXSLT_LIBS
-EXSLT_INCLUDEDIR
-EXSLT_LIBDIR
-XSLT_LIBS
-XSLT_INCLUDEDIR
-XSLT_LIBDIR
-PYTHON_SITE_PACKAGES
-PYTHON_INCLUDES
-PYTHON_VERSION
-LIBXML_CFLAGS
-LIBXML_LIBS
-XML_CONFIG
-PYTHONSODV
-XSLTPROCDV
-WIN32_EXTRA_LDFLAGS
-WIN32_EXTRA_LIBADD
-LIBXSLT_DEFAULT_PLUGINS_PATH
-WITH_MODULES_FALSE
-WITH_MODULES_TRUE
-WITH_MODULES
-LIBXML_REQUIRED_VERSION
-LIBXML_SRC
-WITH_DEBUGGER
-WITH_MEM_DEBUG
-WITH_XSLT_DEBUG
-LIBGCRYPT_LIBS
-LIBGCRYPT_CFLAGS
-WITH_CRYPTO
-LIBGCRYPT_CONFIG
-PYTHON_LIBS
-PYTHON_SUBDIR
-pythondir
-WITH_PYTHON_FALSE
-WITH_PYTHON_TRUE
-PYTHON
-WITH_PERL_FALSE
-WITH_PERL_TRUE
-PERL
-WITH_TRIO
-XSLT_LOCALE_WINAPI
-XSLT_LOCALE_XLOCALE
-THREAD_LIBS
-USE_VERSION_SCRIPT_FALSE
-USE_VERSION_SCRIPT_TRUE
-VERSION_SCRIPT_FLAGS
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-SED
-LIBTOOL
-OBJDUMP
-DLLTOOL
-AS
-XSLTPROC
-XMLLINT
-TAR
-MV
-RM
-HTML_DIR
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-AM_DEFAULT_V
-AM_V
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-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
-LIBEXSLT_VERSION_EXTRA
-LIBEXSLT_VERSION_NUMBER
-LIBEXSLT_VERSION_INFO
-LIBEXSLT_VERSION
-LIBEXSLT_MICRO_VERSION
-LIBEXSLT_MINOR_VERSION
-LIBEXSLT_MAJOR_VERSION
-LIBXSLT_MAJOR_MINOR_VERSION
-LIBXSLT_VERSION_EXTRA
-LIBXSLT_VERSION_NUMBER
-LIBXSLT_VERSION_INFO
-LIBXSLT_VERSION
-LIBXSLT_MICRO_VERSION
-LIBXSLT_MINOR_VERSION
-LIBXSLT_MAJOR_VERSION
-EGREP
-GREP
-CPP
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-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_dependency_tracking
-enable_silent_rules
-with_html_dir
-with_html_subdir
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-with_python
-with_crypto
-with_debug
-with_mem_debug
-with_debugger
-with_libxml_prefix
-with_libxml_include_prefix
-with_libxml_libs_prefix
-with_libxml_src
-with_plugins
-'
-      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]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --enable-silent-rules          less verbose build output (undo: `make V=1')
-  --disable-silent-rules         verbose build output (undo: `make V=0')
-  --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)
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --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-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-python=DIR    Build Python bindings if found
-  --with-crypto           Add crypto support to exslt (on)
-  --with-debug            Add the debugging code (on)
-  --with-mem-debug        Add the memory debugging module (off)
-  --with-debugger        Add the debugging support (on)
-  --with-libxml-prefix=PFX		Specify location of libxml config
-  --with-libxml-include-prefix=PFX	Specify location of libxml headers
-  --with-libxml-libs-prefix=PFX	Specify location of libxml libs
-  --with-libxml-src=DIR              For libxml thats not installed yet (sets all three above)
-  --with-plugins          Add plugin extension support (on)
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L if you have libraries in a
-              nonstandard directory 
-  LIBS        libraries to pass to the linker, e.g. -l
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I if
-              you have headers in a nonstandard directory 
-  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_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_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_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_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_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  declares $2.
-   For example, HP-UX 11i  declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer  to  if __STDC__ is defined, since
-     exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include 
-#else
-# include 
-#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
-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
-
-
-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 
-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 
-#include 
-#include 
-#include 
-/* 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
-
-
-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  to  if __STDC__ is defined, since
-  #  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 
-#else
-# include 
-#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 
-_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  to  if __STDC__ is defined, since
-  #  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 
-#else
-# include 
-#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 
-_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
-
-
-{ $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 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 
-#include 
-#include 
-#include 
-
-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 
-
-_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 
-
-_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 
-#include 
-#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
-
-
-
-  ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = xyes; then :
-  MINIX=yes
-else
-  MINIX=
-fi
-
-
-  if test "$MINIX" = yes; then
-
-$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
-
-
-$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
-
-
-$as_echo "#define _MINIX 1" >>confdefs.h
-
-  fi
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
-$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if ${ac_cv_safe_to_define___extensions__+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#	  define __EXTENSIONS__ 1
-	  $ac_includes_default
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_safe_to_define___extensions__=yes
-else
-  ac_cv_safe_to_define___extensions__=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
-$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
-  test $ac_cv_safe_to_define___extensions__ = yes &&
-    $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
-
-  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
-
-  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
-
-  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
-  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
-
-
-
-LIBXSLT_MAJOR_VERSION=1
-LIBXSLT_MINOR_VERSION=1
-LIBXSLT_MICRO_VERSION=28
-PACKAGE=libxslt
-LIBEXSLT_MAJOR_VERSION=0
-LIBEXSLT_MINOR_VERSION=8
-LIBEXSLT_MICRO_VERSION=17
-LIBXML_REQUIRED_VERSION=2.6.27
-
-
-LIBXSLT_VERSION=$LIBXSLT_MAJOR_VERSION.$LIBXSLT_MINOR_VERSION.$LIBXSLT_MICRO_VERSION
-LIBXSLT_VERSION_INFO=`expr $LIBXSLT_MAJOR_VERSION + $LIBXSLT_MINOR_VERSION`:$LIBXSLT_MICRO_VERSION:$LIBXSLT_MINOR_VERSION
-
-LIBXSLT_VERSION_NUMBER=`expr $LIBXSLT_MAJOR_VERSION \* 10000 + $LIBXSLT_MINOR_VERSION \* 100 + $LIBXSLT_MICRO_VERSION`
-LIBXSLT_MAJOR_MINOR_VERSION=$LIBXSLT_MAJOR_VERSION.$LIBXSLT_MINOR_VERSION
-
-if test -f CVS/Entries; then
-  extra=`grep ChangeLog CVS/Entries | grep -v LIBXSLT | sed -e s\%/ChangeLog/1\.%% -e s\%/.*$%%`
-  echo extra=$extra
-  if test "$extra" != ""
-  then
-      LIBXSLT_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
-      LIBXSLT_VERSION_EXTRA="-SVN$extra"
-  fi
-else if test -d .git ; then
-  extra=`git describe | sed 's+LIBXSLT[0-9.]*-++'`
-  echo extra=$extra
-  if test "$extra" != ""
-  then
-      LIBXSLT_VERSION_EXTRA="-GIT$extra"
-  fi
-fi
-fi
-fi
-
-
-
-
-
-
-
-
-
-
-
-LIBEXSLT_VERSION=$LIBEXSLT_MAJOR_VERSION.$LIBEXSLT_MINOR_VERSION.$LIBEXSLT_MICRO_VERSION
-LIBEXSLT_VERSION_INFO=`expr $LIBEXSLT_MAJOR_VERSION + $LIBEXSLT_MINOR_VERSION`:$LIBEXSLT_MICRO_VERSION:$LIBEXSLT_MINOR_VERSION
-
-LIBEXSLT_VERSION_NUMBER=`expr $LIBEXSLT_MAJOR_VERSION \* 10000 + $LIBEXSLT_MINOR_VERSION \* 100 + $LIBEXSLT_MICRO_VERSION`
-
-if test -f CVS/Entries; then
-  LIBEXSLT_VERSION_EXTRA=-CVS`grep ChangeLog CVS/Entries | sed -e s\%/ChangeLog/1\.%% -e s\%/.*$%%`
-fi
-
-
-
-
-
-
-
-
-
-VERSION=${LIBXSLT_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
-
-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
-
-
-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=$PACKAGE
- 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 -'
-
-
-
-
-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
-
-
-
-
-# AM_MAINTAINER_MODE
-
-# 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='\'
-
-
-
-
-# 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
-
-
-
-
-
-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
-
-{ $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 
-#include 
-#include 
-#include 
-/* 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
-
-
-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  to  if __STDC__ is defined, since
-  #  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 
-#else
-# include 
-#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 
-_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  to  if __STDC__ is defined, since
-  #  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 
-#else
-# include 
-#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 
-_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 "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
-
-
-
-{ $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 
-#include 
-#include 
-#include 
-
-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 
-
-_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 
-
-_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 
-#include 
-#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
-
-
-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 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 &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 &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; }
-
-{ $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
-
-# 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
-
-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_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; 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_AS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AS"; then
-  ac_cv_prog_AS="$AS" # 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_AS="${ac_tool_prefix}as"
-    $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
-AS=$ac_cv_prog_AS
-if test -n "$AS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
-$as_echo "$AS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AS"; then
-  ac_ct_AS=$AS
-  # Extract the first word of "as", so it can be a program name with args.
-set dummy as; 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_AS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AS"; then
-  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # 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_AS="as"
-    $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_AS=$ac_cv_prog_ac_ct_AS
-if test -n "$ac_ct_AS"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
-$as_echo "$ac_ct_AS" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_AS" = x; then
-    AS="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
-    AS=$ac_ct_AS
-  fi
-else
-  AS="$ac_cv_prog_AS"
-fi
-
-  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
-
-  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
-
-  ;;
-esac
-
-test -z "$AS" && AS=as
-
-
-
-
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-        enable_dlopen=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*
-
-
-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  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.so
-      # instead of lib.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 
-#endif
-
-#include 
-
-#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 
-#endif
-
-#include 
-
-#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:
-
-
-
-
-for ac_header in sys/types.h sys/time.h stdlib.h unistd.h string.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$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
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to pass version script to the linker ($LD)" >&5
-$as_echo_n "checking how to pass version script to the linker ($LD)... " >&6; }
-VERSION_SCRIPT_FLAGS=none
-if $LD --help 2>&1 | grep "version-script" >/dev/null 2>/dev/null; then
-    VERSION_SCRIPT_FLAGS=-Wl,--version-script=
-elif $LD --help 2>&1 | grep "M mapfile" >/dev/null 2>/dev/null; then
-    VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $VERSION_SCRIPT_FLAGS" >&5
-$as_echo "$VERSION_SCRIPT_FLAGS" >&6; }
-
- if test "$VERSION_SCRIPT_FLAGS" != none; then
-  USE_VERSION_SCRIPT_TRUE=
-  USE_VERSION_SCRIPT_FALSE='#'
-else
-  USE_VERSION_SCRIPT_TRUE='#'
-  USE_VERSION_SCRIPT_FALSE=
-fi
-
-
-case $host in
-  *-mingw*) ;;
-  *)
-THREAD_LIBS=""
-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 :
-
-
-$as_echo "#define HAVE_LIBPTHREAD /**/" >>confdefs.h
-
-
-$as_echo "#define HAVE_PTHREAD_H /**/" >>confdefs.h
-
-       THREAD_LIBS="-lpthread"
-fi
-
-fi
-
-
-  ;;
-esac
-
-
-
-
-XSLT_LOCALE_XLOCALE=0
-XSLT_LOCALE_WINAPI=0
-
-for ac_header in locale.h xlocale.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$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
-
-if test $ac_cv_header_xlocale_h = yes; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if xlocale program link" >&5
-$as_echo_n "checking if xlocale program link... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#ifdef HAVE_LOCALE_H
-#include 
-#endif
-#ifdef HAVE_XLOCALE_H
-#include 
-#endif
-#ifdef HAVE_STRING_H
-#include 
-#endif
-#ifdef HAVE_STDLIB_H
-#include 
-#endif
-
-#ifdef __GLIBC__
-typedef __locale_t xsltLocale;
-#else
-typedef locale_t xsltLocale;
-#endif
-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ <= 2
-#define newlocale __newlocale
-#define freelocale __freelocale
-#define strxfrm_l __strxfrm_l
-#define LC_COLLATE_MASK (1 << LC_COLLATE)
-#endif
-
-int
-main ()
-{
-
-    xsltLocale locale;
-    const char *src[[2]] = { "\xc3\x84rger", "Zeppelin" };
-    char *dst[[2]];
-    size_t len, r;
-    int i;
-
-    locale = newlocale(LC_COLLATE_MASK, "en_US.utf8", NULL);
-    if (locale == NULL) exit(1);
-    for (i=0; i<2; ++i) {
-        len = strxfrm_l(NULL, src[[i]], 0, locale) + 1;
-        dst[[i]] = malloc(len);
-        if(dst[[i]] == NULL) exit(1);
-        r = strxfrm_l(dst[[i]], src[[i]], len, locale);
-        if(r >= len) exit(1);
-    }
-    if (strcmp(dst[[0]], dst[[1]]) >= 0) exit(1);
-
-    exit(0);
-    return(0);
-
-  ;
-  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; }; XSLT_LOCALE_XLOCALE=1
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-else
-  case "$host" in
-    *-*-mingw*)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: using winapi locale" >&5
-$as_echo "$as_me: using winapi locale" >&6;}
-      XSLT_LOCALE_WINAPI=1;;
-  esac
-fi
-
-
-
-
-
-for ac_header in ieeefp.h nan.h math.h fp_class.h float.h ansidecl.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$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 sys/timeb.h time.h sys/stat.h sys/select.h stdarg.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$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_func in stat _stat
-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
-
-ac_fn_c_check_func "$LINENO" "pow" "ac_cv_func_pow"
-if test "x$ac_cv_func_pow" = xyes; then :
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5
-$as_echo_n "checking for pow in -lm... " >&6; }
-if ${ac_cv_lib_m_pow+:} 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 pow ();
-int
-main ()
-{
-return pow ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_m_pow=yes
-else
-  ac_cv_lib_m_pow=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_pow" >&5
-$as_echo "$ac_cv_lib_m_pow" >&6; }
-if test "x$ac_cv_lib_m_pow" = xyes; then :
-  M_LIBS="-lm";
-$as_echo "#define HAVE_POW /**/" >>confdefs.h
-
-fi
-
-fi
-
-
-ac_fn_c_check_func "$LINENO" "floor" "ac_cv_func_floor"
-if test "x$ac_cv_func_floor" = xyes; then :
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for floor in -lm" >&5
-$as_echo_n "checking for floor in -lm... " >&6; }
-if ${ac_cv_lib_m_floor+:} 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 floor ();
-int
-main ()
-{
-return floor ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_m_floor=yes
-else
-  ac_cv_lib_m_floor=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_floor" >&5
-$as_echo "$ac_cv_lib_m_floor" >&6; }
-if test "x$ac_cv_lib_m_floor" = xyes; then :
-  M_LIBS="-lm";
-$as_echo "#define HAVE_FLOOR /**/" >>confdefs.h
-
-fi
-
-fi
-
-
-ac_fn_c_check_func "$LINENO" "fabs" "ac_cv_func_fabs"
-if test "x$ac_cv_func_fabs" = xyes; then :
-
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabs in -lm" >&5
-$as_echo_n "checking for fabs in -lm... " >&6; }
-if ${ac_cv_lib_m_fabs+:} 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 fabs ();
-int
-main ()
-{
-return fabs ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_m_fabs=yes
-else
-  ac_cv_lib_m_fabs=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_fabs" >&5
-$as_echo "$ac_cv_lib_m_fabs" >&6; }
-if test "x$ac_cv_lib_m_fabs" = xyes; then :
-  M_LIBS="-lm";
-$as_echo "#define HAVE_FABS /**/" >>confdefs.h
-
-fi
-
-fi
-
-
-
-for ac_func in gettimeofday
-do :
-  ac_fn_c_check_func "$LINENO" "gettimeofday" "ac_cv_func_gettimeofday"
-if test "x$ac_cv_func_gettimeofday" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_GETTIMEOFDAY 1
-_ACEOF
-
-fi
-done
-
-for ac_func in mktime localtime localtime_r asctime time gmtime gmtime_r 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 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
-
-
-for ac_func in clock_gettime
-do :
-  ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime"
-if test "x$ac_cv_func_clock_gettime" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_CLOCK_GETTIME 1
-_ACEOF
-
-else
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5
-$as_echo_n "checking for clock_gettime in -lrt... " >&6; }
-if ${ac_cv_lib_rt_clock_gettime+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lrt  $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 clock_gettime ();
-int
-main ()
-{
-return clock_gettime ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_rt_clock_gettime=yes
-else
-  ac_cv_lib_rt_clock_gettime=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_rt_clock_gettime" >&5
-$as_echo "$ac_cv_lib_rt_clock_gettime" >&6; }
-if test "x$ac_cv_lib_rt_clock_gettime" = xyes; then :
-
-    $as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h
-
-    EXTRA_LIBS="$EXTRA_LIBS -lrt"
-
-fi
-
-
-fi
-done
-
-
-
-if test "${NEED_TRIO}" = "1" ; then
-    echo Reusing trio library for string functions
-    WITH_TRIO=1
-else
-    WITH_TRIO=0
-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_prog_PERL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$PERL"; then
-  ac_cv_prog_PERL="$PERL" # 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_PERL="perl"
-    $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_prog_PERL" && ac_cv_prog_PERL="false"
-fi
-fi
-PERL=$ac_cv_prog_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
-
-
- if test "$PERL" != "false"; then
-  WITH_PERL_TRUE=
-  WITH_PERL_FALSE='#'
-else
-  WITH_PERL_TRUE='#'
-  WITH_PERL_FALSE=
-fi
-
-
-
-PYTHON_VERSION=
-PYTHON_INCLUDES=
-PYTHON_SITE_PACKAGES=
-pythondir=
-
-# Check whether --with-python was given.
-if test "${with_python+set}" = set; then :
-  withval=$with_python;
-fi
-
-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"
-	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.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.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
-    if test "$PYTHON" != ""
-    then
-        echo "PYTHON is pointing at $PYTHON"
-        PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[0:3]"`
-	echo Found Python version $PYTHON_VERSION
-	LIBXML2_PYTHON=`$PYTHON -c "try : import libxml2 ; print 1
-except: print 0"`
-	if test "$LIBXML2_PYTHON" = "1"
-	then
-	    echo Found libxml2-python module
-	else
-	    echo Warning: Missing libxml2-python
-	fi
-    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
-		    echo could not find python$PYTHON_VERSION/Python.h
-		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 --libs`
-    fi
-    if test "$with_python" != ""
-    then
-        pythondir='$(PYTHON_SITE_PACKAGES)'
-    else
-        pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
-    fi
-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
-
-
-
-
-
-# Check whether --with-crypto was given.
-if test "${with_crypto+set}" = set; then :
-  withval=$with_crypto;
-fi
-
-WITH_CRYPTO=0
-if test "$with_crypto" = "no" ; then
-    echo Disabling crypto support
-    LIBGCRYPT_CFLAGS=""
-    LIBGCRYPT_LIBS=""
-else
-case $host in
-  *-mingw*)
-                WITH_CRYPTO=1
-    ;;
-  *)
-    # Extract the first word of "libgcrypt-config", so it can be a program name with args.
-set dummy libgcrypt-config; 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_LIBGCRYPT_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $LIBGCRYPT_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_LIBGCRYPT_CONFIG="$LIBGCRYPT_CONFIG" # 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_LIBGCRYPT_CONFIG="$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_LIBGCRYPT_CONFIG" && ac_cv_path_LIBGCRYPT_CONFIG="no"
-  ;;
-esac
-fi
-LIBGCRYPT_CONFIG=$ac_cv_path_LIBGCRYPT_CONFIG
-if test -n "$LIBGCRYPT_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBGCRYPT_CONFIG" >&5
-$as_echo "$LIBGCRYPT_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    if test "$LIBGCRYPT_CONFIG" != "no" ; then
-      LIBGCRYPT_VERSION=`$LIBGCRYPT_CONFIG --version`
-      if test `echo $LIBGCRYPT_VERSION | sed -e 's/libxml //' | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'` -lt `echo "1.1.42" | sed -e 's/libxml //' | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
-      then
-        LIBGCRYPT_CFLAGS=""
-        LIBGCRYPT_LIBS=""
-        echo 'gcrypt library version < 1.1.42 - Crypto extensions will not be available.'
-      else
-        LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG $libgcrypt_config_args --cflags`
-        LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG $libgcrypt_config_args --libs`
-
-$as_echo "#define HAVE_GCRYPT 1" >>confdefs.h
-
-        echo 'Crypto extensions will be available.'
-		WITH_CRYPTO=1
-      fi
-    else
-      LIBGCRYPT_CFLAGS=""
-      LIBGCRYPT_LIBS=""
-      echo 'Crypto extensions will not be available. Install libgcrypt and reconfigure to make available.'
-    fi
-esac
-fi
-
-
-
-
-if [ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XSLT" ] || \
-   [ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomesvn/libxslt" ]
-   then
-    if test "${with_mem_debug}" = "" ;
-    then
-	with_mem_debug="yes"
-    fi
-    CFLAGS="-Wall -g -O -ansi -pedantic -W -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 "
-fi
-
-
-# Check whether --with-debug was given.
-if test "${with_debug+set}" = set; then :
-  withval=$with_debug;
-fi
-
-if test "$with_debug" = "no" ; then
-    echo Disabling debug support
-    WITH_XSLT_DEBUG=0
-else
-    WITH_XSLT_DEBUG=1
-fi
-
-
-
-# Check whether --with-mem_debug was given.
-if test "${with_mem_debug+set}" = set; then :
-  withval=$with_mem_debug;
-fi
-
-if test "$with_mem_debug" = "yes" ; then
-    echo Enabling memory debug support
-    WITH_MEM_DEBUG=1
-else
-    WITH_MEM_DEBUG=0
-fi
-
-
-
-# Check whether --with-debugger was given.
-if test "${with_debugger+set}" = set; then :
-  withval=$with_debugger;
-fi
-
-if test "$with_debugger" = "no" ; then
-    echo Disabling debugger
-    WITH_DEBUGGER=0
-else
-    echo Enabling debugger
-    WITH_DEBUGGER=1
-
-$as_echo "#define WITH_DEBUGGER /**/" >>confdefs.h
-
-fi
-
-
-
-LIBXML_CONFIG_PREFIX=""
-LIBXML_SRC=""
-
-
-# Check whether --with-libxml-prefix was given.
-if test "${with_libxml_prefix+set}" = set; then :
-  withval=$with_libxml_prefix; LIBXML_CONFIG_PREFIX=$withval
-
-fi
-
-
-
-# Check whether --with-libxml-include-prefix was given.
-if test "${with_libxml_include_prefix+set}" = set; then :
-  withval=$with_libxml_include_prefix; LIBXML_CFLAGS="-I$withval"
-
-fi
-
-
-
-# Check whether --with-libxml-libs-prefix was given.
-if test "${with_libxml_libs_prefix+set}" = set; then :
-  withval=$with_libxml_libs_prefix; LIBXML_LIBS="-L$withval"
-
-fi
-
-
-
-# Check whether --with-libxml-src was given.
-if test "${with_libxml_src+set}" = set; then :
-  withval=$with_libxml_src; LIBXML_SRC="$withval"
-
-fi
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml libraries >= $LIBXML_REQUIRED_VERSION" >&5
-$as_echo_n "checking for libxml libraries >= $LIBXML_REQUIRED_VERSION... " >&6; }
-if test "x$LIBXML_CONFIG_PREFIX" != "x"
-then
-	XML_CONFIG=${LIBXML_CONFIG_PREFIX}/bin/xml2-config
-else
-	XML_CONFIG=xml2-config
-fi
-
-if test "${GCC}" != "yes" ; then
-    case "${host}" in
-          *-*-hpux* )
-	       CFLAGS="${CFLAGS} -Wp,-H30000"
-	       ;;
-          *-dec-osf* )
-               CFLAGS="${CFLAGS} -ieee"
-               ;;
-    esac
-else
-    CFLAGS="${CFLAGS} -Wall"
-    case "${host}" in
-          alpha*-*-linux* )
-	       CFLAGS="${CFLAGS} -mieee"
-	       ;;
-	  alpha*-*-osf* )
-	       CFLAGS="${CFLAGS} -mieee"
-	       ;;
-    esac
-fi
-
-
-if test "x$LIBXML_SRC" != "x"
-then
-	CWD=`pwd`
-	if cd $LIBXML_SRC
-	then
-		SRC_DIR=`pwd`
-		XML_CONFIG=${SRC_DIR}/xml2-config
-		LIBXML_CFLAGS="-I${SRC_DIR}/include"
-		LIBXML_LIBS="-L${SRC_DIR}"
-		cd $CWD
-	else
-		as_fn_error $? "libxml source dir not found (${LIBXML_SRC}), typo?" "$LINENO" 5
-	fi
-fi
-
-
-if ${XML_CONFIG} --libs print > /dev/null 2>&1
-then
-	XMLVERS=`$XML_CONFIG --version`
-	if test `echo $XMLVERS | sed -e 's/libxml //' | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'` -ge `echo $LIBXML_REQUIRED_VERSION | sed -e 's/libxml //' | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
-	then
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLVERS found" >&5
-$as_echo "$XMLVERS found" >&6; }
-	else
-		as_fn_error $? "Version $XMLVERS found. You need at least libxml2 $LIBXML_REQUIRED_VERSION for this version of libxslt" "$LINENO" 5
-	fi
-	LIBXML_LIBS="$LIBXML_LIBS `$XML_CONFIG --libs`"
-	if test "x$LIBXML_SRC" = "x"; then
-		LIBXML_CFLAGS="$LIBXML_CFLAGS `$XML_CONFIG --cflags`"
-	fi
-else
-	as_fn_error $? "Could not find libxml2 anywhere, check ftp://xmlsoft.org/." "$LINENO" 5
-fi
-
-
-
-
-
-
-
-# Check whether --with-plugins was given.
-if test "${with_plugins+set}" = set; then :
-  withval=$with_plugins;
-fi
-
-if test "$with_plugins" = ""
-then
-    with_plugins=yes
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether shared libraries will be built (required for plugins)" >&5
-$as_echo_n "checking whether shared libraries will be built (required for plugins)... " >&6; }
-if test "$enable_shared" = "no" -a "$with_plugins" = "yes"; then
-	 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-	 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling plugin support." >&5
-$as_echo "$as_me: WARNING: Disabling plugin support." >&2;}
-	 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Plugins require that shared libraries be built." >&5
-$as_echo "$as_me: WARNING: Plugins require that shared libraries be built." >&2;}
-	 with_plugins=no
-else
-	 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-
-if test "$with_plugins" = "yes" ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking libxml2 module support" >&5
-$as_echo_n "checking libxml2 module support... " >&6; }
-  WITH_MODULES="`$XML_CONFIG --modules`"
-  if test "${WITH_MODULES}" = "1"; 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" >&5
-$as_echo "no" >&6; }
-    WITH_MODULES="0"
-  fi
-else
-  WITH_MODULES="0"
-fi
-
-
- if test "$WITH_MODULES" = "1"; then
-  WITH_MODULES_TRUE=
-  WITH_MODULES_FALSE='#'
-else
-  WITH_MODULES_TRUE='#'
-  WITH_MODULES_FALSE=
-fi
-
-
-module_prefix=$prefix
-test "x$module_prefix" = xNONE && module_prefix=$ac_default_prefix
-LIBXSLT_DEFAULT_PLUGINS_PATH="$module_prefix/lib/libxslt-plugins"
-
-
-WIN32_EXTRA_LIBADD=
-WIN32_EXTRA_LDFLAGS=
-case "$host" in
- *-*-cygwin*)
- WIN32_EXTRA_LDFLAGS="-no-undefined"
- ;;
- *-*-mingw*)
- WIN32_EXTRA_LIBADD="-lwsock32"
- WIN32_EXTRA_LDFLAGS="-no-undefined"
-
-$as_echo "#define _WINSOCKAPI_ 1" >>confdefs.h
-
-
-$as_echo "#define snprintf _snprintf" >>confdefs.h
-
-
-$as_echo "#define vsnprintf _vsnprintf" >>confdefs.h
-
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-XSLT_LIBDIR='-L${libdir}'
-XSLT_INCLUDEDIR='-I${includedir}'
-XSLT_LIBS="-lxslt $LIBXML_LIBS $M_LIBS"
-
-
-
-
-EXSLT_LIBDIR='-L${libdir}'
-EXSLT_INCLUDEDIR='-I${includedir}'
-EXSLT_LIBS="-lexslt $XSLT_LIBS $LIBGCRYPT_LIBS"
-
-
-
-
-
-
-
-
-RELDATE=`date +'%a %b %e %Y'`
-
-
-rm -f COPYING.LIB COPYING 2>/dev/null && $LN_S $srcdir/Copyright COPYING
-
-
-ac_config_files="$ac_config_files Makefile libxslt.pc libexslt.pc libxslt/Makefile libxslt/xsltconfig.h libxslt/xsltwin32config.h libexslt/Makefile libexslt/exsltconfig.h xsltproc/Makefile python/Makefile python/tests/Makefile tests/Makefile tests/docs/Makefile tests/REC1/Makefile tests/REC2/Makefile tests/REC/Makefile tests/general/Makefile tests/reports/Makefile tests/extensions/Makefile tests/namespaces/Makefile tests/keys/Makefile tests/numbers/Makefile tests/documents/Makefile tests/xmlspec/Makefile tests/multiple/Makefile tests/xinclude/Makefile tests/XSLTMark/Makefile tests/docbook/Makefile tests/exslt/Makefile tests/exslt/common/Makefile tests/exslt/functions/Makefile tests/exslt/math/Makefile tests/exslt/sets/Makefile tests/exslt/strings/Makefile tests/exslt/date/Makefile tests/exslt/dynamic/Makefile tests/plugins/Makefile doc/Makefile xslt-config libxslt.spec"
-
-
-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 -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 -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-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 "${WITH_PERL_TRUE}" && test -z "${WITH_PERL_FALSE}"; then
-  as_fn_error $? "conditional \"WITH_PERL\" 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_MODULES_TRUE}" && test -z "${WITH_MODULES_FALSE}"; then
-  as_fn_error $? "conditional \"WITH_MODULES\" 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"`'
-AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $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"`'
-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"`'
-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 AS \
-DLLTOOL \
-OBJDUMP \
-SHELL \
-ECHO \
-PATH_SEPARATOR \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-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" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "libxslt.pc") CONFIG_FILES="$CONFIG_FILES libxslt.pc" ;;
-    "libexslt.pc") CONFIG_FILES="$CONFIG_FILES libexslt.pc" ;;
-    "libxslt/Makefile") CONFIG_FILES="$CONFIG_FILES libxslt/Makefile" ;;
-    "libxslt/xsltconfig.h") CONFIG_FILES="$CONFIG_FILES libxslt/xsltconfig.h" ;;
-    "libxslt/xsltwin32config.h") CONFIG_FILES="$CONFIG_FILES libxslt/xsltwin32config.h" ;;
-    "libexslt/Makefile") CONFIG_FILES="$CONFIG_FILES libexslt/Makefile" ;;
-    "libexslt/exsltconfig.h") CONFIG_FILES="$CONFIG_FILES libexslt/exsltconfig.h" ;;
-    "xsltproc/Makefile") CONFIG_FILES="$CONFIG_FILES xsltproc/Makefile" ;;
-    "python/Makefile") CONFIG_FILES="$CONFIG_FILES python/Makefile" ;;
-    "python/tests/Makefile") CONFIG_FILES="$CONFIG_FILES python/tests/Makefile" ;;
-    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
-    "tests/docs/Makefile") CONFIG_FILES="$CONFIG_FILES tests/docs/Makefile" ;;
-    "tests/REC1/Makefile") CONFIG_FILES="$CONFIG_FILES tests/REC1/Makefile" ;;
-    "tests/REC2/Makefile") CONFIG_FILES="$CONFIG_FILES tests/REC2/Makefile" ;;
-    "tests/REC/Makefile") CONFIG_FILES="$CONFIG_FILES tests/REC/Makefile" ;;
-    "tests/general/Makefile") CONFIG_FILES="$CONFIG_FILES tests/general/Makefile" ;;
-    "tests/reports/Makefile") CONFIG_FILES="$CONFIG_FILES tests/reports/Makefile" ;;
-    "tests/extensions/Makefile") CONFIG_FILES="$CONFIG_FILES tests/extensions/Makefile" ;;
-    "tests/namespaces/Makefile") CONFIG_FILES="$CONFIG_FILES tests/namespaces/Makefile" ;;
-    "tests/keys/Makefile") CONFIG_FILES="$CONFIG_FILES tests/keys/Makefile" ;;
-    "tests/numbers/Makefile") CONFIG_FILES="$CONFIG_FILES tests/numbers/Makefile" ;;
-    "tests/documents/Makefile") CONFIG_FILES="$CONFIG_FILES tests/documents/Makefile" ;;
-    "tests/xmlspec/Makefile") CONFIG_FILES="$CONFIG_FILES tests/xmlspec/Makefile" ;;
-    "tests/multiple/Makefile") CONFIG_FILES="$CONFIG_FILES tests/multiple/Makefile" ;;
-    "tests/xinclude/Makefile") CONFIG_FILES="$CONFIG_FILES tests/xinclude/Makefile" ;;
-    "tests/XSLTMark/Makefile") CONFIG_FILES="$CONFIG_FILES tests/XSLTMark/Makefile" ;;
-    "tests/docbook/Makefile") CONFIG_FILES="$CONFIG_FILES tests/docbook/Makefile" ;;
-    "tests/exslt/Makefile") CONFIG_FILES="$CONFIG_FILES tests/exslt/Makefile" ;;
-    "tests/exslt/common/Makefile") CONFIG_FILES="$CONFIG_FILES tests/exslt/common/Makefile" ;;
-    "tests/exslt/functions/Makefile") CONFIG_FILES="$CONFIG_FILES tests/exslt/functions/Makefile" ;;
-    "tests/exslt/math/Makefile") CONFIG_FILES="$CONFIG_FILES tests/exslt/math/Makefile" ;;
-    "tests/exslt/sets/Makefile") CONFIG_FILES="$CONFIG_FILES tests/exslt/sets/Makefile" ;;
-    "tests/exslt/strings/Makefile") CONFIG_FILES="$CONFIG_FILES tests/exslt/strings/Makefile" ;;
-    "tests/exslt/date/Makefile") CONFIG_FILES="$CONFIG_FILES tests/exslt/date/Makefile" ;;
-    "tests/exslt/dynamic/Makefile") CONFIG_FILES="$CONFIG_FILES tests/exslt/dynamic/Makefile" ;;
-    "tests/plugins/Makefile") CONFIG_FILES="$CONFIG_FILES tests/plugins/Makefile" ;;
-    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
-    "xslt-config") CONFIG_FILES="$CONFIG_FILES xslt-config" ;;
-    "libxslt.spec") CONFIG_FILES="$CONFIG_FILES libxslt.spec" ;;
-
-  *) 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`
-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
-' >$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 = ""
-
-}
-{
-  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
-' >$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = ""
-}
-/^[\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
-
-# Assembler program.
-AS=$lt_AS
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Object dumper program.
-OBJDUMP=$lt_OBJDUMP
-
-# 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
-
-# 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
-
-# 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
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/configure.in b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/configure.in
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/configure.in
+++ /dev/null
@@ -1,718 +0,0 @@
-dnl Process this file with autoconf to produce a configuration script.
-AC_PREREQ(2.59)
-AC_INIT(libxslt/xslt.c)
-AC_CONFIG_HEADERS(config.h)
-AC_CANONICAL_HOST
-AC_USE_SYSTEM_EXTENSIONS
-
-dnl
-dnl libxslt is the main part of the package
-dnl libexslt is an extension
-dnl
-LIBXSLT_MAJOR_VERSION=1
-LIBXSLT_MINOR_VERSION=1
-LIBXSLT_MICRO_VERSION=28
-PACKAGE=libxslt
-LIBEXSLT_MAJOR_VERSION=0
-LIBEXSLT_MINOR_VERSION=8
-LIBEXSLT_MICRO_VERSION=17
-LIBXML_REQUIRED_VERSION=2.6.27
-
-
-LIBXSLT_VERSION=$LIBXSLT_MAJOR_VERSION.$LIBXSLT_MINOR_VERSION.$LIBXSLT_MICRO_VERSION
-LIBXSLT_VERSION_INFO=`expr $LIBXSLT_MAJOR_VERSION + $LIBXSLT_MINOR_VERSION`:$LIBXSLT_MICRO_VERSION:$LIBXSLT_MINOR_VERSION
-
-LIBXSLT_VERSION_NUMBER=`expr $LIBXSLT_MAJOR_VERSION \* 10000 + $LIBXSLT_MINOR_VERSION \* 100 + $LIBXSLT_MICRO_VERSION`
-LIBXSLT_MAJOR_MINOR_VERSION=$LIBXSLT_MAJOR_VERSION.$LIBXSLT_MINOR_VERSION
-
-if test -f CVS/Entries; then
-  extra=`grep ChangeLog CVS/Entries | grep -v LIBXSLT | sed -e s\%/ChangeLog/1\.%% -e s\%/.*$%%`
-  echo extra=$extra
-  if test "$extra" != ""
-  then
-      LIBXSLT_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
-      LIBXSLT_VERSION_EXTRA="-SVN$extra"
-  fi
-else if test -d .git ; then
-  extra=`git describe | sed 's+LIBXSLT[[0-9.]]*-++'`
-  echo extra=$extra
-  if test "$extra" != ""
-  then
-      LIBXSLT_VERSION_EXTRA="-GIT$extra"
-  fi
-fi
-fi
-fi
-
-AC_SUBST(LIBXSLT_MAJOR_VERSION)
-AC_SUBST(LIBXSLT_MINOR_VERSION)
-AC_SUBST(LIBXSLT_MICRO_VERSION)
-AC_SUBST(LIBXSLT_VERSION)
-AC_SUBST(LIBXSLT_VERSION_INFO)
-AC_SUBST(LIBXSLT_VERSION_NUMBER)
-AC_SUBST(LIBXSLT_VERSION_EXTRA)
-AC_SUBST(LIBXSLT_MAJOR_MINOR_VERSION)
-
-dnl
-dnl libexslt is an extension library
-dnl
-
-LIBEXSLT_VERSION=$LIBEXSLT_MAJOR_VERSION.$LIBEXSLT_MINOR_VERSION.$LIBEXSLT_MICRO_VERSION
-LIBEXSLT_VERSION_INFO=`expr $LIBEXSLT_MAJOR_VERSION + $LIBEXSLT_MINOR_VERSION`:$LIBEXSLT_MICRO_VERSION:$LIBEXSLT_MINOR_VERSION
-
-LIBEXSLT_VERSION_NUMBER=`expr $LIBEXSLT_MAJOR_VERSION \* 10000 + $LIBEXSLT_MINOR_VERSION \* 100 + $LIBEXSLT_MICRO_VERSION`
-
-if test -f CVS/Entries; then
-  LIBEXSLT_VERSION_EXTRA=-CVS`grep ChangeLog CVS/Entries | sed -e s\%/ChangeLog/1\.%% -e s\%/.*$%%`
-fi
-
-AC_SUBST(LIBEXSLT_MAJOR_VERSION)
-AC_SUBST(LIBEXSLT_MINOR_VERSION)
-AC_SUBST(LIBEXSLT_MICRO_VERSION)
-AC_SUBST(LIBEXSLT_VERSION)
-AC_SUBST(LIBEXSLT_VERSION_INFO)
-AC_SUBST(LIBEXSLT_VERSION_NUMBER)
-AC_SUBST(LIBEXSLT_VERSION_EXTRA)
-
-VERSION=${LIBXSLT_VERSION}
-
-AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
-
-# AM_MAINTAINER_MODE
-
-# 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
-dnl Specific dir for HTML output ?
-dnl
-
-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)
-
-dnl
-dnl Check the environment
-dnl
-
-AC_PROG_CC
-AC_PROG_INSTALL
-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(XMLLINT, xmllint, /usr/bin/xmllint)
-AC_PATH_PROG(XSLTPROC, xsltproc, /usr/bin/xsltproc)
-
-AC_HEADER_STDC
-
-LT_INIT(win32-dll)
-
-
-AC_CHECK_HEADERS(sys/types.h sys/time.h stdlib.h unistd.h string.h)
-
-dnl
-dnl if the system support linker version scripts for symbol versioning
-dnl then add it
-dnl
-AC_MSG_CHECKING([how to pass version script to the linker ($LD)])
-VERSION_SCRIPT_FLAGS=none
-if $LD --help 2>&1 | grep "version-script" >/dev/null 2>/dev/null; then
-    VERSION_SCRIPT_FLAGS=-Wl,--version-script=
-elif $LD --help 2>&1 | grep "M mapfile" >/dev/null 2>/dev/null; then
-    VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"
-fi
-AC_MSG_RESULT([$VERSION_SCRIPT_FLAGS])
-AC_SUBST(VERSION_SCRIPT_FLAGS)
-AM_CONDITIONAL([USE_VERSION_SCRIPT], [test "$VERSION_SCRIPT_FLAGS" != none])
-
-dnl Look for pthread.h, needed for testThreads
-case $host in
-  *-mingw*) ;;
-  *)
-THREAD_LIBS=""
-AC_CHECK_HEADER(pthread.h,
-    AC_CHECK_LIB(pthread, pthread_join,[
-       AC_DEFINE([HAVE_LIBPTHREAD], [], [Define if pthread library is there (-lpthread)])
-       AC_DEFINE([HAVE_PTHREAD_H], [], [Define if  is there])
-       THREAD_LIBS="-lpthread"]))
-  ;;
-esac
-
-AC_SUBST(THREAD_LIBS)
-
-dnl
-dnl Detect supported locale
-dnl
-
-XSLT_LOCALE_XLOCALE=0
-XSLT_LOCALE_WINAPI=0
-
-AC_CHECK_HEADERS([locale.h xlocale.h])
-if test $ac_cv_header_xlocale_h = yes; then
-dnl
-dnl Check for generic locale_t declaration
-dnl
-AC_MSG_CHECKING([if xlocale program link])
-AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-#ifdef HAVE_LOCALE_H
-#include 
-#endif
-#ifdef HAVE_XLOCALE_H
-#include 
-#endif
-#ifdef HAVE_STRING_H
-#include 
-#endif
-#ifdef HAVE_STDLIB_H
-#include 
-#endif
-
-#ifdef __GLIBC__
-typedef __locale_t xsltLocale;
-#else
-typedef locale_t xsltLocale;
-#endif
-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ <= 2
-#define newlocale __newlocale
-#define freelocale __freelocale
-#define strxfrm_l __strxfrm_l
-#define LC_COLLATE_MASK (1 << LC_COLLATE)
-#endif
-]],[[
-    xsltLocale locale;
-    const char *src[[2]] = { "\xc3\x84rger", "Zeppelin" };
-    char *dst[[2]];
-    size_t len, r;
-    int i;
-
-    locale = newlocale(LC_COLLATE_MASK, "en_US.utf8", NULL);
-    if (locale == NULL) exit(1);
-    for (i=0; i<2; ++i) {
-        len = strxfrm_l(NULL, src[[i]], 0, locale) + 1;
-        dst[[i]] = malloc(len);
-        if(dst[[i]] == NULL) exit(1);
-        r = strxfrm_l(dst[[i]], src[[i]], len, locale);
-        if(r >= len) exit(1);
-    }
-    if (strcmp(dst[[0]], dst[[1]]) >= 0) exit(1);
-
-    exit(0);
-    return(0);
-]])],
-  [AC_MSG_RESULT(yes); XSLT_LOCALE_XLOCALE=1],
-  [AC_MSG_RESULT(no)]
-)
-else
-  case "$host" in
-    *-*-mingw*)
-      AC_MSG_NOTICE([using winapi locale])
-      XSLT_LOCALE_WINAPI=1;;
-  esac
-fi
-
-AC_SUBST(XSLT_LOCALE_XLOCALE)
-AC_SUBST(XSLT_LOCALE_WINAPI)
-
-dnl
-dnl Math detection
-dnl
-
-AC_CHECK_HEADERS(ieeefp.h nan.h math.h fp_class.h float.h ansidecl.h)
-AC_CHECK_HEADERS(sys/timeb.h time.h sys/stat.h sys/select.h stdarg.h)
-AC_CHECK_FUNCS(stat _stat)
-AC_CHECK_FUNC(pow, , AC_CHECK_LIB(m, pow,
-  [M_LIBS="-lm"; AC_DEFINE([HAVE_POW],[], [Define if pow is there])]))
-
-AC_CHECK_FUNC(floor, , AC_CHECK_LIB(m, floor,
-  [M_LIBS="-lm"; AC_DEFINE([HAVE_FLOOR],[], [Define if floor is there])]))
-
-AC_CHECK_FUNC(fabs, , AC_CHECK_LIB(m, fabs,
-  [M_LIBS="-lm"; AC_DEFINE([HAVE_FABS],[], [Define if fabs is there])]))
-
-
-AC_CHECK_FUNCS(gettimeofday)
-AC_CHECK_FUNCS(mktime localtime localtime_r asctime time gmtime gmtime_r ftime)
-
-dnl Checking the standard string functions availability
-AC_CHECK_FUNCS(printf sprintf fprintf snprintf vfprintf vsprintf vsnprintf sscanf,,
-               NEED_TRIO=1)
-
-dnl Checking for POSIX timers
-AC_CHECK_FUNCS(clock_gettime, [], [
-  AC_CHECK_LIB(rt, clock_gettime, [
-    AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
-    EXTRA_LIBS="$EXTRA_LIBS -lrt"
-  ])
-])
-
-dnl
-dnl Check for trio string functions
-dnl
-
-if test "${NEED_TRIO}" = "1" ; then
-    echo Reusing trio library for string functions
-    WITH_TRIO=1
-else    
-    WITH_TRIO=0
-fi
-AC_SUBST(WITH_TRIO)
-
-dnl
-dnl Some packages need to be checked against version numbers so we
-dnl define a function here for later use
-dnl
-AC_DEFUN([VERSION_TO_NUMBER],
-[`$1 | sed -e 's/libxml //' | awk 'BEGIN { FS = "."; } { printf "%d", ([$]1 * 1000 + [$]2) * 1000 + [$]3;}'`])
-
-dnl
-dnl Perl is just needed for generating some data for XSLtmark
-dnl
-
-AC_CHECK_PROG(PERL, perl, perl, false)
-AM_CONDITIONAL(WITH_PERL, test "$PERL" != "false")
-
-dnl
-dnl check for python
-dnl
-
-PYTHON_VERSION=
-PYTHON_INCLUDES=
-PYTHON_SITE_PACKAGES=
-pythondir=
-AC_ARG_WITH(python, [  --with-python[=DIR]    Build Python bindings if found])
-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"
-	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.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
-	    fi
-	fi
-    fi
-    if test "$PYTHON" != ""
-    then
-        echo "PYTHON is pointing at $PYTHON"
-        PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
-	echo Found Python version $PYTHON_VERSION
-	LIBXML2_PYTHON=`$PYTHON -c "try : import libxml2 ; print 1
-except: print 0"`
-	if test "$LIBXML2_PYTHON" = "1"
-	then
-	    echo Found libxml2-python module
-	else
-	    echo Warning: Missing libxml2-python
-	fi
-    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
-		    echo could not find python$PYTHON_VERSION/Python.h
-		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 --libs`
-    fi
-    if test "$with_python" != ""
-    then
-        pythondir='$(PYTHON_SITE_PACKAGES)'
-    else
-        pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
-    fi
-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)
-
-AC_ARG_WITH(crypto, [  --with-crypto           Add crypto support to exslt (on)])
-WITH_CRYPTO=0
-if test "$with_crypto" = "no" ; then
-    echo Disabling crypto support
-    LIBGCRYPT_CFLAGS=""
-    LIBGCRYPT_LIBS=""
-else
-case $host in
-  *-mingw*)
-    dnl Use only native crypto-API for mingw* hosts
-    dnl TODO: to implement --with-crypto=foo to allow switch between
-    dnl crypto libraries
-    WITH_CRYPTO=1
-    ;;
-  *)
-    AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
-    if test "$LIBGCRYPT_CONFIG" != "no" ; then
-      LIBGCRYPT_VERSION=`$LIBGCRYPT_CONFIG --version`
-      if test VERSION_TO_NUMBER(echo $LIBGCRYPT_VERSION) -lt VERSION_TO_NUMBER(echo "1.1.42")
-      then
-        LIBGCRYPT_CFLAGS=""
-        LIBGCRYPT_LIBS=""
-        echo 'gcrypt library version < 1.1.42 - Crypto extensions will not be available.'
-      else
-        LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG $libgcrypt_config_args --cflags`
-        LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG $libgcrypt_config_args --libs`
-        AC_DEFINE(HAVE_GCRYPT, 1, [Define if gcrypt library is available.])
-        echo 'Crypto extensions will be available.'
-		WITH_CRYPTO=1
-      fi
-    else
-      LIBGCRYPT_CFLAGS=""
-      LIBGCRYPT_LIBS=""
-      echo 'Crypto extensions will not be available. Install libgcrypt and reconfigure to make available.'
-    fi
-esac
-fi
-AC_SUBST(WITH_CRYPTO)
-AC_SUBST(LIBGCRYPT_CFLAGS)
-AC_SUBST(LIBGCRYPT_LIBS)
-
-dnl
-dnl Debug for DV (-Wunreachable-code)
-dnl
-if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XSLT" ]] || \
-   [[ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomesvn/libxslt" ]]
-   then
-    if test "${with_mem_debug}" = "" ;
-    then
-	with_mem_debug="yes"
-    fi
-    CFLAGS="-Wall -g -O -ansi -pedantic -W -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 "
-fi
-
-AC_ARG_WITH(debug, [  --with-debug            Add the debugging code (on)])
-if test "$with_debug" = "no" ; then
-    echo Disabling debug support
-    WITH_XSLT_DEBUG=0
-else    
-    WITH_XSLT_DEBUG=1
-fi
-AC_SUBST(WITH_XSLT_DEBUG)
-
-AC_ARG_WITH(mem_debug, [  --with-mem-debug        Add the memory debugging module (off)])
-if test "$with_mem_debug" = "yes" ; then
-    echo Enabling memory debug support
-    WITH_MEM_DEBUG=1
-else    
-    WITH_MEM_DEBUG=0
-fi
-AC_SUBST(WITH_MEM_DEBUG)
-
-dnl 
-dnl Is debugger support requested
-dnl
-AC_ARG_WITH(debugger, [  --with-debugger        Add the debugging support (on)])
-if test "$with_debugger" = "no" ; then
-    echo Disabling debugger
-    WITH_DEBUGGER=0
-else
-    echo Enabling debugger
-    WITH_DEBUGGER=1
-    AC_DEFINE([WITH_DEBUGGER],[], [Define if debugging support is enabled])
-fi
-AC_SUBST(WITH_DEBUGGER)
-
-dnl
-dnl The following new parameters were added to offer
-dnl the ability to specify the location of the libxml
-dnl library during linking and compilation.
-dnl
-dnl original work - Mathieu Lacage 30/03/2000
-dnl some tweaking - David Härdeman 30/10/2001
-dnl
-
-LIBXML_CONFIG_PREFIX=""
-LIBXML_SRC=""
-
-AC_ARG_WITH(libxml-prefix,
-        [  --with-libxml-prefix=[PFX]		Specify location of libxml config],
-	LIBXML_CONFIG_PREFIX=$withval
-)
-        
-AC_ARG_WITH(libxml-include-prefix,
-        [  --with-libxml-include-prefix=[PFX]	Specify location of libxml headers],
-        LIBXML_CFLAGS="-I$withval"
-)
-
-AC_ARG_WITH(libxml-libs-prefix,
-        [  --with-libxml-libs-prefix=[PFX]	Specify location of libxml libs],
-        LIBXML_LIBS="-L$withval"
-)
-
-AC_ARG_WITH(libxml-src,
-	[  --with-libxml-src=[DIR]              For libxml thats not installed yet (sets all three above)],
-	LIBXML_SRC="$withval"
-)
-AC_SUBST(LIBXML_SRC)
-
-dnl
-dnl where is xml2-config
-dnl
-
-AC_SUBST(LIBXML_REQUIRED_VERSION)
-AC_MSG_CHECKING(for libxml libraries >= $LIBXML_REQUIRED_VERSION) 
-if test "x$LIBXML_CONFIG_PREFIX" != "x"
-then
-	XML_CONFIG=${LIBXML_CONFIG_PREFIX}/bin/xml2-config
-else
-	XML_CONFIG=xml2-config
-fi
-
-dnl
-dnl imported from libxml2, c.f. #77827 
-dnl
-if test "${GCC}" != "yes" ; then
-    case "${host}" in
-          *-*-hpux* )
-	       CFLAGS="${CFLAGS} -Wp,-H30000"
-	       ;;
-          *-dec-osf* )
-               CFLAGS="${CFLAGS} -ieee"
-               ;;
-    esac
-else
-    CFLAGS="${CFLAGS} -Wall"
-    case "${host}" in
-          alpha*-*-linux* )
-	       CFLAGS="${CFLAGS} -mieee"
-	       ;;
-	  alpha*-*-osf* )
-	       CFLAGS="${CFLAGS} -mieee"
-	       ;;
-    esac
-fi
-
-dnl
-dnl Override other variables if LIBXML_SRC is set
-dnl
-
-if test "x$LIBXML_SRC" != "x"
-then
-	CWD=`pwd`
-	if cd $LIBXML_SRC
-	then
-		SRC_DIR=`pwd`
-		XML_CONFIG=${SRC_DIR}/xml2-config
-		LIBXML_CFLAGS="-I${SRC_DIR}/include"
-		LIBXML_LIBS="-L${SRC_DIR}"
-		cd $CWD
-	else
-		AC_MSG_ERROR([libxml source dir not found (${LIBXML_SRC}), typo?])
-	fi
-fi
-
-dnl
-dnl make sure xml2-config is executable,
-dnl test version and init our variables
-dnl
-
-if ${XML_CONFIG} --libs print > /dev/null 2>&1
-then
-	XMLVERS=`$XML_CONFIG --version`
-	if test VERSION_TO_NUMBER(echo $XMLVERS) -ge VERSION_TO_NUMBER(echo $LIBXML_REQUIRED_VERSION)
-	then
-		AC_MSG_RESULT($XMLVERS found)
-	else
-		AC_MSG_ERROR(Version $XMLVERS found. You need at least libxml2 $LIBXML_REQUIRED_VERSION for this version of libxslt)
-	fi
-	LIBXML_LIBS="$LIBXML_LIBS `$XML_CONFIG --libs`"
-	if test "x$LIBXML_SRC" = "x"; then
-		LIBXML_CFLAGS="$LIBXML_CFLAGS `$XML_CONFIG --cflags`"
-	fi
-else
-	AC_MSG_ERROR([Could not find libxml2 anywhere, check ftp://xmlsoft.org/.])
-fi
-
-
-AC_SUBST(CFLAGS)
-AC_SUBST(CPPFLAGS)
-AC_SUBST(LDFLAGS)
-
-AC_ARG_WITH(plugins,
-[  --with-plugins          Add plugin extension support (on)])
-if test "$with_plugins" = ""
-then
-    with_plugins=yes
-fi
-
-AC_MSG_CHECKING([whether shared libraries will be built (required for plugins)])
-if test "$enable_shared" = "no" -a "$with_plugins" = "yes"; then
-	 AC_MSG_RESULT(no)
-	 AC_MSG_WARN([Disabling plugin support.])
-	 AC_MSG_WARN([Plugins require that shared libraries be built.])
-	 with_plugins=no
-else
-	 AC_MSG_RESULT(yes)
-fi
-
-if test "$with_plugins" = "yes" ; then
-  AC_MSG_CHECKING([libxml2 module support])
-  WITH_MODULES="`$XML_CONFIG --modules`"
-  if test "${WITH_MODULES}" = "1"; then
-    AC_MSG_RESULT(yes)
-  else
-    AC_MSG_RESULT(no)
-    WITH_MODULES="0"
-  fi
-else
-  WITH_MODULES="0"
-fi
-
-AC_SUBST(WITH_MODULES)
-AM_CONDITIONAL(WITH_MODULES, test "$WITH_MODULES" = "1")
-
-dnl
-dnl setup default module path
-dnl
-module_prefix=$prefix
-test "x$module_prefix" = xNONE && module_prefix=$ac_default_prefix
-LIBXSLT_DEFAULT_PLUGINS_PATH="$module_prefix/lib/libxslt-plugins"
-AC_SUBST(LIBXSLT_DEFAULT_PLUGINS_PATH)
-
-WIN32_EXTRA_LIBADD=
-WIN32_EXTRA_LDFLAGS=
-case "$host" in
- *-*-cygwin*)
- WIN32_EXTRA_LDFLAGS="-no-undefined"
- ;;
- *-*-mingw*)
- WIN32_EXTRA_LIBADD="-lwsock32"
- WIN32_EXTRA_LDFLAGS="-no-undefined"
- AC_DEFINE([_WINSOCKAPI_],1,[Using the Win32 Socket implementation])
- AC_DEFINE([snprintf],[_snprintf],[Win32 Std C name mangling work-around])
- AC_DEFINE([vsnprintf],[_vsnprintf],[Win32 Std C name mangling work-around])
- ;;
-esac
-AC_SUBST(WIN32_EXTRA_LIBADD)
-AC_SUBST(WIN32_EXTRA_LDFLAGS)
-
-
-AC_SUBST(XSLTPROCDV)
-AC_SUBST(PYTHONSODV)
-AC_SUBST(XML_CONFIG)
-AC_SUBST(LIBXML_LIBS)
-AC_SUBST(LIBXML_CFLAGS)
-AC_SUBST(PYTHON)
-AC_SUBST(PYTHON_VERSION)
-AC_SUBST(PYTHON_INCLUDES)
-AC_SUBST(PYTHON_SITE_PACKAGES)
-
-XSLT_LIBDIR='-L${libdir}'
-XSLT_INCLUDEDIR='-I${includedir}'
-XSLT_LIBS="-lxslt $LIBXML_LIBS $M_LIBS"
-AC_SUBST(XSLT_LIBDIR)
-AC_SUBST(XSLT_INCLUDEDIR)
-AC_SUBST(XSLT_LIBS)
-
-EXSLT_LIBDIR='-L${libdir}'
-EXSLT_INCLUDEDIR='-I${includedir}'
-EXSLT_LIBS="-lexslt $XSLT_LIBS $LIBGCRYPT_LIBS"
-AC_SUBST(EXSLT_LIBDIR)
-AC_SUBST(EXSLT_INCLUDEDIR)
-AC_SUBST(EXSLT_LIBS)
-
-AC_SUBST(EXTRA_LIBS)
-
-AC_SUBST(M_LIBS)
-
-dnl for the spec file
-RELDATE=`date +'%a %b %e %Y'`
-AC_SUBST(RELDATE)
-
-rm -f COPYING.LIB COPYING 2>/dev/null && $LN_S $srcdir/Copyright COPYING
-
-
-AC_CONFIG_FILES([
-Makefile
-libxslt.pc
-libexslt.pc
-libxslt/Makefile
-libxslt/xsltconfig.h
-libxslt/xsltwin32config.h
-libexslt/Makefile
-libexslt/exsltconfig.h
-xsltproc/Makefile
-python/Makefile
-python/tests/Makefile
-tests/Makefile
-tests/docs/Makefile
-tests/REC1/Makefile
-tests/REC2/Makefile
-tests/REC/Makefile
-tests/general/Makefile
-tests/reports/Makefile
-tests/extensions/Makefile
-tests/namespaces/Makefile
-tests/keys/Makefile
-tests/numbers/Makefile
-tests/documents/Makefile
-tests/xmlspec/Makefile
-tests/multiple/Makefile
-tests/xinclude/Makefile
-tests/XSLTMark/Makefile
-tests/docbook/Makefile
-tests/exslt/Makefile
-tests/exslt/common/Makefile
-tests/exslt/functions/Makefile
-tests/exslt/math/Makefile
-tests/exslt/sets/Makefile
-tests/exslt/strings/Makefile
-tests/exslt/date/Makefile
-tests/exslt/dynamic/Makefile
-tests/plugins/Makefile
-doc/Makefile
-xslt-config
-libxslt.spec
-])
-
-AC_OUTPUT
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/depcomp b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/depcomp
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/depcomp
+++ /dev/null
@@ -1,708 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2012-03-27.16; # UTC
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011, 2012 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 .
-
-# 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 .
-
-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 .
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "depcomp $scriptversion"
-    exit $?
-    ;;
-esac
-
-# A tabulation character.
-tab='	'
-# A newline character.
-nl='
-'
-
-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
-
-if test "$depmode" = xlc; then
-   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
-   gccflag=-qmakedep=gcc,-MF
-   depmode=gcc
-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 ' ' "$nl" < "$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 ' ' "$nl" < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr "$nl" ' ' >> "$depfile"
-    echo >> "$depfile"
-
-    # The second pass generates a dummy entry for each header file.
-    tr ' ' "$nl" < "$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"
-  ;;
-
-xlc)
-  # 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
-  ;;
-
-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"
-    sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -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 anf tcc (Tiny C Compiler) understand '-MD -MF file'.
-  # However on
-  #    $CC -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 ... \
-  #     ...
-  # tcc 0.9.26 (FIXME still under development at the moment of writing)
-  # will emit a similar output, but also prepend the continuation lines
-  # with horizontal tabulation characters.
-  "$@" -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 -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
-    < "$tmpdepfile" > "$depfile"
-  sed '
-    s/[ '"$tab"'][ '"$tab"']*/ /g
-    s/^ *//
-    s/ *\\*$//
-    s/^[^:]*: *//
-    /^$/d
-    /:$/d
-    s/$/ :/
-  ' < "$tmpdepfile" >> "$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"
-      sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -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/\(.*\)/'"$tab"'\1 \\/p
-s/.\(.*\) \\/\1:/
-H
-$ {
-  s/.*/'"$tab"'/
-  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:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  tr ' ' "$nl" < "$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 ' ' "$nl" | \
-## 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::'"$tab"'\1 \\:p' >> "$depfile"
-  echo "$tab" >> "$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:
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/install-sh b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/install-sh
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/install-sh
+++ /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/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/javafx/CVE-2015-7995.patch b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/javafx/CVE-2015-7995.patch
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/javafx/CVE-2015-7995.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 7ca19df892ca22d9314e95d59ce2abdeff46b617 Mon Sep 17 00:00:00 2001
-From: Daniel Veillard 
-Date: Thu, 29 Oct 2015 19:33:23 +0800
-Subject: Fix for type confusion in preprocessing attributes
-
-CVE-2015-7995 http://www.openwall.com/lists/oss-security/2015/10/27/10
-We need to check that the parent node is an element before dereferencing
-its namespace
----
- libxslt/preproc.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/libxslt/preproc.c b/libxslt/preproc.c
-index 0eb80a0..7f69325 100644
---- a/libxslt/preproc.c
-+++ b/libxslt/preproc.c
-@@ -2249,7 +2249,8 @@ xsltStylePreCompute(xsltStylesheetPtr style, xmlNodePtr inst) {
- 	} else if (IS_XSLT_NAME(inst, "attribute")) {
- 	    xmlNodePtr parent = inst->parent;
- 
--	    if ((parent == NULL) || (parent->ns == NULL) ||
-+	    if ((parent == NULL) ||
-+	        (parent->type != XML_ELEMENT_NODE) || (parent->ns == NULL) ||
- 		((parent->ns != inst->ns) &&
- 		 (!xmlStrEqual(parent->ns->href, inst->ns->href))) ||
- 		(!xmlStrEqual(parent->name, BAD_CAST "attribute-set"))) {
--- 
-cgit v0.12
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt.pc.in b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt.pc.in
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt.pc.in
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-
-Name: libexslt
-Version: @LIBEXSLT_VERSION@
-Description: EXSLT Extension library
-Requires: libxml-2.0
-Libs: @EXSLT_LIBDIR@ @EXSLT_LIBS@
-Cflags: @EXSLT_INCLUDEDIR@
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/Makefile.am b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/Makefile.am
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/Makefile.am
+++ /dev/null
@@ -1,34 +0,0 @@
-AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/libxslt -I$(top_srcdir)/libexslt \
-	      -I$(top_builddir) -I$(top_builddir)/libxslt \
-	      -I$(top_builddir)/libexslt
-
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(LIBXML_CFLAGS)
-
-lib_LTLIBRARIES = libexslt.la
-
-exsltincdir = $(includedir)/libexslt
-
-exsltinc_HEADERS =                      \
-	exslt.h				\
-	exsltconfig.h			\
-	exsltexports.h
-
-libexslt_la_SOURCES =                   \
-	exslt.c				\
-	common.c			\
-	crypto.c			\
-	math.c				\
-	sets.c				\
-	functions.c			\
-	strings.c			\
-	date.c				\
-	saxon.c				\
-	libexslt.h			\
-	dynamic.c
-
-libexslt_la_LIBADD = $(top_builddir)/libxslt/libxslt.la $(EXTRA_LIBS) $(LIBGCRYPT_LIBS)
-libexslt_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) -version-info $(LIBEXSLT_VERSION_INFO)
-
-man_MANS = libexslt.3
-
-EXTRA_DIST = $(man_MANS)
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/Makefile.in b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/Makefile.in
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/Makefile.in
+++ /dev/null
@@ -1,759 +0,0 @@
-# Makefile.in generated by automake 1.11.6 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@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
-    case $$MAKEFLAGS in \
-      *\\[\ \	]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
-    esac; \
-    test $$am__dry = yes; \
-  }
-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 = libexslt
-DIST_COMMON = $(exsltinc_HEADERS) $(srcdir)/Makefile.am \
-	$(srcdir)/Makefile.in $(srcdir)/exsltconfig.h.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(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 = exsltconfig.h
-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)$(man3dir)" \
-	"$(DESTDIR)$(exsltincdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-libexslt_la_DEPENDENCIES = $(top_builddir)/libxslt/libxslt.la \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-am_libexslt_la_OBJECTS = exslt.lo common.lo crypto.lo math.lo sets.lo \
-	functions.lo strings.lo date.lo saxon.lo dynamic.lo
-libexslt_la_OBJECTS = $(am_libexslt_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-libexslt_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(libexslt_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-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 = $(libexslt_la_SOURCES)
-DIST_SOURCES = $(libexslt_la_SOURCES)
-am__can_run_installinfo = \
-  case $$AM_UPDATE_INFO_DIR in \
-    n|no|NO) false;; \
-    *) (install-info --version) >/dev/null 2>&1;; \
-  esac
-man3dir = $(mandir)/man3
-NROFF = nroff
-MANS = $(man_MANS)
-HEADERS = $(exsltinc_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@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXSLT_INCLUDEDIR = @EXSLT_INCLUDEDIR@
-EXSLT_LIBDIR = @EXSLT_LIBDIR@
-EXSLT_LIBS = @EXSLT_LIBS@
-EXTRA_LIBS = @EXTRA_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-HTML_DIR = @HTML_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBEXSLT_MAJOR_VERSION = @LIBEXSLT_MAJOR_VERSION@
-LIBEXSLT_MICRO_VERSION = @LIBEXSLT_MICRO_VERSION@
-LIBEXSLT_MINOR_VERSION = @LIBEXSLT_MINOR_VERSION@
-LIBEXSLT_VERSION = @LIBEXSLT_VERSION@
-LIBEXSLT_VERSION_EXTRA = @LIBEXSLT_VERSION_EXTRA@
-LIBEXSLT_VERSION_INFO = @LIBEXSLT_VERSION_INFO@
-LIBEXSLT_VERSION_NUMBER = @LIBEXSLT_VERSION_NUMBER@
-LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
-LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
-LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBXML_CFLAGS = @LIBXML_CFLAGS@
-LIBXML_LIBS = @LIBXML_LIBS@
-LIBXML_REQUIRED_VERSION = @LIBXML_REQUIRED_VERSION@
-LIBXML_SRC = @LIBXML_SRC@
-LIBXSLT_DEFAULT_PLUGINS_PATH = @LIBXSLT_DEFAULT_PLUGINS_PATH@
-LIBXSLT_MAJOR_MINOR_VERSION = @LIBXSLT_MAJOR_MINOR_VERSION@
-LIBXSLT_MAJOR_VERSION = @LIBXSLT_MAJOR_VERSION@
-LIBXSLT_MICRO_VERSION = @LIBXSLT_MICRO_VERSION@
-LIBXSLT_MINOR_VERSION = @LIBXSLT_MINOR_VERSION@
-LIBXSLT_VERSION = @LIBXSLT_VERSION@
-LIBXSLT_VERSION_EXTRA = @LIBXSLT_VERSION_EXTRA@
-LIBXSLT_VERSION_INFO = @LIBXSLT_VERSION_INFO@
-LIBXSLT_VERSION_NUMBER = @LIBXSLT_VERSION_NUMBER@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-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@
-PYTHONSODV = @PYTHONSODV@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
-PYTHON_SUBDIR = @PYTHON_SUBDIR@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-RELDATE = @RELDATE@
-RM = @RM@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TAR = @TAR@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-VERSION_SCRIPT_FLAGS = @VERSION_SCRIPT_FLAGS@
-WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@
-WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@
-WITH_CRYPTO = @WITH_CRYPTO@
-WITH_DEBUGGER = @WITH_DEBUGGER@
-WITH_MEM_DEBUG = @WITH_MEM_DEBUG@
-WITH_MODULES = @WITH_MODULES@
-WITH_TRIO = @WITH_TRIO@
-WITH_XSLT_DEBUG = @WITH_XSLT_DEBUG@
-XMLLINT = @XMLLINT@
-XML_CONFIG = @XML_CONFIG@
-XSLTPROC = @XSLTPROC@
-XSLTPROCDV = @XSLTPROCDV@
-XSLT_INCLUDEDIR = @XSLT_INCLUDEDIR@
-XSLT_LIBDIR = @XSLT_LIBDIR@
-XSLT_LIBS = @XSLT_LIBS@
-XSLT_LOCALE_WINAPI = @XSLT_LOCALE_WINAPI@
-XSLT_LOCALE_XLOCALE = @XSLT_LOCALE_XLOCALE@
-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@
-AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/libxslt -I$(top_srcdir)/libexslt \
-	      -I$(top_builddir) -I$(top_builddir)/libxslt \
-	      -I$(top_builddir)/libexslt
-
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(LIBXML_CFLAGS)
-lib_LTLIBRARIES = libexslt.la
-exsltincdir = $(includedir)/libexslt
-exsltinc_HEADERS = \
-	exslt.h				\
-	exsltconfig.h			\
-	exsltexports.h
-
-libexslt_la_SOURCES = \
-	exslt.c				\
-	common.c			\
-	crypto.c			\
-	math.c				\
-	sets.c				\
-	functions.c			\
-	strings.c			\
-	date.c				\
-	saxon.c				\
-	libexslt.h			\
-	dynamic.c
-
-libexslt_la_LIBADD = $(top_builddir)/libxslt/libxslt.la $(EXTRA_LIBS) $(LIBGCRYPT_LIBS)
-libexslt_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) -version-info $(LIBEXSLT_VERSION_INFO)
-man_MANS = libexslt.3
-EXTRA_DIST = $(man_MANS)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(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 libexslt/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu libexslt/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):
-exsltconfig.h: $(top_builddir)/config.status $(srcdir)/exsltconfig.h.in
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-	@$(NORMAL_INSTALL)
-	@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 " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
-	  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
-libexslt.la: $(libexslt_la_OBJECTS) $(libexslt_la_DEPENDENCIES) $(EXTRA_libexslt_la_DEPENDENCIES) 
-	$(AM_V_CCLD)$(libexslt_la_LINK) -rpath $(libdir) $(libexslt_la_OBJECTS) $(libexslt_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypto.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/date.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynamic.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exslt.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/functions.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/math.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/saxon.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sets.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strings.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
-install-man3: $(man_MANS)
-	@$(NORMAL_INSTALL)
-	@list1=''; \
-	list2='$(man_MANS)'; \
-	test -n "$(man3dir)" \
-	  && test -n "`echo $$list1$$list2`" \
-	  || exit 0; \
-	echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \
-	$(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \
-	{ for i in $$list1; do echo "$$i"; done;  \
-	if test -n "$$list2"; then \
-	  for i in $$list2; do echo "$$i"; done \
-	    | sed -n '/\.3[a-z]*$$/p'; \
-	fi; \
-	} | 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-exsltincHEADERS: $(exsltinc_HEADERS)
-	@$(NORMAL_INSTALL)
-	@list='$(exsltinc_HEADERS)'; test -n "$(exsltincdir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(exsltincdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(exsltincdir)" || exit 1; \
-	fi; \
-	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)$(exsltincdir)'"; \
-	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(exsltincdir)" || exit $$?; \
-	done
-
-uninstall-exsltincHEADERS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(exsltinc_HEADERS)'; test -n "$(exsltincdir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(exsltincdir)'; $(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)
-	@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
-	@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 $(LTLIBRARIES) $(MANS) $(HEADERS)
-installdirs:
-	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(exsltincdir)"; 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-libLTLIBRARIES clean-libtool \
-	mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-exsltincHEADERS install-man
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLTLIBRARIES
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man: install-man3
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-exsltincHEADERS uninstall-libLTLIBRARIES \
-	uninstall-man
-
-uninstall-man: uninstall-man3
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libLTLIBRARIES clean-libtool ctags distclean \
-	distclean-compile 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-exsltincHEADERS install-html install-html-am \
-	install-info install-info-am install-libLTLIBRARIES \
-	install-man install-man3 install-pdf install-pdf-am install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-exsltincHEADERS \
-	uninstall-libLTLIBRARIES uninstall-man uninstall-man3
-
-
-# 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/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/common.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/common.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/common.c
+++ /dev/null
@@ -1,137 +0,0 @@
-#define IN_LIBEXSLT
-#include "libexslt/libexslt.h"
-
-#if defined(WIN32) && !defined (__CYGWIN__) && (!__MINGW32__)
-#include 
-#else
-#include "config.h"
-#endif
-
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#include "exslt.h"
-
-static void
-exsltNodeSetFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    if (xmlXPathStackIsNodeSet (ctxt)) {
-    xsltFunctionNodeSet (ctxt, nargs);
-    return;
-    } else {
-    xmlDocPtr fragment;
-    xsltTransformContextPtr tctxt = xsltXPathGetTransformContext(ctxt);
-    xmlNodePtr txt;
-    xmlChar *strval;
-    xmlXPathObjectPtr obj;
-    /*
-    * SPEC EXSLT:
-    * "You can also use this function to turn a string into a text
-    * node, which is helpful if you want to pass a string to a
-    * function that only accepts a node-set."
-    */
-    fragment = xsltCreateRVT(tctxt);
-    if (fragment == NULL) {
-        xsltTransformError(tctxt, NULL, tctxt->inst,
-        "exsltNodeSetFunction: Failed to create a tree fragment.\n");
-        tctxt->state = XSLT_STATE_STOPPED;
-        return;
-    }
-    xsltRegisterLocalRVT(tctxt, fragment);
-
-    strval = xmlXPathPopString (ctxt);
-
-    txt = xmlNewDocText (fragment, strval);
-    xmlAddChild((xmlNodePtr) fragment, txt);
-    obj = xmlXPathNewNodeSet(txt);
-    if (obj == NULL) {
-        xsltTransformError(tctxt, NULL, tctxt->inst,
-        "exsltNodeSetFunction: Failed to create a node set object.\n");
-        tctxt->state = XSLT_STATE_STOPPED;
-    } else {
-        /*
-         * Mark it as a function result in order to avoid garbage
-         * collecting of tree fragments
-         */
-        xsltExtensionInstructionResultRegister(tctxt, obj);
-    }
-    if (strval != NULL)
-        xmlFree (strval);
-
-    valuePush (ctxt, obj);
-    }
-}
-
-static void
-exsltObjectTypeFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlXPathObjectPtr obj, ret;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    obj = valuePop(ctxt);
-
-    switch (obj->type) {
-    case XPATH_STRING:
-    ret = xmlXPathNewCString("string");
-    break;
-    case XPATH_NUMBER:
-    ret = xmlXPathNewCString("number");
-    break;
-    case XPATH_BOOLEAN:
-    ret = xmlXPathNewCString("boolean");
-    break;
-    case XPATH_NODESET:
-    ret = xmlXPathNewCString("node-set");
-    break;
-    case XPATH_XSLT_TREE:
-    ret = xmlXPathNewCString("RTF");
-    break;
-    case XPATH_USERS:
-    ret = xmlXPathNewCString("external");
-    break;
-    default:
-    xsltGenericError(xsltGenericErrorContext,
-        "object-type() invalid arg\n");
-    ctxt->error = XPATH_INVALID_TYPE;
-    xmlXPathFreeObject(obj);
-    return;
-    }
-    xmlXPathFreeObject(obj);
-    valuePush(ctxt, ret);
-}
-
-
-/**
- * exsltCommonRegister:
- *
- * Registers the EXSLT - Common module
- */
-
-void
-exsltCommonRegister (void) {
-    xsltRegisterExtModuleFunction((const xmlChar *) "node-set",
-                  EXSLT_COMMON_NAMESPACE,
-                  exsltNodeSetFunction);
-    xsltRegisterExtModuleFunction((const xmlChar *) "object-type",
-                  EXSLT_COMMON_NAMESPACE,
-                  exsltObjectTypeFunction);
-    xsltRegisterExtModuleElement((const xmlChar *) "document",
-                 EXSLT_COMMON_NAMESPACE,
-                 (xsltPreComputeFunction) xsltDocumentComp,
-                 (xsltTransformFunction) xsltDocumentElem);
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/crypto.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/crypto.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/crypto.c
+++ /dev/null
@@ -1,816 +0,0 @@
-#define IN_LIBEXSLT
-#include "libexslt/libexslt.h"
-
-#if defined(WIN32) && !defined (__CYGWIN__) && (!__MINGW32__)
-#include 
-#else
-#include "config.h"
-#endif
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include 
-#include 
-
-#include "exslt.h"
-
-#ifdef EXSLT_CRYPTO_ENABLED
-
-#define HASH_DIGEST_LENGTH 32
-#define MD5_DIGEST_LENGTH 16
-#define SHA1_DIGEST_LENGTH 20
-
-/* gcrypt rc4 can do 256 bit keys, but cryptoapi limit
-   seems to be 128 for the default provider */
-#define RC4_KEY_LENGTH 128
-
-/* The following routines have been declared static - this should be
-   reviewed to consider whether we want to expose them to the API
-   exsltCryptoBin2Hex
-   exsltCryptoHex2Bin
-   exsltCryptoGcryptInit
-   exsltCryptoGcryptHash
-   exsltCryptoGcryptRc4Encrypt
-   exsltCryptoGcryptRC4Decrypt
-*/
-
-/**
- * exsltCryptoBin2Hex:
- * @bin: binary blob to convert
- * @binlen: length of binary blob
- * @hex: buffer to store hex version of blob
- * @hexlen: length of buffer to store hex version of blob
- *
- * Helper function which encodes a binary blob as hex.
- */
-static void
-exsltCryptoBin2Hex (const unsigned char *bin, int binlen,
-            unsigned char *hex, int hexlen) {
-    static const char bin2hex[] = { '0', '1', '2', '3',
-    '4', '5', '6', '7',
-    '8', '9', 'a', 'b',
-    'c', 'd', 'e', 'f'
-    };
-
-    unsigned char lo, hi;
-    int i, pos;
-    for (i = 0, pos = 0; (i < binlen && pos < hexlen); i++) {
-    lo = bin[i] & 0xf;
-    hi = bin[i] >> 4;
-    hex[pos++] = bin2hex[hi];
-    hex[pos++] = bin2hex[lo];
-    }
-
-    hex[pos] = '\0';
-}
-
-/**
- * exsltCryptoHex2Bin:
- * @hex: hex version of blob to convert
- * @hexlen: length of hex buffer
- * @bin: destination binary buffer
- * @binlen: length of binary buffer
- *
- * Helper function which decodes a hex blob to binary
- */
-static int
-exsltCryptoHex2Bin (const unsigned char *hex, int hexlen,
-            unsigned char *bin, int binlen) {
-    int i = 0, j = 0;
-    unsigned char lo, hi, result, tmp;
-
-    while (i < hexlen && j < binlen) {
-    hi = lo = 0;
-
-    tmp = hex[i++];
-    if (tmp >= '0' && tmp <= '9')
-        hi = tmp - '0';
-    else if (tmp >= 'a' && tmp <= 'f')
-        hi = 10 + (tmp - 'a');
-
-    tmp = hex[i++];
-    if (tmp >= '0' && tmp <= '9')
-        lo = tmp - '0';
-    else if (tmp >= 'a' && tmp <= 'f')
-        lo = 10 + (tmp - 'a');
-
-    result = hi << 4;
-    result += lo;
-    bin[j++] = result;
-    }
-
-    return j;
-}
-
-#if defined(WIN32)
-
-#define HAVE_CRYPTO
-#define PLATFORM_HASH   exsltCryptoCryptoApiHash
-#define PLATFORM_RC4_ENCRYPT exsltCryptoCryptoApiRc4Encrypt
-#define PLATFORM_RC4_DECRYPT exsltCryptoCryptoApiRc4Decrypt
-#define PLATFORM_MD4 CALG_MD4
-#define PLATFORM_MD5 CALG_MD5
-#define PLATFORM_SHA1 CALG_SHA1
-
-#include 
-#include 
-#pragma comment(lib, "advapi32.lib")
-
-static void
-exsltCryptoCryptoApiReportError (xmlXPathParserContextPtr ctxt,
-                 int line) {
-    LPVOID lpMsgBuf;
-    DWORD dw = GetLastError ();
-
-    FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER |
-           FORMAT_MESSAGE_FROM_SYSTEM, NULL, dw,
-           MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT),
-           (LPTSTR) & lpMsgBuf, 0, NULL);
-
-    xsltTransformError (xsltXPathGetTransformContext (ctxt), NULL, NULL,
-            "exslt:crypto error (line %d). %s", line,
-            lpMsgBuf);
-    LocalFree (lpMsgBuf);
-}
-
-static HCRYPTHASH
-exsltCryptoCryptoApiCreateHash (xmlXPathParserContextPtr ctxt,
-                HCRYPTPROV hCryptProv, ALG_ID algorithm,
-                const char *msg, unsigned int msglen,
-                char *dest, unsigned int destlen)
-{
-    HCRYPTHASH hHash = 0;
-    DWORD dwHashLen = destlen;
-
-    if (!CryptCreateHash (hCryptProv, algorithm, 0, 0, &hHash)) {
-    exsltCryptoCryptoApiReportError (ctxt, __LINE__);
-    return 0;
-    }
-
-    if (!CryptHashData (hHash, (const BYTE *) msg, msglen, 0)) {
-    exsltCryptoCryptoApiReportError (ctxt, __LINE__);
-    goto fail;
-    }
-
-    if (!CryptGetHashParam (hHash, HP_HASHVAL, dest, &dwHashLen, 0)) {
-    exsltCryptoCryptoApiReportError (ctxt, __LINE__);
-    goto fail;
-    }
-
-  fail:
-    return hHash;
-}
-
-/**
- * exsltCryptoCryptoApiHash:
- * @ctxt: an XPath parser context
- * @algorithm: hashing algorithm to use
- * @msg: text to be hashed
- * @msglen: length of text to be hashed
- * @dest: buffer to place hash result
- *
- * Helper function which hashes a message using MD4, MD5, or SHA1.
- * Uses Win32 CryptoAPI.
- */
-static void
-exsltCryptoCryptoApiHash (xmlXPathParserContextPtr ctxt,
-              ALG_ID algorithm, const char *msg,
-              unsigned long msglen,
-              char dest[HASH_DIGEST_LENGTH]) {
-    HCRYPTPROV hCryptProv;
-    HCRYPTHASH hHash;
-
-    if (!CryptAcquireContext (&hCryptProv, NULL, NULL, PROV_RSA_FULL,
-                  CRYPT_VERIFYCONTEXT | CRYPT_SILENT)) {
-    exsltCryptoCryptoApiReportError (ctxt, __LINE__);
-    return;
-    }
-
-    hHash = exsltCryptoCryptoApiCreateHash (ctxt, hCryptProv,
-                        algorithm, msg, msglen,
-                        dest, HASH_DIGEST_LENGTH);
-    if (0 != hHash) {
-    CryptDestroyHash (hHash);
-    }
-
-    CryptReleaseContext (hCryptProv, 0);
-}
-
-static void
-exsltCryptoCryptoApiRc4Encrypt (xmlXPathParserContextPtr ctxt,
-                const unsigned char *key,
-                const unsigned char *msg, int msglen,
-                unsigned char *dest, int destlen) {
-    HCRYPTPROV hCryptProv;
-    HCRYPTKEY hKey;
-    HCRYPTHASH hHash;
-    DWORD dwDataLen;
-    unsigned char hash[HASH_DIGEST_LENGTH];
-
-    if (msglen > destlen) {
-    xsltTransformError (xsltXPathGetTransformContext (ctxt), NULL,
-                NULL,
-                "exslt:crypto : internal error exsltCryptoCryptoApiRc4Encrypt dest buffer too small.\n");
-    return;
-    }
-
-    if (!CryptAcquireContext (&hCryptProv, NULL, NULL, PROV_RSA_FULL,
-                  CRYPT_VERIFYCONTEXT | CRYPT_SILENT)) {
-    exsltCryptoCryptoApiReportError (ctxt, __LINE__);
-    return;
-    }
-
-    hHash = exsltCryptoCryptoApiCreateHash (ctxt, hCryptProv,
-                        CALG_SHA1, key,
-                        RC4_KEY_LENGTH, hash,
-                        HASH_DIGEST_LENGTH);
-
-    if (!CryptDeriveKey
-    (hCryptProv, CALG_RC4, hHash, 0x00800000, &hKey)) {
-    exsltCryptoCryptoApiReportError (ctxt, __LINE__);
-    goto fail;
-    }
-/* Now encrypt data. */
-    dwDataLen = msglen;
-    memcpy (dest, msg, msglen);
-    if (!CryptEncrypt (hKey, 0, TRUE, 0, dest, &dwDataLen, msglen)) {
-    exsltCryptoCryptoApiReportError (ctxt, __LINE__);
-    goto fail;
-    }
-
-  fail:
-    if (0 != hHash) {
-    CryptDestroyHash (hHash);
-    }
-
-    CryptDestroyKey (hKey);
-    CryptReleaseContext (hCryptProv, 0);
-}
-
-static void
-exsltCryptoCryptoApiRc4Decrypt (xmlXPathParserContextPtr ctxt,
-                const unsigned char *key,
-                const unsigned char *msg, int msglen,
-                unsigned char *dest, int destlen) {
-    HCRYPTPROV hCryptProv;
-    HCRYPTKEY hKey;
-    HCRYPTHASH hHash;
-    DWORD dwDataLen;
-    unsigned char hash[HASH_DIGEST_LENGTH];
-
-    if (msglen > destlen) {
-    xsltTransformError (xsltXPathGetTransformContext (ctxt), NULL,
-                NULL,
-                "exslt:crypto : internal error exsltCryptoCryptoApiRc4Encrypt dest buffer too small.\n");
-    return;
-    }
-
-    if (!CryptAcquireContext (&hCryptProv, NULL, NULL, PROV_RSA_FULL,
-                  CRYPT_VERIFYCONTEXT | CRYPT_SILENT)) {
-    exsltCryptoCryptoApiReportError (ctxt, __LINE__);
-    return;
-    }
-
-    hHash = exsltCryptoCryptoApiCreateHash (ctxt, hCryptProv,
-                        CALG_SHA1, key,
-                        RC4_KEY_LENGTH, hash,
-                        HASH_DIGEST_LENGTH);
-
-    if (!CryptDeriveKey
-    (hCryptProv, CALG_RC4, hHash, 0x00800000, &hKey)) {
-    exsltCryptoCryptoApiReportError (ctxt, __LINE__);
-    goto fail;
-    }
-/* Now encrypt data. */
-    dwDataLen = msglen;
-    memcpy (dest, msg, msglen);
-    if (!CryptDecrypt (hKey, 0, TRUE, 0, dest, &dwDataLen)) {
-    exsltCryptoCryptoApiReportError (ctxt, __LINE__);
-    goto fail;
-    }
-
-  fail:
-    if (0 != hHash) {
-    CryptDestroyHash (hHash);
-    }
-
-    CryptDestroyKey (hKey);
-    CryptReleaseContext (hCryptProv, 0);
-}
-
-#endif /* defined(WIN32) */
-
-#if defined(HAVE_GCRYPT)
-
-#define HAVE_CRYPTO
-#define PLATFORM_HASH   exsltCryptoGcryptHash
-#define PLATFORM_RC4_ENCRYPT exsltCryptoGcryptRc4Encrypt
-#define PLATFORM_RC4_DECRYPT exsltCryptoGcryptRc4Decrypt
-#define PLATFORM_MD4 GCRY_MD_MD4
-#define PLATFORM_MD5 GCRY_MD_MD5
-#define PLATFORM_SHA1 GCRY_MD_SHA1
-
-#ifdef HAVE_SYS_TYPES_H
-# include 
-#endif
-#ifdef HAVE_STDINT_H
-# include 
-#endif
-
-#ifdef HAVE_SYS_SELECT_H
-#include      /* needed by gcrypt.h 4 Jul 04 */
-#endif
-#include 
-
-static void
-exsltCryptoGcryptInit (void) {
-    static int gcrypt_init;
-    xmlLockLibrary ();
-
-    if (!gcrypt_init) {
-/* The function `gcry_check_version' must be called before any other
-     function in the library, because it initializes the thread support
-     subsystem in Libgcrypt. To achieve this in all generality, it is
-     necessary to synchronize the call to this function with all other calls
-     to functions in the library, using the synchronization mechanisms
-     available in your thread library. (from gcrypt.info)
-*/
-    gcry_check_version (GCRYPT_VERSION);
-    gcrypt_init = 1;
-    }
-
-    xmlUnlockLibrary ();
-}
-
-/**
- * exsltCryptoGcryptHash:
- * @ctxt: an XPath parser context
- * @algorithm: hashing algorithm to use
- * @msg: text to be hashed
- * @msglen: length of text to be hashed
- * @dest: buffer to place hash result
- *
- * Helper function which hashes a message using MD4, MD5, or SHA1.
- * using gcrypt
- */
-static void
-exsltCryptoGcryptHash (xmlXPathParserContextPtr ctxt ATTRIBUTE_UNUSED,
-/* changed the enum to int */
-               int algorithm, const char *msg,
-               unsigned long msglen,
-               char dest[HASH_DIGEST_LENGTH]) {
-    exsltCryptoGcryptInit ();
-    gcry_md_hash_buffer (algorithm, dest, msg, msglen);
-}
-
-static void
-exsltCryptoGcryptRc4Encrypt (xmlXPathParserContextPtr ctxt,
-                 const unsigned char *key,
-                 const unsigned char *msg, int msglen,
-                 unsigned char *dest, int destlen) {
-    gcry_cipher_hd_t cipher;
-    gcry_error_t rc = 0;
-
-    exsltCryptoGcryptInit ();
-
-    rc = gcry_cipher_open (&cipher, GCRY_CIPHER_ARCFOUR,
-               GCRY_CIPHER_MODE_STREAM, 0);
-    if (rc) {
-    xsltTransformError (xsltXPathGetTransformContext (ctxt), NULL,
-                NULL,
-                "exslt:crypto internal error %s (gcry_cipher_open)\n",
-                gcry_strerror (rc));
-    }
-
-    rc = gcry_cipher_setkey (cipher, key, RC4_KEY_LENGTH);
-    if (rc) {
-    xsltTransformError (xsltXPathGetTransformContext (ctxt), NULL,
-                NULL,
-                "exslt:crypto internal error %s (gcry_cipher_setkey)\n",
-                gcry_strerror (rc));
-    }
-
-    rc = gcry_cipher_encrypt (cipher, (unsigned char *) dest, destlen,
-                  (const unsigned char *) msg, msglen);
-    if (rc) {
-    xsltTransformError (xsltXPathGetTransformContext (ctxt), NULL,
-                NULL,
-                "exslt:crypto internal error %s (gcry_cipher_encrypt)\n",
-                gcry_strerror (rc));
-    }
-
-    gcry_cipher_close (cipher);
-}
-
-static void
-exsltCryptoGcryptRc4Decrypt (xmlXPathParserContextPtr ctxt,
-                 const unsigned char *key,
-                 const unsigned char *msg, int msglen,
-                 unsigned char *dest, int destlen) {
-    gcry_cipher_hd_t cipher;
-    gcry_error_t rc = 0;
-
-    exsltCryptoGcryptInit ();
-
-    rc = gcry_cipher_open (&cipher, GCRY_CIPHER_ARCFOUR,
-               GCRY_CIPHER_MODE_STREAM, 0);
-    if (rc) {
-    xsltTransformError (xsltXPathGetTransformContext (ctxt), NULL,
-                NULL,
-                "exslt:crypto internal error %s (gcry_cipher_open)\n",
-                gcry_strerror (rc));
-    }
-
-    rc = gcry_cipher_setkey (cipher, key, RC4_KEY_LENGTH);
-    if (rc) {
-    xsltTransformError (xsltXPathGetTransformContext (ctxt), NULL,
-                NULL,
-                "exslt:crypto internal error %s (gcry_cipher_setkey)\n",
-                gcry_strerror (rc));
-    }
-
-    rc = gcry_cipher_decrypt (cipher, (unsigned char *) dest, destlen,
-                  (const unsigned char *) msg, msglen);
-    if (rc) {
-    xsltTransformError (xsltXPathGetTransformContext (ctxt), NULL,
-                NULL,
-                "exslt:crypto internal error %s (gcry_cipher_decrypt)\n",
-                gcry_strerror (rc));
-    }
-
-    gcry_cipher_close (cipher);
-}
-
-#endif /* defined(HAVE_GCRYPT) */
-
-#if defined(HAVE_CRYPTO)
-
-/**
- * exsltCryptoPopString:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * Helper function which checks for and returns first string argument and its length
- */
-static int
-exsltCryptoPopString (xmlXPathParserContextPtr ctxt, int nargs,
-              xmlChar ** str) {
-
-    int str_len = 0;
-
-    if ((nargs < 1) || (nargs > 2)) {
-    xmlXPathSetArityError (ctxt);
-    return 0;
-    }
-
-    *str = xmlXPathPopString (ctxt);
-    str_len = xmlUTF8Strlen (*str);
-
-    if (str_len == 0) {
-    xmlXPathReturnEmptyString (ctxt);
-    xmlFree (*str);
-    return 0;
-    }
-
-    return str_len;
-}
-
-/**
- * exsltCryptoMd4Function:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * computes the md4 hash of a string and returns as hex
- */
-static void
-exsltCryptoMd4Function (xmlXPathParserContextPtr ctxt, int nargs) {
-
-    int str_len = 0;
-    xmlChar *str = NULL, *ret = NULL;
-    unsigned char hash[HASH_DIGEST_LENGTH];
-    unsigned char hex[MD5_DIGEST_LENGTH * 2 + 1];
-
-    str_len = exsltCryptoPopString (ctxt, nargs, &str);
-    if (str_len == 0) {
-    xmlXPathReturnEmptyString (ctxt);
-    xmlFree (str);
-    return;
-    }
-
-    PLATFORM_HASH (ctxt, PLATFORM_MD4, (const char *) str, str_len,
-           (char *) hash);
-    exsltCryptoBin2Hex (hash, sizeof (hash) - 1, hex, sizeof (hex) - 1);
-
-    ret = xmlStrdup ((xmlChar *) hex);
-    xmlXPathReturnString (ctxt, ret);
-
-    if (str != NULL)
-    xmlFree (str);
-}
-
-/**
- * exsltCryptoMd5Function:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * computes the md5 hash of a string and returns as hex
- */
-static void
-exsltCryptoMd5Function (xmlXPathParserContextPtr ctxt, int nargs) {
-
-    int str_len = 0;
-    xmlChar *str = NULL, *ret = NULL;
-    unsigned char hash[HASH_DIGEST_LENGTH];
-    unsigned char hex[MD5_DIGEST_LENGTH * 2 + 1];
-
-    str_len = exsltCryptoPopString (ctxt, nargs, &str);
-    if (str_len == 0) {
-    xmlXPathReturnEmptyString (ctxt);
-    xmlFree (str);
-    return;
-    }
-
-    PLATFORM_HASH (ctxt, PLATFORM_MD5, (const char *) str, str_len,
-           (char *) hash);
-    exsltCryptoBin2Hex (hash, sizeof (hash) - 1, hex, sizeof (hex) - 1);
-
-    ret = xmlStrdup ((xmlChar *) hex);
-    xmlXPathReturnString (ctxt, ret);
-
-    if (str != NULL)
-    xmlFree (str);
-}
-
-/**
- * exsltCryptoSha1Function:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * computes the sha1 hash of a string and returns as hex
- */
-static void
-exsltCryptoSha1Function (xmlXPathParserContextPtr ctxt, int nargs) {
-
-    int str_len = 0;
-    xmlChar *str = NULL, *ret = NULL;
-    unsigned char hash[HASH_DIGEST_LENGTH];
-    unsigned char hex[SHA1_DIGEST_LENGTH * 2 + 1];
-
-    str_len = exsltCryptoPopString (ctxt, nargs, &str);
-    if (str_len == 0) {
-    xmlXPathReturnEmptyString (ctxt);
-    xmlFree (str);
-    return;
-    }
-
-    PLATFORM_HASH (ctxt, PLATFORM_SHA1, (const char *) str, str_len,
-           (char *) hash);
-    exsltCryptoBin2Hex (hash, sizeof (hash) - 1, hex, sizeof (hex) - 1);
-
-    ret = xmlStrdup ((xmlChar *) hex);
-    xmlXPathReturnString (ctxt, ret);
-
-    if (str != NULL)
-    xmlFree (str);
-}
-
-/**
- * exsltCryptoRc4EncryptFunction:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * computes the sha1 hash of a string and returns as hex
- */
-static void
-exsltCryptoRc4EncryptFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-
-    int key_len = 0, key_size = 0;
-    int str_len = 0, bin_len = 0, hex_len = 0;
-    xmlChar *key = NULL, *str = NULL, *padkey = NULL;
-    xmlChar *bin = NULL, *hex = NULL;
-    xsltTransformContextPtr tctxt = NULL;
-
-    if (nargs != 2) {
-    xmlXPathSetArityError (ctxt);
-    return;
-    }
-    tctxt = xsltXPathGetTransformContext(ctxt);
-
-    str = xmlXPathPopString (ctxt);
-    str_len = xmlUTF8Strlen (str);
-
-    if (str_len == 0) {
-    xmlXPathReturnEmptyString (ctxt);
-    xmlFree (str);
-    return;
-    }
-
-    key = xmlXPathPopString (ctxt);
-    key_len = xmlUTF8Strlen (key);
-
-    if (key_len == 0) {
-    xmlXPathReturnEmptyString (ctxt);
-    xmlFree (key);
-    xmlFree (str);
-    return;
-    }
-
-    padkey = xmlMallocAtomic (RC4_KEY_LENGTH + 1);
-    if (padkey == NULL) {
-    xsltTransformError(tctxt, NULL, tctxt->inst,
-        "exsltCryptoRc4EncryptFunction: Failed to allocate padkey\n");
-    tctxt->state = XSLT_STATE_STOPPED;
-    xmlXPathReturnEmptyString (ctxt);
-    goto done;
-    }
-    memset(padkey, 0, RC4_KEY_LENGTH + 1);
-
-    key_size = xmlUTF8Strsize (key, key_len);
-    if ((key_size > RC4_KEY_LENGTH) || (key_size < 0)) {
-    xsltTransformError(tctxt, NULL, tctxt->inst,
-        "exsltCryptoRc4EncryptFunction: key size too long or key broken\n");
-    tctxt->state = XSLT_STATE_STOPPED;
-    xmlXPathReturnEmptyString (ctxt);
-    goto done;
-    }
-    memcpy (padkey, key, key_size);
-
-/* encrypt it */
-    bin_len = str_len;
-    bin = xmlStrdup (str);
-    if (bin == NULL) {
-    xsltTransformError(tctxt, NULL, tctxt->inst,
-        "exsltCryptoRc4EncryptFunction: Failed to allocate string\n");
-    tctxt->state = XSLT_STATE_STOPPED;
-    xmlXPathReturnEmptyString (ctxt);
-    goto done;
-    }
-    PLATFORM_RC4_ENCRYPT (ctxt, padkey, str, str_len, bin, bin_len);
-
-/* encode it */
-    hex_len = str_len * 2 + 1;
-    hex = xmlMallocAtomic (hex_len);
-    if (hex == NULL) {
-    xsltTransformError(tctxt, NULL, tctxt->inst,
-        "exsltCryptoRc4EncryptFunction: Failed to allocate result\n");
-    tctxt->state = XSLT_STATE_STOPPED;
-    xmlXPathReturnEmptyString (ctxt);
-    goto done;
-    }
-
-    exsltCryptoBin2Hex (bin, str_len, hex, hex_len);
-    xmlXPathReturnString (ctxt, hex);
-
-done:
-    if (key != NULL)
-    xmlFree (key);
-    if (str != NULL)
-    xmlFree (str);
-    if (padkey != NULL)
-    xmlFree (padkey);
-    if (bin != NULL)
-    xmlFree (bin);
-}
-
-/**
- * exsltCryptoRc4DecryptFunction:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * computes the sha1 hash of a string and returns as hex
- */
-static void
-exsltCryptoRc4DecryptFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-
-    int key_len = 0, key_size = 0;
-    int str_len = 0, bin_len = 0, ret_len = 0;
-    xmlChar *key = NULL, *str = NULL, *padkey = NULL, *bin =
-    NULL, *ret = NULL;
-    xsltTransformContextPtr tctxt = NULL;
-
-    if (nargs != 2) {
-    xmlXPathSetArityError (ctxt);
-    return;
-    }
-    tctxt = xsltXPathGetTransformContext(ctxt);
-
-    str = xmlXPathPopString (ctxt);
-    str_len = xmlUTF8Strlen (str);
-
-    if (str_len == 0) {
-    xmlXPathReturnEmptyString (ctxt);
-    xmlFree (str);
-    return;
-    }
-
-    key = xmlXPathPopString (ctxt);
-    key_len = xmlUTF8Strlen (key);
-
-    if (key_len == 0) {
-    xmlXPathReturnEmptyString (ctxt);
-    xmlFree (key);
-    xmlFree (str);
-    return;
-    }
-
-    padkey = xmlMallocAtomic (RC4_KEY_LENGTH + 1);
-    if (padkey == NULL) {
-    xsltTransformError(tctxt, NULL, tctxt->inst,
-        "exsltCryptoRc4EncryptFunction: Failed to allocate padkey\n");
-    tctxt->state = XSLT_STATE_STOPPED;
-    xmlXPathReturnEmptyString (ctxt);
-    goto done;
-    }
-    memset(padkey, 0, RC4_KEY_LENGTH + 1);
-    key_size = xmlUTF8Strsize (key, key_len);
-    if ((key_size > RC4_KEY_LENGTH) || (key_size < 0)) {
-    xsltTransformError(tctxt, NULL, tctxt->inst,
-        "exsltCryptoRc4EncryptFunction: key size too long or key broken\n");
-    tctxt->state = XSLT_STATE_STOPPED;
-    xmlXPathReturnEmptyString (ctxt);
-    goto done;
-    }
-    memcpy (padkey, key, key_size);
-
-/* decode hex to binary */
-    bin_len = str_len;
-    bin = xmlMallocAtomic (bin_len);
-    if (bin == NULL) {
-    xsltTransformError(tctxt, NULL, tctxt->inst,
-        "exsltCryptoRc4EncryptFunction: Failed to allocate string\n");
-    tctxt->state = XSLT_STATE_STOPPED;
-    xmlXPathReturnEmptyString (ctxt);
-    goto done;
-    }
-    ret_len = exsltCryptoHex2Bin (str, str_len, bin, bin_len);
-
-/* decrypt the binary blob */
-    ret = xmlMallocAtomic (ret_len + 1);
-    if (ret == NULL) {
-    xsltTransformError(tctxt, NULL, tctxt->inst,
-        "exsltCryptoRc4EncryptFunction: Failed to allocate result\n");
-    tctxt->state = XSLT_STATE_STOPPED;
-    xmlXPathReturnEmptyString (ctxt);
-    goto done;
-    }
-    PLATFORM_RC4_DECRYPT (ctxt, padkey, bin, ret_len, ret, ret_len);
-    ret[ret_len] = 0;
-
-    xmlXPathReturnString (ctxt, ret);
-
-done:
-    if (key != NULL)
-    xmlFree (key);
-    if (str != NULL)
-    xmlFree (str);
-    if (padkey != NULL)
-    xmlFree (padkey);
-    if (bin != NULL)
-    xmlFree (bin);
-}
-
-/**
- * exsltCryptoRegister:
- *
- * Registers the EXSLT - Crypto module
- */
-
-void
-exsltCryptoRegister (void) {
-    xsltRegisterExtModuleFunction ((const xmlChar *) "md4",
-                   EXSLT_CRYPTO_NAMESPACE,
-                   exsltCryptoMd4Function);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "md5",
-                   EXSLT_CRYPTO_NAMESPACE,
-                   exsltCryptoMd5Function);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "sha1",
-                   EXSLT_CRYPTO_NAMESPACE,
-                   exsltCryptoSha1Function);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "rc4_encrypt",
-                   EXSLT_CRYPTO_NAMESPACE,
-                   exsltCryptoRc4EncryptFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "rc4_decrypt",
-                   EXSLT_CRYPTO_NAMESPACE,
-                   exsltCryptoRc4DecryptFunction);
-}
-
-#else
-/**
- * exsltCryptoRegister:
- *
- * Registers the EXSLT - Crypto module
- */
-void
-exsltCryptoRegister (void) {
-}
-
-#endif /* defined(HAVE_CRYPTO) */
-
-#endif /* EXSLT_CRYPTO_ENABLED */
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/date.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/date.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/date.c
+++ /dev/null
@@ -1,3914 +0,0 @@
-/*
- * date.c: Implementation of the EXSLT -- Dates and Times module
- *
- * References:
- *   http://www.exslt.org/date/date.html
- *
- * See Copyright for the status of this software.
- *
- * Authors:
- *   Charlie Bozeman 
- *   Thomas Broyer 
- *
- * TODO:
- * elements:
- *   date-format
- * functions:
- *   format-date
- *   parse-date
- *   sum
- */
-
-#define IN_LIBEXSLT
-#include "libexslt/libexslt.h"
-
-#if defined(WIN32) && !defined (__CYGWIN__) && (!__MINGW32__)
-#include 
-#else
-#include "config.h"
-#endif
-
-#if defined(HAVE_LOCALTIME_R) && defined(__GLIBC__) /* _POSIX_SOURCE required by gnu libc */
-#ifndef _AIX51      /* but on AIX we're not using gnu libc */
-#define _POSIX_SOURCE
-#endif
-#endif
-
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include 
-#include 
-
-#include "exslt.h"
-
-#include 
-
-#ifdef HAVE_MATH_H
-#include 
-#endif
-
-/* needed to get localtime_r on Solaris */
-#ifdef __sun
-#ifndef __EXTENSIONS__
-#define __EXTENSIONS__
-#endif
-#endif
-
-#ifdef HAVE_TIME_H
-#include 
-#endif
-
-/*
- * types of date and/or time (from schema datatypes)
- *   somewhat ordered from least specific to most specific (i.e.
- *   most truncated to least truncated).
- */
-typedef enum {
-    EXSLT_UNKNOWN  =    0,
-    XS_TIME        =    1,       /* time is left-truncated */
-    XS_GDAY        = (XS_TIME   << 1),
-    XS_GMONTH      = (XS_GDAY   << 1),
-    XS_GMONTHDAY   = (XS_GMONTH | XS_GDAY),
-    XS_GYEAR       = (XS_GMONTH << 1),
-    XS_GYEARMONTH  = (XS_GYEAR  | XS_GMONTH),
-    XS_DATE        = (XS_GYEAR  | XS_GMONTH | XS_GDAY),
-    XS_DATETIME    = (XS_DATE   | XS_TIME),
-    XS_DURATION    = (XS_GYEAR  << 1)
-} exsltDateType;
-
-/* Date value */
-typedef struct _exsltDateValDate exsltDateValDate;
-typedef exsltDateValDate *exsltDateValDatePtr;
-struct _exsltDateValDate {
-    long        year;
-    unsigned int    mon :4; /* 1 <=  mon    <= 12   */
-    unsigned int    day :5; /* 1 <=  day    <= 31   */
-    unsigned int    hour    :5; /* 0 <=  hour   <= 23   */
-    unsigned int    min :6; /* 0 <=  min    <= 59   */
-    double      sec;
-    unsigned int    tz_flag :1; /* is tzo explicitely set? */
-    signed int      tzo :12;    /* -1440 <= tzo <= 1440 currently only -840 to +840 are needed */
-};
-
-/* Duration value */
-typedef struct _exsltDateValDuration exsltDateValDuration;
-typedef exsltDateValDuration *exsltDateValDurationPtr;
-struct _exsltDateValDuration {
-    long            mon;        /* mon stores years also */
-    long    day;
-    double      sec;            /* sec stores min and hour also */
-};
-
-typedef struct _exsltDateVal exsltDateVal;
-typedef exsltDateVal *exsltDateValPtr;
-struct _exsltDateVal {
-    exsltDateType       type;
-    union {
-        exsltDateValDate        date;
-        exsltDateValDuration    dur;
-    } value;
-};
-
-/****************************************************************
- *                              *
- *          Compat./Port. macros            *
- *                              *
- ****************************************************************/
-
-#if defined(HAVE_TIME_H)                    \
-    && (defined(HAVE_LOCALTIME) || defined(HAVE_LOCALTIME_R))   \
-    && (defined(HAVE_GMTIME) || defined(HAVE_GMTIME_R))     \
-    && defined(HAVE_TIME)
-#define WITH_TIME
-#endif
-
-/****************************************************************
- *                              *
- *      Convenience macros and functions        *
- *                              *
- ****************************************************************/
-
-#define IS_TZO_CHAR(c)                      \
-    ((c == 0) || (c == 'Z') || (c == '+') || (c == '-'))
-
-#define VALID_ALWAYS(num)   (num >= 0)
-#define VALID_YEAR(yr)          (yr != 0)
-#define VALID_MONTH(mon)        ((mon >= 1) && (mon <= 12))
-/* VALID_DAY should only be used when month is unknown */
-#define VALID_DAY(day)          ((day >= 1) && (day <= 31))
-#define VALID_HOUR(hr)          ((hr >= 0) && (hr <= 23))
-#define VALID_MIN(min)          ((min >= 0) && (min <= 59))
-#define VALID_SEC(sec)          ((sec >= 0) && (sec < 60))
-#define VALID_TZO(tzo)          ((tzo > -1440) && (tzo < 1440))
-#define IS_LEAP(y)                      \
-    (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
-
-static const unsigned long daysInMonth[12] =
-    { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
-static const unsigned long daysInMonthLeap[12] =
-    { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
-
-#define MAX_DAYINMONTH(yr,mon)                                  \
-        (IS_LEAP(yr) ? daysInMonthLeap[mon - 1] : daysInMonth[mon - 1])
-
-#define VALID_MDAY(dt)                      \
-    (IS_LEAP(dt->year) ?                        \
-        (dt->day <= daysInMonthLeap[dt->mon - 1]) :         \
-        (dt->day <= daysInMonth[dt->mon - 1]))
-
-#define VALID_DATE(dt)                      \
-    (VALID_YEAR(dt->year) && VALID_MONTH(dt->mon) && VALID_MDAY(dt))
-
-/*
-    hour and min structure vals are unsigned, so normal macros give
-    warnings on some compilers.
-*/
-#define VALID_TIME(dt)                      \
-    ((dt->hour <=23 ) && (dt->min <= 59) &&         \
-     VALID_SEC(dt->sec) && VALID_TZO(dt->tzo))
-
-#define VALID_DATETIME(dt)                  \
-    (VALID_DATE(dt) && VALID_TIME(dt))
-
-#define SECS_PER_MIN            (60)
-#define SECS_PER_HOUR           (60 * SECS_PER_MIN)
-#define SECS_PER_DAY            (24 * SECS_PER_HOUR)
-
-static const unsigned long dayInYearByMonth[12] =
-    { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 };
-static const unsigned long dayInLeapYearByMonth[12] =
-    { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 };
-
-#define DAY_IN_YEAR(day, month, year)               \
-        ((IS_LEAP(year) ?                   \
-                dayInLeapYearByMonth[month - 1] :       \
-                dayInYearByMonth[month - 1]) + day)
-
-/**
- * _exsltDateParseGYear:
- * @dt:  pointer to a date structure
- * @str: pointer to the string to analyze
- *
- * Parses a xs:gYear without time zone and fills in the appropriate
- * field of the @dt structure. @str is updated to point just after the
- * xs:gYear. It is supposed that @dt->year is big enough to contain
- * the year.
- *
- * Returns 0 or the error code
- */
-static int
-_exsltDateParseGYear (exsltDateValDatePtr dt, const xmlChar **str)
-{
-    const xmlChar *cur = *str, *firstChar;
-    int isneg = 0, digcnt = 0;
-
-    if (((*cur < '0') || (*cur > '9')) &&
-    (*cur != '-') && (*cur != '+'))
-    return -1;
-
-    if (*cur == '-') {
-    isneg = 1;
-    cur++;
-    }
-
-    firstChar = cur;
-
-    while ((*cur >= '0') && (*cur <= '9')) {
-    dt->year = dt->year * 10 + (*cur - '0');
-    cur++;
-    digcnt++;
-    }
-
-    /* year must be at least 4 digits (CCYY); over 4
-     * digits cannot have a leading zero. */
-    if ((digcnt < 4) || ((digcnt > 4) && (*firstChar == '0')))
-    return 1;
-
-    if (isneg)
-    dt->year = - dt->year;
-
-    if (!VALID_YEAR(dt->year))
-    return 2;
-
-    *str = cur;
-
-#ifdef DEBUG_EXSLT_DATE
-    xsltGenericDebug(xsltGenericDebugContext,
-             "Parsed year %04i\n", dt->year);
-#endif
-
-    return 0;
-}
-
-/**
- * FORMAT_GYEAR:
- * @yr:  the year to format
- * @cur: a pointer to an allocated buffer
- *
- * Formats @yr in xsl:gYear format. Result is appended to @cur and
- * @cur is updated to point after the xsl:gYear.
- */
-#define FORMAT_GYEAR(yr, cur)                   \
-    if (yr < 0) {                           \
-        *cur = '-';                     \
-        cur++;                      \
-    }                           \
-    {                           \
-        long year = (yr < 0) ? - yr : yr;                   \
-        xmlChar tmp_buf[100], *tmp = tmp_buf;       \
-        /* result is in reverse-order */            \
-        while (year > 0) {                  \
-        *tmp = '0' + (xmlChar)(year % 10);      \
-        year /= 10;                 \
-        tmp++;                      \
-        }                           \
-        /* virtually adds leading zeros */          \
-        while ((tmp - tmp_buf) < 4)             \
-        *tmp++ = '0';                   \
-        /* restore the correct order */         \
-        while (tmp > tmp_buf) {             \
-        tmp--;                      \
-        *cur = *tmp;                    \
-        cur++;                      \
-        }                           \
-    }
-
-/**
- * PARSE_2_DIGITS:
- * @num:  the integer to fill in
- * @cur:  an #xmlChar *
- * @func: validation function for the number
- * @invalid: an integer
- *
- * Parses a 2-digits integer and updates @num with the value. @cur is
- * updated to point just after the integer.
- * In case of error, @invalid is set to %TRUE, values of @num and
- * @cur are undefined.
- */
-#define PARSE_2_DIGITS(num, cur, func, invalid)         \
-    if ((cur[0] < '0') || (cur[0] > '9') ||         \
-        (cur[1] < '0') || (cur[1] > '9'))           \
-        invalid = 1;                    \
-    else {                          \
-        int val;                        \
-        val = (cur[0] - '0') * 10 + (cur[1] - '0');     \
-        if (!func(val))                 \
-            invalid = 2;                    \
-        else                        \
-            num = val;                  \
-    }                           \
-    cur += 2;
-
-/**
- * FORMAT_2_DIGITS:
- * @num:  the integer to format
- * @cur: a pointer to an allocated buffer
- *
- * Formats a 2-digits integer. Result is appended to @cur and
- * @cur is updated to point after the integer.
- */
-#define FORMAT_2_DIGITS(num, cur)               \
-    *cur = '0' + ((num / 10) % 10);             \
-    cur++;                          \
-    *cur = '0' + (num % 10);                \
-    cur++;
-
-/**
- * PARSE_FLOAT:
- * @num:  the double to fill in
- * @cur:  an #xmlChar *
- * @invalid: an integer
- *
- * Parses a float and updates @num with the value. @cur is
- * updated to point just after the float. The float must have a
- * 2-digits integer part and may or may not have a decimal part.
- * In case of error, @invalid is set to %TRUE, values of @num and
- * @cur are undefined.
- */
-#define PARSE_FLOAT(num, cur, invalid)              \
-    PARSE_2_DIGITS(num, cur, VALID_ALWAYS, invalid);    \
-    if (!invalid && (*cur == '.')) {            \
-        double mult = 1;                        \
-        cur++;                      \
-        if ((*cur < '0') || (*cur > '9'))           \
-        invalid = 1;                    \
-        while ((*cur >= '0') && (*cur <= '9')) {        \
-        mult /= 10;                 \
-        num += (*cur - '0') * mult;         \
-        cur++;                      \
-        }                           \
-    }
-
-/**
- * FORMAT_FLOAT:
- * @num:  the double to format
- * @cur: a pointer to an allocated buffer
- * @pad: a flag for padding to 2 integer digits
- *
- * Formats a float. Result is appended to @cur and @cur is updated to
- * point after the integer. If the @pad flag is non-zero, then the
- * float representation has a minimum 2-digits integer part. The
- * fractional part is formatted if @num has a fractional value.
- */
-#define FORMAT_FLOAT(num, cur, pad)             \
-    {                           \
-            xmlChar *sav, *str;                                 \
-            if ((pad) && (num < 10.0))                          \
-                *cur++ = '0';                                   \
-            str = xmlXPathCastNumberToString(num);              \
-            sav = str;                                          \
-            while (*str != 0)                                   \
-                *cur++ = *str++;                                \
-            xmlFree(sav);                                       \
-    }
-
-/**
- * _exsltDateParseGMonth:
- * @dt:  pointer to a date structure
- * @str: pointer to the string to analyze
- *
- * Parses a xs:gMonth without time zone and fills in the appropriate
- * field of the @dt structure. @str is updated to point just after the
- * xs:gMonth.
- *
- * Returns 0 or the error code
- */
-static int
-_exsltDateParseGMonth (exsltDateValDatePtr dt, const xmlChar **str)
-{
-    const xmlChar *cur = *str;
-    int ret = 0;
-
-    PARSE_2_DIGITS(dt->mon, cur, VALID_MONTH, ret);
-    if (ret != 0)
-    return ret;
-
-    *str = cur;
-
-#ifdef DEBUG_EXSLT_DATE
-    xsltGenericDebug(xsltGenericDebugContext,
-             "Parsed month %02i\n", dt->mon);
-#endif
-
-    return 0;
-}
-
-/**
- * FORMAT_GMONTH:
- * @mon:  the month to format
- * @cur: a pointer to an allocated buffer
- *
- * Formats @mon in xsl:gMonth format. Result is appended to @cur and
- * @cur is updated to point after the xsl:gMonth.
- */
-#define FORMAT_GMONTH(mon, cur)                 \
-    FORMAT_2_DIGITS(mon, cur)
-
-/**
- * _exsltDateParseGDay:
- * @dt:  pointer to a date structure
- * @str: pointer to the string to analyze
- *
- * Parses a xs:gDay without time zone and fills in the appropriate
- * field of the @dt structure. @str is updated to point just after the
- * xs:gDay.
- *
- * Returns 0 or the error code
- */
-static int
-_exsltDateParseGDay (exsltDateValDatePtr dt, const xmlChar **str)
-{
-    const xmlChar *cur = *str;
-    int ret = 0;
-
-    PARSE_2_DIGITS(dt->day, cur, VALID_DAY, ret);
-    if (ret != 0)
-    return ret;
-
-    *str = cur;
-
-#ifdef DEBUG_EXSLT_DATE
-    xsltGenericDebug(xsltGenericDebugContext,
-             "Parsed day %02i\n", dt->day);
-#endif
-
-    return 0;
-}
-
-/**
- * FORMAT_GDAY:
- * @dt:  the #exsltDateValDate to format
- * @cur: a pointer to an allocated buffer
- *
- * Formats @dt in xsl:gDay format. Result is appended to @cur and
- * @cur is updated to point after the xsl:gDay.
- */
-#define FORMAT_GDAY(dt, cur)                    \
-    FORMAT_2_DIGITS(dt->day, cur)
-
-/**
- * FORMAT_DATE:
- * @dt:  the #exsltDateValDate to format
- * @cur: a pointer to an allocated buffer
- *
- * Formats @dt in xsl:date format. Result is appended to @cur and
- * @cur is updated to point after the xsl:date.
- */
-#define FORMAT_DATE(dt, cur)                    \
-    FORMAT_GYEAR(dt->year, cur);                \
-    *cur = '-';                     \
-    cur++;                          \
-    FORMAT_GMONTH(dt->mon, cur);                \
-    *cur = '-';                     \
-    cur++;                          \
-    FORMAT_GDAY(dt, cur);
-
-/**
- * _exsltDateParseTime:
- * @dt:  pointer to a date structure
- * @str: pointer to the string to analyze
- *
- * Parses a xs:time without time zone and fills in the appropriate
- * fields of the @dt structure. @str is updated to point just after the
- * xs:time.
- * In case of error, values of @dt fields are undefined.
- *
- * Returns 0 or the error code
- */
-static int
-_exsltDateParseTime (exsltDateValDatePtr dt, const xmlChar **str)
-{
-    const xmlChar *cur = *str;
-    unsigned int hour = 0; /* use temp var in case str is not xs:time */
-    int ret = 0;
-
-    PARSE_2_DIGITS(hour, cur, VALID_HOUR, ret);
-    if (ret != 0)
-    return ret;
-
-    if (*cur != ':')
-    return 1;
-    cur++;
-
-    /* the ':' insures this string is xs:time */
-    dt->hour = hour;
-
-    PARSE_2_DIGITS(dt->min, cur, VALID_MIN, ret);
-    if (ret != 0)
-    return ret;
-
-    if (*cur != ':')
-    return 1;
-    cur++;
-
-    PARSE_FLOAT(dt->sec, cur, ret);
-    if (ret != 0)
-    return ret;
-
-    if (!VALID_TIME(dt))
-    return 2;
-
-    *str = cur;
-
-#ifdef DEBUG_EXSLT_DATE
-    xsltGenericDebug(xsltGenericDebugContext,
-             "Parsed time %02i:%02i:%02.f\n",
-             dt->hour, dt->min, dt->sec);
-#endif
-
-    return 0;
-}
-
-/**
- * FORMAT_TIME:
- * @dt:  the #exsltDateValDate to format
- * @cur: a pointer to an allocated buffer
- *
- * Formats @dt in xsl:time format. Result is appended to @cur and
- * @cur is updated to point after the xsl:time.
- */
-#define FORMAT_TIME(dt, cur)                    \
-    FORMAT_2_DIGITS(dt->hour, cur);             \
-    *cur = ':';                     \
-    cur++;                          \
-    FORMAT_2_DIGITS(dt->min, cur);              \
-    *cur = ':';                     \
-    cur++;                          \
-    FORMAT_FLOAT(dt->sec, cur, 1);
-
-/**
- * _exsltDateParseTimeZone:
- * @dt:  pointer to a date structure
- * @str: pointer to the string to analyze
- *
- * Parses a time zone without time zone and fills in the appropriate
- * field of the @dt structure. @str is updated to point just after the
- * time zone.
- *
- * Returns 0 or the error code
- */
-static int
-_exsltDateParseTimeZone (exsltDateValDatePtr dt, const xmlChar **str)
-{
-    const xmlChar *cur;
-    int ret = 0;
-
-    if (str == NULL)
-    return -1;
-    cur = *str;
-    switch (*cur) {
-    case 0:
-    dt->tz_flag = 0;
-    dt->tzo = 0;
-    break;
-
-    case 'Z':
-    dt->tz_flag = 1;
-    dt->tzo = 0;
-    cur++;
-    break;
-
-    case '+':
-    case '-': {
-    int isneg = 0, tmp = 0;
-    isneg = (*cur == '-');
-
-    cur++;
-
-    PARSE_2_DIGITS(tmp, cur, VALID_HOUR, ret);
-    if (ret != 0)
-        return ret;
-
-    if (*cur != ':')
-        return 1;
-    cur++;
-
-    dt->tzo = tmp * 60;
-
-    PARSE_2_DIGITS(tmp, cur, VALID_MIN, ret);
-    if (ret != 0)
-        return ret;
-
-    dt->tzo += tmp;
-    if (isneg)
-        dt->tzo = - dt->tzo;
-
-    if (!VALID_TZO(dt->tzo))
-        return 2;
-
-    break;
-      }
-    default:
-    return 1;
-    }
-
-    *str = cur;
-
-#ifdef DEBUG_EXSLT_DATE
-    xsltGenericDebug(xsltGenericDebugContext,
-             "Parsed time zone offset (%s) %i\n",
-             dt->tz_flag ? "explicit" : "implicit", dt->tzo);
-#endif
-
-    return 0;
-}
-
-/**
- * FORMAT_TZ:
- * @tzo:  the timezone offset to format
- * @cur: a pointer to an allocated buffer
- *
- * Formats @tzo timezone. Result is appended to @cur and
- * @cur is updated to point after the timezone.
- */
-#define FORMAT_TZ(tzo, cur)                 \
-    if (tzo == 0) {                         \
-        *cur = 'Z';                     \
-        cur++;                      \
-    } else {                        \
-        int aTzo = (tzo < 0) ? - tzo : tzo;                 \
-        int tzHh = aTzo / 60, tzMm = aTzo % 60;     \
-        *cur = (tzo < 0) ? '-' : '+' ;          \
-        cur++;                      \
-        FORMAT_2_DIGITS(tzHh, cur);             \
-        *cur = ':';                     \
-        cur++;                      \
-        FORMAT_2_DIGITS(tzMm, cur);             \
-    }
-
-/****************************************************************
- *                              *
- *  XML Schema Dates/Times Datatypes Handling       *
- *                              *
- ****************************************************************/
-
-/**
- * exsltDateCreateDate:
- * @type:       type to create
- *
- * Creates a new #exsltDateVal, uninitialized.
- *
- * Returns the #exsltDateValPtr
- */
-static exsltDateValPtr
-exsltDateCreateDate (exsltDateType type)
-{
-    exsltDateValPtr ret;
-
-    ret = (exsltDateValPtr) xmlMalloc(sizeof(exsltDateVal));
-    if (ret == NULL) {
-    xsltGenericError(xsltGenericErrorContext,
-             "exsltDateCreateDate: out of memory\n");
-    return (NULL);
-    }
-    memset (ret, 0, sizeof(exsltDateVal));
-
-    if (type != EXSLT_UNKNOWN)
-        ret->type = type;
-
-    return ret;
-}
-
-/**
- * exsltDateFreeDate:
- * @date: an #exsltDateValPtr
- *
- * Frees up the @date
- */
-static void
-exsltDateFreeDate (exsltDateValPtr date) {
-    if (date == NULL)
-    return;
-
-    xmlFree(date);
-}
-
-/**
- * PARSE_DIGITS:
- * @num:  the integer to fill in
- * @cur:  an #xmlChar *
- * @num_type: an integer flag
- *
- * Parses a digits integer and updates @num with the value. @cur is
- * updated to point just after the integer.
- * In case of error, @num_type is set to -1, values of @num and
- * @cur are undefined.
- */
-#define PARSE_DIGITS(num, cur, num_type)                    \
-    if ((*cur < '0') || (*cur > '9'))           \
-        num_type = -1;                  \
-        else                                                    \
-        while ((*cur >= '0') && (*cur <= '9')) {        \
-            num = num * 10 + (*cur - '0');              \
-            cur++;                                          \
-            }
-
-/**
- * PARSE_NUM:
- * @num:  the double to fill in
- * @cur:  an #xmlChar *
- * @num_type: an integer flag
- *
- * Parses a float or integer and updates @num with the value. @cur is
- * updated to point just after the number. If the number is a float,
- * then it must have an integer part and a decimal part; @num_type will
- * be set to 1. If there is no decimal part, @num_type is set to zero.
- * In case of error, @num_type is set to -1, values of @num and
- * @cur are undefined.
- */
-#define PARSE_NUM(num, cur, num_type)               \
-        num = 0;                                                \
-    PARSE_DIGITS(num, cur, num_type);                   \
-    if (!num_type && (*cur == '.')) {           \
-        double mult = 1;                        \
-        cur++;                      \
-        if ((*cur < '0') || (*cur > '9'))           \
-        num_type = -1;                  \
-            else                                                \
-                num_type = 1;                                   \
-        while ((*cur >= '0') && (*cur <= '9')) {        \
-        mult /= 10;                 \
-        num += (*cur - '0') * mult;         \
-        cur++;                      \
-        }                           \
-    }
-
-#ifdef WITH_TIME
-/**
- * exsltDateCurrent:
- *
- * Returns the current date and time.
- */
-static exsltDateValPtr
-exsltDateCurrent (void)
-{
-    struct tm localTm, gmTm;
-    time_t secs;
-    int local_s, gm_s;
-    exsltDateValPtr ret;
-
-    ret = exsltDateCreateDate(XS_DATETIME);
-    if (ret == NULL)
-        return NULL;
-
-    /* get current time */
-    secs    = time(NULL);
-#if HAVE_LOCALTIME_R
-    localtime_r(&secs, &localTm);
-#else
-    localTm = *localtime(&secs);
-#endif
-
-    /* get real year, not years since 1900 */
-    ret->value.date.year = localTm.tm_year + 1900;
-
-    ret->value.date.mon  = localTm.tm_mon + 1;
-    ret->value.date.day  = localTm.tm_mday;
-    ret->value.date.hour = localTm.tm_hour;
-    ret->value.date.min  = localTm.tm_min;
-
-    /* floating point seconds */
-    ret->value.date.sec  = (double) localTm.tm_sec;
-
-    /* determine the time zone offset from local to gm time */
-#if HAVE_GMTIME_R
-    gmtime_r(&secs, &gmTm);
-#else
-    gmTm = *gmtime(&secs);
-#endif
-    ret->value.date.tz_flag = 0;
-#if 0
-    ret->value.date.tzo = (((ret->value.date.day * 1440) +
-                            (ret->value.date.hour * 60) +
-                             ret->value.date.min) -
-                           ((gmTm.tm_mday * 1440) + (gmTm.tm_hour * 60) +
-                             gmTm.tm_min));
-#endif
-    local_s = localTm.tm_hour * SECS_PER_HOUR +
-        localTm.tm_min * SECS_PER_MIN +
-        localTm.tm_sec;
-
-    gm_s = gmTm.tm_hour * SECS_PER_HOUR +
-        gmTm.tm_min * SECS_PER_MIN +
-        gmTm.tm_sec;
-
-    if (localTm.tm_year < gmTm.tm_year) {
-    ret->value.date.tzo = -((SECS_PER_DAY - local_s) + gm_s)/60;
-    } else if (localTm.tm_year > gmTm.tm_year) {
-    ret->value.date.tzo = ((SECS_PER_DAY - gm_s) + local_s)/60;
-    } else if (localTm.tm_mon < gmTm.tm_mon) {
-    ret->value.date.tzo = -((SECS_PER_DAY - local_s) + gm_s)/60;
-    } else if (localTm.tm_mon > gmTm.tm_mon) {
-    ret->value.date.tzo = ((SECS_PER_DAY - gm_s) + local_s)/60;
-    } else if (localTm.tm_mday < gmTm.tm_mday) {
-    ret->value.date.tzo = -((SECS_PER_DAY - local_s) + gm_s)/60;
-    } else if (localTm.tm_mday > gmTm.tm_mday) {
-    ret->value.date.tzo = ((SECS_PER_DAY - gm_s) + local_s)/60;
-    } else  {
-    ret->value.date.tzo = (local_s - gm_s)/60;
-    }
-
-    return ret;
-}
-#endif
-
-/**
- * exsltDateParse:
- * @dateTime:  string to analyze
- *
- * Parses a date/time string
- *
- * Returns a newly built #exsltDateValPtr of NULL in case of error
- */
-static exsltDateValPtr
-exsltDateParse (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt;
-    int ret;
-    const xmlChar *cur = dateTime;
-
-#define RETURN_TYPE_IF_VALID(t)                 \
-    if (IS_TZO_CHAR(*cur)) {                    \
-    ret = _exsltDateParseTimeZone(&(dt->value.date), &cur); \
-    if (ret == 0) {                     \
-        if (*cur != 0)                  \
-        goto error;                 \
-        dt->type = t;                   \
-        return dt;                      \
-    }                           \
-    }
-
-    if (dateTime == NULL)
-    return NULL;
-
-    if ((*cur != '-') && (*cur < '0') && (*cur > '9'))
-    return NULL;
-
-    dt = exsltDateCreateDate(EXSLT_UNKNOWN);
-    if (dt == NULL)
-    return NULL;
-
-    if ((cur[0] == '-') && (cur[1] == '-')) {
-    /*
-     * It's an incomplete date (xs:gMonthDay, xs:gMonth or
-     * xs:gDay)
-     */
-    cur += 2;
-
-    /* is it an xs:gDay? */
-    if (*cur == '-') {
-      ++cur;
-        ret = _exsltDateParseGDay(&(dt->value.date), &cur);
-        if (ret != 0)
-        goto error;
-
-        RETURN_TYPE_IF_VALID(XS_GDAY);
-
-        goto error;
-    }
-
-    /*
-     * it should be an xs:gMonthDay or xs:gMonth
-     */
-    ret = _exsltDateParseGMonth(&(dt->value.date), &cur);
-    if (ret != 0)
-        goto error;
-
-    if (*cur != '-')
-        goto error;
-    cur++;
-
-    /* is it an xs:gMonth? */
-    if (*cur == '-') {
-        cur++;
-        RETURN_TYPE_IF_VALID(XS_GMONTH);
-        goto error;
-    }
-
-    /* it should be an xs:gMonthDay */
-    ret = _exsltDateParseGDay(&(dt->value.date), &cur);
-    if (ret != 0)
-        goto error;
-
-    RETURN_TYPE_IF_VALID(XS_GMONTHDAY);
-
-    goto error;
-    }
-
-    /*
-     * It's a right-truncated date or an xs:time.
-     * Try to parse an xs:time then fallback on right-truncated dates.
-     */
-    if ((*cur >= '0') && (*cur <= '9')) {
-    ret = _exsltDateParseTime(&(dt->value.date), &cur);
-    if (ret == 0) {
-        /* it's an xs:time */
-        RETURN_TYPE_IF_VALID(XS_TIME);
-    }
-    }
-
-    /* fallback on date parsing */
-    cur = dateTime;
-
-    ret = _exsltDateParseGYear(&(dt->value.date), &cur);
-    if (ret != 0)
-    goto error;
-
-    /* is it an xs:gYear? */
-    RETURN_TYPE_IF_VALID(XS_GYEAR);
-
-    if (*cur != '-')
-    goto error;
-    cur++;
-
-    ret = _exsltDateParseGMonth(&(dt->value.date), &cur);
-    if (ret != 0)
-    goto error;
-
-    /* is it an xs:gYearMonth? */
-    RETURN_TYPE_IF_VALID(XS_GYEARMONTH);
-
-    if (*cur != '-')
-    goto error;
-    cur++;
-
-    ret = _exsltDateParseGDay(&(dt->value.date), &cur);
-    if ((ret != 0) || !VALID_DATE((&(dt->value.date))))
-    goto error;
-
-    /* is it an xs:date? */
-    RETURN_TYPE_IF_VALID(XS_DATE);
-
-    if (*cur != 'T')
-    goto error;
-    cur++;
-
-    /* it should be an xs:dateTime */
-    ret = _exsltDateParseTime(&(dt->value.date), &cur);
-    if (ret != 0)
-    goto error;
-
-    ret = _exsltDateParseTimeZone(&(dt->value.date), &cur);
-    if ((ret != 0) || (*cur != 0) || !VALID_DATETIME((&(dt->value.date))))
-    goto error;
-
-    dt->type = XS_DATETIME;
-
-    return dt;
-
-error:
-    if (dt != NULL)
-    exsltDateFreeDate(dt);
-    return NULL;
-}
-
-/**
- * exsltDateParseDuration:
- * @duration:  string to analyze
- *
- * Parses a duration string
- *
- * Returns a newly built #exsltDateValPtr of NULL in case of error
- */
-static exsltDateValPtr
-exsltDateParseDuration (const xmlChar *duration)
-{
-    const xmlChar  *cur = duration;
-    exsltDateValPtr dur;
-    int isneg = 0;
-    unsigned int seq = 0;
-
-    if (duration == NULL)
-    return NULL;
-
-    if (*cur == '-') {
-        isneg = 1;
-        cur++;
-    }
-
-    /* duration must start with 'P' (after sign) */
-    if (*cur++ != 'P')
-    return NULL;
-
-    dur = exsltDateCreateDate(XS_DURATION);
-    if (dur == NULL)
-    return NULL;
-
-    while (*cur != 0) {
-        double         num;
-        int            num_type = 0;  /* -1 = invalid, 0 = int, 1 = floating */
-        const xmlChar  desig[] = {'Y', 'M', 'D', 'H', 'M', 'S'};
-        const double   multi[] = { 0.0, 0.0, 86400.0, 3600.0, 60.0, 1.0, 0.0};
-
-        /* input string should be empty or invalid date/time item */
-        if (seq >= sizeof(desig))
-            goto error;
-
-        /* T designator must be present for time items */
-        if (*cur == 'T') {
-            if (seq <= 3) {
-                seq = 3;
-                cur++;
-            } else
-                return NULL;
-        } else if (seq == 3)
-            goto error;
-
-        /* parse the number portion of the item */
-        PARSE_NUM(num, cur, num_type);
-
-        if ((num_type == -1) || (*cur == 0))
-            goto error;
-
-        /* update duration based on item type */
-        while (seq < sizeof(desig)) {
-            if (*cur == desig[seq]) {
-
-                /* verify numeric type; only seconds can be float */
-                if ((num_type != 0) && (seq < (sizeof(desig)-1)))
-                    goto error;
-
-                switch (seq) {
-                    case 0:
-                        dur->value.dur.mon = (long)num * 12;
-                        break;
-                    case 1:
-                        dur->value.dur.mon += (long)num;
-                        break;
-                    default:
-                        /* convert to seconds using multiplier */
-                        dur->value.dur.sec += num * multi[seq];
-                        seq++;
-                        break;
-                }
-
-                break;          /* exit loop */
-            }
-            /* no date designators found? */
-            if (++seq == 3)
-                goto error;
-        }
-        cur++;
-    }
-
-    if (isneg) {
-        dur->value.dur.mon = -dur->value.dur.mon;
-        dur->value.dur.day = -dur->value.dur.day;
-        dur->value.dur.sec = -dur->value.dur.sec;
-    }
-
-#ifdef DEBUG_EXSLT_DATE
-    xsltGenericDebug(xsltGenericDebugContext,
-             "Parsed duration %f\n", dur->value.dur.sec);
-#endif
-
-    return dur;
-
-error:
-    if (dur != NULL)
-    exsltDateFreeDate(dur);
-    return NULL;
-}
-
-/**
- * FORMAT_ITEM:
- * @num:        number to format
- * @cur:        current location to convert number
- * @limit:      max value
- * @item:       char designator
- *
- */
-#define FORMAT_ITEM(num, cur, limit, item)                      \
-        if (num != 0) {                                         \
-            long comp = (long)num / limit;                      \
-            if (comp != 0) {                                    \
-                FORMAT_FLOAT((double)comp, cur, 0);             \
-                *cur++ = item;                                  \
-                num -= (double)(comp * limit);                  \
-            }                                                   \
-        }
-
-/**
- * exsltDateFormatDuration:
- * @dt: an #exsltDateValDurationPtr
- *
- * Formats @dt in xs:duration format.
- *
- * Returns a newly allocated string, or NULL in case of error
- */
-static xmlChar *
-exsltDateFormatDuration (const exsltDateValDurationPtr dt)
-{
-    xmlChar buf[100], *cur = buf;
-    double secs, days;
-    double years, months;
-
-    if (dt == NULL)
-    return NULL;
-
-    /* quick and dirty check */
-    if ((dt->sec == 0.0) && (dt->day == 0) && (dt->mon == 0))
-        return xmlStrdup((xmlChar*)"P0D");
-
-    secs   = dt->sec;
-    days   = (double)dt->day;
-    years  = (double)(dt->mon / 12);
-    months = (double)(dt->mon % 12);
-
-    *cur = '\0';
-    if (secs < 0.0) {
-        secs = -secs;
-        *cur = '-';
-    }
-    if (days < 0) {
-        days = -days;
-        *cur = '-';
-    }
-    if (years < 0) {
-        years = -years;
-        *cur = '-';
-    }
-    if (months < 0) {
-        months = -months;
-        *cur = '-';
-    }
-    if (*cur == '-')
-    cur++;
-
-    *cur++ = 'P';
-
-    if (years != 0.0) {
-        FORMAT_ITEM(years, cur, 1, 'Y');
-    }
-
-    if (months != 0.0) {
-        FORMAT_ITEM(months, cur, 1, 'M');
-    }
-
-    if (secs >= SECS_PER_DAY) {
-        double tmp = floor(secs / SECS_PER_DAY);
-        days += tmp;
-        secs -= (tmp * SECS_PER_DAY);
-    }
-
-    FORMAT_ITEM(days, cur, 1, 'D');
-    if (secs > 0.0) {
-        *cur++ = 'T';
-    }
-    FORMAT_ITEM(secs, cur, SECS_PER_HOUR, 'H');
-    FORMAT_ITEM(secs, cur, SECS_PER_MIN, 'M');
-    if (secs > 0.0) {
-        FORMAT_FLOAT(secs, cur, 0);
-        *cur++ = 'S';
-    }
-
-    *cur = 0;
-
-    return xmlStrdup(buf);
-}
-
-/**
- * exsltDateFormatDateTime:
- * @dt: an #exsltDateValDatePtr
- *
- * Formats @dt in xs:dateTime format.
- *
- * Returns a newly allocated string, or NULL in case of error
- */
-static xmlChar *
-exsltDateFormatDateTime (const exsltDateValDatePtr dt)
-{
-    xmlChar buf[100], *cur = buf;
-
-    if ((dt == NULL) || !VALID_DATETIME(dt))
-    return NULL;
-
-    FORMAT_DATE(dt, cur);
-    *cur = 'T';
-    cur++;
-    FORMAT_TIME(dt, cur);
-    FORMAT_TZ(dt->tzo, cur);
-    *cur = 0;
-
-    return xmlStrdup(buf);
-}
-
-/**
- * exsltDateFormatDate:
- * @dt: an #exsltDateValDatePtr
- *
- * Formats @dt in xs:date format.
- *
- * Returns a newly allocated string, or NULL in case of error
- */
-static xmlChar *
-exsltDateFormatDate (const exsltDateValDatePtr dt)
-{
-    xmlChar buf[100], *cur = buf;
-
-    if ((dt == NULL) || !VALID_DATETIME(dt))
-    return NULL;
-
-    FORMAT_DATE(dt, cur);
-    if (dt->tz_flag || (dt->tzo != 0)) {
-    FORMAT_TZ(dt->tzo, cur);
-    }
-    *cur = 0;
-
-    return xmlStrdup(buf);
-}
-
-/**
- * exsltDateFormatTime:
- * @dt: an #exsltDateValDatePtr
- *
- * Formats @dt in xs:time format.
- *
- * Returns a newly allocated string, or NULL in case of error
- */
-static xmlChar *
-exsltDateFormatTime (const exsltDateValDatePtr dt)
-{
-    xmlChar buf[100], *cur = buf;
-
-    if ((dt == NULL) || !VALID_TIME(dt))
-    return NULL;
-
-    FORMAT_TIME(dt, cur);
-    if (dt->tz_flag || (dt->tzo != 0)) {
-    FORMAT_TZ(dt->tzo, cur);
-    }
-    *cur = 0;
-
-    return xmlStrdup(buf);
-}
-
-/**
- * exsltDateFormat:
- * @dt: an #exsltDateValPtr
- *
- * Formats @dt in the proper format.
- * Note: xs:gmonth and xs:gday are not formatted as there are no
- * routines that output them.
- *
- * Returns a newly allocated string, or NULL in case of error
- */
-static xmlChar *
-exsltDateFormat (const exsltDateValPtr dt)
-{
-
-    if (dt == NULL)
-    return NULL;
-
-    switch (dt->type) {
-    case XS_DURATION:
-        return exsltDateFormatDuration(&(dt->value.dur));
-    case XS_DATETIME:
-        return exsltDateFormatDateTime(&(dt->value.date));
-    case XS_DATE:
-        return exsltDateFormatDate(&(dt->value.date));
-    case XS_TIME:
-        return exsltDateFormatTime(&(dt->value.date));
-    default:
-        break;
-    }
-
-    if (dt->type & XS_GYEAR) {
-        xmlChar buf[20], *cur = buf;
-
-        FORMAT_GYEAR(dt->value.date.year, cur);
-        if (dt->type == XS_GYEARMONTH) {
-        *cur = '-';
-        cur++;
-        FORMAT_GMONTH(dt->value.date.mon, cur);
-        }
-
-        if (dt->value.date.tz_flag || (dt->value.date.tzo != 0)) {
-        FORMAT_TZ(dt->value.date.tzo, cur);
-        }
-        *cur = 0;
-        return xmlStrdup(buf);
-    }
-
-    return NULL;
-}
-
-/**
- * _exsltDateCastYMToDays:
- * @dt: an #exsltDateValPtr
- *
- * Convert mon and year of @dt to total number of days. Take the
- * number of years since (or before) 1 AD and add the number of leap
- * years. This is a function  because negative
- * years must be handled a little differently and there is no zero year.
- *
- * Returns number of days.
- */
-static long
-_exsltDateCastYMToDays (const exsltDateValPtr dt)
-{
-    long ret;
-
-    if (dt->value.date.year < 0)
-        ret = (dt->value.date.year * 365) +
-              (((dt->value.date.year+1)/4)-((dt->value.date.year+1)/100)+
-               ((dt->value.date.year+1)/400)) +
-              DAY_IN_YEAR(0, dt->value.date.mon, dt->value.date.year);
-    else
-        ret = ((dt->value.date.year-1) * 365) +
-              (((dt->value.date.year-1)/4)-((dt->value.date.year-1)/100)+
-               ((dt->value.date.year-1)/400)) +
-              DAY_IN_YEAR(0, dt->value.date.mon, dt->value.date.year);
-
-    return ret;
-}
-
-/**
- * TIME_TO_NUMBER:
- * @dt:  an #exsltDateValPtr
- *
- * Calculates the number of seconds in the time portion of @dt.
- *
- * Returns seconds.
- */
-#define TIME_TO_NUMBER(dt)                              \
-    ((double)((dt->value.date.hour * SECS_PER_HOUR) +   \
-              (dt->value.date.min * SECS_PER_MIN)) + dt->value.date.sec)
-
-/**
- * exsltDateCastDateToNumber:
- * @dt:  an #exsltDateValPtr
- *
- * Calculates the number of seconds from year zero.
- *
- * Returns seconds from zero year.
- */
-static double
-exsltDateCastDateToNumber (const exsltDateValPtr dt)
-{
-    double ret = 0.0;
-
-    if (dt == NULL)
-        return 0.0;
-
-    if ((dt->type & XS_GYEAR) == XS_GYEAR) {
-        ret = (double)_exsltDateCastYMToDays(dt) * SECS_PER_DAY;
-    }
-
-    /* add in days */
-    if (dt->type == XS_DURATION) {
-        ret += (double)dt->value.dur.day * SECS_PER_DAY;
-        ret += dt->value.dur.sec;
-    } else {
-        ret += (double)dt->value.date.day * SECS_PER_DAY;
-        /* add in time */
-        ret += TIME_TO_NUMBER(dt);
-    }
-
-
-    return ret;
-}
-
-/**
- * _exsltDateTruncateDate:
- * @dt: an #exsltDateValPtr
- * @type: dateTime type to set to
- *
- * Set @dt to truncated @type.
- *
- * Returns 0 success, non-zero otherwise.
- */
-static int
-_exsltDateTruncateDate (exsltDateValPtr dt, exsltDateType type)
-{
-    if (dt == NULL)
-        return 1;
-
-    if ((type & XS_TIME) != XS_TIME) {
-        dt->value.date.hour = 0;
-        dt->value.date.min  = 0;
-        dt->value.date.sec  = 0.0;
-    }
-
-    if ((type & XS_GDAY) != XS_GDAY)
-        dt->value.date.day = 0;
-
-    if ((type & XS_GMONTH) != XS_GMONTH)
-        dt->value.date.mon = 0;
-
-    if ((type & XS_GYEAR) != XS_GYEAR)
-        dt->value.date.year = 0;
-
-    dt->type = type;
-
-    return 0;
-}
-
-/**
- * _exsltDayInWeek:
- * @yday: year day (1-366)
- * @yr: year
- *
- * Determine the day-in-week from @yday and @yr. 0001-01-01 was
- * a Monday so all other days are calculated from there. Take the
- * number of years since (or before) add the number of leap years and
- * the day-in-year and mod by 7. This is a function  because negative
- * years must be handled a little differently and there is no zero year.
- *
- * Returns day in week (Sunday = 0).
- */
-static long
-_exsltDateDayInWeek(long yday, long yr)
-{
-    long ret;
-
-    if (yr < 0) {
-        ret = ((yr + (((yr+1)/4)-((yr+1)/100)+((yr+1)/400)) + yday) % 7);
-        if (ret < 0)
-            ret += 7;
-    } else
-        ret = (((yr-1) + (((yr-1)/4)-((yr-1)/100)+((yr-1)/400)) + yday) % 7);
-
-    return ret;
-}
-
-/*
- * macros for adding date/times and durations
- */
-#define FQUOTIENT(a,b)                  ((floor(((double)a/(double)b))))
-#define MODULO(a,b)                     ((a - FQUOTIENT(a,b) * b))
-#define FQUOTIENT_RANGE(a,low,high)     (FQUOTIENT((a-low),(high-low)))
-#define MODULO_RANGE(a,low,high)        ((MODULO((a-low),(high-low)))+low)
-
-/**
- * _exsltDateAdd:
- * @dt: an #exsltDateValPtr
- * @dur: an #exsltDateValPtr of type #XS_DURATION
- *
- * Compute a new date/time from @dt and @dur. This function assumes @dt
- * is either #XS_DATETIME, #XS_DATE, #XS_GYEARMONTH, or #XS_GYEAR.
- *
- * Returns date/time pointer or NULL.
- */
-static exsltDateValPtr
-_exsltDateAdd (exsltDateValPtr dt, exsltDateValPtr dur)
-{
-    exsltDateValPtr ret;
-    long carry, tempdays, temp;
-    exsltDateValDatePtr r, d;
-    exsltDateValDurationPtr u;
-
-    if ((dt == NULL) || (dur == NULL))
-        return NULL;
-
-    ret = exsltDateCreateDate(dt->type);
-    if (ret == NULL)
-        return NULL;
-
-    r = &(ret->value.date);
-    d = &(dt->value.date);
-    u = &(dur->value.dur);
-
-    /* normalization */
-    if (d->mon == 0)
-        d->mon = 1;
-
-    /* normalize for time zone offset */
-    u->sec -= (d->tzo * 60);    /* changed from + to - (bug 153000) */
-    d->tzo = 0;
-
-    /* normalization */
-    if (d->day == 0)
-        d->day = 1;
-
-    /* month */
-    carry  = d->mon + u->mon;
-    r->mon = (unsigned int)MODULO_RANGE(carry, 1, 13);
-    carry  = (long)FQUOTIENT_RANGE(carry, 1, 13);
-
-    /* year (may be modified later) */
-    r->year = d->year + carry;
-    if (r->year == 0) {
-        if (d->year > 0)
-            r->year--;
-        else
-            r->year++;
-    }
-
-    /* time zone */
-    r->tzo     = d->tzo;
-    r->tz_flag = d->tz_flag;
-
-    /* seconds */
-    r->sec = d->sec + u->sec;
-    carry  = (long)FQUOTIENT((long)r->sec, 60);
-    if (r->sec != 0.0) {
-        r->sec = MODULO(r->sec, 60.0);
-    }
-
-    /* minute */
-    carry += d->min;
-    r->min = (unsigned int)MODULO(carry, 60);
-    carry  = (long)FQUOTIENT(carry, 60);
-
-    /* hours */
-    carry  += d->hour;
-    r->hour = (unsigned int)MODULO(carry, 24);
-    carry   = (long)FQUOTIENT(carry, 24);
-
-    /*
-     * days
-     * Note we use tempdays because the temporary values may need more
-     * than 5 bits
-     */
-    if ((VALID_YEAR(r->year)) && (VALID_MONTH(r->mon)) &&
-                  (d->day > MAX_DAYINMONTH(r->year, r->mon)))
-        tempdays = MAX_DAYINMONTH(r->year, r->mon);
-    else if (d->day < 1)
-        tempdays = 1;
-    else
-        tempdays = d->day;
-
-    tempdays += u->day + carry;
-
-    while (1) {
-        if (tempdays < 1) {
-            long tmon = (long)MODULO_RANGE((int)r->mon-1, 1, 13);
-            long tyr  = r->year + (long)FQUOTIENT_RANGE((int)r->mon-1, 1, 13);
-            if (tyr == 0)
-                tyr--;
-        /*
-         * Coverity detected an overrun in daysInMonth
-         * of size 12 at position 12 with index variable "((r)->mon - 1)"
-         */
-        if (tmon < 0)
-            tmon = 0;
-        if (tmon > 12)
-            tmon = 12;
-            tempdays += MAX_DAYINMONTH(tyr, tmon);
-            carry = -1;
-        } else if (tempdays > (long)MAX_DAYINMONTH(r->year, r->mon)) {
-            tempdays = tempdays - MAX_DAYINMONTH(r->year, r->mon);
-            carry = 1;
-        } else
-            break;
-
-        temp = r->mon + carry;
-        r->mon = (unsigned int)MODULO_RANGE(temp, 1, 13);
-        r->year = r->year + (long)FQUOTIENT_RANGE(temp, 1, 13);
-        if (r->year == 0) {
-            if (temp < 1)
-                r->year--;
-            else
-                r->year++;
-    }
-    }
-
-    r->day = tempdays;
-
-    /*
-     * adjust the date/time type to the date values
-     */
-    if (ret->type != XS_DATETIME) {
-        if ((r->hour) || (r->min) || (r->sec))
-            ret->type = XS_DATETIME;
-        else if (ret->type != XS_DATE) {
-            if (r->day != 1)
-                ret->type = XS_DATE;
-            else if ((ret->type != XS_GYEARMONTH) && (r->mon != 1))
-                ret->type = XS_GYEARMONTH;
-        }
-    }
-
-    return ret;
-}
-
-/**
- * exsltDateNormalize:
- * @dt: an #exsltDateValPtr
- *
- * Normalize @dt to GMT time.
- *
- */
-static void
-exsltDateNormalize (exsltDateValPtr dt)
-{
-    exsltDateValPtr dur, tmp;
-
-    if (dt == NULL)
-        return;
-
-    if (((dt->type & XS_TIME) != XS_TIME) && (dt->value.date.tzo == 0))
-        return;
-
-    dur = exsltDateCreateDate(XS_DURATION);
-    if (dur == NULL)
-        return;
-
-    tmp = _exsltDateAdd(dt, dur);
-    if (tmp == NULL)
-        return;
-
-    memcpy(dt, tmp, sizeof(exsltDateVal));
-
-    exsltDateFreeDate(tmp);
-    exsltDateFreeDate(dur);
-
-    dt->value.date.tzo = 0;
-}
-
-/**
- * _exsltDateDifference:
- * @x: an #exsltDateValPtr
- * @y: an #exsltDateValPtr
- * @flag: force difference in days
- *
- * Calculate the difference between @x and @y as a duration
- * (i.e. y - x). If the @flag is set then even if the least specific
- * format of @x or @y is xs:gYear or xs:gYearMonth.
- *
- * Returns date/time pointer or NULL.
- */
-static exsltDateValPtr
-_exsltDateDifference (exsltDateValPtr x, exsltDateValPtr y, int flag)
-{
-    exsltDateValPtr ret;
-
-    if ((x == NULL) || (y == NULL))
-        return NULL;
-
-    if (((x->type < XS_GYEAR) || (x->type > XS_DATETIME)) ||
-        ((y->type < XS_GYEAR) || (y->type > XS_DATETIME)))
-        return NULL;
-
-    exsltDateNormalize(x);
-    exsltDateNormalize(y);
-
-    /*
-     * the operand with the most specific format must be converted to
-     * the same type as the operand with the least specific format.
-     */
-    if (x->type != y->type) {
-        if (x->type < y->type) {
-            _exsltDateTruncateDate(y, x->type);
-        } else {
-            _exsltDateTruncateDate(x, y->type);
-        }
-    }
-
-    ret = exsltDateCreateDate(XS_DURATION);
-    if (ret == NULL)
-        return NULL;
-
-    if (((x->type == XS_GYEAR) || (x->type == XS_GYEARMONTH)) && (!flag)) {
-        /* compute the difference in months */
-        ret->value.dur.mon = ((y->value.date.year * 12) + y->value.date.mon) -
-                             ((x->value.date.year * 12) + x->value.date.mon);
-    /* The above will give a wrong result if x and y are on different sides
-     of the September 1752. Resolution is welcome :-) */
-    } else {
-        ret->value.dur.day  = _exsltDateCastYMToDays(y) -
-                              _exsltDateCastYMToDays(x);
-        ret->value.dur.day += y->value.date.day - x->value.date.day;
-        ret->value.dur.sec  = TIME_TO_NUMBER(y) - TIME_TO_NUMBER(x);
-    if (ret->value.dur.day > 0.0 && ret->value.dur.sec < 0.0) {
-        ret->value.dur.day -= 1;
-        ret->value.dur.sec = ret->value.dur.sec + SECS_PER_DAY;
-    } else if (ret->value.dur.day < 0.0 && ret->value.dur.sec > 0.0) {
-        ret->value.dur.day += 1;
-        ret->value.dur.sec = ret->value.dur.sec - SECS_PER_DAY;
-    }
-    }
-
-    return ret;
-}
-
-/**
- * _exsltDateAddDurCalc
- * @ret: an exsltDateValPtr for the return value:
- * @x: an exsltDateValPtr for the first operand
- * @y: an exsltDateValPtr for the second operand
- *
- * Add two durations, catering for possible negative values.
- * The sum is placed in @ret.
- *
- * Returns 1 for success, 0 if error detected.
- */
-static int
-_exsltDateAddDurCalc (exsltDateValPtr ret, exsltDateValPtr x,
-              exsltDateValPtr y)
-{
-    long carry;
-
-    /* months */
-    ret->value.dur.mon = x->value.dur.mon + y->value.dur.mon;
-
-    /* seconds */
-    ret->value.dur.sec = x->value.dur.sec + y->value.dur.sec;
-    carry = (long)FQUOTIENT(ret->value.dur.sec, SECS_PER_DAY);
-    if (ret->value.dur.sec != 0.0) {
-        ret->value.dur.sec = MODULO(ret->value.dur.sec, SECS_PER_DAY);
-    /*
-     * Our function MODULO always gives us a positive value, so
-     * if we end up with a "-ve" carry we need to adjust it
-     * appropriately (bug 154021)
-     */
-    if ((carry < 0) && (ret->value.dur.sec != 0)) {
-        /* change seconds to equiv negative modulus */
-        ret->value.dur.sec = ret->value.dur.sec - SECS_PER_DAY;
-        carry++;
-    }
-    }
-
-    /* days */
-    ret->value.dur.day = x->value.dur.day + y->value.dur.day + carry;
-
-    /*
-     * are the results indeterminate? i.e. how do you subtract days from
-     * months or years?
-     */
-    if ((((ret->value.dur.day > 0) || (ret->value.dur.sec > 0)) &&
-         (ret->value.dur.mon < 0)) ||
-        (((ret->value.dur.day < 0) || (ret->value.dur.sec < 0)) &&
-         (ret->value.dur.mon > 0))) {
-        return 0;
-    }
-    return 1;
-}
-
-/**
- * _exsltDateAddDuration:
- * @x: an #exsltDateValPtr of type #XS_DURATION
- * @y: an #exsltDateValPtr of type #XS_DURATION
- *
- * Compute a new duration from @x and @y.
- *
- * Returns date/time pointer or NULL.
- */
-static exsltDateValPtr
-_exsltDateAddDuration (exsltDateValPtr x, exsltDateValPtr y)
-{
-    exsltDateValPtr ret;
-
-    if ((x == NULL) || (y == NULL))
-        return NULL;
-
-    ret = exsltDateCreateDate(XS_DURATION);
-    if (ret == NULL)
-        return NULL;
-
-    if (_exsltDateAddDurCalc(ret, x, y))
-        return ret;
-
-    exsltDateFreeDate(ret);
-    return NULL;
-}
-
-/****************************************************************
- *                              *
- *      EXSLT - Dates and Times functions       *
- *                              *
- ****************************************************************/
-
-/**
- * exsltDateDateTime:
- *
- * Implements the EXSLT - Dates and Times date-time() function:
- *     string date:date-time()
- *
- * Returns the current date and time as a date/time string.
- */
-static xmlChar *
-exsltDateDateTime (void)
-{
-    xmlChar *ret = NULL;
-#ifdef WITH_TIME
-    exsltDateValPtr cur;
-
-    cur = exsltDateCurrent();
-    if (cur != NULL) {
-    ret = exsltDateFormatDateTime(&(cur->value.date));
-    exsltDateFreeDate(cur);
-    }
-#endif
-
-    return ret;
-}
-
-/**
- * exsltDateDate:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times date() function:
- *     string date:date (string?)
- *
- * Returns the date specified in the date/time string given as the
- * argument.  If no argument is given, then the current local
- * date/time, as returned by date:date-time is used as a default
- * argument.
- * The date/time string specified as an argument must be a string in
- * the format defined as the lexical representation of either
- * xs:dateTime or xs:date.  If the argument is not in either of these
- * formats, returns NULL.
- */
-static xmlChar *
-exsltDateDate (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt = NULL;
-    xmlChar *ret = NULL;
-
-    if (dateTime == NULL) {
-#ifdef WITH_TIME
-    dt = exsltDateCurrent();
-    if (dt == NULL)
-#endif
-        return NULL;
-    } else {
-    dt = exsltDateParse(dateTime);
-    if (dt == NULL)
-        return NULL;
-    if ((dt->type != XS_DATETIME) && (dt->type != XS_DATE)) {
-        exsltDateFreeDate(dt);
-        return NULL;
-    }
-    }
-
-    ret = exsltDateFormatDate(&(dt->value.date));
-    exsltDateFreeDate(dt);
-
-    return ret;
-}
-
-/**
- * exsltDateTime:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times time() function:
- *     string date:time (string?)
- *
- * Returns the time specified in the date/time string given as the
- * argument.  If no argument is given, then the current local
- * date/time, as returned by date:date-time is used as a default
- * argument.
- * The date/time string specified as an argument must be a string in
- * the format defined as the lexical representation of either
- * xs:dateTime or xs:time.  If the argument is not in either of these
- * formats, returns NULL.
- */
-static xmlChar *
-exsltDateTime (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt = NULL;
-    xmlChar *ret = NULL;
-
-    if (dateTime == NULL) {
-#ifdef WITH_TIME
-    dt = exsltDateCurrent();
-    if (dt == NULL)
-#endif
-        return NULL;
-    } else {
-    dt = exsltDateParse(dateTime);
-    if (dt == NULL)
-        return NULL;
-    if ((dt->type != XS_DATETIME) && (dt->type != XS_TIME)) {
-        exsltDateFreeDate(dt);
-        return NULL;
-    }
-    }
-
-    ret = exsltDateFormatTime(&(dt->value.date));
-    exsltDateFreeDate(dt);
-
-    return ret;
-}
-
-/**
- * exsltDateYear:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times year() function
- *    number date:year (string?)
- * Returns the year of a date as a number.  If no argument is given,
- * then the current local date/time, as returned by date:date-time is
- * used as a default argument.
- * The date/time string specified as the first argument must be a
- * right-truncated string in the format defined as the lexical
- * representation of xs:dateTime in one of the formats defined in [XML
- * Schema Part 2: Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- *  - xs:gYearMonth (CCYY-MM)
- *  - xs:gYear (CCYY)
- * If the date/time string is not in one of these formats, then NaN is
- * returned.
- */
-static double
-exsltDateYear (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt;
-    double ret;
-
-    if (dateTime == NULL) {
-#ifdef WITH_TIME
-    dt = exsltDateCurrent();
-    if (dt == NULL)
-#endif
-        return xmlXPathNAN;
-    } else {
-    dt = exsltDateParse(dateTime);
-    if (dt == NULL)
-        return xmlXPathNAN;
-    if ((dt->type != XS_DATETIME) && (dt->type != XS_DATE) &&
-        (dt->type != XS_GYEARMONTH) && (dt->type != XS_GYEAR)) {
-        exsltDateFreeDate(dt);
-        return xmlXPathNAN;
-    }
-    }
-
-    ret = (double) dt->value.date.year;
-    exsltDateFreeDate(dt);
-
-    return ret;
-}
-
-/**
- * exsltDateLeapYear:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times leap-year() function:
- *    boolean date:leap-yea (string?)
- * Returns true if the year given in a date is a leap year.  If no
- * argument is given, then the current local date/time, as returned by
- * date:date-time is used as a default argument.
- * The date/time string specified as the first argument must be a
- * right-truncated string in the format defined as the lexical
- * representation of xs:dateTime in one of the formats defined in [XML
- * Schema Part 2: Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- *  - xs:gYearMonth (CCYY-MM)
- *  - xs:gYear (CCYY)
- * If the date/time string is not in one of these formats, then NaN is
- * returned.
- */
-static xmlXPathObjectPtr
-exsltDateLeapYear (const xmlChar *dateTime)
-{
-    double year;
-
-    year = exsltDateYear(dateTime);
-    if (xmlXPathIsNaN(year))
-    return xmlXPathNewFloat(xmlXPathNAN);
-
-    if (IS_LEAP((long)year))
-    return xmlXPathNewBoolean(1);
-
-    return xmlXPathNewBoolean(0);
-}
-
-/**
- * exsltDateMonthInYear:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times month-in-year() function:
- *    number date:month-in-year (string?)
- * Returns the month of a date as a number.  If no argument is given,
- * then the current local date/time, as returned by date:date-time is
- * used the default argument.
- * The date/time string specified as the argument is a left or
- * right-truncated string in the format defined as the lexical
- * representation of xs:dateTime in one of the formats defined in [XML
- * Schema Part 2: Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- *  - xs:gYearMonth (CCYY-MM)
- *  - xs:gMonth (--MM--)
- *  - xs:gMonthDay (--MM-DD)
- * If the date/time string is not in one of these formats, then NaN is
- * returned.
- */
-static double
-exsltDateMonthInYear (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt;
-    double ret;
-
-    if (dateTime == NULL) {
-#ifdef WITH_TIME
-    dt = exsltDateCurrent();
-    if (dt == NULL)
-#endif
-        return xmlXPathNAN;
-    } else {
-    dt = exsltDateParse(dateTime);
-    if (dt == NULL)
-        return xmlXPathNAN;
-    if ((dt->type != XS_DATETIME) && (dt->type != XS_DATE) &&
-        (dt->type != XS_GYEARMONTH) && (dt->type != XS_GMONTH) &&
-        (dt->type != XS_GMONTHDAY)) {
-        exsltDateFreeDate(dt);
-        return xmlXPathNAN;
-    }
-    }
-
-    ret = (double) dt->value.date.mon;
-    exsltDateFreeDate(dt);
-
-    return ret;
-}
-
-/**
- * exsltDateMonthName:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Time month-name() function
- *    string date:month-name (string?)
- * Returns the full name of the month of a date.  If no argument is
- * given, then the current local date/time, as returned by
- * date:date-time is used the default argument.
- * The date/time string specified as the argument is a left or
- * right-truncated string in the format defined as the lexical
- * representation of xs:dateTime in one of the formats defined in [XML
- * Schema Part 2: Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- *  - xs:gYearMonth (CCYY-MM)
- *  - xs:gMonth (--MM--)
- * If the date/time string is not in one of these formats, then an
- * empty string ('') is returned.
- * The result is an English month name: one of 'January', 'February',
- * 'March', 'April', 'May', 'June', 'July', 'August', 'September',
- * 'October', 'November' or 'December'.
- */
-static const xmlChar *
-exsltDateMonthName (const xmlChar *dateTime)
-{
-    static const xmlChar monthNames[13][10] = {
-        { 0 },
-    { 'J', 'a', 'n', 'u', 'a', 'r', 'y', 0 },
-    { 'F', 'e', 'b', 'r', 'u', 'a', 'r', 'y', 0 },
-    { 'M', 'a', 'r', 'c', 'h', 0 },
-    { 'A', 'p', 'r', 'i', 'l', 0 },
-    { 'M', 'a', 'y', 0 },
-    { 'J', 'u', 'n', 'e', 0 },
-    { 'J', 'u', 'l', 'y', 0 },
-    { 'A', 'u', 'g', 'u', 's', 't', 0 },
-    { 'S', 'e', 'p', 't', 'e', 'm', 'b', 'e', 'r', 0 },
-    { 'O', 'c', 't', 'o', 'b', 'e', 'r', 0 },
-    { 'N', 'o', 'v', 'e', 'm', 'b', 'e', 'r', 0 },
-    { 'D', 'e', 'c', 'e', 'm', 'b', 'e', 'r', 0 }
-    };
-    int month;
-    month = (int) exsltDateMonthInYear(dateTime);
-    if (!VALID_MONTH(month))
-      month = 0;
-    return monthNames[month];
-}
-
-/**
- * exsltDateMonthAbbreviation:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Time month-abbreviation() function
- *    string date:month-abbreviation (string?)
- * Returns the abbreviation of the month of a date.  If no argument is
- * given, then the current local date/time, as returned by
- * date:date-time is used the default argument.
- * The date/time string specified as the argument is a left or
- * right-truncated string in the format defined as the lexical
- * representation of xs:dateTime in one of the formats defined in [XML
- * Schema Part 2: Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- *  - xs:gYearMonth (CCYY-MM)
- *  - xs:gMonth (--MM--)
- * If the date/time string is not in one of these formats, then an
- * empty string ('') is returned.
- * The result is an English month abbreviation: one of 'Jan', 'Feb',
- * 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov' or
- * 'Dec'.
- */
-static const xmlChar *
-exsltDateMonthAbbreviation (const xmlChar *dateTime)
-{
-    static const xmlChar monthAbbreviations[13][4] = {
-        { 0 },
-    { 'J', 'a', 'n', 0 },
-    { 'F', 'e', 'b', 0 },
-    { 'M', 'a', 'r', 0 },
-    { 'A', 'p', 'r', 0 },
-    { 'M', 'a', 'y', 0 },
-    { 'J', 'u', 'n', 0 },
-    { 'J', 'u', 'l', 0 },
-    { 'A', 'u', 'g', 0 },
-    { 'S', 'e', 'p', 0 },
-    { 'O', 'c', 't', 0 },
-    { 'N', 'o', 'v', 0 },
-    { 'D', 'e', 'c', 0 }
-    };
-    int month;
-    month = (int) exsltDateMonthInYear(dateTime);
-    if(!VALID_MONTH(month))
-      month = 0;
-    return monthAbbreviations[month];
-}
-
-/**
- * exsltDateWeekInYear:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times week-in-year() function
- *    number date:week-in-year (string?)
- * Returns the week of the year as a number.  If no argument is given,
- * then the current local date/time, as returned by date:date-time is
- * used as the default argument.  For the purposes of numbering,
- * counting follows ISO 8601: week 1 in a year is the week containing
- * the first Thursday of the year, with new weeks beginning on a
- * Monday.
- * The date/time string specified as the argument is a right-truncated
- * string in the format defined as the lexical representation of
- * xs:dateTime in one of the formats defined in [XML Schema Part 2:
- * Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- * If the date/time string is not in one of these formats, then NaN is
- * returned.
- */
-static double
-exsltDateWeekInYear (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt;
-    long diy, diw, year, ret;
-
-    if (dateTime == NULL) {
-#ifdef WITH_TIME
-    dt = exsltDateCurrent();
-    if (dt == NULL)
-#endif
-        return xmlXPathNAN;
-    } else {
-    dt = exsltDateParse(dateTime);
-    if (dt == NULL)
-        return xmlXPathNAN;
-    if ((dt->type != XS_DATETIME) && (dt->type != XS_DATE)) {
-        exsltDateFreeDate(dt);
-        return xmlXPathNAN;
-    }
-    }
-
-    diy = DAY_IN_YEAR(dt->value.date.day, dt->value.date.mon,
-                      dt->value.date.year);
-
-    /*
-     * Determine day-in-week (0=Sun, 1=Mon, etc.) then adjust so Monday
-     * is the first day-in-week
-     */
-    diw = (_exsltDateDayInWeek(diy, dt->value.date.year) + 6) % 7;
-
-    /* ISO 8601 adjustment, 3 is Thu */
-    diy += (3 - diw);
-    if(diy < 1) {
-    year = dt->value.date.year - 1;
-    if(year == 0) year--;
-    diy = DAY_IN_YEAR(31, 12, year) + diy;
-    } else if (diy > (long)DAY_IN_YEAR(31, 12, dt->value.date.year)) {
-    diy -= DAY_IN_YEAR(31, 12, dt->value.date.year);
-    }
-
-    ret = ((diy - 1) / 7) + 1;
-
-    exsltDateFreeDate(dt);
-
-    return (double) ret;
-}
-
-/**
- * exsltDateWeekInMonth:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times week-in-month() function
- *    number date:week-in-month (string?)
- * The date:week-in-month function returns the week in a month of a
- * date as a number. If no argument is given, then the current local
- * date/time, as returned by date:date-time is used the default
- * argument. For the purposes of numbering, the first day of the month
- * is in week 1 and new weeks begin on a Monday (so the first and last
- * weeks in a month will often have less than 7 days in them).
- * The date/time string specified as the argument is a right-truncated
- * string in the format defined as the lexical representation of
- * xs:dateTime in one of the formats defined in [XML Schema Part 2:
- * Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- * If the date/time string is not in one of these formats, then NaN is
- * returned.
- */
-static double
-exsltDateWeekInMonth (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt;
-    long fdiy, fdiw, ret;
-
-    if (dateTime == NULL) {
-#ifdef WITH_TIME
-    dt = exsltDateCurrent();
-    if (dt == NULL)
-#endif
-        return xmlXPathNAN;
-    } else {
-    dt = exsltDateParse(dateTime);
-    if (dt == NULL)
-        return xmlXPathNAN;
-    if ((dt->type != XS_DATETIME) && (dt->type != XS_DATE)) {
-        exsltDateFreeDate(dt);
-        return xmlXPathNAN;
-    }
-    }
-
-    fdiy = DAY_IN_YEAR(1, dt->value.date.mon, dt->value.date.year);
-    /*
-     * Determine day-in-week (0=Sun, 1=Mon, etc.) then adjust so Monday
-     * is the first day-in-week
-     */
-    fdiw = (_exsltDateDayInWeek(fdiy, dt->value.date.year) + 6) % 7;
-
-    ret = ((dt->value.date.day + fdiw - 1) / 7) + 1;
-
-    exsltDateFreeDate(dt);
-
-    return (double) ret;
-}
-
-/**
- * exsltDateDayInYear:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times day-in-year() function
- *    number date:day-in-year (string?)
- * Returns the day of a date in a year as a number.  If no argument is
- * given, then the current local date/time, as returned by
- * date:date-time is used the default argument.
- * The date/time string specified as the argument is a right-truncated
- * string in the format defined as the lexical representation of
- * xs:dateTime in one of the formats defined in [XML Schema Part 2:
- * Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- * If the date/time string is not in one of these formats, then NaN is
- * returned.
- */
-static double
-exsltDateDayInYear (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt;
-    long ret;
-
-    if (dateTime == NULL) {
-#ifdef WITH_TIME
-    dt = exsltDateCurrent();
-    if (dt == NULL)
-#endif
-        return xmlXPathNAN;
-    } else {
-    dt = exsltDateParse(dateTime);
-    if (dt == NULL)
-        return xmlXPathNAN;
-    if ((dt->type != XS_DATETIME) && (dt->type != XS_DATE)) {
-        exsltDateFreeDate(dt);
-        return xmlXPathNAN;
-    }
-    }
-
-    ret = DAY_IN_YEAR(dt->value.date.day, dt->value.date.mon,
-                      dt->value.date.year);
-
-    exsltDateFreeDate(dt);
-
-    return (double) ret;
-}
-
-/**
- * exsltDateDayInMonth:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times day-in-month() function:
- *    number date:day-in-month (string?)
- * Returns the day of a date as a number.  If no argument is given,
- * then the current local date/time, as returned by date:date-time is
- * used the default argument.
- * The date/time string specified as the argument is a left or
- * right-truncated string in the format defined as the lexical
- * representation of xs:dateTime in one of the formats defined in [XML
- * Schema Part 2: Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- *  - xs:gMonthDay (--MM-DD)
- *  - xs:gDay (---DD)
- * If the date/time string is not in one of these formats, then NaN is
- * returned.
- */
-static double
-exsltDateDayInMonth (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt;
-    double ret;
-
-    if (dateTime == NULL) {
-#ifdef WITH_TIME
-    dt = exsltDateCurrent();
-    if (dt == NULL)
-#endif
-        return xmlXPathNAN;
-    } else {
-    dt = exsltDateParse(dateTime);
-    if (dt == NULL)
-        return xmlXPathNAN;
-    if ((dt->type != XS_DATETIME) && (dt->type != XS_DATE) &&
-        (dt->type != XS_GMONTHDAY) && (dt->type != XS_GDAY)) {
-        exsltDateFreeDate(dt);
-        return xmlXPathNAN;
-    }
-    }
-
-    ret = (double) dt->value.date.day;
-    exsltDateFreeDate(dt);
-
-    return ret;
-}
-
-/**
- * exsltDateDayOfWeekInMonth:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times day-of-week-in-month() function:
- *    number date:day-of-week-in-month (string?)
- * Returns the day-of-the-week in a month of a date as a number
- * (e.g. 3 for the 3rd Tuesday in May).  If no argument is
- * given, then the current local date/time, as returned by
- * date:date-time is used the default argument.
- * The date/time string specified as the argument is a right-truncated
- * string in the format defined as the lexical representation of
- * xs:dateTime in one of the formats defined in [XML Schema Part 2:
- * Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- * If the date/time string is not in one of these formats, then NaN is
- * returned.
- */
-static double
-exsltDateDayOfWeekInMonth (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt;
-    long ret;
-
-    if (dateTime == NULL) {
-#ifdef WITH_TIME
-    dt = exsltDateCurrent();
-    if (dt == NULL)
-#endif
-        return xmlXPathNAN;
-    } else {
-    dt = exsltDateParse(dateTime);
-    if (dt == NULL)
-        return xmlXPathNAN;
-    if ((dt->type != XS_DATETIME) && (dt->type != XS_DATE)) {
-        exsltDateFreeDate(dt);
-        return xmlXPathNAN;
-    }
-    }
-
-    ret = ((dt->value.date.day -1) / 7) + 1;
-
-    exsltDateFreeDate(dt);
-
-    return (double) ret;
-}
-
-/**
- * exsltDateDayInWeek:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times day-in-week() function:
- *    number date:day-in-week (string?)
- * Returns the day of the week given in a date as a number.  If no
- * argument is given, then the current local date/time, as returned by
- * date:date-time is used the default argument.
- * The date/time string specified as the argument is a left or
- * right-truncated string in the format defined as the lexical
- * representation of xs:dateTime in one of the formats defined in [XML
- * Schema Part 2: Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- * If the date/time string is not in one of these formats, then NaN is
- * returned.
- * The numbering of days of the week starts at 1 for Sunday, 2 for
- * Monday and so on up to 7 for Saturday.
- */
-static double
-exsltDateDayInWeek (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt;
-    long diy, ret;
-
-    if (dateTime == NULL) {
-#ifdef WITH_TIME
-    dt = exsltDateCurrent();
-    if (dt == NULL)
-#endif
-        return xmlXPathNAN;
-    } else {
-    dt = exsltDateParse(dateTime);
-    if (dt == NULL)
-        return xmlXPathNAN;
-    if ((dt->type != XS_DATETIME) && (dt->type != XS_DATE)) {
-        exsltDateFreeDate(dt);
-        return xmlXPathNAN;
-    }
-    }
-
-    diy = DAY_IN_YEAR(dt->value.date.day, dt->value.date.mon,
-                      dt->value.date.year);
-
-    ret = _exsltDateDayInWeek(diy, dt->value.date.year) + 1;
-
-    exsltDateFreeDate(dt);
-
-    return (double) ret;
-}
-
-/**
- * exsltDateDayName:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Time day-name() function
- *    string date:day-name (string?)
- * Returns the full name of the day of the week of a date.  If no
- * argument is given, then the current local date/time, as returned by
- * date:date-time is used the default argument.
- * The date/time string specified as the argument is a left or
- * right-truncated string in the format defined as the lexical
- * representation of xs:dateTime in one of the formats defined in [XML
- * Schema Part 2: Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- * If the date/time string is not in one of these formats, then an
- * empty string ('') is returned.
- * The result is an English day name: one of 'Sunday', 'Monday',
- * 'Tuesday', 'Wednesday', 'Thursday' or 'Friday'.
- */
-static const xmlChar *
-exsltDateDayName (const xmlChar *dateTime)
-{
-    static const xmlChar dayNames[8][10] = {
-        { 0 },
-    { 'S', 'u', 'n', 'd', 'a', 'y', 0 },
-    { 'M', 'o', 'n', 'd', 'a', 'y', 0 },
-    { 'T', 'u', 'e', 's', 'd', 'a', 'y', 0 },
-    { 'W', 'e', 'd', 'n', 'e', 's', 'd', 'a', 'y', 0 },
-    { 'T', 'h', 'u', 'r', 's', 'd', 'a', 'y', 0 },
-    { 'F', 'r', 'i', 'd', 'a', 'y', 0 },
-    { 'S', 'a', 't', 'u', 'r', 'd', 'a', 'y', 0 }
-    };
-    int day;
-    day = (int) exsltDateDayInWeek(dateTime);
-    if((day < 1) || (day > 7))
-      day = 0;
-    return dayNames[day];
-}
-
-/**
- * exsltDateDayAbbreviation:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Time day-abbreviation() function
- *    string date:day-abbreviation (string?)
- * Returns the abbreviation of the day of the week of a date.  If no
- * argument is given, then the current local date/time, as returned by
- * date:date-time is used the default argument.
- * The date/time string specified as the argument is a left or
- * right-truncated string in the format defined as the lexical
- * representation of xs:dateTime in one of the formats defined in [XML
- * Schema Part 2: Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- * If the date/time string is not in one of these formats, then an
- * empty string ('') is returned.
- * The result is a three-letter English day abbreviation: one of
- * 'Sun', 'Mon', 'Tue', 'Wed', 'Thu' or 'Fri'.
- */
-static const xmlChar *
-exsltDateDayAbbreviation (const xmlChar *dateTime)
-{
-    static const xmlChar dayAbbreviations[8][4] = {
-        { 0 },
-    { 'S', 'u', 'n', 0 },
-    { 'M', 'o', 'n', 0 },
-    { 'T', 'u', 'e', 0 },
-    { 'W', 'e', 'd', 0 },
-    { 'T', 'h', 'u', 0 },
-    { 'F', 'r', 'i', 0 },
-    { 'S', 'a', 't', 0 }
-    };
-    int day;
-    day = (int) exsltDateDayInWeek(dateTime);
-    if((day < 1) || (day > 7))
-      day = 0;
-    return dayAbbreviations[day];
-}
-
-/**
- * exsltDateHourInDay:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times day-in-month() function:
- *    number date:day-in-month (string?)
- * Returns the hour of the day as a number.  If no argument is given,
- * then the current local date/time, as returned by date:date-time is
- * used the default argument.
- * The date/time string specified as the argument is a left or
- * right-truncated string in the format defined as the lexical
- * representation of xs:dateTime in one of the formats defined in [XML
- * Schema Part 2: Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:time (hh:mm:ss)
- * If the date/time string is not in one of these formats, then NaN is
- * returned.
- */
-static double
-exsltDateHourInDay (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt;
-    double ret;
-
-    if (dateTime == NULL) {
-#ifdef WITH_TIME
-    dt = exsltDateCurrent();
-    if (dt == NULL)
-#endif
-        return xmlXPathNAN;
-    } else {
-    dt = exsltDateParse(dateTime);
-    if (dt == NULL)
-        return xmlXPathNAN;
-    if ((dt->type != XS_DATETIME) && (dt->type != XS_TIME)) {
-        exsltDateFreeDate(dt);
-        return xmlXPathNAN;
-    }
-    }
-
-    ret = (double) dt->value.date.hour;
-    exsltDateFreeDate(dt);
-
-    return ret;
-}
-
-/**
- * exsltDateMinuteInHour:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times day-in-month() function:
- *    number date:day-in-month (string?)
- * Returns the minute of the hour as a number.  If no argument is
- * given, then the current local date/time, as returned by
- * date:date-time is used the default argument.
- * The date/time string specified as the argument is a left or
- * right-truncated string in the format defined as the lexical
- * representation of xs:dateTime in one of the formats defined in [XML
- * Schema Part 2: Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:time (hh:mm:ss)
- * If the date/time string is not in one of these formats, then NaN is
- * returned.
- */
-static double
-exsltDateMinuteInHour (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt;
-    double ret;
-
-    if (dateTime == NULL) {
-#ifdef WITH_TIME
-    dt = exsltDateCurrent();
-    if (dt == NULL)
-#endif
-        return xmlXPathNAN;
-    } else {
-    dt = exsltDateParse(dateTime);
-    if (dt == NULL)
-        return xmlXPathNAN;
-    if ((dt->type != XS_DATETIME) && (dt->type != XS_TIME)) {
-        exsltDateFreeDate(dt);
-        return xmlXPathNAN;
-    }
-    }
-
-    ret = (double) dt->value.date.min;
-    exsltDateFreeDate(dt);
-
-    return ret;
-}
-
-/**
- * exsltDateSecondInMinute:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times second-in-minute() function:
- *    number date:day-in-month (string?)
- * Returns the second of the minute as a number.  If no argument is
- * given, then the current local date/time, as returned by
- * date:date-time is used the default argument.
- * The date/time string specified as the argument is a left or
- * right-truncated string in the format defined as the lexical
- * representation of xs:dateTime in one of the formats defined in [XML
- * Schema Part 2: Datatypes].  The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:time (hh:mm:ss)
- * If the date/time string is not in one of these formats, then NaN is
- * returned.
- *
- * Returns the second or NaN.
- */
-static double
-exsltDateSecondInMinute (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt;
-    double ret;
-
-    if (dateTime == NULL) {
-#ifdef WITH_TIME
-    dt = exsltDateCurrent();
-    if (dt == NULL)
-#endif
-        return xmlXPathNAN;
-    } else {
-    dt = exsltDateParse(dateTime);
-    if (dt == NULL)
-        return xmlXPathNAN;
-    if ((dt->type != XS_DATETIME) && (dt->type != XS_TIME)) {
-        exsltDateFreeDate(dt);
-        return xmlXPathNAN;
-    }
-    }
-
-    ret = dt->value.date.sec;
-    exsltDateFreeDate(dt);
-
-    return ret;
-}
-
-/**
- * exsltDateAdd:
- * @xstr: date/time string
- * @ystr: date/time string
- *
- * Implements the date:add (string,string) function which returns the
- * date/time * resulting from adding a duration to a date/time.
- * The first argument (@xstr) must be right-truncated date/time
- * strings in one of the formats defined in [XML Schema Part 2:
- * Datatypes]. The permitted formats are as follows:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- *  - xs:gYearMonth (CCYY-MM)
- *  - xs:gYear (CCYY)
- * The second argument (@ystr) is a string in the format defined for
- * xs:duration in [3.2.6 duration] of [XML Schema Part 2: Datatypes].
- * The return value is a right-truncated date/time strings in one of
- * the formats defined in [XML Schema Part 2: Datatypes] and listed
- * above. This value is calculated using the algorithm described in
- * [Appendix E Adding durations to dateTimes] of [XML Schema Part 2:
- * Datatypes].
-
- * Returns date/time string or NULL.
- */
-static xmlChar *
-exsltDateAdd (const xmlChar *xstr, const xmlChar *ystr)
-{
-    exsltDateValPtr dt, dur, res;
-    xmlChar     *ret;
-
-    if ((xstr == NULL) || (ystr == NULL))
-        return NULL;
-
-    dt = exsltDateParse(xstr);
-    if (dt == NULL)
-        return NULL;
-    else if ((dt->type < XS_GYEAR) || (dt->type > XS_DATETIME)) {
-        exsltDateFreeDate(dt);
-        return NULL;
-    }
-
-    dur = exsltDateParseDuration(ystr);
-    if (dur == NULL) {
-        exsltDateFreeDate(dt);
-        return NULL;
-    }
-
-    res = _exsltDateAdd(dt, dur);
-
-    exsltDateFreeDate(dt);
-    exsltDateFreeDate(dur);
-
-    if (res == NULL)
-        return NULL;
-
-    ret = exsltDateFormat(res);
-    exsltDateFreeDate(res);
-
-    return ret;
-}
-
-/**
- * exsltDateAddDuration:
- * @xstr:      first duration string
- * @ystr:      second duration string
- *
- * Implements the date:add-duration (string,string) function which returns
- * the duration resulting from adding two durations together.
- * Both arguments are strings in the format defined for xs:duration
- * in [3.2.6 duration] of [XML Schema Part 2: Datatypes]. If either
- * argument is not in this format, the function returns an empty string
- * ('').
- * The return value is a string in the format defined for xs:duration
- * in [3.2.6 duration] of [XML Schema Part 2: Datatypes].
- * The durations can usually be added by summing the numbers given for
- * each of the components in the durations. However, if the durations
- * are differently signed, then this sometimes results in durations
- * that are impossible to express in this syntax (e.g. 'P1M' + '-P1D').
- * In these cases, the function returns an empty string ('').
- *
- * Returns duration string or NULL.
- */
-static xmlChar *
-exsltDateAddDuration (const xmlChar *xstr, const xmlChar *ystr)
-{
-    exsltDateValPtr x, y, res;
-    xmlChar     *ret;
-
-    if ((xstr == NULL) || (ystr == NULL))
-        return NULL;
-
-    x = exsltDateParseDuration(xstr);
-    if (x == NULL)
-        return NULL;
-
-    y = exsltDateParseDuration(ystr);
-    if (y == NULL) {
-        exsltDateFreeDate(x);
-        return NULL;
-    }
-
-    res = _exsltDateAddDuration(x, y);
-
-    exsltDateFreeDate(x);
-    exsltDateFreeDate(y);
-
-    if (res == NULL)
-        return NULL;
-
-    ret = exsltDateFormatDuration(&(res->value.dur));
-    exsltDateFreeDate(res);
-
-    return ret;
-}
-
-/**
- * exsltDateSumFunction:
- * @ns:      a node set of duration strings
- *
- * The date:sum function adds a set of durations together.
- * The string values of the nodes in the node set passed as an argument
- * are interpreted as durations and added together as if using the
- * date:add-duration function. (from exslt.org)
- *
- * The return value is a string in the format defined for xs:duration
- * in [3.2.6 duration] of [XML Schema Part 2: Datatypes].
- * The durations can usually be added by summing the numbers given for
- * each of the components in the durations. However, if the durations
- * are differently signed, then this sometimes results in durations
- * that are impossible to express in this syntax (e.g. 'P1M' + '-P1D').
- * In these cases, the function returns an empty string ('').
- *
- * Returns duration string or NULL.
- */
-static void
-exsltDateSumFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlNodeSetPtr ns;
-    void *user = NULL;
-    xmlChar *tmp;
-    exsltDateValPtr x, total;
-    xmlChar *ret;
-    int i;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError (ctxt);
-    return;
-    }
-
-    /* We need to delay the freeing of value->user */
-    if ((ctxt->value != NULL) && ctxt->value->boolval != 0) {
-    user = ctxt->value->user;
-    ctxt->value->boolval = 0;
-    ctxt->value->user = NULL;
-    }
-
-    ns = xmlXPathPopNodeSet (ctxt);
-    if (xmlXPathCheckError (ctxt))
-    return;
-
-    if ((ns == NULL) || (ns->nodeNr == 0)) {
-    xmlXPathReturnEmptyString (ctxt);
-    if (ns != NULL)
-        xmlXPathFreeNodeSet (ns);
-    return;
-    }
-
-    total = exsltDateCreateDate (XS_DURATION);
-    if (total == NULL) {
-        xmlXPathFreeNodeSet (ns);
-        return;
-    }
-
-    for (i = 0; i < ns->nodeNr; i++) {
-    int result;
-    tmp = xmlXPathCastNodeToString (ns->nodeTab[i]);
-    if (tmp == NULL) {
-        xmlXPathFreeNodeSet (ns);
-        exsltDateFreeDate (total);
-        return;
-    }
-
-    x = exsltDateParseDuration (tmp);
-    if (x == NULL) {
-        xmlFree (tmp);
-        exsltDateFreeDate (total);
-        xmlXPathFreeNodeSet (ns);
-        xmlXPathReturnEmptyString (ctxt);
-        return;
-    }
-
-    result = _exsltDateAddDurCalc(total, total, x);
-
-    exsltDateFreeDate (x);
-    xmlFree (tmp);
-    if (!result) {
-        exsltDateFreeDate (total);
-        xmlXPathFreeNodeSet (ns);
-        xmlXPathReturnEmptyString (ctxt);
-        return;
-    }
-    }
-
-    ret = exsltDateFormatDuration (&(total->value.dur));
-    exsltDateFreeDate (total);
-
-    xmlXPathFreeNodeSet (ns);
-    if (user != NULL)
-    xmlFreeNodeList ((xmlNodePtr) user);
-
-    if (ret == NULL)
-    xmlXPathReturnEmptyString (ctxt);
-    else
-    xmlXPathReturnString (ctxt, ret);
-}
-
-/**
- * exsltDateSeconds:
- * @dateTime: a date/time string
- *
- * Implements the EXSLT - Dates and Times seconds() function:
- *    number date:seconds(string?)
- * The date:seconds function returns the number of seconds specified
- * by the argument string. If no argument is given, then the current
- * local date/time, as returned by exsltDateCurrent() is used as the
- * default argument. If the date/time string is a xs:duration, then the
- * years and months must be zero (or not present). Parsing a duration
- * converts the fields to seconds. If the date/time string is not a
- * duration (and not null), then the legal formats are:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date     (CCYY-MM-DD)
- *  - xs:gYearMonth (CCYY-MM)
- *  - xs:gYear      (CCYY)
- * In these cases the difference between the @dateTime and
- * 1970-01-01T00:00:00Z is calculated and converted to seconds.
- *
- * Note that there was some confusion over whether "difference" meant
- * that a dateTime of 1970-01-01T00:00:01Z should be a positive one or
- * a negative one.  After correspondence with exslt.org, it was determined
- * that the intent of the specification was to have it positive.  The
- * coding was modified in July 2003 to reflect this.
- *
- * Returns seconds or Nan.
- */
-static double
-exsltDateSeconds (const xmlChar *dateTime)
-{
-    exsltDateValPtr dt;
-    double ret = xmlXPathNAN;
-
-    if (dateTime == NULL) {
-#ifdef WITH_TIME
-    dt = exsltDateCurrent();
-    if (dt == NULL)
-#endif
-        return xmlXPathNAN;
-    } else {
-        dt = exsltDateParseDuration(dateTime);
-        if (dt == NULL)
-            dt = exsltDateParse(dateTime);
-    }
-
-    if (dt == NULL)
-        return xmlXPathNAN;
-
-    if ((dt->type <= XS_DATETIME) && (dt->type >= XS_GYEAR)) {
-        exsltDateValPtr y, dur;
-
-        /*
-         * compute the difference between the given (or current) date
-         * and epoch date
-         */
-        y = exsltDateCreateDate(XS_DATETIME);
-        if (y != NULL) {
-            y->value.date.year = 1970;
-            y->value.date.mon  = 1;
-            y->value.date.day  = 1;
-            y->value.date.tz_flag = 1;
-
-            dur = _exsltDateDifference(y, dt, 1);
-            if (dur != NULL) {
-                ret = exsltDateCastDateToNumber(dur);
-                exsltDateFreeDate(dur);
-            }
-            exsltDateFreeDate(y);
-        }
-
-    } else if ((dt->type == XS_DURATION) && (dt->value.dur.mon == 0))
-        ret = exsltDateCastDateToNumber(dt);
-
-    exsltDateFreeDate(dt);
-
-    return ret;
-}
-
-/**
- * exsltDateDifference:
- * @xstr: date/time string
- * @ystr: date/time string
- *
- * Implements the date:difference (string,string) function which returns
- * the duration between the first date and the second date. If the first
- * date occurs before the second date, then the result is a positive
- * duration; if it occurs after the second date, the result is a
- * negative duration.  The two dates must both be right-truncated
- * date/time strings in one of the formats defined in [XML Schema Part
- * 2: Datatypes]. The date/time with the most specific format (i.e. the
- * least truncation) is converted into the same format as the date with
- * the least specific format (i.e. the most truncation). The permitted
- * formats are as follows, from most specific to least specific:
- *  - xs:dateTime (CCYY-MM-DDThh:mm:ss)
- *  - xs:date (CCYY-MM-DD)
- *  - xs:gYearMonth (CCYY-MM)
- *  - xs:gYear (CCYY)
- * If either of the arguments is not in one of these formats,
- * date:difference returns the empty string ('').
- * The difference between the date/times is returned as a string in the
- * format defined for xs:duration in [3.2.6 duration] of [XML Schema
- * Part 2: Datatypes].
- * If the date/time string with the least specific format is in either
- * xs:gYearMonth or xs:gYear format, then the number of days, hours,
- * minutes and seconds in the duration string must be equal to zero.
- * (The format of the string will be PnYnM.) The number of months
- * specified in the duration must be less than 12.
- * Otherwise, the number of years and months in the duration string
- * must be equal to zero. (The format of the string will be
- * PnDTnHnMnS.) The number of seconds specified in the duration string
- * must be less than 60; the number of minutes must be less than 60;
- * the number of hours must be less than 24.
- *
- * Returns duration string or NULL.
- */
-static xmlChar *
-exsltDateDifference (const xmlChar *xstr, const xmlChar *ystr)
-{
-    exsltDateValPtr x, y, dur;
-    xmlChar        *ret = NULL;
-
-    if ((xstr == NULL) || (ystr == NULL))
-        return NULL;
-
-    x = exsltDateParse(xstr);
-    if (x == NULL)
-        return NULL;
-
-    y = exsltDateParse(ystr);
-    if (y == NULL) {
-        exsltDateFreeDate(x);
-        return NULL;
-    }
-
-    if (((x->type < XS_GYEAR) || (x->type > XS_DATETIME)) ||
-        ((y->type < XS_GYEAR) || (y->type > XS_DATETIME)))  {
-    exsltDateFreeDate(x);
-    exsltDateFreeDate(y);
-        return NULL;
-    }
-
-    dur = _exsltDateDifference(x, y, 0);
-
-    exsltDateFreeDate(x);
-    exsltDateFreeDate(y);
-
-    if (dur == NULL)
-        return NULL;
-
-    ret = exsltDateFormatDuration(&(dur->value.dur));
-    exsltDateFreeDate(dur);
-
-    return ret;
-}
-
-/**
- * exsltDateDuration:
- * @number: a xmlChar string
- *
- * Implements the The date:duration function returns a duration string
- * representing the number of seconds specified by the argument string.
- * If no argument is given, then the result of calling date:seconds
- * without any arguments is used as a default argument.
- * The duration is returned as a string in the format defined for
- * xs:duration in [3.2.6 duration] of [XML Schema Part 2: Datatypes].
- * The number of years and months in the duration string must be equal
- * to zero. (The format of the string will be PnDTnHnMnS.) The number
- * of seconds specified in the duration string must be less than 60;
- * the number of minutes must be less than 60; the number of hours must
- * be less than 24.
- * If the argument is Infinity, -Infinity or NaN, then date:duration
- * returns an empty string ('').
- *
- * Returns duration string or NULL.
- */
-static xmlChar *
-exsltDateDuration (const xmlChar *number)
-{
-    exsltDateValPtr dur;
-    double       secs;
-    xmlChar     *ret;
-
-    if (number == NULL)
-        secs = exsltDateSeconds(number);
-    else
-        secs = xmlXPathCastStringToNumber(number);
-
-    if ((xmlXPathIsNaN(secs)) || (xmlXPathIsInf(secs)))
-        return NULL;
-
-    dur = exsltDateCreateDate(XS_DURATION);
-    if (dur == NULL)
-        return NULL;
-
-    dur->value.dur.sec = secs;
-
-    ret = exsltDateFormatDuration(&(dur->value.dur));
-    exsltDateFreeDate(dur);
-
-    return ret;
-}
-
-/****************************************************************
- *                              *
- *      Wrappers for use by the XPath engine        *
- *                              *
- ****************************************************************/
-
-#ifdef WITH_TIME
-/**
- * exsltDateDateTimeFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateDateTime() for use by the XPath engine.
- */
-static void
-exsltDateDateTimeFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *ret;
-
-    if (nargs != 0) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    ret = exsltDateDateTime();
-    if (ret == NULL)
-        xmlXPathReturnEmptyString(ctxt);
-    else
-        xmlXPathReturnString(ctxt, ret);
-}
-#endif
-
-/**
- * exsltDateDateFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateDate() for use by the XPath engine.
- */
-static void
-exsltDateDateFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *ret, *dt = NULL;
-
-    if ((nargs < 0) || (nargs > 1)) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    if (nargs == 1) {
-    dt = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlXPathSetTypeError(ctxt);
-        return;
-    }
-    }
-
-    ret = exsltDateDate(dt);
-
-    if (ret == NULL) {
-    xsltGenericDebug(xsltGenericDebugContext,
-             "{http://exslt.org/dates-and-times}date: "
-             "invalid date or format %s\n", dt);
-    xmlXPathReturnEmptyString(ctxt);
-    } else {
-    xmlXPathReturnString(ctxt, ret);
-    }
-
-    if (dt != NULL)
-    xmlFree(dt);
-}
-
-/**
- * exsltDateTimeFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateTime() for use by the XPath engine.
- */
-static void
-exsltDateTimeFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *ret, *dt = NULL;
-
-    if ((nargs < 0) || (nargs > 1)) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    if (nargs == 1) {
-    dt = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlXPathSetTypeError(ctxt);
-        return;
-    }
-    }
-
-    ret = exsltDateTime(dt);
-
-    if (ret == NULL) {
-    xsltGenericDebug(xsltGenericDebugContext,
-             "{http://exslt.org/dates-and-times}time: "
-             "invalid date or format %s\n", dt);
-    xmlXPathReturnEmptyString(ctxt);
-    } else {
-    xmlXPathReturnString(ctxt, ret);
-    }
-
-    if (dt != NULL)
-    xmlFree(dt);
-}
-
-/**
- * exsltDateYearFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateYear() for use by the XPath engine.
- */
-static void
-exsltDateYearFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *dt = NULL;
-    double ret;
-
-    if ((nargs < 0) || (nargs > 1)) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    if (nargs == 1) {
-    dt = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlXPathSetTypeError(ctxt);
-        return;
-    }
-    }
-
-    ret = exsltDateYear(dt);
-
-    if (dt != NULL)
-    xmlFree(dt);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltDateLeapYearFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateLeapYear() for use by the XPath engine.
- */
-static void
-exsltDateLeapYearFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *dt = NULL;
-    xmlXPathObjectPtr ret;
-
-    if ((nargs < 0) || (nargs > 1)) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    if (nargs == 1) {
-    dt = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlXPathSetTypeError(ctxt);
-        return;
-    }
-    }
-
-    ret = exsltDateLeapYear(dt);
-
-    if (dt != NULL)
-    xmlFree(dt);
-
-    valuePush(ctxt, ret);
-}
-
-#define X_IN_Y(x, y)                        \
-static void                         \
-exsltDate##x##In##y##Function (xmlXPathParserContextPtr ctxt,   \
-                  int nargs) {          \
-    xmlChar *dt = NULL;                     \
-    double ret;                         \
-                                \
-    if ((nargs < 0) || (nargs > 1)) {               \
-    xmlXPathSetArityError(ctxt);                \
-    return;                         \
-    }                               \
-                                \
-    if (nargs == 1) {                       \
-    dt = xmlXPathPopString(ctxt);               \
-    if (xmlXPathCheckError(ctxt)) {             \
-        xmlXPathSetTypeError(ctxt);             \
-        return;                     \
-    }                           \
-    }                               \
-                                \
-    ret = exsltDate##x##In##y(dt);              \
-                                \
-    if (dt != NULL)                     \
-    xmlFree(dt);                        \
-                                \
-    xmlXPathReturnNumber(ctxt, ret);                \
-}
-
-/**
- * exsltDateMonthInYearFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateMonthInYear() for use by the XPath engine.
- */
-X_IN_Y(Month,Year)
-
-/**
- * exsltDateMonthNameFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateMonthName() for use by the XPath engine.
- */
-static void
-exsltDateMonthNameFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *dt = NULL;
-    const xmlChar *ret;
-
-    if ((nargs < 0) || (nargs > 1)) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    if (nargs == 1) {
-    dt = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlXPathSetTypeError(ctxt);
-        return;
-    }
-    }
-
-    ret = exsltDateMonthName(dt);
-
-    if (dt != NULL)
-    xmlFree(dt);
-
-    if (ret == NULL)
-    xmlXPathReturnEmptyString(ctxt);
-    else
-    xmlXPathReturnString(ctxt, xmlStrdup(ret));
-}
-
-/**
- * exsltDateMonthAbbreviationFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateMonthAbbreviation() for use by the XPath engine.
- */
-static void
-exsltDateMonthAbbreviationFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *dt = NULL;
-    const xmlChar *ret;
-
-    if ((nargs < 0) || (nargs > 1)) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    if (nargs == 1) {
-    dt = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlXPathSetTypeError(ctxt);
-        return;
-    }
-    }
-
-    ret = exsltDateMonthAbbreviation(dt);
-
-    if (dt != NULL)
-    xmlFree(dt);
-
-    if (ret == NULL)
-    xmlXPathReturnEmptyString(ctxt);
-    else
-    xmlXPathReturnString(ctxt, xmlStrdup(ret));
-}
-
-/**
- * exsltDateWeekInYearFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateWeekInYear() for use by the XPath engine.
- */
-X_IN_Y(Week,Year)
-
-/**
- * exsltDateWeekInMonthFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateWeekInMonthYear() for use by the XPath engine.
- */
-X_IN_Y(Week,Month)
-
-/**
- * exsltDateDayInYearFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateDayInYear() for use by the XPath engine.
- */
-X_IN_Y(Day,Year)
-
-/**
- * exsltDateDayInMonthFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateDayInMonth() for use by the XPath engine.
- */
-X_IN_Y(Day,Month)
-
-/**
- * exsltDateDayOfWeekInMonthFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDayOfWeekInMonth() for use by the XPath engine.
- */
-X_IN_Y(DayOfWeek,Month)
-
-/**
- * exsltDateDayInWeekFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateDayInWeek() for use by the XPath engine.
- */
-X_IN_Y(Day,Week)
-
-/**
- * exsltDateDayNameFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateDayName() for use by the XPath engine.
- */
-static void
-exsltDateDayNameFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *dt = NULL;
-    const xmlChar *ret;
-
-    if ((nargs < 0) || (nargs > 1)) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    if (nargs == 1) {
-    dt = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlXPathSetTypeError(ctxt);
-        return;
-    }
-    }
-
-    ret = exsltDateDayName(dt);
-
-    if (dt != NULL)
-    xmlFree(dt);
-
-    if (ret == NULL)
-    xmlXPathReturnEmptyString(ctxt);
-    else
-    xmlXPathReturnString(ctxt, xmlStrdup(ret));
-}
-
-/**
- * exsltDateMonthDayFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateDayAbbreviation() for use by the XPath engine.
- */
-static void
-exsltDateDayAbbreviationFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *dt = NULL;
-    const xmlChar *ret;
-
-    if ((nargs < 0) || (nargs > 1)) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    if (nargs == 1) {
-    dt = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlXPathSetTypeError(ctxt);
-        return;
-    }
-    }
-
-    ret = exsltDateDayAbbreviation(dt);
-
-    if (dt != NULL)
-    xmlFree(dt);
-
-    if (ret == NULL)
-    xmlXPathReturnEmptyString(ctxt);
-    else
-    xmlXPathReturnString(ctxt, xmlStrdup(ret));
-}
-
-
-/**
- * exsltDateHourInDayFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateHourInDay() for use by the XPath engine.
- */
-X_IN_Y(Hour,Day)
-
-/**
- * exsltDateMinuteInHourFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateMinuteInHour() for use by the XPath engine.
- */
-X_IN_Y(Minute,Hour)
-
-/**
- * exsltDateSecondInMinuteFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateSecondInMinute() for use by the XPath engine.
- */
-X_IN_Y(Second,Minute)
-
-/**
- * exsltDateSecondsFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateSeconds() for use by the XPath engine.
- */
-static void
-exsltDateSecondsFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *str = NULL;
-    double   ret;
-
-    if (nargs > 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    if (nargs == 1) {
-    str = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlXPathSetTypeError(ctxt);
-        return;
-    }
-    }
-
-    ret = exsltDateSeconds(str);
-    if (str != NULL)
-    xmlFree(str);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltDateAddFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps exsltDateAdd() for use by the XPath processor.
- */
-static void
-exsltDateAddFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *ret, *xstr, *ystr;
-
-    if (nargs != 2) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ystr = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    xstr = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlFree(ystr);
-    return;
-    }
-
-    ret = exsltDateAdd(xstr, ystr);
-
-    xmlFree(ystr);
-    xmlFree(xstr);
-
-    if (ret == NULL)
-        xmlXPathReturnEmptyString(ctxt);
-    else
-    xmlXPathReturnString(ctxt, ret);
-}
-
-/**
- * exsltDateAddDurationFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps exsltDateAddDuration() for use by the XPath processor.
- */
-static void
-exsltDateAddDurationFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *ret, *xstr, *ystr;
-
-    if (nargs != 2) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ystr = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    xstr = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlFree(ystr);
-    return;
-    }
-
-    ret = exsltDateAddDuration(xstr, ystr);
-
-    xmlFree(ystr);
-    xmlFree(xstr);
-
-    if (ret == NULL)
-        xmlXPathReturnEmptyString(ctxt);
-    else
-    xmlXPathReturnString(ctxt, ret);
-}
-
-/**
- * exsltDateDifferenceFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps exsltDateDifference() for use by the XPath processor.
- */
-static void
-exsltDateDifferenceFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *ret, *xstr, *ystr;
-
-    if (nargs != 2) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ystr = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    xstr = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlFree(ystr);
-    return;
-    }
-
-    ret = exsltDateDifference(xstr, ystr);
-
-    xmlFree(ystr);
-    xmlFree(xstr);
-
-    if (ret == NULL)
-        xmlXPathReturnEmptyString(ctxt);
-    else
-    xmlXPathReturnString(ctxt, ret);
-}
-
-/**
- * exsltDateDurationFunction:
- * @ctxt: an XPath parser context
- * @nargs : the number of arguments
- *
- * Wraps exsltDateDuration() for use by the XPath engine
- */
-static void
-exsltDateDurationFunction (xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *ret;
-    xmlChar *number = NULL;
-
-    if ((nargs < 0) || (nargs > 1)) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    if (nargs == 1) {
-    number = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlXPathSetTypeError(ctxt);
-        return;
-    }
-    }
-
-    ret = exsltDateDuration(number);
-
-    if (number != NULL)
-    xmlFree(number);
-
-    if (ret == NULL)
-    xmlXPathReturnEmptyString(ctxt);
-    else
-    xmlXPathReturnString(ctxt, ret);
-}
-
-/**
- * exsltDateRegister:
- *
- * Registers the EXSLT - Dates and Times module
- */
-void
-exsltDateRegister (void)
-{
-    xsltRegisterExtModuleFunction ((const xmlChar *) "add",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateAddFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "add-duration",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateAddDurationFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "date",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateDateFunction);
-#ifdef WITH_TIME
-    xsltRegisterExtModuleFunction ((const xmlChar *) "date-time",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateDateTimeFunction);
-#endif
-    xsltRegisterExtModuleFunction ((const xmlChar *) "day-abbreviation",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateDayAbbreviationFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "day-in-month",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateDayInMonthFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "day-in-week",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateDayInWeekFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "day-in-year",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateDayInYearFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "day-name",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateDayNameFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "day-of-week-in-month",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateDayOfWeekInMonthFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "difference",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateDifferenceFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "duration",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateDurationFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "hour-in-day",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateHourInDayFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "leap-year",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateLeapYearFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "minute-in-hour",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateMinuteInHourFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "month-abbreviation",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateMonthAbbreviationFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "month-in-year",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateMonthInYearFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "month-name",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateMonthNameFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "second-in-minute",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateSecondInMinuteFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "seconds",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateSecondsFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "sum",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateSumFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "time",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateTimeFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "week-in-month",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateWeekInMonthFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "week-in-year",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateWeekInYearFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "year",
-                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                   exsltDateYearFunction);
-}
-
-/**
- * exsltDateXpathCtxtRegister:
- *
- * Registers the EXSLT - Dates and Times module for use outside XSLT
- */
-int
-exsltDateXpathCtxtRegister (xmlXPathContextPtr ctxt, const xmlChar *prefix)
-{
-    if (ctxt
-        && prefix
-        && !xmlXPathRegisterNs(ctxt,
-                               prefix,
-                               (const xmlChar *) EXSLT_DATE_NAMESPACE)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "add",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateAddFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "add-duration",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateAddDurationFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "date",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateDateFunction)
-#ifdef WITH_TIME
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "date-time",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateDateTimeFunction)
-#endif
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "day-abbreviation",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateDayAbbreviationFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "day-in-month",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateDayInMonthFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "day-in-week",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateDayInWeekFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "day-in-year",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateDayInYearFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "day-name",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateDayNameFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "day-of-week-in-month",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateDayOfWeekInMonthFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "difference",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateDifferenceFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "duration",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateDurationFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "hour-in-day",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateHourInDayFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "leap-year",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateLeapYearFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "minute-in-hour",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateMinuteInHourFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "month-abbreviation",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateMonthAbbreviationFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "month-in-year",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateMonthInYearFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "month-name",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateMonthNameFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "second-in-minute",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateSecondInMinuteFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "seconds",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateSecondsFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "sum",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateSumFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "time",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateTimeFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "week-in-month",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateWeekInMonthFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "week-in-year",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateWeekInYearFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "year",
-                                   (const xmlChar *) EXSLT_DATE_NAMESPACE,
-                                   exsltDateYearFunction)) {
-        return 0;
-    }
-    return -1;
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/dynamic.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/dynamic.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/dynamic.c
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
- * dynamic.c: Implementation of the EXSLT -- Dynamic module
- *
- * References:
- *   http://www.exslt.org/dyn/dyn.html
- *
- * See Copyright for the status of this software.
- *
- * Authors:
- *   Mark Vakoc 
- *   Thomas Broyer 
- *
- * TODO:
- * elements:
- * functions:
- *    min
- *    max
- *    sum
- *    map
- *    closure
- */
-
-#define IN_LIBEXSLT
-#include "libexslt/libexslt.h"
-
-#if defined(WIN32) && !defined (__CYGWIN__) && (!__MINGW32__)
-#include 
-#else
-#include "config.h"
-#endif
-
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include 
-#include 
-
-#include "exslt.h"
-
-/**
- * exsltDynEvaluateFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Evaluates the string as an XPath expression and returns the result
- * value, which may be a boolean, number, string, node set, result tree
- * fragment or external object.
- */
-
-static void
-exsltDynEvaluateFunction(xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlChar *str = NULL;
-    xmlXPathObjectPtr ret = NULL;
-
-    if (ctxt == NULL)
-        return;
-    if (nargs != 1) {
-        xsltPrintErrorContext(xsltXPathGetTransformContext(ctxt), NULL, NULL);
-        xsltGenericError(xsltGenericErrorContext,
-            "dyn:evalute() : invalid number of args %d\n", nargs);
-        ctxt->error = XPATH_INVALID_ARITY;
-        return;
-    }
-    str = xmlXPathPopString(ctxt);
-    /* return an empty node-set if an empty string is passed in */
-    if (!str||!xmlStrlen(str)) {
-        if (str) xmlFree(str);
-        valuePush(ctxt,xmlXPathNewNodeSet(NULL));
-        return;
-    }
-    ret = xmlXPathEval(str,ctxt->context);
-    if (ret)
-        valuePush(ctxt,ret);
-    else {
-        xsltGenericError(xsltGenericErrorContext,
-            "dyn:evaluate() : unable to evaluate expression '%s'\n",str);
-        valuePush(ctxt,xmlXPathNewNodeSet(NULL));
-    }
-    xmlFree(str);
-    return;
-}
-
-/**
- * exsltDynMapFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Evaluates the string as an XPath expression and returns the result
- * value, which may be a boolean, number, string, node set, result tree
- * fragment or external object.
- */
-
-static void
-exsltDynMapFunction(xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlChar *str = NULL;
-    xmlNodeSetPtr nodeset = NULL;
-    xsltTransformContextPtr tctxt;
-    xmlXPathCompExprPtr comp = NULL;
-    xmlXPathObjectPtr ret = NULL;
-    xmlDocPtr oldDoc, container = NULL;
-    xmlNodePtr oldNode;
-    int oldContextSize;
-    int oldProximityPosition;
-    int i, j;
-
-
-    if (nargs != 2) {
-        xmlXPathSetArityError(ctxt);
-        return;
-    }
-    str = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlXPathSetTypeError(ctxt);
-        return;
-    }
-
-    nodeset = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-        xmlXPathSetTypeError(ctxt);
-        return;
-    }
-    if (str == NULL || !xmlStrlen(str) || !(comp = xmlXPathCompile(str))) {
-        if (nodeset != NULL)
-            xmlXPathFreeNodeSet(nodeset);
-        if (str != NULL)
-            xmlFree(str);
-        valuePush(ctxt, xmlXPathNewNodeSet(NULL));
-        return;
-    }
-
-    ret = xmlXPathNewNodeSet(NULL);
-    if (ret == NULL) {
-        xsltGenericError(xsltGenericErrorContext,
-                         "exsltDynMapFunction: ret == NULL\n");
-        goto cleanup;
-    }
-
-    oldDoc = ctxt->context->doc;
-    oldNode = ctxt->context->node;
-    oldContextSize = ctxt->context->contextSize;
-    oldProximityPosition = ctxt->context->proximityPosition;
-
-        /**
-     * since we really don't know we're going to be adding node(s)
-     * down the road we create the RVT regardless
-     */
-    tctxt = xsltXPathGetTransformContext(ctxt);
-    if (tctxt == NULL) {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-          "dyn:map : internal error tctxt == NULL\n");
-    goto cleanup;
-    }
-    container = xsltCreateRVT(tctxt);
-    if (container == NULL) {
-    xsltTransformError(tctxt, NULL, NULL,
-          "dyn:map : internal error container == NULL\n");
-    goto cleanup;
-    }
-    xsltRegisterLocalRVT(tctxt, container);
-    if (nodeset && nodeset->nodeNr > 0) {
-        xmlXPathNodeSetSort(nodeset);
-        ctxt->context->contextSize = nodeset->nodeNr;
-        ctxt->context->proximityPosition = 0;
-        for (i = 0; i < nodeset->nodeNr; i++) {
-            xmlXPathObjectPtr subResult = NULL;
-
-            ctxt->context->proximityPosition++;
-            ctxt->context->node = nodeset->nodeTab[i];
-            ctxt->context->doc = nodeset->nodeTab[i]->doc;
-
-            subResult = xmlXPathCompiledEval(comp, ctxt->context);
-            if (subResult != NULL) {
-                switch (subResult->type) {
-                    case XPATH_NODESET:
-                        if (subResult->nodesetval != NULL)
-                            for (j = 0; j < subResult->nodesetval->nodeNr;
-                                 j++)
-                                xmlXPathNodeSetAdd(ret->nodesetval,
-                                                   subResult->nodesetval->
-                                                   nodeTab[j]);
-                        break;
-                    case XPATH_BOOLEAN:
-                        if (container != NULL) {
-                            xmlNodePtr cur =
-                                xmlNewChild((xmlNodePtr) container, NULL,
-                                            BAD_CAST "boolean",
-                                            BAD_CAST (subResult->
-                                            boolval ? "true" : ""));
-                            if (cur != NULL) {
-                                cur->ns =
-                                    xmlNewNs(cur,
-                                             BAD_CAST
-                                             "http://exslt.org/common",
-                                             BAD_CAST "exsl");
-                                xmlXPathNodeSetAddUnique(ret->nodesetval,
-                                                         cur);
-                            }
-                xsltExtensionInstructionResultRegister(tctxt, ret);
-                        }
-                        break;
-                    case XPATH_NUMBER:
-                        if (container != NULL) {
-                            xmlChar *val =
-                                xmlXPathCastNumberToString(subResult->
-                                                           floatval);
-                            xmlNodePtr cur =
-                                xmlNewChild((xmlNodePtr) container, NULL,
-                                            BAD_CAST "number", val);
-                            if (val != NULL)
-                                xmlFree(val);
-
-                            if (cur != NULL) {
-                                cur->ns =
-                                    xmlNewNs(cur,
-                                             BAD_CAST
-                                             "http://exslt.org/common",
-                                             BAD_CAST "exsl");
-                                xmlXPathNodeSetAddUnique(ret->nodesetval,
-                                                         cur);
-                            }
-                xsltExtensionInstructionResultRegister(tctxt, ret);
-                        }
-                        break;
-                    case XPATH_STRING:
-                        if (container != NULL) {
-                            xmlNodePtr cur =
-                                xmlNewChild((xmlNodePtr) container, NULL,
-                                            BAD_CAST "string",
-                                            subResult->stringval);
-                            if (cur != NULL) {
-                                cur->ns =
-                                    xmlNewNs(cur,
-                                             BAD_CAST
-                                             "http://exslt.org/common",
-                                             BAD_CAST "exsl");
-                                xmlXPathNodeSetAddUnique(ret->nodesetval,
-                                                         cur);
-                            }
-                xsltExtensionInstructionResultRegister(tctxt, ret);
-                        }
-                        break;
-            default:
-                        break;
-                }
-                xmlXPathFreeObject(subResult);
-            }
-        }
-    }
-    ctxt->context->doc = oldDoc;
-    ctxt->context->node = oldNode;
-    ctxt->context->contextSize = oldContextSize;
-    ctxt->context->proximityPosition = oldProximityPosition;
-
-
-  cleanup:
-    /* restore the xpath context */
-    if (comp != NULL)
-        xmlXPathFreeCompExpr(comp);
-    if (nodeset != NULL)
-        xmlXPathFreeNodeSet(nodeset);
-    if (str != NULL)
-        xmlFree(str);
-    valuePush(ctxt, ret);
-    return;
-}
-
-
-/**
- * exsltDynRegister:
- *
- * Registers the EXSLT - Dynamic module
- */
-
-void
-exsltDynRegister (void) {
-    xsltRegisterExtModuleFunction ((const xmlChar *) "evaluate",
-                   EXSLT_DYNAMIC_NAMESPACE,
-                   exsltDynEvaluateFunction);
-  xsltRegisterExtModuleFunction ((const xmlChar *) "map",
-                   EXSLT_DYNAMIC_NAMESPACE,
-                   exsltDynMapFunction);
-
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exslt.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exslt.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exslt.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#define IN_LIBEXSLT
-#include "libexslt/libexslt.h"
-
-#include 
-
-#include "config.h"
-
-#include 
-#include 
-
-#include 
-#include "exslt.h"
-
-const char *exsltLibraryVersion = LIBEXSLT_VERSION_STRING
-                LIBEXSLT_VERSION_EXTRA;
-const int exsltLibexsltVersion = LIBEXSLT_VERSION;
-const int exsltLibxsltVersion = LIBXSLT_VERSION;
-const int exsltLibxmlVersion = LIBXML_VERSION;
-
-/**
- * exsltRegisterAll:
- *
- * Registers all available EXSLT extensions
- */
-void
-exsltRegisterAll (void) {
-    xsltInitGlobals();
-    exsltCommonRegister();
-#ifdef EXSLT_CRYPTO_ENABLED
-    exsltCryptoRegister();
-#endif
-    exsltMathRegister();
-    exsltSetsRegister();
-    exsltFuncRegister();
-    exsltStrRegister();
-    exsltDateRegister();
-    exsltSaxonRegister();
-    exsltDynRegister();
-}
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exslt.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exslt.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exslt.h
+++ /dev/null
@@ -1,102 +0,0 @@
-
-#ifndef __EXSLT_H__
-#define __EXSLT_H__
-
-#include 
-#include 
-#include "exsltexports.h"
-#include 
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EXSLTPUBVAR const char *exsltLibraryVersion;
-EXSLTPUBVAR const int exsltLibexsltVersion;
-EXSLTPUBVAR const int exsltLibxsltVersion;
-EXSLTPUBVAR const int exsltLibxmlVersion;
-
-/**
- * EXSLT_COMMON_NAMESPACE:
- *
- * Namespace for EXSLT common functions
- */
-#define EXSLT_COMMON_NAMESPACE ((const xmlChar *) "http://exslt.org/common")
-/**
- * EXSLT_CRYPTO_NAMESPACE:
- *
- * Namespace for EXSLT crypto functions
- */
-#define EXSLT_CRYPTO_NAMESPACE ((const xmlChar *) "http://exslt.org/crypto")
-/**
- * EXSLT_MATH_NAMESPACE:
- *
- * Namespace for EXSLT math functions
- */
-#define EXSLT_MATH_NAMESPACE ((const xmlChar *) "http://exslt.org/math")
-/**
- * EXSLT_SETS_NAMESPACE:
- *
- * Namespace for EXSLT set functions
- */
-#define EXSLT_SETS_NAMESPACE ((const xmlChar *) "http://exslt.org/sets")
-/**
- * EXSLT_FUNCTIONS_NAMESPACE:
- *
- * Namespace for EXSLT functions extension functions
- */
-#define EXSLT_FUNCTIONS_NAMESPACE ((const xmlChar *) "http://exslt.org/functions")
-/**
- * EXSLT_STRINGS_NAMESPACE:
- *
- * Namespace for EXSLT strings functions
- */
-#define EXSLT_STRINGS_NAMESPACE ((const xmlChar *) "http://exslt.org/strings")
-/**
- * EXSLT_DATE_NAMESPACE:
- *
- * Namespace for EXSLT date functions
- */
-#define EXSLT_DATE_NAMESPACE ((const xmlChar *) "http://exslt.org/dates-and-times")
-/**
- * EXSLT_DYNAMIC_NAMESPACE:
- *
- * Namespace for EXSLT dynamic functions
- */
-#define EXSLT_DYNAMIC_NAMESPACE ((const xmlChar *) "http://exslt.org/dynamic")
-
-/**
- * SAXON_NAMESPACE:
- *
- * Namespace for SAXON extensions functions
- */
-#define SAXON_NAMESPACE ((const xmlChar *) "http://icl.com/saxon")
-
-EXSLTPUBFUN void EXSLTCALL exsltCommonRegister (void);
-#ifdef EXSLT_CRYPTO_ENABLED
-EXSLTPUBFUN void EXSLTCALL exsltCryptoRegister (void);
-#endif
-EXSLTPUBFUN void EXSLTCALL exsltMathRegister (void);
-EXSLTPUBFUN void EXSLTCALL exsltSetsRegister (void);
-EXSLTPUBFUN void EXSLTCALL exsltFuncRegister (void);
-EXSLTPUBFUN void EXSLTCALL exsltStrRegister (void);
-EXSLTPUBFUN void EXSLTCALL exsltDateRegister (void);
-EXSLTPUBFUN void EXSLTCALL exsltSaxonRegister (void);
-EXSLTPUBFUN void EXSLTCALL exsltDynRegister(void);
-
-EXSLTPUBFUN void EXSLTCALL exsltRegisterAll (void);
-
-EXSLTPUBFUN int EXSLTCALL exsltDateXpathCtxtRegister (xmlXPathContextPtr ctxt,
-                                                      const xmlChar *prefix);
-EXSLTPUBFUN int EXSLTCALL exsltMathXpathCtxtRegister (xmlXPathContextPtr ctxt,
-                                                      const xmlChar *prefix);
-EXSLTPUBFUN int EXSLTCALL exsltSetsXpathCtxtRegister (xmlXPathContextPtr ctxt,
-                                                      const xmlChar *prefix);
-EXSLTPUBFUN int EXSLTCALL exsltStrXpathCtxtRegister (xmlXPathContextPtr ctxt,
-                                                     const xmlChar *prefix);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* __EXSLT_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exsltconfig.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exsltconfig.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exsltconfig.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * exsltconfig.h: compile-time version informations for the EXSLT library
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#ifndef __XML_EXSLTCONFIG_H__
-#define __XML_EXSLTCONFIG_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * LIBEXSLT_DOTTED_VERSION:
- *
- * the version string like "1.2.3"
- */
-#define LIBEXSLT_DOTTED_VERSION "0.8.17"
-
-/**
- * LIBEXSLT_VERSION:
- *
- * the version number: 1.2.3 value is 10203
- */
-#define LIBEXSLT_VERSION 817
-
-/**
- * LIBEXSLT_VERSION_STRING:
- *
- * the version number string, 1.2.3 value is "10203"
- */
-#define LIBEXSLT_VERSION_STRING "817"
-
-/**
- * LIBEXSLT_VERSION_EXTRA:
- *
- * extra version information, used to show a CVS compilation
- */
-#define LIBEXSLT_VERSION_EXTRA ""
-
-/**
- * WITH_CRYPTO:
- *
- * Whether crypto support is configured into exslt
- */
-#if 1
-#define EXSLT_CRYPTO_ENABLED
-#endif
-
-/**
- * ATTRIBUTE_UNUSED:
- *
- * This macro is used to flag unused function parameters to GCC
- */
-#ifdef __GNUC__
-#ifdef HAVE_ANSIDECL_H
-#include 
-#endif
-#ifndef ATTRIBUTE_UNUSED
-#define ATTRIBUTE_UNUSED __attribute__((unused))
-#endif
-#else
-#define ATTRIBUTE_UNUSED
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_EXSLTCONFIG_H__ */
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exsltconfig.h.in b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exsltconfig.h.in
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exsltconfig.h.in
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * exsltconfig.h: compile-time version informations for the EXSLT library
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#ifndef __XML_EXSLTCONFIG_H__
-#define __XML_EXSLTCONFIG_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * LIBEXSLT_DOTTED_VERSION:
- *
- * the version string like "1.2.3"
- */
-#define LIBEXSLT_DOTTED_VERSION "@VERSION@"
-
-/**
- * LIBEXSLT_VERSION:
- *
- * the version number: 1.2.3 value is 10203
- */
-#define LIBEXSLT_VERSION @LIBEXSLT_VERSION_NUMBER@
-
-/**
- * LIBEXSLT_VERSION_STRING:
- *
- * the version number string, 1.2.3 value is "10203"
- */
-#define LIBEXSLT_VERSION_STRING "@LIBEXSLT_VERSION_NUMBER@"
-
-/**
- * LIBEXSLT_VERSION_EXTRA:
- *
- * extra version information, used to show a CVS compilation
- */
-#define	LIBEXSLT_VERSION_EXTRA "@LIBEXSLT_VERSION_EXTRA@"
-
-/**
- * WITH_CRYPTO:
- *
- * Whether crypto support is configured into exslt
- */
-#if @WITH_CRYPTO@
-#define EXSLT_CRYPTO_ENABLED
-#endif
-
-/**
- * ATTRIBUTE_UNUSED:
- *
- * This macro is used to flag unused function parameters to GCC
- */
-#ifdef __GNUC__
-#ifdef HAVE_ANSIDECL_H
-#include 
-#endif
-#ifndef ATTRIBUTE_UNUSED
-#define ATTRIBUTE_UNUSED __attribute__((unused))
-#endif
-#else
-#define ATTRIBUTE_UNUSED
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_EXSLTCONFIG_H__ */
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exsltexports.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exsltexports.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/exsltexports.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * exsltexports.h : macros for marking symbols as exportable/importable.
- *
- * See Copyright for the status of this software.
- *
- * igor@zlatkovic.com
- */
-
-#ifndef __EXSLT_EXPORTS_H__
-#define __EXSLT_EXPORTS_H__
-
-/**
- * EXSLTPUBFUN, EXSLTPUBVAR, EXSLTCALL
- *
- * Macros which declare an exportable function, an exportable variable and
- * the calling convention used for functions.
- *
- * Please use an extra block for every platform/compiler combination when
- * modifying this, rather than overlong #ifdef lines. This helps
- * readability as well as the fact that different compilers on the same
- * platform might need different definitions.
- */
-
-/**
- * EXSLTPUBFUN:
- *
- * Macros which declare an exportable function
- */
-#define EXSLTPUBFUN
-/**
- * EXSLTPUBVAR:
- *
- * Macros which declare an exportable variable
- */
-#define EXSLTPUBVAR extern
-/**
- * EXSLTCALL:
- *
- * Macros which declare the called convention for exported functions
- */
-#define EXSLTCALL
-
-/** DOC_DISABLE */
-
-/* Windows platform with MS compiler */
-#if defined(_WIN32) && defined(_MSC_VER)
-  #undef EXSLTPUBFUN
-  #undef EXSLTPUBVAR
-  #undef EXSLTCALL
-  #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
-    #define EXSLTPUBFUN __declspec(dllexport)
-    #define EXSLTPUBVAR __declspec(dllexport)
-  #else
-    #define EXSLTPUBFUN
-    #if !defined(LIBEXSLT_STATIC)
-      #define EXSLTPUBVAR __declspec(dllimport) extern
-    #else
-      #define EXSLTPUBVAR extern
-    #endif
-  #endif
-  #define EXSLTCALL __cdecl
-  #if !defined _REENTRANT
-    #define _REENTRANT
-  #endif
-#endif
-
-/* Windows platform with Borland compiler */
-#if defined(_WIN32) && defined(__BORLANDC__)
-  #undef EXSLTPUBFUN
-  #undef EXSLTPUBVAR
-  #undef EXSLTCALL
-  #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
-    #define EXSLTPUBFUN __declspec(dllexport)
-    #define EXSLTPUBVAR __declspec(dllexport) extern
-  #else
-    #define EXSLTPUBFUN
-    #if !defined(LIBEXSLT_STATIC)
-      #define EXSLTPUBVAR __declspec(dllimport) extern
-    #else
-      #define EXSLTPUBVAR extern
-    #endif
-  #endif
-  #define EXSLTCALL __cdecl
-  #if !defined _REENTRANT
-    #define _REENTRANT
-  #endif
-#endif
-
-/* Windows platform with GNU compiler (Mingw) */
-#if defined(_WIN32) && defined(__MINGW32__)
-  #undef EXSLTPUBFUN
-  #undef EXSLTPUBVAR
-  #undef EXSLTCALL
-/*
-  #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
-*/
-  #if !defined(LIBEXSLT_STATIC)
-    #define EXSLTPUBFUN __declspec(dllexport)
-    #define EXSLTPUBVAR __declspec(dllexport) extern
-  #else
-    #define EXSLTPUBFUN
-    #if !defined(LIBEXSLT_STATIC)
-      #define EXSLTPUBVAR __declspec(dllimport) extern
-    #else
-      #define EXSLTPUBVAR extern
-    #endif
-  #endif
-  #define EXSLTCALL __cdecl
-  #if !defined _REENTRANT
-    #define _REENTRANT
-  #endif
-#endif
-
-/* Cygwin platform, GNU compiler */
-#if defined(_WIN32) && defined(__CYGWIN__)
-  #undef EXSLTPUBFUN
-  #undef EXSLTPUBVAR
-  #undef EXSLTCALL
-  #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
-    #define EXSLTPUBFUN __declspec(dllexport)
-    #define EXSLTPUBVAR __declspec(dllexport)
-  #else
-    #define EXSLTPUBFUN
-    #if !defined(LIBEXSLT_STATIC)
-      #define EXSLTPUBVAR __declspec(dllimport) extern
-    #else
-      #define EXSLTPUBVAR
-    #endif
-  #endif
-  #define EXSLTCALL __cdecl
-#endif
-
-/* Compatibility */
-#if !defined(LIBEXSLT_PUBLIC)
-#define LIBEXSLT_PUBLIC EXSLTPUBVAR
-#endif
-
-#endif /* __EXSLT_EXPORTS_H__ */
-
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/functions.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/functions.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/functions.c
+++ /dev/null
@@ -1,781 +0,0 @@
-#define IN_LIBEXSLT
-#include "libexslt/libexslt.h"
-
-#if defined(WIN32) && !defined (__CYGWIN__) && (!__MINGW32__)
-#include 
-#else
-#include "config.h"
-#endif
-
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#include "exslt.h"
-
-typedef struct _exsltFuncFunctionData exsltFuncFunctionData;
-struct _exsltFuncFunctionData {
-    int nargs;          /* number of arguments to the function */
-    xmlNodePtr content;     /* the func:fuction template content */
-};
-
-typedef struct _exsltFuncData exsltFuncData;
-struct _exsltFuncData {
-    xmlHashTablePtr funcs;  /* pointer to the stylesheet module data */
-    xmlXPathObjectPtr result;   /* returned by func:result */
-    int error;          /* did an error occur? */
-    xmlDocPtr RVT;   /* result tree fragment */
-};
-
-typedef struct _exsltFuncResultPreComp exsltFuncResultPreComp;
-struct _exsltFuncResultPreComp {
-    xsltElemPreComp comp;
-    xmlXPathCompExprPtr select;
-    xmlNsPtr *nsList;
-    int nsNr;
-};
-
-/* Used for callback function in exsltInitFunc */
-typedef struct _exsltFuncImportRegData exsltFuncImportRegData;
-struct _exsltFuncImportRegData {
-    xsltTransformContextPtr ctxt;
-    xmlHashTablePtr hash;
-};
-
-static void exsltFuncFunctionFunction (xmlXPathParserContextPtr ctxt,
-                       int nargs);
-static exsltFuncFunctionData *exsltFuncNewFunctionData(void);
-
-#define MAX_FUNC_RECURSION 1000
-
-/*static const xmlChar *exsltResultDataID = (const xmlChar *) "EXSLT Result";*/
-
-/**
- * exsltFuncRegisterFunc:
- * @func:  the #exsltFuncFunctionData for the function
- * @ctxt:  an XSLT transformation context
- * @URI:  the function namespace URI
- * @name: the function name
- *
- * Registers a function declared by a func:function element
- */
-static void
-exsltFuncRegisterFunc (exsltFuncFunctionData *data,
-               xsltTransformContextPtr ctxt,
-               const xmlChar *URI, const xmlChar *name,
-               ATTRIBUTE_UNUSED const xmlChar *ignored) {
-    if ((data == NULL) || (ctxt == NULL) || (URI == NULL) || (name == NULL))
-    return;
-
-    xsltGenericDebug(xsltGenericDebugContext,
-             "exsltFuncRegisterFunc: register {%s}%s\n",
-             URI, name);
-    xsltRegisterExtFunction(ctxt, name, URI,
-                exsltFuncFunctionFunction);
-}
-
-/*
- * exsltFuncRegisterImportFunc
- * @data:    the exsltFuncFunctionData for the function
- * @ch:      structure containing context and hash table
- * @URI:     the function namespace URI
- * @name:    the function name
- *
- * Checks if imported function is already registered in top-level
- * stylesheet.  If not, copies function data and registers function
- */
-static void
-exsltFuncRegisterImportFunc (exsltFuncFunctionData *data,
-                 exsltFuncImportRegData *ch,
-                 const xmlChar *URI, const xmlChar *name,
-                 ATTRIBUTE_UNUSED const xmlChar *ignored) {
-    exsltFuncFunctionData *func=NULL;
-
-    if ((data == NULL) || (ch == NULL) || (URI == NULL) || (name == NULL))
-            return;
-
-    if (ch->ctxt == NULL || ch->hash == NULL)
-    return;
-
-    /* Check if already present */
-    func = (exsltFuncFunctionData*)xmlHashLookup2(ch->hash, URI, name);
-    if (func == NULL) {     /* Not yet present - copy it in */
-    func = exsltFuncNewFunctionData();
-    memcpy(func, data, sizeof(exsltFuncFunctionData));
-    if (xmlHashAddEntry2(ch->hash, URI, name, func) < 0) {
-        xsltGenericError(xsltGenericErrorContext,
-            "Failed to register function {%s}%s\n",
-            URI, name);
-    } else {        /* Do the registration */
-        xsltGenericDebug(xsltGenericDebugContext,
-                "exsltFuncRegisterImportFunc: register {%s}%s\n",
-            URI, name);
-        xsltRegisterExtFunction(ch->ctxt, name, URI,
-            exsltFuncFunctionFunction);
-    }
-    }
-}
-
-/**
- * exsltFuncInit:
- * @ctxt: an XSLT transformation context
- * @URI: the namespace URI for the extension
- *
- * Initializes the EXSLT - Functions module.
- * Called at transformation-time; merges all
- * functions declared in the import tree taking
- * import precedence into account, i.e. overriding
- * functions with lower import precedence.
- *
- * Returns the data for this transformation
- */
-static exsltFuncData *
-exsltFuncInit (xsltTransformContextPtr ctxt, const xmlChar *URI) {
-    exsltFuncData *ret;
-    xsltStylesheetPtr tmp;
-    exsltFuncImportRegData ch;
-    xmlHashTablePtr hash;
-
-    ret = (exsltFuncData *) xmlMalloc (sizeof(exsltFuncData));
-    if (ret == NULL) {
-    xsltGenericError(xsltGenericErrorContext,
-             "exsltFuncInit: not enough memory\n");
-    return(NULL);
-    }
-    memset(ret, 0, sizeof(exsltFuncData));
-
-    ret->result = NULL;
-    ret->error = 0;
-
-    ch.hash = (xmlHashTablePtr) xsltStyleGetExtData(ctxt->style, URI);
-    ret->funcs = ch.hash;
-    xmlHashScanFull(ch.hash, (xmlHashScannerFull) exsltFuncRegisterFunc, ctxt);
-    tmp = ctxt->style;
-    ch.ctxt = ctxt;
-    while ((tmp=xsltNextImport(tmp))!=NULL) {
-    hash = xsltGetExtInfo(tmp, URI);
-    if (hash != NULL) {
-        xmlHashScanFull(hash,
-            (xmlHashScannerFull) exsltFuncRegisterImportFunc, &ch);
-    }
-    }
-
-    return(ret);
-}
-
-/**
- * exsltFuncShutdown:
- * @ctxt: an XSLT transformation context
- * @URI: the namespace URI for the extension
- * @data: the module data to free up
- *
- * Shutdown the EXSLT - Functions module
- * Called at transformation-time.
- */
-static void
-exsltFuncShutdown (xsltTransformContextPtr ctxt ATTRIBUTE_UNUSED,
-           const xmlChar *URI ATTRIBUTE_UNUSED,
-           exsltFuncData *data) {
-    if (data->result != NULL)
-    xmlXPathFreeObject(data->result);
-    xmlFree(data);
-}
-
-/**
- * exsltFuncStyleInit:
- * @style: an XSLT stylesheet
- * @URI: the namespace URI for the extension
- *
- * Allocates the stylesheet data for EXSLT - Function
- * Called at compile-time.
- *
- * Returns the allocated data
- */
-static xmlHashTablePtr
-exsltFuncStyleInit (xsltStylesheetPtr style ATTRIBUTE_UNUSED,
-            const xmlChar *URI ATTRIBUTE_UNUSED) {
-    return xmlHashCreate(1);
-}
-
-/**
- * exsltFuncStyleShutdown:
- * @style: an XSLT stylesheet
- * @URI: the namespace URI for the extension
- * @data: the stylesheet data to free up
- *
- * Shutdown the EXSLT - Function module
- * Called at compile-time.
- */
-static void
-exsltFuncStyleShutdown (xsltStylesheetPtr style ATTRIBUTE_UNUSED,
-            const xmlChar *URI ATTRIBUTE_UNUSED,
-            xmlHashTablePtr data) {
-    xmlHashFree(data, (xmlHashDeallocator) xmlFree);
-}
-
-/**
- * exsltFuncNewFunctionData:
- *
- * Allocates an #exslFuncFunctionData object
- *
- * Returns the new structure
- */
-static exsltFuncFunctionData *
-exsltFuncNewFunctionData (void) {
-    exsltFuncFunctionData *ret;
-
-    ret = (exsltFuncFunctionData *) xmlMalloc (sizeof(exsltFuncFunctionData));
-    if (ret == NULL) {
-    xsltGenericError(xsltGenericErrorContext,
-             "exsltFuncNewFunctionData: not enough memory\n");
-    return (NULL);
-    }
-    memset(ret, 0, sizeof(exsltFuncFunctionData));
-
-    ret->nargs = 0;
-    ret->content = NULL;
-
-    return(ret);
-}
-
-/**
- * exsltFreeFuncResultPreComp:
- * @comp:  the #exsltFuncResultPreComp to free up
- *
- * Deallocates an #exsltFuncResultPreComp
- */
-static void
-exsltFreeFuncResultPreComp (exsltFuncResultPreComp *comp) {
-    if (comp == NULL)
-    return;
-
-    if (comp->select != NULL)
-    xmlXPathFreeCompExpr (comp->select);
-    if (comp->nsList != NULL)
-        xmlFree(comp->nsList);
-    xmlFree(comp);
-}
-
-/**
- * exsltFuncFunctionFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Evaluates the func:function element that defines the called function.
- */
-static void
-exsltFuncFunctionFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlXPathObjectPtr oldResult, ret;
-    exsltFuncData *data;
-    exsltFuncFunctionData *func;
-    xmlNodePtr paramNode, oldInsert, fake;
-    int oldBase;
-    xsltStackElemPtr params = NULL, param;
-    xsltTransformContextPtr tctxt = xsltXPathGetTransformContext(ctxt);
-    int i, notSet;
-    struct objChain {
-    struct objChain *next;
-    xmlXPathObjectPtr obj;
-    };
-    struct objChain *savedObjChain = NULL, *savedObj;
-
-    /*
-     * retrieve func:function template
-     */
-    data = (exsltFuncData *) xsltGetExtData (tctxt,
-                         EXSLT_FUNCTIONS_NAMESPACE);
-    oldResult = data->result;
-    data->result = NULL;
-
-    func = (exsltFuncFunctionData*) xmlHashLookup2 (data->funcs,
-                            ctxt->context->functionURI,
-                            ctxt->context->function);
-
-    /*
-     * params handling
-     */
-    if (nargs > func->nargs) {
-    xsltGenericError(xsltGenericErrorContext,
-             "{%s}%s: called with too many arguments\n",
-             ctxt->context->functionURI, ctxt->context->function);
-    ctxt->error = XPATH_INVALID_ARITY;
-    return;
-    }
-    if (func->content != NULL) {
-    paramNode = func->content->prev;
-    }
-    else
-    paramNode = NULL;
-    if ((paramNode == NULL) && (func->nargs != 0)) {
-    xsltGenericError(xsltGenericErrorContext,
-             "exsltFuncFunctionFunction: nargs != 0 and "
-             "param == NULL\n");
-    return;
-    }
-    if (tctxt->funcLevel > MAX_FUNC_RECURSION) {
-    xsltGenericError(xsltGenericErrorContext,
-             "{%s}%s: detected a recursion\n",
-             ctxt->context->functionURI, ctxt->context->function);
-    ctxt->error = XPATH_MEMORY_ERROR;
-    return;
-    }
-    tctxt->funcLevel++;
-
-    /*
-     * We have a problem with the evaluation of function parameters.
-     * The original library code did not evaluate XPath expressions until
-     * the last moment.  After version 1.1.17 of the libxslt, the logic
-     * of other parts of the library was changed, and the evaluation of
-     * XPath expressions within parameters now takes place as soon as the
-     * parameter is parsed/evaluated (xsltParseStylesheetCallerParam).
-     * This means that the parameters need to be evaluated in lexical
-     * order (since a variable is "in scope" as soon as it is declared).
-     * However, on entry to this routine, the values (from the caller) are
-     * in reverse order (held on the XPath context variable stack).  To
-     * accomplish what is required, I have added code to pop the XPath
-     * objects off of the stack at the beginning and save them, then use
-     * them (in the reverse order) as the params are evaluated.  This
-     * requires an xmlMalloc/xmlFree for each param set by the caller,
-     * which is not very nice.  There is probably a much better solution
-     * (like change other code to delay the evaluation).
-     */
-    /*
-     * In order to give the function params and variables a new 'scope'
-     * we change varsBase in the context.
-     */
-    oldBase = tctxt->varsBase;
-    tctxt->varsBase = tctxt->varsNr;
-    /* If there are any parameters */
-    if (paramNode != NULL) {
-        /* Fetch the stored argument values from the caller */
-    for (i = 0; i < nargs; i++) {
-        savedObj = xmlMalloc(sizeof(struct objChain));
-        savedObj->next = savedObjChain;
-        savedObj->obj = valuePop(ctxt);
-        savedObjChain = savedObj;
-    }
-
-    /*
-     * Prepare to process params in reverse order.  First, go to
-     * the beginning of the param chain.
-     */
-    for (i = 1; i <= func->nargs; i++) {
-        if (paramNode->prev == NULL)
-            break;
-        paramNode = paramNode->prev;
-    }
-    /*
-     * i has total # params found, nargs is number which are present
-     * as arguments from the caller
-     * Calculate the number of un-set parameters
-     */
-    notSet = func->nargs - nargs;
-    for (; i > 0; i--) {
-        param = xsltParseStylesheetCallerParam (tctxt, paramNode);
-        if (i > notSet) {   /* if parameter value set */
-        param->computed = 1;
-        if (param->value != NULL)
-            xmlXPathFreeObject(param->value);
-        savedObj = savedObjChain;   /* get next val from chain */
-        param->value = savedObj->obj;
-        savedObjChain = savedObjChain->next;
-        xmlFree(savedObj);
-        }
-        xsltLocalVariablePush(tctxt, param, -1);
-        param->next = params;
-        params = param;
-        paramNode = paramNode->next;
-    }
-    }
-    /*
-     * actual processing
-     */
-    fake = xmlNewDocNode(tctxt->output, NULL,
-             (const xmlChar *)"fake", NULL);
-    oldInsert = tctxt->insert;
-    tctxt->insert = fake;
-    xsltApplyOneTemplate (tctxt, xmlXPathGetContextNode(ctxt),
-              func->content, NULL, NULL);
-    xsltLocalVariablePop(tctxt, tctxt->varsBase, -2);
-    tctxt->insert = oldInsert;
-    tctxt->varsBase = oldBase;  /* restore original scope */
-    if (params != NULL)
-    xsltFreeStackElemList(params);
-
-    if (data->error != 0)
-    goto error;
-
-    if (data->result != NULL) {
-    ret = data->result;
-    } else
-    ret = xmlXPathNewCString("");
-
-    data->result = oldResult;
-
-    /*
-     * It is an error if the instantiation of the template results in
-     * the generation of result nodes.
-     */
-    if (fake->children != NULL) {
-#ifdef LIBXML_DEBUG_ENABLED
-    xmlDebugDumpNode (stderr, fake, 1);
-#endif
-    xsltGenericError(xsltGenericErrorContext,
-             "{%s}%s: cannot write to result tree while "
-             "executing a function\n",
-             ctxt->context->functionURI, ctxt->context->function);
-    xmlFreeNode(fake);
-    goto error;
-    }
-    xmlFreeNode(fake);
-    valuePush(ctxt, ret);
-
-error:
-    /*
-    * IMPORTANT: This enables previously tree fragments marked as
-    * being results of a function, to be garbage-collected after
-    * the calling process exits.
-    */
-    xsltExtensionInstructionResultFinalize(tctxt);
-    tctxt->funcLevel--;
-}
-
-
-static void
-exsltFuncFunctionComp (xsltStylesheetPtr style, xmlNodePtr inst) {
-    xmlChar *name, *prefix;
-    xmlNsPtr ns;
-    xmlHashTablePtr data;
-    exsltFuncFunctionData *func;
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-    {
-    xmlChar *qname;
-
-    qname = xmlGetProp(inst, (const xmlChar *) "name");
-    name = xmlSplitQName2 (qname, &prefix);
-    xmlFree(qname);
-    }
-    if ((name == NULL) || (prefix == NULL)) {
-    xsltGenericError(xsltGenericErrorContext,
-             "func:function: not a QName\n");
-    if (name != NULL)
-        xmlFree(name);
-    return;
-    }
-    /* namespace lookup */
-    ns = xmlSearchNs (inst->doc, inst, prefix);
-    if (ns == NULL) {
-    xsltGenericError(xsltGenericErrorContext,
-             "func:function: undeclared prefix %s\n",
-             prefix);
-    xmlFree(name);
-    xmlFree(prefix);
-    return;
-    }
-    xmlFree(prefix);
-
-    xsltParseTemplateContent(style, inst);
-
-    /*
-     * Create function data
-     */
-    func = exsltFuncNewFunctionData();
-    func->content = inst->children;
-    while (IS_XSLT_ELEM(func->content) &&
-       IS_XSLT_NAME(func->content, "param")) {
-    func->content = func->content->next;
-    func->nargs++;
-    }
-
-    /*
-     * Register the function data such that it can be retrieved
-     * by exslFuncFunctionFunction
-     */
-#ifdef XSLT_REFACTORED
-    /*
-    * Ensure that the hash table will be stored in the *current*
-    * stylesheet level in order to correctly evaluate the
-    * import precedence.
-    */
-    data = (xmlHashTablePtr)
-    xsltStyleStylesheetLevelGetExtData(style,
-        EXSLT_FUNCTIONS_NAMESPACE);
-#else
-    data = (xmlHashTablePtr)
-    xsltStyleGetExtData (style, EXSLT_FUNCTIONS_NAMESPACE);
-#endif
-    if (data == NULL) {
-    xsltGenericError(xsltGenericErrorContext,
-             "exsltFuncFunctionComp: no stylesheet data\n");
-    xmlFree(name);
-    return;
-    }
-
-    if (xmlHashAddEntry2 (data, ns->href, name, func) < 0) {
-    xsltTransformError(NULL, style, inst,
-        "Failed to register function {%s}%s\n",
-             ns->href, name);
-    style->errors++;
-    } else {
-    xsltGenericDebug(xsltGenericDebugContext,
-             "exsltFuncFunctionComp: register {%s}%s\n",
-             ns->href, name);
-    }
-    xmlFree(name);
-}
-
-static xsltElemPreCompPtr
-exsltFuncResultComp (xsltStylesheetPtr style, xmlNodePtr inst,
-             xsltTransformFunction function) {
-    xmlNodePtr test;
-    xmlChar *sel;
-    exsltFuncResultPreComp *ret;
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-        return (NULL);
-
-    /*
-     * "Validity" checking
-     */
-    /* it is an error to have any following sibling elements aside
-     * from the xsl:fallback element.
-     */
-    for (test = inst->next; test != NULL; test = test->next) {
-    if (test->type != XML_ELEMENT_NODE)
-        continue;
-    if (IS_XSLT_ELEM(test) && IS_XSLT_NAME(test, "fallback"))
-        continue;
-    xsltGenericError(xsltGenericErrorContext,
-             "exsltFuncResultElem: only xsl:fallback is "
-             "allowed to follow func:result\n");
-    style->errors++;
-    return (NULL);
-    }
-    /* it is an error for a func:result element to not be a descendant
-     * of func:function.
-     * it is an error if a func:result occurs within a func:result
-     * element.
-     * it is an error if instanciating the content of a variable
-     * binding element (i.e. xsl:variable, xsl:param) results in the
-     * instanciation of a func:result element.
-     */
-    for (test = inst->parent; test != NULL; test = test->parent) {
-    if (IS_XSLT_ELEM(test) &&
-        IS_XSLT_NAME(test, "stylesheet")) {
-        xsltGenericError(xsltGenericErrorContext,
-                 "func:result element not a descendant "
-                 "of a func:function\n");
-        style->errors++;
-        return (NULL);
-    }
-    if ((test->ns != NULL) &&
-        (xmlStrEqual(test->ns->href, EXSLT_FUNCTIONS_NAMESPACE))) {
-        if (xmlStrEqual(test->name, (const xmlChar *) "function")) {
-        break;
-        }
-        if (xmlStrEqual(test->name, (const xmlChar *) "result")) {
-        xsltGenericError(xsltGenericErrorContext,
-                 "func:result element not allowed within"
-                 " another func:result element\n");
-            style->errors++;
-        return (NULL);
-        }
-    }
-    if (IS_XSLT_ELEM(test) &&
-        (IS_XSLT_NAME(test, "variable") ||
-         IS_XSLT_NAME(test, "param"))) {
-        xsltGenericError(xsltGenericErrorContext,
-                 "func:result element not allowed within"
-                 " a variable binding element\n");
-            style->errors++;
-        return (NULL);
-    }
-    }
-
-    /*
-     * Precomputation
-     */
-    ret = (exsltFuncResultPreComp *)
-    xmlMalloc (sizeof(exsltFuncResultPreComp));
-    if (ret == NULL) {
-    xsltPrintErrorContext(NULL, NULL, NULL);
-        xsltGenericError(xsltGenericErrorContext,
-                         "exsltFuncResultComp : malloc failed\n");
-        style->errors++;
-        return (NULL);
-    }
-    memset(ret, 0, sizeof(exsltFuncResultPreComp));
-
-    xsltInitElemPreComp ((xsltElemPreCompPtr) ret, style, inst, function,
-         (xsltElemPreCompDeallocator) exsltFreeFuncResultPreComp);
-    ret->select = NULL;
-
-    /*
-     * Precompute the select attribute
-     */
-    sel = xmlGetNsProp(inst, (const xmlChar *) "select", NULL);
-    if (sel != NULL) {
-    ret->select = xmlXPathCompile (sel);
-    xmlFree(sel);
-    }
-    /*
-     * Precompute the namespace list
-     */
-    ret->nsList = xmlGetNsList(inst->doc, inst);
-    if (ret->nsList != NULL) {
-        int i = 0;
-        while (ret->nsList[i] != NULL)
-        i++;
-    ret->nsNr = i;
-    }
-    return ((xsltElemPreCompPtr) ret);
-}
-
-static void
-exsltFuncResultElem (xsltTransformContextPtr ctxt,
-                 xmlNodePtr node ATTRIBUTE_UNUSED, xmlNodePtr inst,
-             exsltFuncResultPreComp *comp) {
-    exsltFuncData *data;
-    xmlXPathObjectPtr ret;
-
-
-    /* It is an error if instantiating the content of the
-     * func:function element results in the instantiation of more than
-     * one func:result elements.
-     */
-    data = (exsltFuncData *) xsltGetExtData (ctxt, EXSLT_FUNCTIONS_NAMESPACE);
-    if (data == NULL) {
-    xsltGenericError(xsltGenericErrorContext,
-             "exsltFuncReturnElem: data == NULL\n");
-    return;
-    }
-    if (data->result != NULL) {
-    xsltGenericError(xsltGenericErrorContext,
-             "func:result already instanciated\n");
-    data->error = 1;
-    return;
-    }
-    /*
-     * Processing
-     */
-    if (comp->select != NULL) {
-    xmlNsPtr *oldXPNsList;
-    int oldXPNsNr;
-    xmlNodePtr oldXPContextNode;
-    /* If the func:result element has a select attribute, then the
-     * value of the attribute must be an expression and the
-     * returned value is the object that results from evaluating
-     * the expression. In this case, the content must be empty.
-     */
-    if (inst->children != NULL) {
-        xsltGenericError(xsltGenericErrorContext,
-                 "func:result content must be empty if"
-                 " the function has a select attribute\n");
-        data->error = 1;
-        return;
-    }
-    oldXPNsList = ctxt->xpathCtxt->namespaces;
-    oldXPNsNr = ctxt->xpathCtxt->nsNr;
-    oldXPContextNode = ctxt->xpathCtxt->node;
-
-    ctxt->xpathCtxt->namespaces = comp->nsList;
-    ctxt->xpathCtxt->nsNr = comp->nsNr;
-
-    ret = xmlXPathCompiledEval(comp->select, ctxt->xpathCtxt);
-
-    ctxt->xpathCtxt->node = oldXPContextNode;
-    ctxt->xpathCtxt->nsNr = oldXPNsNr;
-    ctxt->xpathCtxt->namespaces = oldXPNsList;
-
-    if (ret == NULL) {
-        xsltGenericError(xsltGenericErrorContext,
-                 "exsltFuncResultElem: ret == NULL\n");
-        return;
-    }
-    /*
-    * Mark it as a function result in order to avoid garbage
-    * collecting of tree fragments before the function exits.
-    */
-    xsltExtensionInstructionResultRegister(ctxt, ret);
-    } else if (inst->children != NULL) {
-    /* If the func:result element does not have a select attribute
-     * and has non-empty content (i.e. the func:result element has
-     * one or more child nodes), then the content of the
-     * func:result element specifies the value.
-     */
-    xmlNodePtr oldInsert;
-    xmlDocPtr container;
-
-    container = xsltCreateRVT(ctxt);
-    if (container == NULL) {
-        xsltGenericError(xsltGenericErrorContext,
-                 "exsltFuncResultElem: out of memory\n");
-        data->error = 1;
-        return;
-    }
-    xsltRegisterLocalRVT(ctxt, container);
-
-    oldInsert = ctxt->insert;
-    ctxt->insert = (xmlNodePtr) container;
-    xsltApplyOneTemplate (ctxt, ctxt->xpathCtxt->node,
-                  inst->children, NULL, NULL);
-    ctxt->insert = oldInsert;
-
-    ret = xmlXPathNewValueTree((xmlNodePtr) container);
-    if (ret == NULL) {
-        xsltGenericError(xsltGenericErrorContext,
-                 "exsltFuncResultElem: ret == NULL\n");
-        data->error = 1;
-    } else {
-        ret->boolval = 0; /* Freeing is not handled there anymore */
-        /*
-        * Mark it as a function result in order to avoid garbage
-        * collecting of tree fragments before the function exits.
-        */
-        xsltExtensionInstructionResultRegister(ctxt, ret);
-    }
-    } else {
-    /* If the func:result element has empty content and does not
-     * have a select attribute, then the returned value is an
-     * empty string.
-     */
-    ret = xmlXPathNewCString("");
-    }
-    data->result = ret;
-}
-
-/**
- * exsltFuncRegister:
- *
- * Registers the EXSLT - Functions module
- */
-void
-exsltFuncRegister (void) {
-    xsltRegisterExtModuleFull (EXSLT_FUNCTIONS_NAMESPACE,
-               (xsltExtInitFunction) exsltFuncInit,
-               (xsltExtShutdownFunction) exsltFuncShutdown,
-               (xsltStyleExtInitFunction) exsltFuncStyleInit,
-               (xsltStyleExtShutdownFunction) exsltFuncStyleShutdown);
-
-    xsltRegisterExtModuleTopLevel ((const xmlChar *) "function",
-                   EXSLT_FUNCTIONS_NAMESPACE,
-                   exsltFuncFunctionComp);
-    xsltRegisterExtModuleElement ((const xmlChar *) "result",
-              EXSLT_FUNCTIONS_NAMESPACE,
-              (xsltPreComputeFunction)exsltFuncResultComp,
-              (xsltTransformFunction) exsltFuncResultElem);
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/libexslt.3 b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/libexslt.3
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/libexslt.3
+++ /dev/null
@@ -1,270 +0,0 @@
-.TH LIBEXSLT 3 "04 November 2003" libxslt
-.SH NAME
-libexslt \- extension library for XSLT
-.SH SYNOPSIS
-.B #include 
-.sp
-.B void exsltCommonRegister(void);
-.br
-.B void exsltDateRegister(void);
-.br
-.B void exsltDynRegister(void);
-.br
-.B void exsltFuncRegister(void);
-.br
-.B void exsltMathRegister(void);
-.br
-.B void exsltSetsRegister(void);
-.br
-.B void exsltStrRegister(void);
-.br
-.B void exsltRegisterAll(void);
-.br
-.B void exsltSaxonRegister(void);
-.SH DESCRIPTION
-The 
-.B libexslt
-library is used to provide extensions to
-.SM XSLT
-functions. These extensions come from the
-.SM EXSLT
-project 
-.LP
-.SH USAGE
-To make use of these functions in
-.SM XSLT
-the appropriate namespace must be defined on the
-.B xsl:stylesheet
-element.  To enable support for them in 
-.BR libxslt (3)
-you must call the appropriate functions (listed in the
-.B SYNOPSIS
-section) to register the extensions.  The
-.I xslt-config
-shell script can be used to obtain the necessary flags for
-the pre-processor and linker.
-The supported extensions are:
-.SS COMMON
-.TP 2.2i
-Namespace: http://exslt.org/common
-.TP 2.2i
-See http://www.exslt.org/exsl/index.html for a description.
-.TP 2.2i
-.B node-set()
-convert the given RTF into a node-set.
-.TP
-.B object-type()
-returns the type of the given argument.
-.TP
-.B document
-Create multiple output documents. See http://www.exslt.org/exsl/elements/document/index.html
-
-.SS MATH
-.TP 2.2i
-Namespace: http://exslt.org/math
-.TP 2.2i
-See http://www.exslt.org/math/index.html for a description.
-.TP 2.2i
-.B min()
-returns the minimum value of the given node-set
-.TP
-.B max()
-returns the maximum value of the given node-set
-.TP
-.B highest()
-returns the nodes in the node-set whose value is the maximum value for the node-set.
-.TP
-.B lowest()
-returns the nodes in the node-set whose value is the minimum value for the node-set.
-.TP
-.B constant()
-returns a number value of the given constant with the given precision. The constants are PI, E, SQRRT2, LN2, LN10, LOG2E, and SQRT1_2.
-.TP
-.B random()
-returns a random number between 0 and 1 inclusive.
-.TP
-.B abs()
-returns the absolute value of the argument.
-.TP
-.B sqrt()
-returns the square root of the argument.
-.TP
-.B power()
-returns the power base and power arguments.
-.TP
-.B log()
-returns the natural log of the argument.
-.TP
-.B sin()
-returns the sine of the argument.
-.TP
-.B cos()
-returns the cosine of the argument.
-.TP
-.B tan()
-returns the tangent of the argument.
-.TP
-.B asin()
-returns the arc sine of the argument.
-.TP
-.B acos()
-returns the arc cosine of the argument.
-.TP
-.B atan()
-returns the arc tangent of the argument.
-.TP
-.B atan2()
-returns the arc tangent function of the y/x arguments.
-.TP
-.B exp()
-returns the exponential function of the argument.
-
-.SS SETS
-.TP 2.2i
-Namespace: http://exslt.org/sets
-.TP 2.2i
-See http://www.exslt.org/set/index.html for a description.
-.TP 2.2i
-.B difference()
-returns the difference between the two given node-sets.
-.TP
-.B intersection()
-returns a node-set of the nodes within both given node-sets.
-.TP
-.B distinct()
-returns a node-set of all nodes in the first argument that are not in the seconds argument.
-.TP
-.B has-same-node()
-returns TRUE if there is an intersection between the two given node-sets.
-.TP
-.B leading()
-returns a node-set of all nodes in the first argument that precede the first node in the second argument.
-.TP
-.B trailing()
-returns a node-set of all nodes in the first argument that follow the first node in the second argument.
-
-.SS "DATES and TIMES"
-.TP 2.2i
-Namespace: http://exslt.org/dates-and-times
-.TP 2.2i
-See http://www.exslt.org/date/date.html for a description.
-.TP 2.2i
-.B date-time()
-returns the current date and time as a date/time string.
-.TP
-.B date()
-returns the date specified in the given date/time string.
-.TP
-.B time()
-returns the time specified in the date/time string given as the argument.
-.TP
-.B year()
-returns the year of a date as a number.
-.TP
-.B leap-year()
-returns true if the year given in a date is a leap year.
-.TP
-.B month-in-year()
-returns the month of a date as a number.
-.TP
-.B month-name()
-returns the full name of the month of a date.
-.TP
-.B month-abbreviation()
-returns the abbreviation of the month of a date.
-.TP
-.B week-in-year()
-returns the week of the year as a number.
-.TP
-.B week-in-month()
-returns the week in a month of a date as a number.
-.TP
-.B day-in-year()
-returns the month of a date as a number.
-.TP
-.B day-in-month()
-returns the day of a date as a number.
-.TP
-.B day-of-week-in-month()
-returns the day-of-the-week in a month of a date as a number.
-.TP
-.B day-in-week()
-returns the day of the week given in a date as a number.
-.TP
-.B day-name()
-returns the full name of the day of the week of a date.
-.TP
-.B day-abbreviation()
-returns the abbreviation of the day of the week of a date.
-.TP
-.B hour-in-day()
-returns the hour of the day as a number.
-.TP
-.B minute-in-hour()
-returns the minute of the hour as a number.
-.TP
-.B second-in-minute()
-returns the second of the minute as a number.
-.TP
-.B seconds()
-returns the number of seconds specified by the argument string.
-.TP
-.B add()
-returns the date/time resulting from adding a duration to a date/time. 
-.TP
-.B add-duration()
-returns the duration resulting from adding two given durations together. 
-.TP
-.B difference()
-returns the duration between the first date and the second date.
-.TP
-.B duration()
-returns a duration string that represents the given number of seconds since 1970-01-01T00:00:00.
-
-.SS STRINGS
-.TP 2.2i
-Namespace: http://exslt.org/strings
-.TP 2.2i
-See http://www.exslt.org/str/index.html for a description.
-.TP 2.2i
-.B tokenize()
-returns a node set of token elements, each containing one token from the string.
-.TP
-.B padding()
-returns a string padded to a certain length.
-.TP
-.B align()
-returns a string aligned within another string.
-.TP
-.B concat()
-returns the concatenation of the string values of the nodes in that node set.
-
-.SS FUNCTIONS
-.TP 2.2i
-Namespace: http://exslt.org/functions
-.TP 2.2i
-See http://www.exslt.org/func/index.html for a description.
-.TP 2.2i
-.B function
-declares an extension function.
-.TP
-.B result
-returns the result of an extension function declared in function().
-.SH FILES
-.TP
-.I /usr/bin/xslt-config
-shell script giving pre-processor and linker flags.
-.TP
-.I /usr/lib/libexslt.a
-static library
-.TP
-.I /usr/lib/libexslt.so
-sharable library
-.SH AUTHORS
-Manual page by Heiko W. Rupp (hwr@pilhuhn.de)
-.SH "SEE ALSO"
-.BR libxml (3), 
-.BR libxslt (3), 
-.BR xmllint (1)
-.BR xsltproc (1), 
-.\" end of manual page
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/libexslt.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/libexslt.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/libexslt.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * libexslt.h: internal header only used during the compilation of libexslt
- *
- * See COPYRIGHT for the status of this software
- *
- * Author: daniel@veillard.com
- */
-
-#ifndef __XSLT_LIBEXSLT_H__
-#define __XSLT_LIBEXSLT_H__
-
-#if defined(WIN32) && !defined (__CYGWIN__) && !defined (__MINGW32__)
-#include 
-#else
-#include "config.h"
-#endif
-
-#include 
-#include 
-
-#if !defined LIBEXSLT_PUBLIC
-#if (defined (__CYGWIN__) || defined _MSC_VER) && !defined IN_LIBEXSLT && !defined LIBEXSLT_STATIC
-#define LIBEXSLT_PUBLIC __declspec(dllimport)
-#else
-#define LIBEXSLT_PUBLIC
-#endif
-#endif
-
-#endif /* ! __XSLT_LIBEXSLT_H__ */
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/math.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/math.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/math.c
+++ /dev/null
@@ -1,1202 +0,0 @@
-#define IN_LIBEXSLT
-#include "libexslt/libexslt.h"
-
-#if defined(WIN32) && !defined (__CYGWIN__) && (!__MINGW32__)
-#include 
-#else
-#include "config.h"
-#endif
-
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include 
-#include 
-
-#ifdef HAVE_MATH_H
-#include 
-#endif
-
-#ifdef HAVE_STDLIB_H
-#include 
-#endif
-
-#include "exslt.h"
-
-/**
- * exsltMathMin:
- * @ns:  a node-set
- *
- * Implements the EXSLT - Math min() function:
- *    number math:min (node-set)
- *
- * Returns the minimum value of the nodes passed as the argument, or
- *         xmlXPathNAN if @ns is NULL or empty or if one of the nodes
- *         turns into NaN.
- */
-static double
-exsltMathMin (xmlNodeSetPtr ns) {
-    double ret, cur;
-    int i;
-
-    if ((ns == NULL) || (ns->nodeNr == 0))
-    return(xmlXPathNAN);
-    ret = xmlXPathCastNodeToNumber(ns->nodeTab[0]);
-    if (xmlXPathIsNaN(ret))
-    return(xmlXPathNAN);
-    for (i = 1; i < ns->nodeNr; i++) {
-    cur = xmlXPathCastNodeToNumber(ns->nodeTab[i]);
-    if (xmlXPathIsNaN(cur))
-        return(xmlXPathNAN);
-    if (cur < ret)
-        ret = cur;
-    }
-    return(ret);
-}
-
-/**
- * exsltMathMinFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathMin for use by the XPath processor.
- */
-static void
-exsltMathMinFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlNodeSetPtr ns;
-    double ret;
-    void *user = NULL;
-
-    if (nargs != 1) {
-    xsltGenericError(xsltGenericErrorContext,
-             "math:min: invalid number of arguments\n");
-    ctxt->error = XPATH_INVALID_ARITY;
-    return;
-    }
-    /* We need to delay the freeing of value->user */
-    if ((ctxt->value != NULL) && (ctxt->value->boolval != 0)) {
-        user = ctxt->value->user;
-    ctxt->value->boolval = 0;
-    ctxt->value->user = NULL;
-    }
-    ns = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathMin(ns);
-
-    xmlXPathFreeNodeSet(ns);
-    if (user != NULL)
-        xmlFreeNodeList((xmlNodePtr)user);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltMathMax:
- * @ns:  a node-set
- *
- * Implements the EXSLT - Math max() function:
- *    number math:max (node-set)
- *
- * Returns the maximum value of the nodes passed as arguments, or
- *         xmlXPathNAN if @ns is NULL or empty or if one of the nodes
- *         turns into NaN.
- */
-static double
-exsltMathMax (xmlNodeSetPtr ns) {
-    double ret, cur;
-    int i;
-
-    if ((ns == NULL) || (ns->nodeNr == 0))
-    return(xmlXPathNAN);
-    ret = xmlXPathCastNodeToNumber(ns->nodeTab[0]);
-    if (xmlXPathIsNaN(ret))
-    return(xmlXPathNAN);
-    for (i = 1; i < ns->nodeNr; i++) {
-    cur = xmlXPathCastNodeToNumber(ns->nodeTab[i]);
-    if (xmlXPathIsNaN(cur))
-        return(xmlXPathNAN);
-    if (cur > ret)
-        ret = cur;
-    }
-    return(ret);
-}
-
-/**
- * exsltMathMaxFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathMax for use by the XPath processor.
- */
-static void
-exsltMathMaxFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlNodeSetPtr ns;
-    double ret;
-    void *user = NULL;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    /* We need to delay the freeing of value->user */
-    if ((ctxt->value != NULL) && (ctxt->value->boolval != 0)) {
-    user = ctxt->value->user;
-    ctxt->value->boolval = 0;
-    ctxt->value->user = 0;
-    }
-    ns = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathMax(ns);
-
-    xmlXPathFreeNodeSet(ns);
-
-    if (user != NULL)
-        xmlFreeNodeList((xmlNodePtr)user);
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltMathHighest:
- * @ns:  a node-set
- *
- * Implements the EXSLT - Math highest() function:
- *    node-set math:highest (node-set)
- *
- * Returns the nodes in the node-set whose value is the maximum value
- *         for the node-set.
- */
-static xmlNodeSetPtr
-exsltMathHighest (xmlNodeSetPtr ns) {
-    xmlNodeSetPtr ret = xmlXPathNodeSetCreate(NULL);
-    double max, cur;
-    int i;
-
-    if ((ns == NULL) || (ns->nodeNr == 0))
-    return(ret);
-
-    max = xmlXPathCastNodeToNumber(ns->nodeTab[0]);
-    if (xmlXPathIsNaN(max))
-    return(ret);
-    else
-    xmlXPathNodeSetAddUnique(ret, ns->nodeTab[0]);
-
-    for (i = 1; i < ns->nodeNr; i++) {
-    cur = xmlXPathCastNodeToNumber(ns->nodeTab[i]);
-    if (xmlXPathIsNaN(cur)) {
-        xmlXPathEmptyNodeSet(ret);
-        return(ret);
-    }
-    if (cur < max)
-        continue;
-    if (cur > max) {
-        max = cur;
-        xmlXPathEmptyNodeSet(ret);
-        xmlXPathNodeSetAddUnique(ret, ns->nodeTab[i]);
-        continue;
-    }
-    xmlXPathNodeSetAddUnique(ret, ns->nodeTab[i]);
-    }
-    return(ret);
-}
-
-/**
- * exsltMathHighestFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathHighest for use by the XPath processor
- */
-static void
-exsltMathHighestFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlNodeSetPtr ns, ret;
-    void *user = NULL;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    /* We need to delay the freeing of value->user */
-    if ((ctxt->value != NULL) && ctxt->value->boolval != 0) {
-        user = ctxt->value->user;
-    ctxt->value->boolval = 0;
-    ctxt->value->user = NULL;
-    }
-    ns = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathHighest(ns);
-
-    xmlXPathFreeNodeSet(ns);
-    if (user != NULL)
-        xmlFreeNodeList((xmlNodePtr)user);
-
-    xmlXPathReturnNodeSet(ctxt, ret);
-}
-
-/**
- * exsltMathLowest:
- * @ns:  a node-set
- *
- * Implements the EXSLT - Math lowest() function
- *    node-set math:lowest (node-set)
- *
- * Returns the nodes in the node-set whose value is the minimum value
- *         for the node-set.
- */
-static xmlNodeSetPtr
-exsltMathLowest (xmlNodeSetPtr ns) {
-    xmlNodeSetPtr ret = xmlXPathNodeSetCreate(NULL);
-    double min, cur;
-    int i;
-
-    if ((ns == NULL) || (ns->nodeNr == 0))
-    return(ret);
-
-    min = xmlXPathCastNodeToNumber(ns->nodeTab[0]);
-    if (xmlXPathIsNaN(min))
-    return(ret);
-    else
-    xmlXPathNodeSetAddUnique(ret, ns->nodeTab[0]);
-
-    for (i = 1; i < ns->nodeNr; i++) {
-    cur = xmlXPathCastNodeToNumber(ns->nodeTab[i]);
-    if (xmlXPathIsNaN(cur)) {
-        xmlXPathEmptyNodeSet(ret);
-        return(ret);
-    }
-        if (cur > min)
-        continue;
-    if (cur < min) {
-        min = cur;
-        xmlXPathEmptyNodeSet(ret);
-        xmlXPathNodeSetAddUnique(ret, ns->nodeTab[i]);
-            continue;
-    }
-    xmlXPathNodeSetAddUnique(ret, ns->nodeTab[i]);
-    }
-    return(ret);
-}
-
-/**
- * exsltMathLowestFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathLowest for use by the XPath processor
- */
-static void
-exsltMathLowestFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlNodeSetPtr ns, ret;
-    void *user = NULL;
-
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    /* We need to delay the freeing of value->user */
-    if ((ctxt->value != NULL) && (ctxt->value->boolval != 0)) {
-        user = ctxt->value->user;
-    ctxt->value->boolval = 0;
-    ctxt->value->user = NULL;
-    }
-    ns = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathLowest(ns);
-
-    xmlXPathFreeNodeSet(ns);
-    if (user != NULL)
-        xmlFreeNodeList((xmlNodePtr)user);
-
-    xmlXPathReturnNodeSet(ctxt, ret);
-}
-
-/* math other functions */
-
-/* constant values */
-#define EXSLT_PI        (const xmlChar *) \
-            "3.1415926535897932384626433832795028841971693993751"
-#define EXSLT_E         (const xmlChar *) \
-            "2.71828182845904523536028747135266249775724709369996"
-#define EXSLT_SQRRT2    (const xmlChar *) \
-            "1.41421356237309504880168872420969807856967187537694"
-#define EXSLT_LN2       (const xmlChar *) \
-            "0.69314718055994530941723212145817656807550013436025"
-#define EXSLT_LN10      (const xmlChar *) \
-            "2.30258509299404568402"
-#define EXSLT_LOG2E     (const xmlChar *) \
-            "1.4426950408889634074"
-#define EXSLT_SQRT1_2   (const xmlChar *) \
-            "0.70710678118654752440"
-
-/**
- * exsltMathConstant
- * @name: string
- * @precision:  number
- *
- * Implements the EXSLT - Math constant function:
- *     number math:constant(string, number)
- *
- * Returns a number value of the given constant with the given precision or
- * xmlXPathNAN if name is unknown.
- * The constants are PI, E, SQRRT2, LN2, LN10, LOG2E, and SQRT1_2
- */
-static double
-exsltMathConstant (xmlChar *name, double precision) {
-    xmlChar *str;
-    double ret;
-
-    if ((name == NULL) || (xmlXPathIsNaN(precision)) || (precision < 1.0)) {
-        return xmlXPathNAN;
-    }
-
-    if (xmlStrEqual(name, BAD_CAST "PI")) {
-        int len = xmlStrlen(EXSLT_PI);
-
-        if (precision <= len)
-            len = (int)precision;
-
-        str = xmlStrsub(EXSLT_PI, 0, len);
-
-    } else if (xmlStrEqual(name, BAD_CAST "E")) {
-        int len = xmlStrlen(EXSLT_E);
-
-        if (precision <= len)
-            len = (int)precision;
-
-        str = xmlStrsub(EXSLT_E, 0, len);
-
-    } else if (xmlStrEqual(name, BAD_CAST "SQRRT2")) {
-        int len = xmlStrlen(EXSLT_SQRRT2);
-
-        if (precision <= len)
-            len = (int)precision;
-
-        str = xmlStrsub(EXSLT_SQRRT2, 0, len);
-
-    } else if (xmlStrEqual(name, BAD_CAST "LN2")) {
-        int len = xmlStrlen(EXSLT_LN2);
-
-        if (precision <= len)
-            len = (int)precision;
-
-        str = xmlStrsub(EXSLT_LN2, 0, len);
-
-    } else if (xmlStrEqual(name, BAD_CAST "LN10")) {
-        int len = xmlStrlen(EXSLT_LN10);
-
-        if (precision <= len)
-            len = (int)precision;
-
-        str = xmlStrsub(EXSLT_LN10, 0, len);
-
-    } else if (xmlStrEqual(name, BAD_CAST "LOG2E")) {
-        int len = xmlStrlen(EXSLT_LOG2E);
-
-        if (precision <= len)
-            len = (int)precision;
-
-        str = xmlStrsub(EXSLT_LOG2E, 0, len);
-
-    } else if (xmlStrEqual(name, BAD_CAST "SQRT1_2")) {
-        int len = xmlStrlen(EXSLT_SQRT1_2);
-
-        if (precision <= len)
-            len = (int)precision;
-
-        str = xmlStrsub(EXSLT_SQRT1_2, 0, len);
-
-    } else {
-    str = NULL;
-    }
-    if (str == NULL)
-        return xmlXPathNAN;
-    ret = xmlXPathCastStringToNumber(str);
-    xmlFree(str);
-    return ret;
-}
-
-/**
- * exsltMathConstantFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathConstant for use by the XPath processor.
- */
-static void
-exsltMathConstantFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    double   ret;
-    xmlChar *name;
-
-    if (nargs != 2) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ret = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    name = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathConstant(name, ret);
-    if (name != NULL)
-    xmlFree(name);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-#if defined(HAVE_STDLIB_H) && defined(RAND_MAX)
-
-/**
- * exsltMathRandom:
- *
- * Implements the EXSLT - Math random() function:
- *    number math:random ()
- *
- * Returns a random number between 0 and 1 inclusive.
- */
-static double
-exsltMathRandom (void) {
-    double ret;
-    int num;
-
-    num = rand();
-    ret = (double)num / (double)RAND_MAX;
-    return(ret);
-}
-
-/**
- * exsltMathRandomFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathRandom for use by the XPath processor.
- */
-static void
-exsltMathRandomFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    double ret;
-
-    if (nargs != 0) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    ret = exsltMathRandom();
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-#endif /* defined(HAVE_STDLIB_H) && defined(RAND_MAX) */
-
-#if HAVE_MATH_H
-
-/**
- * exsltMathAbs:
- * @num:  a double
- *
- * Implements the EXSLT - Math abs() function:
- *    number math:abs (number)
- *
- * Returns the absolute value of the argument, or xmlXPathNAN if @num is Nan.
- */
-static double
-exsltMathAbs (double num) {
-    double ret;
-
-    if (xmlXPathIsNaN(num))
-    return(xmlXPathNAN);
-    ret = fabs(num);
-    return(ret);
-}
-
-/**
- * exsltMathAbsFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathAbs for use by the XPath processor.
- */
-static void
-exsltMathAbsFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    double ret;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ret = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathAbs(ret);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltMathSqrt:
- * @num:  a double
- *
- * Implements the EXSLT - Math sqrt() function:
- *    number math:sqrt (number)
- *
- * Returns the square root of the argument, or xmlXPathNAN if @num is Nan.
- */
-static double
-exsltMathSqrt (double num) {
-    double ret;
-
-    if (xmlXPathIsNaN(num))
-    return(xmlXPathNAN);
-    ret = sqrt(num);
-    return(ret);
-}
-
-/**
- * exsltMathSqrtFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathSqrt for use by the XPath processor.
- */
-static void
-exsltMathSqrtFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    double ret;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ret = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathSqrt(ret);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltMathPower:
- * @base:  a double
- * @power:  a double
- *
- * Implements the EXSLT - Math power() function:
- *    number math:power (number, number)
- *
- * Returns the power base and power arguments, or xmlXPathNAN
- * if either @base or @power is Nan.
- */
-static double
-exsltMathPower (double base, double power) {
-    double ret;
-
-    if ((xmlXPathIsNaN(base) || xmlXPathIsNaN(power)))
-    return(xmlXPathNAN);
-    ret = pow(base, power);
-    return(ret);
-}
-
-/**
- * exsltMathPower:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathPower for use by the XPath processor.
- */
-static void
-exsltMathPowerFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    double ret, base;
-
-    if (nargs != 2) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ret = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    /* power */
-    base = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathPower(base, ret);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltMathLog:
- * @num:  a double
- *
- * Implements the EXSLT - Math log() function:
- *    number math:log (number)
- *
- * Returns the natural log of the argument, or xmlXPathNAN if @num is Nan.
- */
-static double
-exsltMathLog (double num) {
-    double ret;
-
-    if (xmlXPathIsNaN(num))
-    return(xmlXPathNAN);
-    ret = log(num);
-    return(ret);
-}
-
-/**
- * exsltMathLogFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathLog for use by the XPath processor.
- */
-static void
-exsltMathLogFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    double ret;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ret = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathLog(ret);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltMathSin:
- * @num:  a double
- *
- * Implements the EXSLT - Math sin() function:
- *    number math:sin (number)
- *
- * Returns the sine of the argument, or xmlXPathNAN if @num is Nan.
- */
-static double
-exsltMathSin (double num) {
-    double ret;
-
-    if (xmlXPathIsNaN(num))
-    return(xmlXPathNAN);
-    ret = sin(num);
-    return(ret);
-}
-
-/**
- * exsltMathSinFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathSin for use by the XPath processor.
- */
-static void
-exsltMathSinFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    double ret;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ret = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathSin(ret);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltMathCos:
- * @num:  a double
- *
- * Implements the EXSLT - Math cos() function:
- *    number math:cos (number)
- *
- * Returns the cosine of the argument, or xmlXPathNAN if @num is Nan.
- */
-static double
-exsltMathCos (double num) {
-    double ret;
-
-    if (xmlXPathIsNaN(num))
-    return(xmlXPathNAN);
-    ret = cos(num);
-    return(ret);
-}
-
-/**
- * exsltMathCosFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathCos for use by the XPath processor.
- */
-static void
-exsltMathCosFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    double ret;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ret = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathCos(ret);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltMathTan:
- * @num:  a double
- *
- * Implements the EXSLT - Math tan() function:
- *    number math:tan (number)
- *
- * Returns the tangent of the argument, or xmlXPathNAN if @num is Nan.
- */
-static double
-exsltMathTan (double num) {
-    double ret;
-
-    if (xmlXPathIsNaN(num))
-    return(xmlXPathNAN);
-    ret = tan(num);
-    return(ret);
-}
-
-/**
- * exsltMathTanFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathTan for use by the XPath processor.
- */
-static void
-exsltMathTanFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    double ret;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ret = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathTan(ret);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltMathAsin:
- * @num:  a double
- *
- * Implements the EXSLT - Math asin() function:
- *    number math:asin (number)
- *
- * Returns the arc sine of the argument, or xmlXPathNAN if @num is Nan.
- */
-static double
-exsltMathAsin (double num) {
-    double ret;
-
-    if (xmlXPathIsNaN(num))
-    return(xmlXPathNAN);
-    ret = asin(num);
-    return(ret);
-}
-
-/**
- * exsltMathAsinFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathAsin for use by the XPath processor.
- */
-static void
-exsltMathAsinFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    double ret;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ret = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathAsin(ret);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltMathAcos:
- * @num:  a double
- *
- * Implements the EXSLT - Math acos() function:
- *    number math:acos (number)
- *
- * Returns the arc cosine of the argument, or xmlXPathNAN if @num is Nan.
- */
-static double
-exsltMathAcos (double num) {
-    double ret;
-
-    if (xmlXPathIsNaN(num))
-    return(xmlXPathNAN);
-    ret = acos(num);
-    return(ret);
-}
-
-/**
- * exsltMathAcosFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathAcos for use by the XPath processor.
- */
-static void
-exsltMathAcosFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    double ret;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ret = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathAcos(ret);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltMathAtan:
- * @num:  a double
- *
- * Implements the EXSLT - Math atan() function:
- *    number math:atan (number)
- *
- * Returns the arc tangent of the argument, or xmlXPathNAN if @num is Nan.
- */
-static double
-exsltMathAtan (double num) {
-    double ret;
-
-    if (xmlXPathIsNaN(num))
-    return(xmlXPathNAN);
-    ret = atan(num);
-    return(ret);
-}
-
-/**
- * exsltMathAtanFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathAtan for use by the XPath processor.
- */
-static void
-exsltMathAtanFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    double ret;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ret = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathAtan(ret);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltMathAtan2:
- * @y:  a double
- * @x:  a double
- *
- * Implements the EXSLT - Math atan2() function:
- *    number math:atan2 (number, number)
- *
- * Returns the arc tangent function of the y/x arguments, or xmlXPathNAN
- * if either @y or @x is Nan.
- */
-static double
-exsltMathAtan2 (double y, double x) {
-    double ret;
-
-    if ((xmlXPathIsNaN(y) || xmlXPathIsNaN(x)))
-    return(xmlXPathNAN);
-    ret = atan2(y, x);
-    return(ret);
-}
-
-/**
- * exsltMathAtan2Function:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathAtan2 for use by the XPath processor.
- */
-static void
-exsltMathAtan2Function (xmlXPathParserContextPtr ctxt, int nargs) {
-    double ret, x;
-
-    if (nargs != 2) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    x = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    /* y */
-    ret = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathAtan2(ret, x);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-/**
- * exsltMathExp:
- * @num:  a double
- *
- * Implements the EXSLT - Math exp() function:
- *    number math:exp (number)
- *
- * Returns the exponential function of the argument, or xmlXPathNAN if
- * @num is Nan.
- */
-static double
-exsltMathExp (double num) {
-    double ret;
-
-    if (xmlXPathIsNaN(num))
-    return(xmlXPathNAN);
-    ret = exp(num);
-    return(ret);
-}
-
-/**
- * exsltMathExpFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #exsltMathExp for use by the XPath processor.
- */
-static void
-exsltMathExpFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    double ret;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-    ret = xmlXPathPopNumber(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    ret = exsltMathExp(ret);
-
-    xmlXPathReturnNumber(ctxt, ret);
-}
-
-#endif /* HAVE_MATH_H */
-
-/**
- * exsltMathRegister:
- *
- * Registers the EXSLT - Math module
- */
-
-void
-exsltMathRegister (void) {
-    xsltRegisterExtModuleFunction ((const xmlChar *) "min",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathMinFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "max",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathMaxFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "highest",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathHighestFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "lowest",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathLowestFunction);
-    /* register other math functions */
-    xsltRegisterExtModuleFunction ((const xmlChar *) "constant",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathConstantFunction);
-#ifdef HAVE_STDLIB_H
-    xsltRegisterExtModuleFunction ((const xmlChar *) "random",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathRandomFunction);
-#endif
-#if HAVE_MATH_H
-    xsltRegisterExtModuleFunction ((const xmlChar *) "abs",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathAbsFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "sqrt",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathSqrtFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "power",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathPowerFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "log",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathLogFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "sin",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathSinFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "cos",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathCosFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "tan",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathTanFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "asin",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathAsinFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "acos",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathAcosFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "atan",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathAtanFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "atan2",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathAtan2Function);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "exp",
-                   EXSLT_MATH_NAMESPACE,
-                   exsltMathExpFunction);
-#endif
-}
-
-/**
- * exsltMathXpathCtxtRegister:
- *
- * Registers the EXSLT - Math module for use outside XSLT
- */
-int
-exsltMathXpathCtxtRegister (xmlXPathContextPtr ctxt, const xmlChar *prefix)
-{
-    if (ctxt
-        && prefix
-        && !xmlXPathRegisterNs(ctxt,
-                               prefix,
-                               (const xmlChar *) EXSLT_MATH_NAMESPACE)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "min",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathMinFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "max",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathMaxFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "highest",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathHighestFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "lowest",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathLowestFunction)
-#ifdef HAVE_STDLIB_H
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "random",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathRandomFunction)
-#endif
-#if HAVE_MATH_H
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "abs",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathAbsFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "sqrt",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathSqrtFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "power",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathPowerFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "log",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathLogFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "sin",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathSinFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "cos",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathCosFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "tan",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathTanFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "asin",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathAsinFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "acos",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathAcosFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "atan",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathAtanFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "atan2",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathAtan2Function)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "exp",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathExpFunction)
-#endif
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "constant",
-                                   (const xmlChar *) EXSLT_MATH_NAMESPACE,
-                                   exsltMathConstantFunction)) {
-        return 0;
-    }
-    return -1;
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/saxon.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/saxon.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/saxon.c
+++ /dev/null
@@ -1,296 +0,0 @@
-#define IN_LIBEXSLT
-#include "libexslt/libexslt.h"
-
-#if defined(WIN32) && !defined (__CYGWIN__) && (!__MINGW32__)
-#include 
-#else
-#include "config.h"
-#endif
-
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include 
-#include 
-
-#include "exslt.h"
-
-/**
- * exsltSaxonInit:
- * @ctxt: an XSLT transformation context
- * @URI: the namespace URI for the extension
- *
- * Initializes the SAXON module.
- *
- * Returns the data for this transformation
- */
-static xmlHashTablePtr
-exsltSaxonInit (xsltTransformContextPtr ctxt ATTRIBUTE_UNUSED,
-        const xmlChar *URI ATTRIBUTE_UNUSED) {
-    return xmlHashCreate(1);
-}
-
-/**
- * exsltSaxonShutdown:
- * @ctxt: an XSLT transformation context
- * @URI: the namespace URI for the extension
- * @data: the module data to free up
- *
- * Shutdown the SAXON extension module
- */
-static void
-exsltSaxonShutdown (xsltTransformContextPtr ctxt ATTRIBUTE_UNUSED,
-            const xmlChar *URI ATTRIBUTE_UNUSED,
-            xmlHashTablePtr data) {
-    xmlHashFree(data, (xmlHashDeallocator) xmlXPathFreeCompExpr);
-}
-
-
-/**
- * exsltSaxonExpressionFunction:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * The supplied string must contain an XPath expression. The result of
- * the function is a stored expression, which may be supplied as an
- * argument to other extension functions such as saxon:eval(),
- * saxon:sum() and saxon:distinct(). The result of the expression will
- * usually depend on the current node. The expression may contain
- * references to variables that are in scope at the point where
- * saxon:expression() is called: these variables will be replaced in
- * the stored expression with the values they take at the time
- * saxon:expression() is called, not the values of the variables at
- * the time the stored expression is evaluated.  Similarly, if the
- * expression contains namespace prefixes, these are interpreted in
- * terms of the namespace declarations in scope at the point where the
- * saxon:expression() function is called, not those in scope where the
- * stored expression is evaluated.
- *
- * TODO: current implementation doesn't conform to SAXON behaviour
- * regarding context and namespaces.
- */
-static void
-exsltSaxonExpressionFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlChar *arg;
-    xmlXPathCompExprPtr ret;
-    xmlHashTablePtr hash;
-    xsltTransformContextPtr tctxt = xsltXPathGetTransformContext(ctxt);
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    arg = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt) || (arg == NULL)) {
-    xmlXPathSetTypeError(ctxt);
-    return;
-    }
-
-    hash = (xmlHashTablePtr) xsltGetExtData(tctxt,
-                        ctxt->context->functionURI);
-
-    ret = xmlHashLookup(hash, arg);
-
-    if (ret == NULL) {
-     ret = xmlXPathCompile(arg);
-     if (ret == NULL) {
-          xmlFree(arg);
-          xsltGenericError(xsltGenericErrorContext,
-            "{%s}:%s: argument is not an XPath expression\n",
-            ctxt->context->functionURI, ctxt->context->function);
-          return;
-     }
-     xmlHashAddEntry(hash, arg, (void *) ret);
-    }
-
-    xmlFree(arg);
-
-    xmlXPathReturnExternal(ctxt, ret);
-}
-
-/**
- * exsltSaxonEvalFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  number of arguments
- *
- * Implements de SAXON eval() function:
- *    object saxon:eval (saxon:stored-expression)
- * Returns the result of evaluating the supplied stored expression.
- * A stored expression may be obtained as the result of calling
- * the saxon:expression() function.
- * The stored expression is evaluated in the current context, that
- * is, the context node is the current node, and the context position
- * and context size are the same as the result of calling position()
- * or last() respectively.
- */
-static void
-exsltSaxonEvalFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-     xmlXPathCompExprPtr expr;
-     xmlXPathObjectPtr ret;
-
-     if (nargs != 1) {
-      xmlXPathSetArityError(ctxt);
-      return;
-     }
-
-     if (!xmlXPathStackIsExternal(ctxt)) {
-      xmlXPathSetTypeError(ctxt);
-      return;
-     }
-
-     expr = (xmlXPathCompExprPtr) xmlXPathPopExternal(ctxt);
-
-     ret = xmlXPathCompiledEval(expr, ctxt->context);
-
-     valuePush(ctxt, ret);
-}
-
-/**
- * exsltSaxonEvaluateFunction:
- * @ctxt:  an XPath parser context
- * @nargs: number of arguments
- *
- * Implements the SAXON evaluate() function
- *     object saxon:evaluate (string)
- * The supplied string must contain an XPath expression. The result of
- * the function is the result of evaluating the XPath expression. This
- * is useful where an expression needs to be constructed at run-time or
- * passed to the stylesheet as a parameter, for example where the sort
- * key is determined dynamically. The context for the expression (e.g.
- * which variables and namespaces are available) is exactly the same as
- * if the expression were written explicitly at this point in the
- * stylesheet. The function saxon:evaluate(string) is shorthand for
- * saxon:eval(saxon:expression(string)).
- */
-static void
-exsltSaxonEvaluateFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-     if (nargs != 1) {
-      xmlXPathSetArityError(ctxt);
-      return;
-     }
-
-     exsltSaxonExpressionFunction(ctxt, 1);
-     exsltSaxonEvalFunction(ctxt, 1);
-}
-
-/**
- * exsltSaxonSystemIdFunction:
- * @ctxt:  an XPath parser context
- * @nargs: number of arguments
- *
- * Implements the SAXON systemId() function
- *     string saxon:systemId ()
- * This function returns the system ID of the document being styled.
- */
-static void
-exsltSaxonSystemIdFunction(xmlXPathParserContextPtr ctxt, int nargs)
-{
-    if (ctxt == NULL)
-        return;
-    if (nargs != 0) {
-        xmlXPathSetArityError(ctxt);
-        return;
-    }
-
-    if ((ctxt->context) && (ctxt->context->doc) &&
-        (ctxt->context->doc->URL))
-    valuePush(ctxt, xmlXPathNewString(ctxt->context->doc->URL));
-    else
-    valuePush(ctxt, xmlXPathNewString(BAD_CAST ""));
-}
-
-/**
- * exsltSaxonLineNumberFunction:
- * @ctxt:  an XPath parser context
- * @nargs: number of arguments
- *
- * Implements the SAXON line-number() function
- *     integer saxon:line-number()
- *
- * This returns the line number of the context node in the source document
- * within the entity that contains it. There are no arguments. If line numbers
- * are not maintained for the current document, the function returns -1. (To
- * ensure that line numbers are maintained, use the -l option on the command
- * line)
- *
- * The extension has been extended to have the following form:
- *     integer saxon:line-number([node-set-1])
- * If a node-set is given, this extension will return the line number of the
- * node in the argument node-set that is first in document order.
- */
-static void
-exsltSaxonLineNumberFunction(xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlNodePtr cur = NULL;
-
-    if (nargs == 0) {
-    cur = ctxt->context->node;
-    } else if (nargs == 1) {
-    xmlXPathObjectPtr obj;
-    xmlNodeSetPtr nodelist;
-    int i;
-
-    if ((ctxt->value == NULL) || (ctxt->value->type != XPATH_NODESET)) {
-        xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "saxon:line-number() : invalid arg expecting a node-set\n");
-        ctxt->error = XPATH_INVALID_TYPE;
-        return;
-    }
-
-    obj = valuePop(ctxt);
-    nodelist = obj->nodesetval;
-    if ((nodelist == NULL) || (nodelist->nodeNr <= 0)) {
-        xmlXPathFreeObject(obj);
-        valuePush(ctxt, xmlXPathNewFloat(-1));
-        return;
-    }
-    cur = nodelist->nodeTab[0];
-    for (i = 1;i < nodelist->nodeNr;i++) {
-        int ret = xmlXPathCmpNodes(cur, nodelist->nodeTab[i]);
-        if (ret == -1)
-        cur = nodelist->nodeTab[i];
-    }
-    xmlXPathFreeObject(obj);
-    } else {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "saxon:line-number() : invalid number of args %d\n",
-        nargs);
-    ctxt->error = XPATH_INVALID_ARITY;
-    return;
-    }
-
-    valuePush(ctxt, xmlXPathNewFloat(xmlGetLineNo(cur)));
-    return;
-}
-
-/**
- * exsltSaxonRegister:
- *
- * Registers the SAXON extension module
- */
-void
-exsltSaxonRegister (void) {
-     xsltRegisterExtModule (SAXON_NAMESPACE,
-                (xsltExtInitFunction) exsltSaxonInit,
-                (xsltExtShutdownFunction) exsltSaxonShutdown);
-     xsltRegisterExtModuleFunction((const xmlChar *) "expression",
-                   SAXON_NAMESPACE,
-                   exsltSaxonExpressionFunction);
-     xsltRegisterExtModuleFunction((const xmlChar *) "eval",
-                   SAXON_NAMESPACE,
-                   exsltSaxonEvalFunction);
-     xsltRegisterExtModuleFunction((const xmlChar *) "evaluate",
-                   SAXON_NAMESPACE,
-                   exsltSaxonEvaluateFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "line-number",
-                   SAXON_NAMESPACE,
-                   exsltSaxonLineNumberFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "systemId",
-                   SAXON_NAMESPACE,
-                   exsltSaxonSystemIdFunction);
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/sets.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/sets.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/sets.c
+++ /dev/null
@@ -1,334 +0,0 @@
-#define IN_LIBEXSLT
-#include "libexslt/libexslt.h"
-
-#if defined(WIN32) && !defined (__CYGWIN__) && (!__MINGW32__)
-#include 
-#else
-#include "config.h"
-#endif
-
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include 
-
-#include "exslt.h"
-
-/**
- * exsltSetsDifferenceFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #xmlXPathDifference for use by the XPath processor
- */
-static void
-exsltSetsDifferenceFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlNodeSetPtr arg1, arg2, ret;
-
-    if (nargs != 2) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    arg2 = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-    xmlXPathSetTypeError(ctxt);
-    return;
-    }
-
-    arg1 = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-    xmlXPathSetTypeError(ctxt);
-    return;
-    }
-
-    ret = xmlXPathDifference(arg1, arg2);
-
-    if (ret != arg1)
-    xmlXPathFreeNodeSet(arg1);
-    xmlXPathFreeNodeSet(arg2);
-
-    xmlXPathReturnNodeSet(ctxt, ret);
-}
-
-/**
- * exsltSetsIntersectionFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #xmlXPathIntersection for use by the XPath processor
- */
-static void
-exsltSetsIntersectionFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlNodeSetPtr arg1, arg2, ret;
-
-    if (nargs != 2) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    arg2 = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-    xmlXPathSetTypeError(ctxt);
-    return;
-    }
-
-    arg1 = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-    xmlXPathSetTypeError(ctxt);
-    return;
-    }
-
-    ret = xmlXPathIntersection(arg1, arg2);
-
-    xmlXPathFreeNodeSet(arg1);
-    xmlXPathFreeNodeSet(arg2);
-
-    xmlXPathReturnNodeSet(ctxt, ret);
-}
-
-/**
- * exsltSetsDistinctFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #xmlXPathDistinct for use by the XPath processor
- */
-static void
-exsltSetsDistinctFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlXPathObjectPtr obj;
-    xmlNodeSetPtr ns, ret;
-    int boolval = 0;
-    void *user = NULL;
-
-    if (nargs != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    if (ctxt->value != NULL) {
-        boolval = ctxt->value->boolval;
-    user = ctxt->value->user;
-    ctxt->value->boolval = 0;
-    ctxt->value->user = NULL;
-    }
-    ns = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt))
-    return;
-
-    /* !!! must be sorted !!! */
-    ret = xmlXPathDistinctSorted(ns);
-
-    if (ret != ns)
-        xmlXPathFreeNodeSet(ns);
-
-    obj = xmlXPathWrapNodeSet(ret);
-    obj->user = user;
-    obj->boolval = boolval;
-    valuePush((ctxt), obj);
-}
-
-/**
- * exsltSetsHasSameNodesFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #xmlXPathHasSameNodes for use by the XPath processor
- */
-static void
-exsltSetsHasSameNodesFunction (xmlXPathParserContextPtr ctxt,
-                  int nargs) {
-    xmlNodeSetPtr arg1, arg2;
-    int ret;
-
-    if (nargs != 2) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    arg2 = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-    xmlXPathSetTypeError(ctxt);
-    return;
-    }
-
-    arg1 = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-    xmlXPathSetTypeError(ctxt);
-    return;
-    }
-
-    ret = xmlXPathHasSameNodes(arg1, arg2);
-
-    xmlXPathFreeNodeSet(arg1);
-    xmlXPathFreeNodeSet(arg2);
-
-    xmlXPathReturnBoolean(ctxt, ret);
-}
-
-/**
- * exsltSetsLeadingFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #xmlXPathLeading for use by the XPath processor
- */
-static void
-exsltSetsLeadingFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlNodeSetPtr arg1, arg2, ret;
-
-    if (nargs != 2) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    arg2 = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-    xmlXPathSetTypeError(ctxt);
-    return;
-    }
-
-    arg1 = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-    xmlXPathSetTypeError(ctxt);
-    return;
-    }
-
-    /*  If the second node set is empty, then the first node set is
-     * returned.
-     */
-    if (xmlXPathNodeSetIsEmpty(arg2)) {
-    xmlXPathReturnNodeSet(ctxt, arg1);
-
-    xmlXPathFreeNodeSet(arg2);
-
-    return;
-    }
-    /* !!! must be sorted */
-    ret = xmlXPathNodeLeadingSorted(arg1, xmlXPathNodeSetItem(arg2, 0));
-
-    xmlXPathFreeNodeSet(arg1);
-    xmlXPathFreeNodeSet(arg2);
-
-    xmlXPathReturnNodeSet(ctxt, ret);
-}
-
-/**
- * exsltSetsTrailingFunction:
- * @ctxt:  an XPath parser context
- * @nargs:  the number of arguments
- *
- * Wraps #xmlXPathTrailing for use by the XPath processor
- */
-static void
-exsltSetsTrailingFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlNodeSetPtr arg1, arg2, ret;
-
-    if (nargs != 2) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    arg2 = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-    xmlXPathSetTypeError(ctxt);
-    return;
-    }
-
-    arg1 = xmlXPathPopNodeSet(ctxt);
-    if (xmlXPathCheckError(ctxt)) {
-    xmlXPathSetTypeError(ctxt);
-    return;
-    }
-
-    /*  If the second node set is empty, then the first node set is
-     * returned.
-     */
-    if (xmlXPathNodeSetIsEmpty(arg2)) {
-    xmlXPathReturnNodeSet(ctxt, arg1);
-
-    xmlXPathFreeNodeSet(arg2);
-
-    return;
-    }
-    /* !!! mist be sorted */
-    ret = xmlXPathNodeTrailingSorted(arg1, xmlXPathNodeSetItem(arg2, 0));
-
-    xmlXPathFreeNodeSet(arg1);
-    xmlXPathFreeNodeSet(arg2);
-
-    xmlXPathReturnNodeSet(ctxt, ret);
-}
-
-/**
- * exsltSetsRegister:
- *
- * Registers the EXSLT - Sets module
- */
-
-void
-exsltSetsRegister (void) {
-    xsltRegisterExtModuleFunction ((const xmlChar *) "difference",
-                   EXSLT_SETS_NAMESPACE,
-                   exsltSetsDifferenceFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "intersection",
-                   EXSLT_SETS_NAMESPACE,
-                   exsltSetsIntersectionFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "distinct",
-                   EXSLT_SETS_NAMESPACE,
-                   exsltSetsDistinctFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "has-same-node",
-                   EXSLT_SETS_NAMESPACE,
-                   exsltSetsHasSameNodesFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "leading",
-                   EXSLT_SETS_NAMESPACE,
-                   exsltSetsLeadingFunction);
-    xsltRegisterExtModuleFunction ((const xmlChar *) "trailing",
-                   EXSLT_SETS_NAMESPACE,
-                   exsltSetsTrailingFunction);
-}
-
-/**
- * exsltSetsXpathCtxtRegister:
- *
- * Registers the EXSLT - Sets module for use outside XSLT
- */
-int
-exsltSetsXpathCtxtRegister (xmlXPathContextPtr ctxt, const xmlChar *prefix)
-{
-    if (ctxt
-        && prefix
-        && !xmlXPathRegisterNs(ctxt,
-                               prefix,
-                               (const xmlChar *) EXSLT_SETS_NAMESPACE)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "difference",
-                                   (const xmlChar *) EXSLT_SETS_NAMESPACE,
-                                   exsltSetsDifferenceFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "intersection",
-                                   (const xmlChar *) EXSLT_SETS_NAMESPACE,
-                                   exsltSetsIntersectionFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "distinct",
-                                   (const xmlChar *) EXSLT_SETS_NAMESPACE,
-                                   exsltSetsDistinctFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "has-same-node",
-                                   (const xmlChar *) EXSLT_SETS_NAMESPACE,
-                                   exsltSetsHasSameNodesFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "leading",
-                                   (const xmlChar *) EXSLT_SETS_NAMESPACE,
-                                   exsltSetsLeadingFunction)
-        && !xmlXPathRegisterFuncNS(ctxt,
-                                   (const xmlChar *) "trailing",
-                                   (const xmlChar *) EXSLT_SETS_NAMESPACE,
-                                   exsltSetsTrailingFunction)) {
-        return 0;
-    }
-    return -1;
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/strings.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/strings.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libexslt/strings.c
+++ /dev/null
@@ -1,849 +0,0 @@
-#define IN_LIBEXSLT
-#include "libexslt/libexslt.h"
-
-#if defined(WIN32) && !defined (__CYGWIN__) && (!__MINGW32__)
-#include 
-#else
-#include "config.h"
-#endif
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include 
-#include 
-
-#include "exslt.h"
-
-/**
- * exsltStrTokenizeFunction:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * Splits up a string on the characters of the delimiter string and returns a
- * node set of token elements, each containing one token from the string.
- */
-static void
-exsltStrTokenizeFunction(xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xsltTransformContextPtr tctxt;
-    xmlChar *str, *delimiters, *cur;
-    const xmlChar *token, *delimiter;
-    xmlNodePtr node;
-    xmlDocPtr container;
-    xmlXPathObjectPtr ret = NULL;
-    int clen;
-
-    if ((nargs < 1) || (nargs > 2)) {
-        xmlXPathSetArityError(ctxt);
-        return;
-    }
-
-    if (nargs == 2) {
-        delimiters = xmlXPathPopString(ctxt);
-        if (xmlXPathCheckError(ctxt))
-            return;
-    } else {
-        delimiters = xmlStrdup((const xmlChar *) "\t\r\n ");
-    }
-    if (delimiters == NULL)
-        return;
-
-    str = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt) || (str == NULL)) {
-        xmlFree(delimiters);
-        return;
-    }
-
-    /* Return a result tree fragment */
-    tctxt = xsltXPathGetTransformContext(ctxt);
-    if (tctxt == NULL) {
-        xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-          "exslt:tokenize : internal error tctxt == NULL\n");
-    goto fail;
-    }
-
-    container = xsltCreateRVT(tctxt);
-    if (container != NULL) {
-        xsltRegisterLocalRVT(tctxt, container);
-        ret = xmlXPathNewNodeSet(NULL);
-        if (ret != NULL) {
-            for (cur = str, token = str; *cur != 0; cur += clen) {
-            clen = xmlUTF8Size(cur);
-        if (*delimiters == 0) { /* empty string case */
-            xmlChar ctmp;
-            ctmp = *(cur+clen);
-            *(cur+clen) = 0;
-                    node = xmlNewDocRawNode(container, NULL,
-                                       (const xmlChar *) "token", cur);
-            xmlAddChild((xmlNodePtr) container, node);
-            xmlXPathNodeSetAddUnique(ret->nodesetval, node);
-                    *(cur+clen) = ctmp; /* restore the changed byte */
-                    token = cur + clen;
-                } else for (delimiter = delimiters; *delimiter != 0;
-                delimiter += xmlUTF8Size(delimiter)) {
-                    if (!xmlUTF8Charcmp(cur, delimiter)) {
-                        if (cur == token) {
-                            /* discard empty tokens */
-                            token = cur + clen;
-                            break;
-                        }
-                        *cur = 0;   /* terminate the token */
-                        node = xmlNewDocRawNode(container, NULL,
-                                           (const xmlChar *) "token", token);
-            xmlAddChild((xmlNodePtr) container, node);
-            xmlXPathNodeSetAddUnique(ret->nodesetval, node);
-                        *cur = *delimiter; /* restore the changed byte */
-                        token = cur + clen;
-                        break;
-                    }
-                }
-            }
-            if (token != cur) {
-        node = xmlNewDocRawNode(container, NULL,
-                    (const xmlChar *) "token", token);
-                xmlAddChild((xmlNodePtr) container, node);
-            xmlXPathNodeSetAddUnique(ret->nodesetval, node);
-            }
-        /*
-         * Mark it as a function result in order to avoid garbage
-         * collecting of tree fragments
-         */
-        xsltExtensionInstructionResultRegister(tctxt, ret);
-        }
-    }
-
-fail:
-    if (str != NULL)
-        xmlFree(str);
-    if (delimiters != NULL)
-        xmlFree(delimiters);
-    if (ret != NULL)
-        valuePush(ctxt, ret);
-    else
-        valuePush(ctxt, xmlXPathNewNodeSet(NULL));
-}
-
-/**
- * exsltStrSplitFunction:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * Splits up a string on a delimiting string and returns a node set of token
- * elements, each containing one token from the string.
- */
-static void
-exsltStrSplitFunction(xmlXPathParserContextPtr ctxt, int nargs) {
-    xsltTransformContextPtr tctxt;
-    xmlChar *str, *delimiter, *cur;
-    const xmlChar *token;
-    xmlNodePtr node;
-    xmlDocPtr container;
-    xmlXPathObjectPtr ret = NULL;
-    int delimiterLength;
-
-    if ((nargs < 1) || (nargs > 2)) {
-        xmlXPathSetArityError(ctxt);
-        return;
-    }
-
-    if (nargs == 2) {
-        delimiter = xmlXPathPopString(ctxt);
-        if (xmlXPathCheckError(ctxt))
-            return;
-    } else {
-        delimiter = xmlStrdup((const xmlChar *) " ");
-    }
-    if (delimiter == NULL)
-        return;
-    delimiterLength = xmlStrlen (delimiter);
-
-    str = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt) || (str == NULL)) {
-        xmlFree(delimiter);
-        return;
-    }
-
-    /* Return a result tree fragment */
-    tctxt = xsltXPathGetTransformContext(ctxt);
-    if (tctxt == NULL) {
-        xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-          "exslt:tokenize : internal error tctxt == NULL\n");
-    goto fail;
-    }
-
-    /*
-    * OPTIMIZE TODO: We are creating an xmlDoc for every split!
-    */
-    container = xsltCreateRVT(tctxt);
-    if (container != NULL) {
-        xsltRegisterLocalRVT(tctxt, container);
-        ret = xmlXPathNewNodeSet(NULL);
-        if (ret != NULL) {
-            for (cur = str, token = str; *cur != 0; cur++) {
-        if (delimiterLength == 0) {
-            if (cur != token) {
-            xmlChar tmp = *cur;
-            *cur = 0;
-                        node = xmlNewDocRawNode(container, NULL,
-                                           (const xmlChar *) "token", token);
-            xmlAddChild((xmlNodePtr) container, node);
-            xmlXPathNodeSetAddUnique(ret->nodesetval, node);
-            *cur = tmp;
-            token++;
-            }
-        }
-        else if (!xmlStrncasecmp(cur, delimiter, delimiterLength)) {
-            if (cur == token) {
-            /* discard empty tokens */
-            cur = cur + delimiterLength - 1;
-            token = cur + 1;
-            continue;
-            }
-            *cur = 0;
-            node = xmlNewDocRawNode(container, NULL,
-                       (const xmlChar *) "token", token);
-            xmlAddChild((xmlNodePtr) container, node);
-            xmlXPathNodeSetAddUnique(ret->nodesetval, node);
-            *cur = *delimiter;
-            cur = cur + delimiterLength - 1;
-            token = cur + 1;
-                }
-            }
-        if (token != cur) {
-        node = xmlNewDocRawNode(container, NULL,
-                   (const xmlChar *) "token", token);
-        xmlAddChild((xmlNodePtr) container, node);
-        xmlXPathNodeSetAddUnique(ret->nodesetval, node);
-        }
-        /*
-         * Mark it as a function result in order to avoid garbage
-         * collecting of tree fragments
-         */
-        xsltExtensionInstructionResultRegister(tctxt, ret);
-        }
-    }
-
-fail:
-    if (str != NULL)
-        xmlFree(str);
-    if (delimiter != NULL)
-        xmlFree(delimiter);
-    if (ret != NULL)
-        valuePush(ctxt, ret);
-    else
-        valuePush(ctxt, xmlXPathNewNodeSet(NULL));
-}
-
-/**
- * exsltStrEncodeUriFunction:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * URI-Escapes a string
- */
-static void
-exsltStrEncodeUriFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    int escape_all = 1, str_len = 0;
-    xmlChar *str = NULL, *ret = NULL, *tmp;
-
-    if ((nargs < 2) || (nargs > 3)) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    if (nargs >= 3) {
-        /* check for UTF-8 if encoding was explicitly given;
-           we don't support anything else yet */
-        tmp = xmlXPathPopString(ctxt);
-        if (xmlUTF8Strlen(tmp) != 5 || xmlStrcmp((const xmlChar *)"UTF-8",tmp)) {
-        xmlXPathReturnEmptyString(ctxt);
-        xmlFree(tmp);
-        return;
-    }
-    xmlFree(tmp);
-    }
-
-    escape_all = xmlXPathPopBoolean(ctxt);
-
-    str = xmlXPathPopString(ctxt);
-    str_len = xmlUTF8Strlen(str);
-
-    if (str_len == 0) {
-    xmlXPathReturnEmptyString(ctxt);
-    xmlFree(str);
-    return;
-    }
-
-    ret = xmlURIEscapeStr(str,(const xmlChar *)(escape_all?"-_.!~*'()":"-_.!~*'();/?:@&=+$,[]"));
-    xmlXPathReturnString(ctxt, ret);
-
-    if (str != NULL)
-    xmlFree(str);
-}
-
-/**
- * exsltStrDecodeUriFunction:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * reverses URI-Escaping of a string
- */
-static void
-exsltStrDecodeUriFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    int str_len = 0;
-    xmlChar *str = NULL, *ret = NULL, *tmp;
-
-    if ((nargs < 1) || (nargs > 2)) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    if (nargs >= 2) {
-        /* check for UTF-8 if encoding was explicitly given;
-           we don't support anything else yet */
-        tmp = xmlXPathPopString(ctxt);
-        if (xmlUTF8Strlen(tmp) != 5 || xmlStrcmp((const xmlChar *)"UTF-8",tmp)) {
-        xmlXPathReturnEmptyString(ctxt);
-        xmlFree(tmp);
-        return;
-    }
-    xmlFree(tmp);
-    }
-
-    str = xmlXPathPopString(ctxt);
-    str_len = xmlUTF8Strlen(str);
-
-    if (str_len == 0) {
-    xmlXPathReturnEmptyString(ctxt);
-    xmlFree(str);
-    return;
-    }
-
-    ret = (xmlChar *) xmlURIUnescapeString((const char *)str,0,NULL);
-    if (!xmlCheckUTF8(ret)) {
-    /* FIXME: instead of throwing away the whole URI, we should
-        only discard the invalid sequence(s). How to do that? */
-    xmlXPathReturnEmptyString(ctxt);
-    xmlFree(str);
-    xmlFree(ret);
-    return;
-    }
-
-    xmlXPathReturnString(ctxt, ret);
-
-    if (str != NULL)
-    xmlFree(str);
-}
-
-/**
- * exsltStrPaddingFunction:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * Creates a padding string of a certain length.
- */
-static void
-exsltStrPaddingFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    int number, str_len = 0;
-    xmlChar *str = NULL, *ret = NULL, *tmp;
-
-    if ((nargs < 1) || (nargs > 2)) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    if (nargs == 2) {
-    str = xmlXPathPopString(ctxt);
-    str_len = xmlUTF8Strlen(str);
-    }
-    if (str_len == 0) {
-    if (str != NULL) xmlFree(str);
-    str = xmlStrdup((const xmlChar *) " ");
-    str_len = 1;
-    }
-
-    number = (int) xmlXPathPopNumber(ctxt);
-
-    if (number <= 0) {
-    xmlXPathReturnEmptyString(ctxt);
-    xmlFree(str);
-    return;
-    }
-
-    while (number >= str_len) {
-    ret = xmlStrncat(ret, str, str_len);
-    number -= str_len;
-    }
-    tmp = xmlUTF8Strndup (str, number);
-    ret = xmlStrcat(ret, tmp);
-    if (tmp != NULL)
-    xmlFree (tmp);
-
-    xmlXPathReturnString(ctxt, ret);
-
-    if (str != NULL)
-    xmlFree(str);
-}
-
-/**
- * exsltStrAlignFunction:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * Aligns a string within another string.
- */
-static void
-exsltStrAlignFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlChar *str, *padding, *alignment, *ret;
-    int str_l, padding_l;
-
-    if ((nargs < 2) || (nargs > 3)) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    if (nargs == 3)
-    alignment = xmlXPathPopString(ctxt);
-    else
-    alignment = NULL;
-
-    padding = xmlXPathPopString(ctxt);
-    str = xmlXPathPopString(ctxt);
-
-    str_l = xmlUTF8Strlen (str);
-    padding_l = xmlUTF8Strlen (padding);
-
-    if (str_l == padding_l) {
-    xmlXPathReturnString (ctxt, str);
-    xmlFree(padding);
-    xmlFree(alignment);
-    return;
-    }
-
-    if (str_l > padding_l) {
-    ret = xmlUTF8Strndup (str, padding_l);
-    } else {
-    if (xmlStrEqual(alignment, (const xmlChar *) "right")) {
-        ret = xmlUTF8Strndup (padding, padding_l - str_l);
-        ret = xmlStrcat (ret, str);
-    } else if (xmlStrEqual(alignment, (const xmlChar *) "center")) {
-        int left = (padding_l - str_l) / 2;
-        int right_start;
-
-        ret = xmlUTF8Strndup (padding, left);
-        ret = xmlStrcat (ret, str);
-
-        right_start = xmlUTF8Strsize (padding, left + str_l);
-        ret = xmlStrcat (ret, padding + right_start);
-    } else {
-        int str_s;
-
-        str_s = xmlStrlen (str);
-        ret = xmlStrdup (str);
-        ret = xmlStrcat (ret, padding + str_s);
-    }
-    }
-
-    xmlXPathReturnString (ctxt, ret);
-
-    xmlFree(str);
-    xmlFree(padding);
-    xmlFree(alignment);
-}
-
-/**
- * exsltStrConcatFunction:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * Takes a node set and returns the concatenation of the string values
- * of the nodes in that node set.  If the node set is empty, it
- * returns an empty string.
- */
-static void
-exsltStrConcatFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlXPathObjectPtr obj;
-    xmlChar *ret = NULL;
-    int i;
-
-    if (nargs  != 1) {
-    xmlXPathSetArityError(ctxt);
-    return;
-    }
-
-    if (!xmlXPathStackIsNodeSet(ctxt)) {
-    xmlXPathSetTypeError(ctxt);
-    return;
-    }
-
-    obj = valuePop (ctxt);
-
-    if (xmlXPathNodeSetIsEmpty(obj->nodesetval)) {
-    xmlXPathReturnEmptyString(ctxt);
-    return;
-    }
-
-    for (i = 0; i < obj->nodesetval->nodeNr; i++) {
-    xmlChar *tmp;
-    tmp = xmlXPathCastNodeToString(obj->nodesetval->nodeTab[i]);
-
-    ret = xmlStrcat (ret, tmp);
-
-    xmlFree(tmp);
-    }
-
-    xmlXPathFreeObject (obj);
-
-    xmlXPathReturnString(ctxt, ret);
-}
-
-/**
- * exsltStrReturnString:
- * @ctxt: an XPath parser context
- * @str: a string
- * @len: length of string
- *
- * Returns a string as a node set.
- */
-static int
-exsltStrReturnString(xmlXPathParserContextPtr ctxt, const xmlChar *str,
-                     int len)
-{
-    xsltTransformContextPtr tctxt = xsltXPathGetTransformContext(ctxt);
-    xmlDocPtr container;
-    xmlNodePtr text_node;
-    xmlXPathObjectPtr ret;
-
-    container = xsltCreateRVT(tctxt);
-    if (container == NULL) {
-        xmlXPathSetError(ctxt, XPATH_MEMORY_ERROR);
-        return(-1);
-    }
-    xsltRegisterLocalRVT(tctxt, container);
-
-    text_node = xmlNewTextLen(str, len);
-    if (text_node == NULL) {
-        xmlXPathSetError(ctxt, XPATH_MEMORY_ERROR);
-        return(-1);
-    }
-    xmlAddChild((xmlNodePtr) container, text_node);
-
-    ret = xmlXPathNewNodeSet(text_node);
-    if (ret == NULL) {
-        xmlXPathSetError(ctxt, XPATH_MEMORY_ERROR);
-        return(-1);
-    }
-
-    xsltExtensionInstructionResultRegister(tctxt, ret);
-    valuePush(ctxt, ret);
-
-    return(0);
-}
-
-/**
- * exsltStrReplaceFunction:
- * @ctxt: an XPath parser context
- * @nargs: the number of arguments
- *
- * Takes a string, and two node sets and returns the string with all strings in
- * the first node set replaced by all strings in the second node set.
- */
-static void
-exsltStrReplaceFunction (xmlXPathParserContextPtr ctxt, int nargs) {
-    int i, i_empty, n, slen0, rlen0, *slen, *rlen;
-    void *mem = NULL;
-    const xmlChar *src, *start;
-    xmlChar *string, *search_str = NULL, *replace_str = NULL;
-    xmlChar **search, **replace;
-    xmlNodeSetPtr search_set = NULL, replace_set = NULL;
-    xmlBufferPtr buf;
-
-    if (nargs  != 3) {
-        xmlXPathSetArityError(ctxt);
-        return;
-    }
-
-    /* get replace argument */
-
-    if (!xmlXPathStackIsNodeSet(ctxt))
-        replace_str = xmlXPathPopString(ctxt);
-    else
-        replace_set = xmlXPathPopNodeSet(ctxt);
-
-    if (xmlXPathCheckError(ctxt))
-        goto fail_replace;
-
-    /* get search argument */
-
-    if (!xmlXPathStackIsNodeSet(ctxt)) {
-        search_str = xmlXPathPopString(ctxt);
-        n = 1;
-    }
-    else {
-        search_set = xmlXPathPopNodeSet(ctxt);
-        n = search_set != NULL ? search_set->nodeNr : 0;
-    }
-
-    if (xmlXPathCheckError(ctxt))
-        goto fail_search;
-
-    /* get string argument */
-
-    string = xmlXPathPopString(ctxt);
-    if (xmlXPathCheckError(ctxt))
-        goto fail_string;
-
-    /* check for empty search node list */
-
-    if (n <= 0) {
-        exsltStrReturnString(ctxt, string, xmlStrlen(string));
-        goto done_empty_search;
-    }
-
-    /* allocate memory for string pointer and length arrays */
-
-    if (n == 1) {
-        search = &search_str;
-        replace = &replace_str;
-        slen = &slen0;
-        rlen = &rlen0;
-    }
-    else {
-        mem = xmlMalloc(2 * n * (sizeof(const xmlChar *) + sizeof(int)));
-        if (mem == NULL) {
-            xmlXPathSetError(ctxt, XPATH_MEMORY_ERROR);
-            goto fail_malloc;
-        }
-        search = (xmlChar **) mem;
-        replace = search + n;
-        slen = (int *) (replace + n);
-        rlen = slen + n;
-    }
-
-    /* process arguments */
-
-    i_empty = -1;
-
-    for (i=0; inodeTab[i]);
-            if (search[i] == NULL) {
-                n = i;
-                goto fail_process_args;
-            }
-        }
-
-        slen[i] = xmlStrlen(search[i]);
-        if (i_empty < 0 && slen[i] == 0)
-            i_empty = i;
-
-        if (replace_set != NULL) {
-            if (i < replace_set->nodeNr) {
-                replace[i] = xmlXPathCastNodeToString(replace_set->nodeTab[i]);
-                if (replace[i] == NULL) {
-                    n = i + 1;
-                    goto fail_process_args;
-                }
-            }
-            else
-                replace[i] = NULL;
-        }
-        else {
-            if (i == 0)
-                replace[i] = replace_str;
-            else
-                replace[i] = NULL;
-        }
-
-        if (replace[i] == NULL)
-            rlen[i] = 0;
-        else
-            rlen[i] = xmlStrlen(replace[i]);
-    }
-
-    if (i_empty >= 0 && rlen[i_empty] == 0)
-        i_empty = -1;
-
-    /* replace operation */
-
-    buf = xmlBufferCreate();
-    if (buf == NULL) {
-        xmlXPathSetError(ctxt, XPATH_MEMORY_ERROR);
-        goto fail_buffer;
-    }
-    src = string;
-    start = string;
-
-    while (*src != 0) {
-        int max_len = 0, i_match = 0;
-
-        for (i=0; i max_len &&
-                xmlStrncmp(src, search[i], slen[i]) == 0)
-            {
-                i_match = i;
-                max_len = slen[i];
-            }
-        }
-
-        if (max_len == 0) {
-            if (i_empty >= 0 && start < src) {
-                if (xmlBufferAdd(buf, start, src - start) ||
-                    xmlBufferAdd(buf, replace[i_empty], rlen[i_empty]))
-                {
-                    xmlXPathSetError(ctxt, XPATH_MEMORY_ERROR);
-                    goto fail_buffer_add;
-                }
-                start = src;
-            }
-
-            src += xmlUTF8Size(src);
-        }
-        else {
-            if ((start < src &&
-                 xmlBufferAdd(buf, start, src - start)) ||
-                (rlen[i_match] &&
-                 xmlBufferAdd(buf, replace[i_match], rlen[i_match])))
-            {
-                xmlXPathSetError(ctxt, XPATH_MEMORY_ERROR);
-                goto fail_buffer_add;
-            }
-
-            src += slen[i_match];
-            start = src;
-        }
-    }
-
-    if (start < src && xmlBufferAdd(buf, start, src - start)) {
-        xmlXPathSetError(ctxt, XPATH_MEMORY_ERROR);
-        goto fail_buffer_add;
-    }
-
-    /* create result node set */
-
-    exsltStrReturnString(ctxt, xmlBufferContent(buf), xmlBufferLength(buf));
-
-    /* clean up */
-
-fail_buffer_add:
-    xmlBufferFree(buf);
-
-fail_buffer:
-fail_process_args:
-    if (search_set != NULL) {
-        for (i=0; i= $min_xslt_version)
-  no_xslt=""
-  if test "$XSLT_CONFIG" = "no" ; then
-    no_xslt=yes
-  else
-    XSLT_CFLAGS=`$XSLT_CONFIG $xslt_config_args --cflags`
-    XSLT_LIBS=`$XSLT_CONFIG $xslt_config_args --libs`
-    xslt_config_major_version=`$XSLT_CONFIG $xslt_config_args --version | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
-    xslt_config_minor_version=`$XSLT_CONFIG $xslt_config_args --version | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
-    xslt_config_micro_version=`$XSLT_CONFIG $xslt_config_args --version | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-    if test "x$enable_xslttest" = "xyes" ; then
-      ac_save_CFLAGS="$CFLAGS"
-      ac_save_LIBS="$LIBS"
-      CFLAGS="$CFLAGS $XSLT_CFLAGS"
-      LIBS="$XSLT_LIBS $LIBS"
-dnl
-dnl Now check if the installed libxslt is sufficiently new.
-dnl (Also sanity checks the results of xslt-config to some extent)
-dnl
-      rm -f conf.xslttest
-      AC_TRY_RUN([
-#include 
-#include 
-#include 
-#include 
-#include 
-int 
-main()
-{
-  int xslt_major_version, xslt_minor_version, xslt_micro_version;
-  int major, minor, micro;
-  char *tmp_version;
-
-  system("touch conf.xslttest");
-
-  /* Capture xslt-config output via autoconf/configure variables */
-  /* HP/UX 9 (%@#!) writes to sscanf strings */
-  tmp_version = (char *)strdup("$min_xslt_version");
-  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
-     printf("%s, bad version string from xslt-config\n", "$min_xslt_version");
-     exit(1);
-   }
-   free(tmp_version);
-
-   /* Capture the version information from the header files */
-   tmp_version = (char *)strdup(LIBXSLT_DOTTED_VERSION);
-   if (sscanf(tmp_version, "%d.%d.%d", &xslt_major_version, &xslt_minor_version, &xslt_micro_version) != 3) {
-     printf("%s, bad version string from libxslt includes\n", "LIBXSLT_DOTTED_VERSION");
-     exit(1);
-   }
-   free(tmp_version);
-
- /* Compare xslt-config output to the libxslt headers */
-  if ((xslt_major_version != $xslt_config_major_version) ||
-      (xslt_minor_version != $xslt_config_minor_version) ||
-      (xslt_micro_version != $xslt_config_micro_version))
-    {
-      printf("*** libxslt header files (version %d.%d.%d) do not match\n",
-         xslt_major_version, xslt_minor_version, xslt_micro_version);
-      printf("*** xslt-config (version %d.%d.%d)\n",
-         $xslt_config_major_version, $xslt_config_minor_version, $xslt_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.
-   */
-    /* copied from LIBXML_TEST_VERSION; */
-    xmlCheckVersion(LIBXML_VERSION);
-
-    /* Test that the library is greater than our minimum version */
-    if ((xslt_major_version > major) ||
-        ((xslt_major_version == major) && (xslt_minor_version > minor)) ||
-        ((xslt_major_version == major) && (xslt_minor_version == minor) &&
-        (xslt_micro_version >= micro)))
-      {
-        return 0;
-       }
-     else
-      {
-        printf("\n*** An old version of libxslt (%d.%d.%d) was found.\n",
-               xslt_major_version, xslt_minor_version, xslt_micro_version);
-        printf("*** You need a version of libxslt newer than %d.%d.%d. The latest version of\n",
-           major, minor, micro);
-        printf("*** libxslt 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 xslt-config shell script is\n");
-        printf("*** being found. The easiest way to fix this is to remove the old version\n");
-        printf("*** of LIBXSLT, but you can also set the XSLT_CONFIG environment to point to the\n");
-        printf("*** correct copy of xslt-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_xslt=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-       CFLAGS="$ac_save_CFLAGS"
-       LIBS="$ac_save_LIBS"
-     fi
-  fi
-
-  if test "x$no_xslt" = x ; then
-     AC_MSG_RESULT(yes (version $xslt_config_major_version.$xslt_config_minor_version.$xslt_config_micro_version))
-     ifelse([$2], , :, [$2])     
-  else
-     AC_MSG_RESULT(no)
-     if test "$XSLT_CONFIG" = "no" ; then
-       echo "*** The xslt-config script installed by LIBXSLT could not be found"
-       echo "*** If libxslt was installed in PREFIX, make sure PREFIX/bin is in"
-       echo "*** your path, or set the XSLT_CONFIG environment variable to the"
-       echo "*** full path to xslt-config."
-     else
-       if test -f conf.xslttest ; then
-        :
-       else
-          echo "*** Could not run libxslt test program, checking why..."
-          CFLAGS="$CFLAGS $XSLT_CFLAGS"
-          LIBS="$LIBS $XSLT_LIBS"
-          AC_TRY_LINK([
-#include 
-#include 
-],      [ LIBXSLT_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 LIBXSLT or finding the wrong"
-          echo "*** version of LIBXSLT. If it is not finding LIBXSLT, 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 LIBXSLT was incorrectly installed"
-          echo "*** or that you have moved LIBXSLT since it was installed. In the latter case, you"
-          echo "*** may want to edit the xslt-config script: $XSLT_CONFIG" ])
-          CFLAGS="$ac_save_CFLAGS"
-          LIBS="$ac_save_LIBS"
-       fi
-     fi
-
-     XSLT_CFLAGS=""
-     XSLT_LIBS=""
-     ifelse([$3], , :, [$3])
-  fi
-  AC_SUBST(XSLT_CFLAGS)
-  AC_SUBST(XSLT_LIBS)
-  rm -f conf.xslttest
-])
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt.pc.in b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt.pc.in
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt.pc.in
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-
-Name: libxslt
-Version: @VERSION@
-Description: XSLT library version 2.
-Requires: libxml-2.0
-Libs: @XSLT_LIBDIR@ @XSLT_LIBS@ @EXTRA_LIBS@
-Cflags: @XSLT_INCLUDEDIR@
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt.spec b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt.spec
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt.spec
+++ /dev/null
@@ -1,130 +0,0 @@
-Summary: Library providing the GNOME XSLT engine
-Name: libxslt
-Version: 1.1.28
-Release: 1
-License: MIT
-Group: Development/Libraries
-Source: ftp://xmlsoft.org/XSLT/libxslt-%{version}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-%{version}-root
-URL: http://xmlsoft.org/XSLT/
-Requires: libxml2 >= 2.6.27
-BuildRequires: libxml2-devel >= 2.6.27
-BuildRequires: python python-devel
-BuildRequires: libxml2-python
-BuildRequires: libgcrypt-devel
-Prefix: %{_prefix}
-Docdir: %{_docdir}
-
-%description
-This C library allows to transform XML files into other XML files
-(or HTML, text, ...) using the standard XSLT stylesheet transformation
-mechanism. To use it you need to have a version of libxml2 >= 2.6.27
-installed. The xsltproc command is a command line interface to the XSLT engine
-
-%package devel
-Summary: Libraries, includes, etc. to embed the GNOME XSLT engine
-Group: Development/Libraries
-Requires: libxslt = %{version}-%{release}
-Requires: libxml2-devel >= 2.6.27
-Requires: libgcrypt-devel
-Requires: pkgconfig
-
-%description devel
-This C library allows to transform XML files into other XML files
-(or HTML, text, ...) using the standard XSLT stylesheet transformation
-mechanism. To use it you need to have a version of libxml2 >= 2.6.27
-installed.
-
-%package python
-Summary: Python bindings for the libxslt library
-Group: Development/Libraries
-Requires: libxslt = %{version}-%{release}
-Requires: libxml2 >= 2.6.27
-Requires: libxml2-python >= 2.6.27
-Requires: python
-
-%description python
-The libxslt-python package contains a module that permits applications
-written in the Python programming language to use the interface
-supplied by the libxslt library to apply XSLT transformations.
-
-This library allows to parse sytlesheets, uses the libxml2-python
-to load and save XML and HTML files. Direct access to XPath and
-the XSLT transformation context are possible to extend the XSLT language
-with XPath functions written in Python.
-
-%prep
-%setup -q
-
-%build
-%configure
-make
-gzip -9 ChangeLog
-
-%install
-rm -fr %{buildroot}
-
-%makeinstall
-
-rm -fr $RPM_BUILD_ROOT%{_libdir}/*.la \
-       $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/libxsltmod*a
-
-%clean
-rm -fr %{buildroot}
-
-%post
-/sbin/ldconfig
-
-%postun
-/sbin/ldconfig
-
-%files
-%defattr(-, root, root)
-
-%doc AUTHORS ChangeLog.gz NEWS README Copyright TODO FEATURES
-%doc doc/*.html doc/html doc/tutorial doc/tutorial2 doc/*.gif
-%doc doc/EXSLT
-%doc %{_mandir}/man1/xsltproc.1*
-%{_libdir}/lib*.so.*
-%{_libdir}/libxslt-plugins
-%{prefix}/bin/xsltproc
-
-%files devel
-%defattr(-, root, root)
-
-%doc AUTHORS ChangeLog.gz NEWS README Copyright TODO FEATURES
-%doc doc/libxslt-api.xml
-%doc doc/libxslt-refs.xml
-%doc doc/EXSLT/libexslt-api.xml
-%doc doc/EXSLT/libexslt-refs.xml
-%doc %{_mandir}/man3/libxslt.3*
-%doc %{_mandir}/man3/libexslt.3*
-%doc doc/*.html doc/html doc/*.gif doc/*.png
-%doc doc/tutorial
-%doc doc/tutorial2
-%doc doc/images
-%doc doc/EXSLT
-%{_libdir}/lib*.so
-%{_libdir}/*a
-%{_libdir}/*.sh
-%{prefix}/share/aclocal/libxslt.m4
-%{prefix}/include/*
-%{prefix}/bin/xslt-config
-%{_libdir}/pkgconfig/libxslt.pc
-%{_libdir}/pkgconfig/libexslt.pc
-
-%files python
-%defattr(-, root, root)
-
-%doc AUTHORS ChangeLog.gz NEWS README Copyright FEATURES
-%{_libdir}/python*/site-packages/libxslt.py*
-%{_libdir}/python*/site-packages/libxsltmod*
-%doc python/TODO
-%doc python/libxsltclass.txt
-%doc python/tests/*.py
-%doc python/tests/*.xml
-%doc python/tests/*.xsl
-
-%changelog
-* Wed Nov 21 2012 Daniel Veillard 
-- upstream release 1.1.28 see http://xmlsoft.org/XSLT/news.html
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt.spec.in b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt.spec.in
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt.spec.in
+++ /dev/null
@@ -1,130 +0,0 @@
-Summary: Library providing the GNOME XSLT engine
-Name: libxslt
-Version: @VERSION@
-Release: 1
-License: MIT
-Group: Development/Libraries
-Source: ftp://xmlsoft.org/XSLT/libxslt-%{version}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-%{version}-root
-URL: http://xmlsoft.org/XSLT/
-Requires: libxml2 >= @LIBXML_REQUIRED_VERSION@
-BuildRequires: libxml2-devel >= @LIBXML_REQUIRED_VERSION@
-BuildRequires: python python-devel
-BuildRequires: libxml2-python
-BuildRequires: libgcrypt-devel
-Prefix: %{_prefix}
-Docdir: %{_docdir}
-
-%description
-This C library allows to transform XML files into other XML files
-(or HTML, text, ...) using the standard XSLT stylesheet transformation
-mechanism. To use it you need to have a version of libxml2 >= @LIBXML_REQUIRED_VERSION@
-installed. The xsltproc command is a command line interface to the XSLT engine
-
-%package devel
-Summary: Libraries, includes, etc. to embed the GNOME XSLT engine
-Group: Development/Libraries
-Requires: libxslt = %{version}-%{release}
-Requires: libxml2-devel >= @LIBXML_REQUIRED_VERSION@
-Requires: libgcrypt-devel
-Requires: pkgconfig
-
-%description devel
-This C library allows to transform XML files into other XML files
-(or HTML, text, ...) using the standard XSLT stylesheet transformation
-mechanism. To use it you need to have a version of libxml2 >= @LIBXML_REQUIRED_VERSION@
-installed.
-
-%package python
-Summary: Python bindings for the libxslt library
-Group: Development/Libraries
-Requires: libxslt = %{version}-%{release}
-Requires: libxml2 >= @LIBXML_REQUIRED_VERSION@
-Requires: libxml2-python >= @LIBXML_REQUIRED_VERSION@
-Requires: python
-
-%description python
-The libxslt-python package contains a module that permits applications
-written in the Python programming language to use the interface
-supplied by the libxslt library to apply XSLT transformations.
-
-This library allows to parse sytlesheets, uses the libxml2-python
-to load and save XML and HTML files. Direct access to XPath and
-the XSLT transformation context are possible to extend the XSLT language
-with XPath functions written in Python.
-
-%prep
-%setup -q
-
-%build
-%configure
-make
-gzip -9 ChangeLog
-
-%install
-rm -fr %{buildroot}
-
-%makeinstall
-
-rm -fr $RPM_BUILD_ROOT%{_libdir}/*.la \
-       $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/libxsltmod*a
-
-%clean
-rm -fr %{buildroot}
-
-%post
-/sbin/ldconfig
-
-%postun
-/sbin/ldconfig
-
-%files
-%defattr(-, root, root)
-
-%doc AUTHORS ChangeLog.gz NEWS README Copyright TODO FEATURES
-%doc doc/*.html doc/html doc/tutorial doc/tutorial2 doc/*.gif
-%doc doc/EXSLT
-%doc %{_mandir}/man1/xsltproc.1*
-%{_libdir}/lib*.so.*
-%{_libdir}/libxslt-plugins
-%{prefix}/bin/xsltproc
-
-%files devel
-%defattr(-, root, root)
-
-%doc AUTHORS ChangeLog.gz NEWS README Copyright TODO FEATURES
-%doc doc/libxslt-api.xml
-%doc doc/libxslt-refs.xml
-%doc doc/EXSLT/libexslt-api.xml
-%doc doc/EXSLT/libexslt-refs.xml
-%doc %{_mandir}/man3/libxslt.3*
-%doc %{_mandir}/man3/libexslt.3*
-%doc doc/*.html doc/html doc/*.gif doc/*.png
-%doc doc/tutorial
-%doc doc/tutorial2
-%doc doc/images
-%doc doc/EXSLT
-%{_libdir}/lib*.so
-%{_libdir}/*a
-%{_libdir}/*.sh
-%{prefix}/share/aclocal/libxslt.m4
-%{prefix}/include/*
-%{prefix}/bin/xslt-config
-%{_libdir}/pkgconfig/libxslt.pc
-%{_libdir}/pkgconfig/libexslt.pc
-
-%files python
-%defattr(-, root, root)
-
-%doc AUTHORS ChangeLog.gz NEWS README Copyright FEATURES
-%{_libdir}/python*/site-packages/libxslt.py*
-%{_libdir}/python*/site-packages/libxsltmod*
-%doc python/TODO
-%doc python/libxsltclass.txt
-%doc python/tests/*.py
-%doc python/tests/*.xml
-%doc python/tests/*.xsl
-
-%changelog
-* @RELDATE@ Daniel Veillard 
-- upstream release @VERSION@ see http://xmlsoft.org/XSLT/news.html
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/Makefile.am b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/Makefile.am
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/Makefile.am
+++ /dev/null
@@ -1,77 +0,0 @@
-AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/libxslt
-
-AM_CFLAGS = $(LIBXML_CFLAGS)
-
-lib_LTLIBRARIES = libxslt.la
-
-xsltincdir = $(includedir)/libxslt
-
-xsltinc_HEADERS = 			\
-	xslt.h				\
-	xsltutils.h			\
-	pattern.h			\
-	templates.h			\
-	variables.h			\
-	keys.h				\
-	numbersInternals.h		\
-	extensions.h			\
-	extra.h				\
-	functions.h			\
-	namespaces.h			\
-	imports.h			\
-	attributes.h			\
-	documents.h			\
-	preproc.h			\
-	transform.h			\
-	security.h			\
-	xsltInternals.h			\
-	xsltconfig.h			\
-	xsltexports.h			\
-	xsltlocale.h
-
-libxslt_la_SOURCES = 			\
-	attrvt.c			\
-	xslt.c				\
-	xsltlocale.c			\
-	xsltutils.c			\
-	pattern.c			\
-	templates.c			\
-	variables.c			\
-	keys.c				\
-	numbers.c			\
-	extensions.c			\
-	extra.c				\
-	functions.c			\
-	namespaces.c			\
-	imports.c			\
-	attributes.c			\
-	documents.c			\
-	preproc.c			\
-	transform.c			\
-	security.c			\
-	win32config.h			\
-	xsltwin32config.h		\
-	xsltwin32config.h.in		\
-	libxslt.h
-
-if USE_VERSION_SCRIPT
-LIBXSLT_VERSION_SCRIPT = $(VERSION_SCRIPT_FLAGS)$(srcdir)/libxslt.syms
-else
-LIBXSLT_VERSION_SCRIPT =
-endif
-
-libxslt_la_LIBADD = $(LIBXML_LIBS) $(EXTRA_LIBS)
-libxslt_la_LDFLAGS =					\
-		$(WIN32_EXTRA_LDFLAGS)			\
-		$(LIBXSLT_VERSION_SCRIPT)		\
-		-version-info $(LIBXSLT_VERSION_INFO)
-
-man_MANS = libxslt.3
-
-EXTRA_DIST = $(man_MANS) trio.h triodef.h libxslt.syms
-
-xsltproc: all
-	@(cd ../xsltproc ; $(MAKE))
-
-install-exec-hook:
-	$(MKDIR_P) "$(DESTDIR)$(libdir)/libxslt-plugins"
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/Makefile.in b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/Makefile.in
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/Makefile.in
+++ /dev/null
@@ -1,812 +0,0 @@
-# Makefile.in generated by automake 1.11.6 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@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
-    case $$MAKEFLAGS in \
-      *\\[\ \	]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
-    esac; \
-    test $$am__dry = yes; \
-  }
-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 = libxslt
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-	$(srcdir)/xsltconfig.h.in $(srcdir)/xsltwin32config.h.in \
-	$(xsltinc_HEADERS)
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(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 = xsltconfig.h xsltwin32config.h
-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)$(man3dir)" \
-	"$(DESTDIR)$(xsltincdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-libxslt_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-am_libxslt_la_OBJECTS = attrvt.lo xslt.lo xsltlocale.lo xsltutils.lo \
-	pattern.lo templates.lo variables.lo keys.lo numbers.lo \
-	extensions.lo extra.lo functions.lo namespaces.lo imports.lo \
-	attributes.lo documents.lo preproc.lo transform.lo security.lo
-libxslt_la_OBJECTS = $(am_libxslt_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-libxslt_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(libxslt_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-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 = $(libxslt_la_SOURCES)
-DIST_SOURCES = $(libxslt_la_SOURCES)
-am__can_run_installinfo = \
-  case $$AM_UPDATE_INFO_DIR in \
-    n|no|NO) false;; \
-    *) (install-info --version) >/dev/null 2>&1;; \
-  esac
-man3dir = $(mandir)/man3
-NROFF = nroff
-MANS = $(man_MANS)
-HEADERS = $(xsltinc_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@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-EXSLT_INCLUDEDIR = @EXSLT_INCLUDEDIR@
-EXSLT_LIBDIR = @EXSLT_LIBDIR@
-EXSLT_LIBS = @EXSLT_LIBS@
-EXTRA_LIBS = @EXTRA_LIBS@
-FGREP = @FGREP@
-GREP = @GREP@
-HTML_DIR = @HTML_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBEXSLT_MAJOR_VERSION = @LIBEXSLT_MAJOR_VERSION@
-LIBEXSLT_MICRO_VERSION = @LIBEXSLT_MICRO_VERSION@
-LIBEXSLT_MINOR_VERSION = @LIBEXSLT_MINOR_VERSION@
-LIBEXSLT_VERSION = @LIBEXSLT_VERSION@
-LIBEXSLT_VERSION_EXTRA = @LIBEXSLT_VERSION_EXTRA@
-LIBEXSLT_VERSION_INFO = @LIBEXSLT_VERSION_INFO@
-LIBEXSLT_VERSION_NUMBER = @LIBEXSLT_VERSION_NUMBER@
-LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
-LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
-LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBXML_CFLAGS = @LIBXML_CFLAGS@
-LIBXML_LIBS = @LIBXML_LIBS@
-LIBXML_REQUIRED_VERSION = @LIBXML_REQUIRED_VERSION@
-LIBXML_SRC = @LIBXML_SRC@
-LIBXSLT_DEFAULT_PLUGINS_PATH = @LIBXSLT_DEFAULT_PLUGINS_PATH@
-LIBXSLT_MAJOR_MINOR_VERSION = @LIBXSLT_MAJOR_MINOR_VERSION@
-LIBXSLT_MAJOR_VERSION = @LIBXSLT_MAJOR_VERSION@
-LIBXSLT_MICRO_VERSION = @LIBXSLT_MICRO_VERSION@
-LIBXSLT_MINOR_VERSION = @LIBXSLT_MINOR_VERSION@
-LIBXSLT_VERSION = @LIBXSLT_VERSION@
-LIBXSLT_VERSION_EXTRA = @LIBXSLT_VERSION_EXTRA@
-LIBXSLT_VERSION_INFO = @LIBXSLT_VERSION_INFO@
-LIBXSLT_VERSION_NUMBER = @LIBXSLT_VERSION_NUMBER@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-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@
-PYTHONSODV = @PYTHONSODV@
-PYTHON_INCLUDES = @PYTHON_INCLUDES@
-PYTHON_LIBS = @PYTHON_LIBS@
-PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
-PYTHON_SUBDIR = @PYTHON_SUBDIR@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-RELDATE = @RELDATE@
-RM = @RM@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TAR = @TAR@
-THREAD_LIBS = @THREAD_LIBS@
-VERSION = @VERSION@
-VERSION_SCRIPT_FLAGS = @VERSION_SCRIPT_FLAGS@
-WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@
-WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@
-WITH_CRYPTO = @WITH_CRYPTO@
-WITH_DEBUGGER = @WITH_DEBUGGER@
-WITH_MEM_DEBUG = @WITH_MEM_DEBUG@
-WITH_MODULES = @WITH_MODULES@
-WITH_TRIO = @WITH_TRIO@
-WITH_XSLT_DEBUG = @WITH_XSLT_DEBUG@
-XMLLINT = @XMLLINT@
-XML_CONFIG = @XML_CONFIG@
-XSLTPROC = @XSLTPROC@
-XSLTPROCDV = @XSLTPROCDV@
-XSLT_INCLUDEDIR = @XSLT_INCLUDEDIR@
-XSLT_LIBDIR = @XSLT_LIBDIR@
-XSLT_LIBS = @XSLT_LIBS@
-XSLT_LOCALE_WINAPI = @XSLT_LOCALE_WINAPI@
-XSLT_LOCALE_XLOCALE = @XSLT_LOCALE_XLOCALE@
-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@
-AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/libxslt
-AM_CFLAGS = $(LIBXML_CFLAGS)
-lib_LTLIBRARIES = libxslt.la
-xsltincdir = $(includedir)/libxslt
-xsltinc_HEADERS = \
-	xslt.h				\
-	xsltutils.h			\
-	pattern.h			\
-	templates.h			\
-	variables.h			\
-	keys.h				\
-	numbersInternals.h		\
-	extensions.h			\
-	extra.h				\
-	functions.h			\
-	namespaces.h			\
-	imports.h			\
-	attributes.h			\
-	documents.h			\
-	preproc.h			\
-	transform.h			\
-	security.h			\
-	xsltInternals.h			\
-	xsltconfig.h			\
-	xsltexports.h			\
-	xsltlocale.h
-
-libxslt_la_SOURCES = \
-	attrvt.c			\
-	xslt.c				\
-	xsltlocale.c			\
-	xsltutils.c			\
-	pattern.c			\
-	templates.c			\
-	variables.c			\
-	keys.c				\
-	numbers.c			\
-	extensions.c			\
-	extra.c				\
-	functions.c			\
-	namespaces.c			\
-	imports.c			\
-	attributes.c			\
-	documents.c			\
-	preproc.c			\
-	transform.c			\
-	security.c			\
-	win32config.h			\
-	xsltwin32config.h		\
-	xsltwin32config.h.in		\
-	libxslt.h
-
-@USE_VERSION_SCRIPT_FALSE@LIBXSLT_VERSION_SCRIPT = 
-@USE_VERSION_SCRIPT_TRUE@LIBXSLT_VERSION_SCRIPT = $(VERSION_SCRIPT_FLAGS)$(srcdir)/libxslt.syms
-libxslt_la_LIBADD = $(LIBXML_LIBS) $(EXTRA_LIBS)
-libxslt_la_LDFLAGS = \
-		$(WIN32_EXTRA_LDFLAGS)			\
-		$(LIBXSLT_VERSION_SCRIPT)		\
-		-version-info $(LIBXSLT_VERSION_INFO)
-
-man_MANS = libxslt.3
-EXTRA_DIST = $(man_MANS) trio.h triodef.h libxslt.syms
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(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 libxslt/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu libxslt/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):
-xsltconfig.h: $(top_builddir)/config.status $(srcdir)/xsltconfig.h.in
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-xsltwin32config.h: $(top_builddir)/config.status $(srcdir)/xsltwin32config.h.in
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-	@$(NORMAL_INSTALL)
-	@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 " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
-	  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
-libxslt.la: $(libxslt_la_OBJECTS) $(libxslt_la_DEPENDENCIES) $(EXTRA_libxslt_la_DEPENDENCIES) 
-	$(AM_V_CCLD)$(libxslt_la_LINK) -rpath $(libdir) $(libxslt_la_OBJECTS) $(libxslt_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attributes.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attrvt.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/documents.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extensions.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extra.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/functions.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imports.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keys.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/namespaces.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/numbers.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pattern.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/preproc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/security.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/templates.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transform.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/variables.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xslt.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xsltlocale.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xsltutils.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
-install-man3: $(man_MANS)
-	@$(NORMAL_INSTALL)
-	@list1=''; \
-	list2='$(man_MANS)'; \
-	test -n "$(man3dir)" \
-	  && test -n "`echo $$list1$$list2`" \
-	  || exit 0; \
-	echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \
-	$(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \
-	{ for i in $$list1; do echo "$$i"; done;  \
-	if test -n "$$list2"; then \
-	  for i in $$list2; do echo "$$i"; done \
-	    | sed -n '/\.3[a-z]*$$/p'; \
-	fi; \
-	} | 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-xsltincHEADERS: $(xsltinc_HEADERS)
-	@$(NORMAL_INSTALL)
-	@list='$(xsltinc_HEADERS)'; test -n "$(xsltincdir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(xsltincdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(xsltincdir)" || exit 1; \
-	fi; \
-	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)$(xsltincdir)'"; \
-	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(xsltincdir)" || exit $$?; \
-	done
-
-uninstall-xsltincHEADERS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(xsltinc_HEADERS)'; test -n "$(xsltincdir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(xsltincdir)'; $(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)
-	@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
-	@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 $(LTLIBRARIES) $(MANS) $(HEADERS)
-installdirs:
-	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(xsltincdir)"; 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-libLTLIBRARIES clean-libtool \
-	mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-man install-xsltincHEADERS
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLTLIBRARIES
-	@$(NORMAL_INSTALL)
-	$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man: install-man3
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-libLTLIBRARIES uninstall-man \
-	uninstall-xsltincHEADERS
-
-uninstall-man: uninstall-man3
-
-.MAKE: install-am install-exec-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libLTLIBRARIES clean-libtool ctags distclean \
-	distclean-compile 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-exec-hook \
-	install-html install-html-am install-info install-info-am \
-	install-libLTLIBRARIES install-man install-man3 install-pdf \
-	install-pdf-am install-ps install-ps-am install-strip \
-	install-xsltincHEADERS installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-libLTLIBRARIES uninstall-man \
-	uninstall-man3 uninstall-xsltincHEADERS
-
-
-xsltproc: all
-	@(cd ../xsltproc ; $(MAKE))
-
-install-exec-hook:
-	$(MKDIR_P) "$(DESTDIR)$(libdir)/libxslt-plugins"
-
-# 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/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/attributes.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/attributes.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/attributes.c
+++ /dev/null
@@ -1,1139 +0,0 @@
-/*
- * attributes.c: Implementation of the XSLT attributes handling
- *
- * Reference:
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-
-#ifdef HAVE_SYS_TYPES_H
-#include 
-#endif
-#ifdef HAVE_MATH_H
-#include 
-#endif
-#ifdef HAVE_FLOAT_H
-#include 
-#endif
-#ifdef HAVE_IEEEFP_H
-#include 
-#endif
-#ifdef HAVE_NAN_H
-#include 
-#endif
-#ifdef HAVE_CTYPE_H
-#include 
-#endif
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltInternals.h"
-#include "xsltutils.h"
-#include "attributes.h"
-#include "namespaces.h"
-#include "templates.h"
-#include "imports.h"
-#include "transform.h"
-#include "preproc.h"
-
-#define WITH_XSLT_DEBUG_ATTRIBUTES
-#ifdef WITH_XSLT_DEBUG
-#define WITH_XSLT_DEBUG_ATTRIBUTES
-#endif
-
-/*
- * TODO: merge attribute sets from different import precedence.
- *       all this should be precomputed just before the transformation
- *       starts or at first hit with a cache in the context.
- *       The simple way for now would be to not allow redefinition of
- *       attributes once generated in the output tree, possibly costlier.
- */
-
-/*
- * Useful macros
- */
-#ifdef IS_BLANK
-#undef IS_BLANK
-#endif
-
-#define IS_BLANK(c) (((c) == 0x20) || ((c) == 0x09) || ((c) == 0xA) ||  \
-                     ((c) == 0x0D))
-
-#define IS_BLANK_NODE(n)                        \
-    (((n)->type == XML_TEXT_NODE) && (xsltIsBlank((n)->content)))
-
-
-/*
- * The in-memory structure corresponding to an XSLT Attribute in
- * an attribute set
- */
-
-
-typedef struct _xsltAttrElem xsltAttrElem;
-typedef xsltAttrElem *xsltAttrElemPtr;
-struct _xsltAttrElem {
-    struct _xsltAttrElem *next;/* chained list */
-    xmlNodePtr attr;    /* the xsl:attribute definition */
-    const xmlChar *set; /* or the attribute set */
-    const xmlChar *ns;  /* and its namespace */
-};
-
-/************************************************************************
- *                                  *
- *          XSLT Attribute handling             *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltNewAttrElem:
- * @attr:  the new xsl:attribute node
- *
- * Create a new XSLT AttrElem
- *
- * Returns the newly allocated xsltAttrElemPtr or NULL in case of error
- */
-static xsltAttrElemPtr
-xsltNewAttrElem(xmlNodePtr attr) {
-    xsltAttrElemPtr cur;
-
-    cur = (xsltAttrElemPtr) xmlMalloc(sizeof(xsltAttrElem));
-    if (cur == NULL) {
-        xsltGenericError(xsltGenericErrorContext,
-        "xsltNewAttrElem : malloc failed\n");
-    return(NULL);
-    }
-    memset(cur, 0, sizeof(xsltAttrElem));
-    cur->attr = attr;
-    return(cur);
-}
-
-/**
- * xsltFreeAttrElem:
- * @attr:  an XSLT AttrElem
- *
- * Free up the memory allocated by @attr
- */
-static void
-xsltFreeAttrElem(xsltAttrElemPtr attr) {
-    xmlFree(attr);
-}
-
-/**
- * xsltFreeAttrElemList:
- * @list:  an XSLT AttrElem list
- *
- * Free up the memory allocated by @list
- */
-static void
-xsltFreeAttrElemList(xsltAttrElemPtr list) {
-    xsltAttrElemPtr next;
-
-    while (list != NULL) {
-    next = list->next;
-    xsltFreeAttrElem(list);
-    list = next;
-    }
-}
-
-#ifdef XSLT_REFACTORED
-    /*
-    * This was moved to xsltParseStylesheetAttributeSet().
-    */
-#else
-/**
- * xsltAddAttrElemList:
- * @list:  an XSLT AttrElem list
- * @attr:  the new xsl:attribute node
- *
- * Add the new attribute to the list.
- *
- * Returns the new list pointer
- */
-static xsltAttrElemPtr
-xsltAddAttrElemList(xsltAttrElemPtr list, xmlNodePtr attr) {
-    xsltAttrElemPtr next, cur;
-
-    if (attr == NULL)
-    return(list);
-    if (list == NULL)
-    return(xsltNewAttrElem(attr));
-    cur = list;
-    while (cur != NULL) {
-    next = cur->next;
-    if (cur->attr == attr)
-        return(cur);
-    if (cur->next == NULL) {
-        cur->next = xsltNewAttrElem(attr);
-        return(list);
-    }
-    cur = next;
-    }
-    return(list);
-}
-#endif /* XSLT_REFACTORED */
-
-/**
- * xsltMergeAttrElemList:
- * @list:  an XSLT AttrElem list
- * @old:  another XSLT AttrElem list
- *
- * Add all the attributes from list @old to list @list,
- * but drop redefinition of existing values.
- *
- * Returns the new list pointer
- */
-static xsltAttrElemPtr
-xsltMergeAttrElemList(xsltStylesheetPtr style,
-              xsltAttrElemPtr list, xsltAttrElemPtr old) {
-    xsltAttrElemPtr cur;
-    int add;
-
-    while (old != NULL) {
-    if ((old->attr == NULL) && (old->set == NULL)) {
-        old = old->next;
-        continue;
-    }
-    /*
-     * Check that the attribute is not yet in the list
-     */
-    cur = list;
-    add = 1;
-    while (cur != NULL) {
-        if ((cur->attr == NULL) && (cur->set == NULL)) {
-        if (cur->next == NULL)
-            break;
-        cur = cur->next;
-        continue;
-        }
-        if ((cur->set != NULL) && (cur->set == old->set)) {
-        add = 0;
-        break;
-        }
-        if (cur->set != NULL) {
-        if (cur->next == NULL)
-            break;
-        cur = cur->next;
-        continue;
-        }
-        if (old->set != NULL) {
-        if (cur->next == NULL)
-            break;
-        cur = cur->next;
-        continue;
-        }
-        if (cur->attr == old->attr) {
-        xsltGenericError(xsltGenericErrorContext,
-         "xsl:attribute-set : use-attribute-sets recursion detected\n");
-        return(list);
-        }
-        if (cur->next == NULL)
-        break;
-            cur = cur->next;
-    }
-
-    if (add == 1) {
-        /*
-        * Changed to use the string-dict, rather than duplicating
-        * @set and @ns; this fixes bug #340400.
-        */
-        if (cur == NULL) {
-        list = xsltNewAttrElem(old->attr);
-        if (old->set != NULL) {
-            list->set = xmlDictLookup(style->dict, old->set, -1);
-            if (old->ns != NULL)
-            list->ns = xmlDictLookup(style->dict, old->ns, -1);
-        }
-        } else if (add) {
-        cur->next = xsltNewAttrElem(old->attr);
-        if (old->set != NULL) {
-            cur->next->set = xmlDictLookup(style->dict, old->set, -1);
-            if (old->ns != NULL)
-            cur->next->ns = xmlDictLookup(style->dict, old->ns, -1);
-        }
-        }
-    }
-
-    old = old->next;
-    }
-    return(list);
-}
-
-/************************************************************************
- *                                  *
- *          Module interfaces               *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltParseStylesheetAttributeSet:
- * @style:  the XSLT stylesheet
- * @cur:  the "attribute-set" element
- *
- * parse an XSLT stylesheet attribute-set element
- */
-
-void
-xsltParseStylesheetAttributeSet(xsltStylesheetPtr style, xmlNodePtr cur) {
-    const xmlChar *ncname;
-    const xmlChar *prefix;
-    xmlChar *value;
-    xmlNodePtr child;
-    xsltAttrElemPtr attrItems;
-
-    if ((cur == NULL) || (style == NULL) || (cur->type != XML_ELEMENT_NODE))
-    return;
-
-    value = xmlGetNsProp(cur, (const xmlChar *)"name", NULL);
-    if (value == NULL) {
-    xsltGenericError(xsltGenericErrorContext,
-         "xsl:attribute-set : name is missing\n");
-    return;
-    }
-
-    ncname = xsltSplitQName(style->dict, value, &prefix);
-    xmlFree(value);
-    value = NULL;
-
-    if (style->attributeSets == NULL) {
-#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
-    xsltGenericDebug(xsltGenericDebugContext,
-        "creating attribute set table\n");
-#endif
-    style->attributeSets = xmlHashCreate(10);
-    }
-    if (style->attributeSets == NULL)
-    return;
-
-    attrItems = xmlHashLookup2(style->attributeSets, ncname, prefix);
-
-    /*
-    * Parse the content. Only xsl:attribute elements are allowed.
-    */
-    child = cur->children;
-    while (child != NULL) {
-    /*
-    * Report invalid nodes.
-    */
-    if ((child->type != XML_ELEMENT_NODE) ||
-        (child->ns == NULL) ||
-        (! IS_XSLT_ELEM(child)))
-    {
-        if (child->type == XML_ELEMENT_NODE)
-        xsltTransformError(NULL, style, child,
-            "xsl:attribute-set : unexpected child %s\n",
-                         child->name);
-        else
-        xsltTransformError(NULL, style, child,
-            "xsl:attribute-set : child of unexpected type\n");
-    } else if (!IS_XSLT_NAME(child, "attribute")) {
-        xsltTransformError(NULL, style, child,
-        "xsl:attribute-set : unexpected child xsl:%s\n",
-        child->name);
-    } else {
-#ifdef XSLT_REFACTORED
-        xsltAttrElemPtr nextAttr, curAttr;
-
-        /*
-        * Process xsl:attribute
-        * ---------------------
-        */
-
-#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
-        xsltGenericDebug(xsltGenericDebugContext,
-        "add attribute to list %s\n", ncname);
-#endif
-        /*
-        * The following was taken over from
-        * xsltAddAttrElemList().
-        */
-        if (attrItems == NULL) {
-        attrItems = xsltNewAttrElem(child);
-        } else {
-        curAttr = attrItems;
-        while (curAttr != NULL) {
-            nextAttr = curAttr->next;
-            if (curAttr->attr == child) {
-            /*
-            * URGENT TODO: Can somebody explain
-            *  why attrItems is set to curAttr
-            *  here? Is this somehow related to
-            *  avoidance of recursions?
-            */
-            attrItems = curAttr;
-            goto next_child;
-            }
-            if (curAttr->next == NULL)
-            curAttr->next = xsltNewAttrElem(child);
-            curAttr = nextAttr;
-        }
-        }
-        /*
-        * Parse the xsl:attribute and its content.
-        */
-        xsltParseAnyXSLTElem(XSLT_CCTXT(style), child);
-#else
-#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
-        xsltGenericDebug(xsltGenericDebugContext,
-        "add attribute to list %s\n", ncname);
-#endif
-        /*
-        * OLD behaviour:
-        */
-        attrItems = xsltAddAttrElemList(attrItems, child);
-#endif
-    }
-
-#ifdef XSLT_REFACTORED
-next_child:
-#endif
-    child = child->next;
-    }
-
-    /*
-    * Process attribue "use-attribute-sets".
-    */
-    /* TODO check recursion */
-    value = xmlGetNsProp(cur, (const xmlChar *)"use-attribute-sets",
-    NULL);
-    if (value != NULL) {
-    const xmlChar *curval, *endval;
-    curval = value;
-    while (*curval != 0) {
-        while (IS_BLANK(*curval)) curval++;
-        if (*curval == 0)
-        break;
-        endval = curval;
-        while ((*endval != 0) && (!IS_BLANK(*endval))) endval++;
-        curval = xmlDictLookup(style->dict, curval, endval - curval);
-        if (curval) {
-        const xmlChar *ncname2 = NULL;
-        const xmlChar *prefix2 = NULL;
-        xsltAttrElemPtr refAttrItems;
-
-#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
-        xsltGenericDebug(xsltGenericDebugContext,
-            "xsl:attribute-set : %s adds use %s\n", ncname, curval);
-#endif
-        ncname2 = xsltSplitQName(style->dict, curval, &prefix2);
-        refAttrItems = xsltNewAttrElem(NULL);
-        if (refAttrItems != NULL) {
-            refAttrItems->set = ncname2;
-            refAttrItems->ns = prefix2;
-            attrItems = xsltMergeAttrElemList(style,
-            attrItems, refAttrItems);
-            xsltFreeAttrElem(refAttrItems);
-        }
-        }
-        curval = endval;
-    }
-    xmlFree(value);
-    value = NULL;
-    }
-
-    /*
-     * Update the value
-     */
-    /*
-    * TODO: Why is this dummy entry needed.?
-    */
-    if (attrItems == NULL)
-    attrItems = xsltNewAttrElem(NULL);
-    xmlHashUpdateEntry2(style->attributeSets, ncname, prefix, attrItems, NULL);
-#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
-    xsltGenericDebug(xsltGenericDebugContext,
-    "updated attribute list %s\n", ncname);
-#endif
-}
-
-/**
- * xsltGetSAS:
- * @style:  the XSLT stylesheet
- * @name:  the attribute list name
- * @ns:  the attribute list namespace
- *
- * lookup an attribute set based on the style cascade
- *
- * Returns the attribute set or NULL
- */
-static xsltAttrElemPtr
-xsltGetSAS(xsltStylesheetPtr style, const xmlChar *name, const xmlChar *ns) {
-    xsltAttrElemPtr values;
-
-    while (style != NULL) {
-    values = xmlHashLookup2(style->attributeSets, name, ns);
-    if (values != NULL)
-        return(values);
-    style = xsltNextImport(style);
-    }
-    return(NULL);
-}
-
-/**
- * xsltResolveSASCallback,:
- * @style:  the XSLT stylesheet
- *
- * resolve the references in an attribute set.
- */
-static void
-xsltResolveSASCallback(xsltAttrElemPtr values, xsltStylesheetPtr style,
-                   const xmlChar *name, const xmlChar *ns,
-               ATTRIBUTE_UNUSED const xmlChar *ignored) {
-    xsltAttrElemPtr tmp;
-    xsltAttrElemPtr refs;
-
-    tmp = values;
-    while (tmp != NULL) {
-    if (tmp->set != NULL) {
-        /*
-         * Check against cycles !
-         */
-        if ((xmlStrEqual(name, tmp->set)) && (xmlStrEqual(ns, tmp->ns))) {
-        xsltGenericError(xsltGenericErrorContext,
-     "xsl:attribute-set : use-attribute-sets recursion detected on %s\n",
-                                 name);
-        } else {
-#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
-        xsltGenericDebug(xsltGenericDebugContext,
-            "Importing attribute list %s\n", tmp->set);
-#endif
-
-        refs = xsltGetSAS(style, tmp->set, tmp->ns);
-        if (refs == NULL) {
-            xsltGenericError(xsltGenericErrorContext,
-     "xsl:attribute-set : use-attribute-sets %s reference missing %s\n",
-                     name, tmp->set);
-        } else {
-            /*
-             * recurse first for cleanup
-             */
-            xsltResolveSASCallback(refs, style, name, ns, NULL);
-            /*
-             * Then merge
-             */
-            xsltMergeAttrElemList(style, values, refs);
-            /*
-             * Then suppress the reference
-             */
-            tmp->set = NULL;
-            tmp->ns = NULL;
-        }
-        }
-    }
-    tmp = tmp->next;
-    }
-}
-
-/**
- * xsltMergeSASCallback,:
- * @style:  the XSLT stylesheet
- *
- * Merge an attribute set from an imported stylesheet.
- */
-static void
-xsltMergeSASCallback(xsltAttrElemPtr values, xsltStylesheetPtr style,
-                   const xmlChar *name, const xmlChar *ns,
-               ATTRIBUTE_UNUSED const xmlChar *ignored) {
-    int ret;
-    xsltAttrElemPtr topSet;
-
-    ret = xmlHashAddEntry2(style->attributeSets, name, ns, values);
-    if (ret < 0) {
-    /*
-     * Add failed, this attribute set can be removed.
-     */
-#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
-    xsltGenericDebug(xsltGenericDebugContext,
-        "attribute set %s present already in top stylesheet"
-        " - merging\n", name);
-#endif
-    topSet = xmlHashLookup2(style->attributeSets, name, ns);
-    if (topSet==NULL) {
-        xsltGenericError(xsltGenericErrorContext,
-            "xsl:attribute-set : logic error merging from imports for"
-        " attribute-set %s\n", name);
-    } else {
-        topSet = xsltMergeAttrElemList(style, topSet, values);
-        xmlHashUpdateEntry2(style->attributeSets, name, ns, topSet, NULL);
-    }
-    xsltFreeAttrElemList(values);
-#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
-    } else {
-    xsltGenericDebug(xsltGenericDebugContext,
-        "attribute set %s moved to top stylesheet\n",
-                 name);
-#endif
-    }
-}
-
-/**
- * xsltResolveStylesheetAttributeSet:
- * @style:  the XSLT stylesheet
- *
- * resolve the references between attribute sets.
- */
-void
-xsltResolveStylesheetAttributeSet(xsltStylesheetPtr style) {
-    xsltStylesheetPtr cur;
-
-#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
-    xsltGenericDebug(xsltGenericDebugContext,
-        "Resolving attribute sets references\n");
-#endif
-    /*
-     * First aggregate all the attribute sets definitions from the imports
-     */
-    cur = xsltNextImport(style);
-    while (cur != NULL) {
-    if (cur->attributeSets != NULL) {
-        if (style->attributeSets == NULL) {
-#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
-        xsltGenericDebug(xsltGenericDebugContext,
-            "creating attribute set table\n");
-#endif
-        style->attributeSets = xmlHashCreate(10);
-        }
-        xmlHashScanFull(cur->attributeSets,
-        (xmlHashScannerFull) xsltMergeSASCallback, style);
-        /*
-         * the attribute lists have either been migrated to style
-         * or freed directly in xsltMergeSASCallback()
-         */
-        xmlHashFree(cur->attributeSets, NULL);
-        cur->attributeSets = NULL;
-    }
-    cur = xsltNextImport(cur);
-    }
-
-    /*
-     * Then resolve all the references and computes the resulting sets
-     */
-    if (style->attributeSets != NULL) {
-    xmlHashScanFull(style->attributeSets,
-        (xmlHashScannerFull) xsltResolveSASCallback, style);
-    }
-}
-
-/**
- * xsltAttributeInternal:
- * @ctxt:  a XSLT process context
- * @node:  the current node in the source tree
- * @inst:  the xsl:attribute element
- * @comp:  precomputed information
- * @fromAttributeSet:  the attribute comes from an attribute-set
- *
- * Process the xslt attribute node on the source node
- */
-static void
-xsltAttributeInternal(xsltTransformContextPtr ctxt,
-              xmlNodePtr contextNode,
-                      xmlNodePtr inst,
-              xsltStylePreCompPtr castedComp,
-                      int fromAttributeSet)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleItemAttributePtr comp =
-    (xsltStyleItemAttributePtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-#endif
-    xmlNodePtr targetElem;
-    xmlChar *prop = NULL;
-    const xmlChar *name = NULL, *prefix = NULL, *nsName = NULL;
-    xmlChar *value = NULL;
-    xmlNsPtr ns = NULL;
-    xmlAttrPtr attr;
-
-    if ((ctxt == NULL) || (contextNode == NULL) || (inst == NULL) ||
-        (inst->type != XML_ELEMENT_NODE) )
-        return;
-
-    /*
-    * A comp->has_name == 0 indicates that we need to skip this instruction,
-    * since it was evaluated to be invalid already during compilation.
-    */
-    if (!comp->has_name)
-        return;
-    /*
-    * BIG NOTE: This previously used xsltGetSpecialNamespace() and
-    *  xsltGetNamespace(), but since both are not appropriate, we
-    *  will process namespace lookup here to avoid adding yet another
-    *  ns-lookup function to namespaces.c.
-    */
-    /*
-    * SPEC XSLT 1.0: Error cases:
-    * - Creating nodes other than text nodes during the instantiation of
-    *   the content of the xsl:attribute element; implementations may
-    *   either signal the error or ignore the offending nodes."
-    */
-
-    if (comp == NULL) {
-        xsltTransformError(ctxt, NULL, inst,
-        "Internal error in xsltAttributeInternal(): "
-        "The XSLT 'attribute' instruction was not compiled.\n");
-        return;
-    }
-    /*
-    * TODO: Shouldn't ctxt->insert == NULL be treated as an internal error?
-    *   So report an internal error?
-    */
-    if (ctxt->insert == NULL)
-        return;
-    /*
-    * SPEC XSLT 1.0:
-    *  "Adding an attribute to a node that is not an element;
-    *  implementations may either signal the error or ignore the attribute."
-    *
-    * TODO: I think we should signal such errors in the future, and maybe
-    *  provide an option to ignore such errors.
-    */
-    targetElem = ctxt->insert;
-    if (targetElem->type != XML_ELEMENT_NODE)
-    return;
-
-    /*
-    * SPEC XSLT 1.0:
-    * "Adding an attribute to an element after children have been added
-    *  to it; implementations may either signal the error or ignore the
-    *  attribute."
-    *
-    * TODO: We should decide whether not to report such errors or
-    *  to ignore them; note that we *ignore* if the parent is not an
-    *  element, but here we report an error.
-    */
-    if (targetElem->children != NULL) {
-    /*
-    * NOTE: Ah! This seems to be intended to support streamed
-    *  result generation!.
-    */
-        xsltTransformError(ctxt, NULL, inst,
-        "xsl:attribute: Cannot add attributes to an "
-        "element if children have been already added "
-        "to the element.\n");
-        return;
-    }
-
-    /*
-    * Process the name
-    * ----------------
-    */
-
-#ifdef WITH_DEBUGGER
-    if (ctxt->debugStatus != XSLT_DEBUG_NONE)
-        xslHandleDebugger(inst, contextNode, NULL, ctxt);
-#endif
-
-    if (comp->name == NULL) {
-    /* TODO: fix attr acquisition wrt to the XSLT namespace */
-        prop = xsltEvalAttrValueTemplate(ctxt, inst,
-        (const xmlChar *) "name", XSLT_NAMESPACE);
-        if (prop == NULL) {
-            xsltTransformError(ctxt, NULL, inst,
-        "xsl:attribute: The attribute 'name' is missing.\n");
-            goto error;
-        }
-    if (xmlValidateQName(prop, 0)) {
-        xsltTransformError(ctxt, NULL, inst,
-        "xsl:attribute: The effective name '%s' is not a "
-        "valid QName.\n", prop);
-        /* we fall through to catch any further errors, if possible */
-    }
-
-    /*
-    * Reject a name of "xmlns".
-    */
-    if (xmlStrEqual(prop, BAD_CAST "xmlns")) {
-            xsltTransformError(ctxt, NULL, inst,
-                "xsl:attribute: The effective name 'xmlns' is not allowed.\n");
-        xmlFree(prop);
-        goto error;
-    }
-
-    name = xsltSplitQName(ctxt->dict, prop, &prefix);
-    xmlFree(prop);
-    } else {
-    /*
-    * The "name" value was static.
-    */
-#ifdef XSLT_REFACTORED
-    prefix = comp->nsPrefix;
-    name = comp->name;
-#else
-    name = xsltSplitQName(ctxt->dict, comp->name, &prefix);
-#endif
-    }
-
-    /*
-    * Process namespace semantics
-    * ---------------------------
-    *
-    * Evaluate the namespace name.
-    */
-    if (comp->has_ns) {
-    /*
-    * The "namespace" attribute was existent.
-    */
-    if (comp->ns != NULL) {
-        /*
-        * No AVT; just plain text for the namespace name.
-        */
-        if (comp->ns[0] != 0)
-        nsName = comp->ns;
-    } else {
-        xmlChar *tmpNsName;
-        /*
-        * Eval the AVT.
-        */
-        /* TODO: check attr acquisition wrt to the XSLT namespace */
-        tmpNsName = xsltEvalAttrValueTemplate(ctxt, inst,
-        (const xmlChar *) "namespace", XSLT_NAMESPACE);
-        /*
-        * This fixes bug #302020: The AVT might also evaluate to the
-        * empty string; this means that the empty string also indicates
-        * "no namespace".
-        * SPEC XSLT 1.0:
-        *  "If the string is empty, then the expanded-name of the
-        *  attribute has a null namespace URI."
-        */
-        if ((tmpNsName != NULL) && (tmpNsName[0] != 0))
-        nsName = xmlDictLookup(ctxt->dict, BAD_CAST tmpNsName, -1);
-        xmlFree(tmpNsName);
-    }
-
-        if (xmlStrEqual(nsName, BAD_CAST "http://www.w3.org/2000/xmlns/")) {
-            xsltTransformError(ctxt, NULL, inst,
-                "xsl:attribute: Namespace http://www.w3.org/2000/xmlns/ "
-                "forbidden.\n");
-            goto error;
-        }
-        if (xmlStrEqual(nsName, XML_XML_NAMESPACE)) {
-            prefix = BAD_CAST "xml";
-        } else if (xmlStrEqual(prefix, BAD_CAST "xml")) {
-            prefix = NULL;
-        }
-    } else if (prefix != NULL) {
-    /*
-    * SPEC XSLT 1.0:
-    *  "If the namespace attribute is not present, then the QName is
-    *  expanded into an expanded-name using the namespace declarations
-    *  in effect for the xsl:attribute element, *not* including any
-    *  default namespace declaration."
-    */
-    ns = xmlSearchNs(inst->doc, inst, prefix);
-    if (ns == NULL) {
-        /*
-        * Note that this is treated as an error now (checked with
-        *  Saxon, Xalan-J and MSXML).
-        */
-        xsltTransformError(ctxt, NULL, inst,
-        "xsl:attribute: The QName '%s:%s' has no "
-        "namespace binding in scope in the stylesheet; "
-        "this is an error, since the namespace was not "
-        "specified by the instruction itself.\n", prefix, name);
-    } else
-        nsName = ns->href;
-    }
-
-    if (fromAttributeSet) {
-    /*
-    * This tries to ensure that xsl:attribute(s) coming
-    * from an xsl:attribute-set won't override attribute of
-    * literal result elements or of explicit xsl:attribute(s).
-    * URGENT TODO: This might be buggy, since it will miss to
-    *  overwrite two equal attributes both from attribute sets.
-    */
-    attr = xmlHasNsProp(targetElem, name, nsName);
-    if (attr != NULL)
-        return;
-    }
-
-    /*
-    * Find/create a matching ns-decl in the result tree.
-    */
-    ns = NULL;
-
-#if 0
-    if (0) {
-    /*
-    * OPTIMIZE TODO: How do we know if we are adding to a
-    *  fragment or to the result tree?
-    *
-    * If we are adding to a result tree fragment (i.e., not to the
-    * actual result tree), we'll don't bother searching for the
-    * ns-decl, but just store it in the dummy-doc of the result
-    * tree fragment.
-    */
-    if (nsName != NULL) {
-        /*
-        * TODO: Get the doc of @targetElem.
-        */
-        ns = xsltTreeAcquireStoredNs(some doc, nsName, prefix);
-    }
-    }
-#endif
-
-    if (nsName != NULL) {
-    /*
-    * Something about ns-prefixes:
-    * SPEC XSLT 1.0:
-    *  "XSLT processors may make use of the prefix of the QName specified
-    *  in the name attribute when selecting the prefix used for outputting
-    *  the created attribute as XML; however, they are not required to do
-    *  so and, if the prefix is xmlns, they must not do so"
-    */
-    /*
-    * xsl:attribute can produce a scenario where the prefix is NULL,
-    * so generate a prefix.
-    */
-    if ((prefix == NULL) || xmlStrEqual(prefix, BAD_CAST "xmlns")) {
-        xmlChar *pref = xmlStrdup(BAD_CAST "ns_1");
-
-        ns = xsltGetSpecialNamespace(ctxt, inst, nsName, pref, targetElem);
-
-        xmlFree(pref);
-    } else {
-        ns = xsltGetSpecialNamespace(ctxt, inst, nsName, prefix,
-        targetElem);
-    }
-    if (ns == NULL) {
-        xsltTransformError(ctxt, NULL, inst,
-        "Namespace fixup error: Failed to acquire an in-scope "
-        "namespace binding for the generated attribute '{%s}%s'.\n",
-        nsName, name);
-        goto error;
-    }
-    }
-    /*
-    * Construction of the value
-    * -------------------------
-    */
-    if (inst->children == NULL) {
-    /*
-    * No content.
-    * TODO: Do we need to put the empty string in ?
-    */
-    attr = xmlSetNsProp(ctxt->insert, ns, name, (const xmlChar *) "");
-    } else if ((inst->children->next == NULL) &&
-        ((inst->children->type == XML_TEXT_NODE) ||
-         (inst->children->type == XML_CDATA_SECTION_NODE)))
-    {
-    xmlNodePtr copyTxt;
-
-    /*
-    * xmlSetNsProp() will take care of duplicates.
-    */
-    attr = xmlSetNsProp(ctxt->insert, ns, name, NULL);
-    if (attr == NULL) /* TODO: report error ? */
-        goto error;
-    /*
-    * This was taken over from xsltCopyText() (transform.c).
-    */
-    if (ctxt->internalized &&
-        (ctxt->insert->doc != NULL) &&
-        (ctxt->insert->doc->dict == ctxt->dict))
-    {
-        copyTxt = xmlNewText(NULL);
-        if (copyTxt == NULL) /* TODO: report error */
-        goto error;
-        /*
-        * This is a safe scenario where we don't need to lookup
-        * the dict.
-        */
-        copyTxt->content = inst->children->content;
-        /*
-        * Copy "disable-output-escaping" information.
-        * TODO: Does this have any effect for attribute values
-        *  anyway?
-        */
-        if (inst->children->name == xmlStringTextNoenc)
-        copyTxt->name = xmlStringTextNoenc;
-    } else {
-        /*
-        * Copy the value.
-        */
-        copyTxt = xmlNewText(inst->children->content);
-        if (copyTxt == NULL) /* TODO: report error */
-        goto error;
-    }
-    attr->children = attr->last = copyTxt;
-    copyTxt->parent = (xmlNodePtr) attr;
-    copyTxt->doc = attr->doc;
-    /*
-    * Copy "disable-output-escaping" information.
-    * TODO: Does this have any effect for attribute values
-    *  anyway?
-    */
-    if (inst->children->name == xmlStringTextNoenc)
-        copyTxt->name = xmlStringTextNoenc;
-
-        /*
-         * since we create the attribute without content IDness must be
-         * asserted as a second step
-         */
-        if ((copyTxt->content != NULL) &&
-            (xmlIsID(attr->doc, attr->parent, attr)))
-            xmlAddID(NULL, attr->doc, copyTxt->content, attr);
-    } else {
-    /*
-    * The sequence constructor might be complex, so instantiate it.
-    */
-    value = xsltEvalTemplateString(ctxt, contextNode, inst);
-    if (value != NULL) {
-        attr = xmlSetNsProp(ctxt->insert, ns, name, value);
-        xmlFree(value);
-    } else {
-        /*
-        * TODO: Do we have to add the empty string to the attr?
-        * TODO: Does a  value of NULL indicate an
-        *  error in xsltEvalTemplateString() ?
-        */
-        attr = xmlSetNsProp(ctxt->insert, ns, name,
-        (const xmlChar *) "");
-    }
-    }
-
-error:
-    return;
-}
-
-/**
- * xsltAttribute:
- * @ctxt:  a XSLT process context
- * @node:  the node in the source tree.
- * @inst:  the xslt attribute node
- * @comp:  precomputed information
- *
- * Process the xslt attribute node on the source node
- */
-void
-xsltAttribute(xsltTransformContextPtr ctxt, xmlNodePtr node,
-          xmlNodePtr inst, xsltStylePreCompPtr comp) {
-    xsltAttributeInternal(ctxt, node, inst, comp, 0);
-}
-
-/**
- * xsltApplyAttributeSet:
- * @ctxt:  the XSLT stylesheet
- * @node:  the node in the source tree.
- * @inst:  the attribute node "xsl:use-attribute-sets"
- * @attrSets:  the list of QNames of the attribute-sets to be applied
- *
- * Apply the xsl:use-attribute-sets.
- * If @attrSets is NULL, then @inst will be used to exctract this
- * value.
- * If both, @attrSets and @inst, are NULL, then this will do nothing.
- */
-void
-xsltApplyAttributeSet(xsltTransformContextPtr ctxt, xmlNodePtr node,
-                      xmlNodePtr inst,
-                      const xmlChar *attrSets)
-{
-    const xmlChar *ncname = NULL;
-    const xmlChar *prefix = NULL;
-    const xmlChar *curstr, *endstr;
-    xsltAttrElemPtr attrs;
-    xsltStylesheetPtr style;
-
-    if (attrSets == NULL) {
-    if (inst == NULL)
-        return;
-    else {
-        /*
-        * Extract the value from @inst.
-        */
-        if (inst->type == XML_ATTRIBUTE_NODE) {
-        if ( ((xmlAttrPtr) inst)->children != NULL)
-            attrSets = ((xmlAttrPtr) inst)->children->content;
-
-        }
-        if (attrSets == NULL) {
-        /*
-        * TODO: Return an error?
-        */
-        return;
-        }
-    }
-    }
-    /*
-    * Parse/apply the list of QNames.
-    */
-    curstr = attrSets;
-    while (*curstr != 0) {
-        while (IS_BLANK(*curstr))
-            curstr++;
-        if (*curstr == 0)
-            break;
-        endstr = curstr;
-        while ((*endstr != 0) && (!IS_BLANK(*endstr)))
-            endstr++;
-        curstr = xmlDictLookup(ctxt->dict, curstr, endstr - curstr);
-        if (curstr) {
-        /*
-        * TODO: Validate the QName.
-        */
-
-#ifdef WITH_XSLT_DEBUG_curstrUTES
-            xsltGenericDebug(xsltGenericDebugContext,
-                             "apply curstrute set %s\n", curstr);
-#endif
-            ncname = xsltSplitQName(ctxt->dict, curstr, &prefix);
-
-            style = ctxt->style;
-
-#ifdef WITH_DEBUGGER
-            if ((style != NULL) &&
-        (style->attributeSets != NULL) &&
-        (ctxt->debugStatus != XSLT_DEBUG_NONE))
-        {
-                attrs =
-                    xmlHashLookup2(style->attributeSets, ncname, prefix);
-                if ((attrs != NULL) && (attrs->attr != NULL))
-                    xslHandleDebugger(attrs->attr->parent, node, NULL,
-            ctxt);
-            }
-#endif
-        /*
-        * Lookup the referenced curstrute-set.
-        */
-            while (style != NULL) {
-                attrs =
-                    xmlHashLookup2(style->attributeSets, ncname, prefix);
-                while (attrs != NULL) {
-                    if (attrs->attr != NULL) {
-                        xsltAttributeInternal(ctxt, node, attrs->attr,
-                attrs->attr->psvi, 1);
-                    }
-                    attrs = attrs->next;
-                }
-                style = xsltNextImport(style);
-            }
-        }
-        curstr = endstr;
-    }
-}
-
-/**
- * xsltFreeAttributeSetsHashes:
- * @style: an XSLT stylesheet
- *
- * Free up the memory used by attribute sets
- */
-void
-xsltFreeAttributeSetsHashes(xsltStylesheetPtr style) {
-    if (style->attributeSets != NULL)
-    xmlHashFree((xmlHashTablePtr) style->attributeSets,
-            (xmlHashDeallocator) xsltFreeAttrElemList);
-    style->attributeSets = NULL;
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/attributes.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/attributes.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/attributes.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Summary: interface for the XSLT attribute handling
- * Description: this module handles the specificities of attribute
- *              and attribute groups processing.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_ATTRIBUTES_H__
-#define __XML_XSLT_ATTRIBUTES_H__
-
-#include 
-#include "xsltexports.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-XSLTPUBFUN void XSLTCALL
-    xsltParseStylesheetAttributeSet (xsltStylesheetPtr style,
-                     xmlNodePtr cur);
-XSLTPUBFUN void XSLTCALL
-    xsltFreeAttributeSetsHashes (xsltStylesheetPtr style);
-XSLTPUBFUN void XSLTCALL
-    xsltApplyAttributeSet       (xsltTransformContextPtr ctxt,
-                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     const xmlChar *attributes);
-XSLTPUBFUN void XSLTCALL
-    xsltResolveStylesheetAttributeSet(xsltStylesheetPtr style);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_ATTRIBUTES_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/attrvt.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/attrvt.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/attrvt.c
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- * attrvt.c: Implementation of the XSL Transformation 1.0 engine
- *           attribute value template handling part.
- *
- * References:
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- *   Michael Kay "XSLT Programmer's Reference" pp 637-643
- *   Writing Multiple Output Files
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltutils.h"
-#include "xsltInternals.h"
-#include "templates.h"
-
-#ifdef WITH_XSLT_DEBUG
-#define WITH_XSLT_DEBUG_AVT
-#endif
-
-#define MAX_AVT_SEG 10
-
-typedef struct _xsltAttrVT xsltAttrVT;
-typedef xsltAttrVT *xsltAttrVTPtr;
-struct _xsltAttrVT {
-    struct _xsltAttrVT *next; /* next xsltAttrVT */
-    int nb_seg;     /* Number of segments */
-    int max_seg;    /* max capacity before re-alloc needed */
-    int strstart;   /* is the start a string */
-    /*
-     * the namespaces in scope
-     */
-    xmlNsPtr *nsList;
-    int nsNr;
-    /*
-     * the content is an alternate of string and xmlXPathCompExprPtr
-     */
-    void *segments[MAX_AVT_SEG];
-};
-
-/**
- * xsltNewAttrVT:
- * @style:  a XSLT process context
- *
- * Build a new xsltAttrVT structure
- *
- * Returns the structure or NULL in case of error
- */
-static xsltAttrVTPtr
-xsltNewAttrVT(xsltStylesheetPtr style) {
-    xsltAttrVTPtr cur;
-
-    cur = (xsltAttrVTPtr) xmlMalloc(sizeof(xsltAttrVT));
-    if (cur == NULL) {
-    xsltTransformError(NULL, style, NULL,
-        "xsltNewAttrVTPtr : malloc failed\n");
-    if (style != NULL) style->errors++;
-    return(NULL);
-    }
-    memset(cur, 0, sizeof(xsltAttrVT));
-
-    cur->nb_seg = 0;
-    cur->max_seg = MAX_AVT_SEG;
-    cur->strstart = 0;
-    cur->next = style->attVTs;
-    /*
-     * Note: this pointer may be changed by a re-alloc within xsltCompileAttr,
-     * so that code may change the stylesheet pointer also!
-     */
-    style->attVTs = (xsltAttrVTPtr) cur;
-
-    return(cur);
-}
-
-/**
- * xsltFreeAttrVT:
- * @avt: pointer to an xsltAttrVT structure
- *
- * Free up the memory associated to the attribute value template
- */
-static void
-xsltFreeAttrVT(xsltAttrVTPtr avt) {
-    int i;
-
-    if (avt == NULL) return;
-
-    if (avt->strstart == 1) {
-    for (i = 0;i < avt->nb_seg; i += 2)
-        if (avt->segments[i] != NULL)
-        xmlFree((xmlChar *) avt->segments[i]);
-    for (i = 1;i < avt->nb_seg; i += 2)
-        xmlXPathFreeCompExpr((xmlXPathCompExprPtr) avt->segments[i]);
-    } else {
-    for (i = 0;i < avt->nb_seg; i += 2)
-        xmlXPathFreeCompExpr((xmlXPathCompExprPtr) avt->segments[i]);
-    for (i = 1;i < avt->nb_seg; i += 2)
-        if (avt->segments[i] != NULL)
-        xmlFree((xmlChar *) avt->segments[i]);
-    }
-    if (avt->nsList != NULL)
-        xmlFree(avt->nsList);
-    xmlFree(avt);
-}
-
-/**
- * xsltFreeAVTList:
- * @avt: pointer to an list of AVT structures
- *
- * Free up the memory associated to the attribute value templates
- */
-void
-xsltFreeAVTList(void *avt) {
-    xsltAttrVTPtr cur = (xsltAttrVTPtr) avt, next;
-
-    while (cur != NULL) {
-        next = cur->next;
-    xsltFreeAttrVT(cur);
-    cur = next;
-    }
-}
-/**
- * xsltSetAttrVTsegment:
- * @ avt: pointer to an xsltAttrVT structure
- * @ val: the value to be set to the next available segment
- *
- * Within xsltCompileAttr there are several places where a value
- * needs to be added to the 'segments' array within the xsltAttrVT
- * structure, and at each place the allocated size may have to be
- * re-allocated.  This routine takes care of that situation.
- *
- * Returns the avt pointer, which may have been changed by a re-alloc
- */
-static xsltAttrVTPtr
-xsltSetAttrVTsegment(xsltAttrVTPtr avt, void *val) {
-    if (avt->nb_seg >= avt->max_seg) {
-    avt = (xsltAttrVTPtr) xmlRealloc(avt, sizeof(xsltAttrVT) +
-            avt->max_seg * sizeof(void *));
-    if (avt == NULL) {
-        return NULL;
-    }
-    memset(&avt->segments[avt->nb_seg], 0, MAX_AVT_SEG*sizeof(void *));
-    avt->max_seg += MAX_AVT_SEG;
-    }
-    avt->segments[avt->nb_seg++] = val;
-    return avt;
-}
-
-/**
- * xsltCompileAttr:
- * @style:  a XSLT process context
- * @attr: the attribute coming from the stylesheet.
- *
- * Precompile an attribute in a stylesheet, basically it checks if it is
- * an attrubute value template, and if yes establish some structures needed
- * to process it at transformation time.
- */
-void
-xsltCompileAttr(xsltStylesheetPtr style, xmlAttrPtr attr) {
-    const xmlChar *str;
-    const xmlChar *cur;
-    xmlChar *ret = NULL;
-    xmlChar *expr = NULL;
-    xsltAttrVTPtr avt;
-    int i = 0, lastavt = 0;
-
-    if ((style == NULL) || (attr == NULL) || (attr->children == NULL))
-        return;
-    if ((attr->children->type != XML_TEXT_NODE) ||
-        (attr->children->next != NULL)) {
-        xsltTransformError(NULL, style, attr->parent,
-        "Attribute '%s': The content is expected to be a single text "
-        "node when compiling an AVT.\n", attr->name);
-    style->errors++;
-    return;
-    }
-    str = attr->children->content;
-    if ((xmlStrchr(str, '{') == NULL) &&
-        (xmlStrchr(str, '}') == NULL)) return;
-
-#ifdef WITH_XSLT_DEBUG_AVT
-    xsltGenericDebug(xsltGenericDebugContext,
-            "Found AVT %s: %s\n", attr->name, str);
-#endif
-    if (attr->psvi != NULL) {
-#ifdef WITH_XSLT_DEBUG_AVT
-    xsltGenericDebug(xsltGenericDebugContext,
-            "AVT %s: already compiled\n", attr->name);
-#endif
-        return;
-    }
-    /*
-    * Create a new AVT object.
-    */
-    avt = xsltNewAttrVT(style);
-    if (avt == NULL)
-    return;
-    attr->psvi = avt;
-
-    avt->nsList = xmlGetNsList(attr->doc, attr->parent);
-    if (avt->nsList != NULL) {
-    while (avt->nsList[i] != NULL)
-        i++;
-    }
-    avt->nsNr = i;
-
-    cur = str;
-    while (*cur != 0) {
-    if (*cur == '{') {
-        if (*(cur+1) == '{') {  /* escaped '{' */
-            cur++;
-        ret = xmlStrncat(ret, str, cur - str);
-        cur++;
-        str = cur;
-        continue;
-        }
-        if (*(cur+1) == '}') {  /* skip empty AVT */
-        ret = xmlStrncat(ret, str, cur - str);
-            cur += 2;
-        str = cur;
-        continue;
-        }
-        if ((ret != NULL) || (cur - str > 0)) {
-        ret = xmlStrncat(ret, str, cur - str);
-        str = cur;
-        if (avt->nb_seg == 0)
-            avt->strstart = 1;
-        if ((avt = xsltSetAttrVTsegment(avt, (void *) ret)) == NULL)
-            goto error;
-        ret = NULL;
-        lastavt = 0;
-        }
-
-        cur++;
-        while ((*cur != 0) && (*cur != '}')) {
-        /* Need to check for literal (bug539741) */
-        if ((*cur == '\'') || (*cur == '"')) {
-            char delim = *(cur++);
-            while ((*cur != 0) && (*cur != delim))
-            cur++;
-            if (*cur != 0)
-            cur++;  /* skip the ending delimiter */
-        } else
-            cur++;
-        }
-        if (*cur == 0) {
-            xsltTransformError(NULL, style, attr->parent,
-             "Attribute '%s': The AVT has an unmatched '{'.\n",
-             attr->name);
-        style->errors++;
-        goto error;
-        }
-        str++;
-        expr = xmlStrndup(str, cur - str);
-        if (expr == NULL) {
-        /*
-        * TODO: What needs to be done here?
-        */
-            XSLT_TODO
-        goto error;
-        } else {
-        xmlXPathCompExprPtr comp;
-
-        comp = xsltXPathCompile(style, expr);
-        if (comp == NULL) {
-            xsltTransformError(NULL, style, attr->parent,
-             "Attribute '%s': Failed to compile the expression "
-             "'%s' in the AVT.\n", attr->name, expr);
-            style->errors++;
-            goto error;
-        }
-        if (avt->nb_seg == 0)
-            avt->strstart = 0;
-        if (lastavt == 1) {
-            if ((avt = xsltSetAttrVTsegment(avt, NULL)) == NULL)
-                goto error;
-        }
-        if ((avt = xsltSetAttrVTsegment(avt, (void *) comp)) == NULL)
-            goto error;
-        lastavt = 1;
-        xmlFree(expr);
-        expr = NULL;
-        }
-        cur++;
-        str = cur;
-    } else if (*cur == '}') {
-        cur++;
-        if (*cur == '}') {  /* escaped '}' */
-        ret = xmlStrncat(ret, str, cur - str);
-        cur++;
-        str = cur;
-        continue;
-        } else {
-            xsltTransformError(NULL, style, attr->parent,
-             "Attribute '%s': The AVT has an unmatched '}'.\n",
-             attr->name);
-        goto error;
-        }
-    } else
-        cur++;
-    }
-    if ((ret != NULL) || (cur - str > 0)) {
-    ret = xmlStrncat(ret, str, cur - str);
-    str = cur;
-    if (avt->nb_seg == 0)
-        avt->strstart = 1;
-    if ((avt = xsltSetAttrVTsegment(avt, (void *) ret)) == NULL)
-        goto error;
-    ret = NULL;
-    }
-
-error:
-    if (avt == NULL) {
-        xsltTransformError(NULL, style, attr->parent,
-        "xsltCompileAttr: malloc problem\n");
-    } else {
-        if (attr->psvi != avt) {  /* may have changed from realloc */
-            attr->psvi = avt;
-        /*
-         * This is a "hack", but I can't see any clean method of
-         * doing it.  If a re-alloc has taken place, then the pointer
-         * for this AVT may have changed.  style->attVTs was set by
-         * xsltNewAttrVT, so it needs to be re-set to the new value!
-         */
-        style->attVTs = avt;
-    }
-    }
-    if (ret != NULL)
-    xmlFree(ret);
-    if (expr != NULL)
-    xmlFree(expr);
-}
-
-
-/**
- * xsltEvalAVT:
- * @ctxt: the XSLT transformation context
- * @avt: the prevompiled attribute value template info
- * @node: the node hosting the attribute
- *
- * Process the given AVT, and return the new string value.
- *
- * Returns the computed string value or NULL, must be deallocated by the
- *         caller.
- */
-xmlChar *
-xsltEvalAVT(xsltTransformContextPtr ctxt, void *avt, xmlNodePtr node) {
-    xmlChar *ret = NULL, *tmp;
-    xmlXPathCompExprPtr comp;
-    xsltAttrVTPtr cur = (xsltAttrVTPtr) avt;
-    int i;
-    int str;
-
-    if ((ctxt == NULL) || (avt == NULL) || (node == NULL))
-        return(NULL);
-    str = cur->strstart;
-    for (i = 0;i < cur->nb_seg;i++) {
-        if (str) {
-        ret = xmlStrcat(ret, (const xmlChar *) cur->segments[i]);
-    } else {
-        comp = (xmlXPathCompExprPtr) cur->segments[i];
-        tmp = xsltEvalXPathStringNs(ctxt, comp, cur->nsNr, cur->nsList);
-        if (tmp != NULL) {
-            if (ret != NULL) {
-            ret = xmlStrcat(ret, tmp);
-            xmlFree(tmp);
-        } else {
-            ret = tmp;
-        }
-        }
-    }
-    str = !str;
-    }
-    return(ret);
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/documents.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/documents.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/documents.c
+++ /dev/null
@@ -1,434 +0,0 @@
-/*
- * documents.c: Implementation of the documents handling
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltInternals.h"
-#include "xsltutils.h"
-#include "documents.h"
-#include "transform.h"
-#include "imports.h"
-#include "keys.h"
-#include "security.h"
-
-#ifdef LIBXML_XINCLUDE_ENABLED
-#include 
-#endif
-
-#define WITH_XSLT_DEBUG_DOCUMENTS
-
-#ifdef WITH_XSLT_DEBUG
-#define WITH_XSLT_DEBUG_DOCUMENTS
-#endif
-
-/************************************************************************
- *                                  *
- *      Hooks for the document loader               *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltDocDefaultLoaderFunc:
- * @URI: the URI of the document to load
- * @dict: the dictionary to use when parsing that document
- * @options: parsing options, a set of xmlParserOption
- * @ctxt: the context, either a stylesheet or a transformation context
- * @type: the xsltLoadType indicating the kind of loading required
- *
- * Default function to load document not provided by the compilation or
- * transformation API themselve, for example when an xsl:import,
- * xsl:include is found at compilation time or when a document()
- * call is made at runtime.
- *
- * Returns the pointer to the document (which will be modified and
- * freed by the engine later), or NULL in case of error.
- */
-static xmlDocPtr
-xsltDocDefaultLoaderFunc(const xmlChar * URI, xmlDictPtr dict, int options,
-                         void *ctxt ATTRIBUTE_UNUSED,
-             xsltLoadType type ATTRIBUTE_UNUSED)
-{
-    xmlParserCtxtPtr pctxt;
-    xmlParserInputPtr inputStream;
-    xmlDocPtr doc;
-
-    pctxt = xmlNewParserCtxt();
-    if (pctxt == NULL)
-        return(NULL);
-    if ((dict != NULL) && (pctxt->dict != NULL)) {
-        xmlDictFree(pctxt->dict);
-    pctxt->dict = NULL;
-    }
-    if (dict != NULL) {
-    pctxt->dict = dict;
-    xmlDictReference(pctxt->dict);
-#ifdef WITH_XSLT_DEBUG
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "Reusing dictionary for document\n");
-#endif
-    }
-    xmlCtxtUseOptions(pctxt, options);
-    inputStream = xmlLoadExternalEntity((const char *) URI, NULL, pctxt);
-    if (inputStream == NULL) {
-        xmlFreeParserCtxt(pctxt);
-    return(NULL);
-    }
-    inputPush(pctxt, inputStream);
-    if (pctxt->directory == NULL)
-        pctxt->directory = xmlParserGetDirectory((const char *) URI);
-
-    xmlParseDocument(pctxt);
-
-    if (pctxt->wellFormed) {
-        doc = pctxt->myDoc;
-    }
-    else {
-        doc = NULL;
-        xmlFreeDoc(pctxt->myDoc);
-        pctxt->myDoc = NULL;
-    }
-    xmlFreeParserCtxt(pctxt);
-
-    return(doc);
-}
-
-
-xsltDocLoaderFunc xsltDocDefaultLoader = xsltDocDefaultLoaderFunc;
-
-/**
- * xsltSetLoaderFunc:
- * @f: the new function to handle document loading.
- *
- * Set the new function to load document, if NULL it resets it to the
- * default function.
- */
-
-void
-xsltSetLoaderFunc(xsltDocLoaderFunc f) {
-    if (f == NULL)
-        xsltDocDefaultLoader = xsltDocDefaultLoaderFunc;
-    else
-        xsltDocDefaultLoader = f;
-}
-
-/************************************************************************
- *                                  *
- *          Module interfaces               *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltNewDocument:
- * @ctxt: an XSLT transformation context (or NULL)
- * @doc:  a parsed XML document
- *
- * Register a new document, apply key computations
- *
- * Returns a handler to the document
- */
-xsltDocumentPtr
-xsltNewDocument(xsltTransformContextPtr ctxt, xmlDocPtr doc) {
-    xsltDocumentPtr cur;
-
-    cur = (xsltDocumentPtr) xmlMalloc(sizeof(xsltDocument));
-    if (cur == NULL) {
-    xsltTransformError(ctxt, NULL, (xmlNodePtr) doc,
-        "xsltNewDocument : malloc failed\n");
-    return(NULL);
-    }
-    memset(cur, 0, sizeof(xsltDocument));
-    cur->doc = doc;
-    if (ctxt != NULL) {
-        if (! XSLT_IS_RES_TREE_FRAG(doc)) {
-        cur->next = ctxt->docList;
-        ctxt->docList = cur;
-    }
-    /*
-    * A key with a specific name for a specific document
-    * will only be computed if there's a call to the key()
-    * function using that specific name for that specific
-    * document. I.e. computation of keys will be done in
-    * xsltGetKey() (keys.c) on an on-demand basis.
-    *
-    * xsltInitCtxtKeys(ctxt, cur); not called here anymore
-    */
-    }
-    return(cur);
-}
-
-/**
- * xsltNewStyleDocument:
- * @style: an XSLT style sheet
- * @doc:  a parsed XML document
- *
- * Register a new document, apply key computations
- *
- * Returns a handler to the document
- */
-xsltDocumentPtr
-xsltNewStyleDocument(xsltStylesheetPtr style, xmlDocPtr doc) {
-    xsltDocumentPtr cur;
-
-    cur = (xsltDocumentPtr) xmlMalloc(sizeof(xsltDocument));
-    if (cur == NULL) {
-    xsltTransformError(NULL, style, (xmlNodePtr) doc,
-        "xsltNewStyleDocument : malloc failed\n");
-    return(NULL);
-    }
-    memset(cur, 0, sizeof(xsltDocument));
-    cur->doc = doc;
-    if (style != NULL) {
-    cur->next = style->docList;
-    style->docList = cur;
-    }
-    return(cur);
-}
-
-/**
- * xsltFreeStyleDocuments:
- * @style: an XSLT stylesheet (representing a stylesheet-level)
- *
- * Frees the node-trees (and xsltDocument structures) of all
- * stylesheet-modules of the stylesheet-level represented by
- * the given @style.
- */
-void
-xsltFreeStyleDocuments(xsltStylesheetPtr style) {
-    xsltDocumentPtr doc, cur;
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-    xsltNsMapPtr nsMap;
-#endif
-
-    if (style == NULL)
-    return;
-
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-    if (XSLT_HAS_INTERNAL_NSMAP(style))
-    nsMap = XSLT_GET_INTERNAL_NSMAP(style);
-    else
-    nsMap = NULL;
-#endif
-
-    cur = style->docList;
-    while (cur != NULL) {
-    doc = cur;
-    cur = cur->next;
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-    /*
-    * Restore all changed namespace URIs of ns-decls.
-    */
-    if (nsMap)
-        xsltRestoreDocumentNamespaces(nsMap, doc->doc);
-#endif
-    xsltFreeDocumentKeys(doc);
-    if (!doc->main)
-        xmlFreeDoc(doc->doc);
-        xmlFree(doc);
-    }
-}
-
-/**
- * xsltFreeDocuments:
- * @ctxt: an XSLT transformation context
- *
- * Free up all the space used by the loaded documents
- */
-void
-xsltFreeDocuments(xsltTransformContextPtr ctxt) {
-    xsltDocumentPtr doc, cur;
-
-    cur = ctxt->docList;
-    while (cur != NULL) {
-    doc = cur;
-    cur = cur->next;
-    xsltFreeDocumentKeys(doc);
-    if (!doc->main)
-        xmlFreeDoc(doc->doc);
-        xmlFree(doc);
-    }
-    cur = ctxt->styleList;
-    while (cur != NULL) {
-    doc = cur;
-    cur = cur->next;
-    xsltFreeDocumentKeys(doc);
-    if (!doc->main)
-        xmlFreeDoc(doc->doc);
-        xmlFree(doc);
-    }
-}
-
-/**
- * xsltLoadDocument:
- * @ctxt: an XSLT transformation context
- * @URI:  the computed URI of the document
- *
- * Try to load a document (not a stylesheet)
- * within the XSLT transformation context
- *
- * Returns the new xsltDocumentPtr or NULL in case of error
- */
-xsltDocumentPtr
-xsltLoadDocument(xsltTransformContextPtr ctxt, const xmlChar *URI) {
-    xsltDocumentPtr ret;
-    xmlDocPtr doc;
-
-    if ((ctxt == NULL) || (URI == NULL))
-    return(NULL);
-
-    /*
-     * Security framework check
-     */
-    if (ctxt->sec != NULL) {
-    int res;
-
-    res = xsltCheckRead(ctxt->sec, ctxt, URI);
-    if (res == 0) {
-        xsltTransformError(ctxt, NULL, NULL,
-         "xsltLoadDocument: read rights for %s denied\n",
-                 URI);
-        return(NULL);
-    }
-    }
-
-    /*
-     * Walk the context list to find the document if preparsed
-     */
-    ret = ctxt->docList;
-    while (ret != NULL) {
-    if ((ret->doc != NULL) && (ret->doc->URL != NULL) &&
-        (xmlStrEqual(ret->doc->URL, URI)))
-        return(ret);
-    ret = ret->next;
-    }
-
-    doc = xsltDocDefaultLoader(URI, ctxt->dict, ctxt->parserOptions,
-                               (void *) ctxt, XSLT_LOAD_DOCUMENT);
-
-    if (doc == NULL)
-    return(NULL);
-
-    if (ctxt->xinclude != 0) {
-#ifdef LIBXML_XINCLUDE_ENABLED
-#if LIBXML_VERSION >= 20603
-    xmlXIncludeProcessFlags(doc, ctxt->parserOptions);
-#else
-    xmlXIncludeProcess(doc);
-#endif
-#else
-    xsltTransformError(ctxt, NULL, NULL,
-        "xsltLoadDocument(%s) : XInclude processing not compiled in\n",
-                     URI);
-#endif
-    }
-    /*
-     * Apply white-space stripping if asked for
-     */
-    if (xsltNeedElemSpaceHandling(ctxt))
-    xsltApplyStripSpaces(ctxt, xmlDocGetRootElement(doc));
-    if (ctxt->debugStatus == XSLT_DEBUG_NONE)
-    xmlXPathOrderDocElems(doc);
-
-    ret = xsltNewDocument(ctxt, doc);
-    return(ret);
-}
-
-/**
- * xsltLoadStyleDocument:
- * @style: an XSLT style sheet
- * @URI:  the computed URI of the document
- *
- * Try to load a stylesheet document within the XSLT transformation context
- *
- * Returns the new xsltDocumentPtr or NULL in case of error
- */
-xsltDocumentPtr
-xsltLoadStyleDocument(xsltStylesheetPtr style, const xmlChar *URI) {
-    xsltDocumentPtr ret;
-    xmlDocPtr doc;
-    xsltSecurityPrefsPtr sec;
-
-    if ((style == NULL) || (URI == NULL))
-    return(NULL);
-
-    /*
-     * Security framework check
-     */
-    sec = xsltGetDefaultSecurityPrefs();
-    if (sec != NULL) {
-    int res;
-
-    res = xsltCheckRead(sec, NULL, URI);
-    if (res == 0) {
-        xsltTransformError(NULL, NULL, NULL,
-         "xsltLoadStyleDocument: read rights for %s denied\n",
-                 URI);
-        return(NULL);
-    }
-    }
-
-    /*
-     * Walk the context list to find the document if preparsed
-     */
-    ret = style->docList;
-    while (ret != NULL) {
-    if ((ret->doc != NULL) && (ret->doc->URL != NULL) &&
-        (xmlStrEqual(ret->doc->URL, URI)))
-        return(ret);
-    ret = ret->next;
-    }
-
-    doc = xsltDocDefaultLoader(URI, style->dict, XSLT_PARSE_OPTIONS,
-                               (void *) style, XSLT_LOAD_STYLESHEET);
-    if (doc == NULL)
-    return(NULL);
-
-    ret = xsltNewStyleDocument(style, doc);
-    return(ret);
-}
-
-/**
- * xsltFindDocument:
- * @ctxt: an XSLT transformation context
- * @doc: a parsed XML document
- *
- * Try to find a document within the XSLT transformation context.
- * This will not find document infos for temporary
- * Result Tree Fragments.
- *
- * Returns the desired xsltDocumentPtr or NULL in case of error
- */
-xsltDocumentPtr
-xsltFindDocument (xsltTransformContextPtr ctxt, xmlDocPtr doc) {
-    xsltDocumentPtr ret;
-
-    if ((ctxt == NULL) || (doc == NULL))
-    return(NULL);
-
-    /*
-     * Walk the context list to find the document
-     */
-    ret = ctxt->docList;
-    while (ret != NULL) {
-    if (ret->doc == doc)
-        return(ret);
-    ret = ret->next;
-    }
-    if (doc == ctxt->style->doc)
-    return(ctxt->document);
-    return(NULL);
-}
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/documents.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/documents.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/documents.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Summary: interface for the document handling
- * Description: implements document loading and cache (multiple
- *              document() reference for the same resources must
- *              be equal.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_DOCUMENTS_H__
-#define __XML_XSLT_DOCUMENTS_H__
-
-#include 
-#include "xsltexports.h"
-#include "xsltInternals.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-XSLTPUBFUN xsltDocumentPtr XSLTCALL
-        xsltNewDocument     (xsltTransformContextPtr ctxt,
-                     xmlDocPtr doc);
-XSLTPUBFUN xsltDocumentPtr XSLTCALL
-        xsltLoadDocument    (xsltTransformContextPtr ctxt,
-                     const xmlChar *URI);
-XSLTPUBFUN xsltDocumentPtr XSLTCALL
-        xsltFindDocument    (xsltTransformContextPtr ctxt,
-                     xmlDocPtr doc);
-XSLTPUBFUN void XSLTCALL
-        xsltFreeDocuments   (xsltTransformContextPtr ctxt);
-
-XSLTPUBFUN xsltDocumentPtr XSLTCALL
-        xsltLoadStyleDocument   (xsltStylesheetPtr style,
-                     const xmlChar *URI);
-XSLTPUBFUN xsltDocumentPtr XSLTCALL
-        xsltNewStyleDocument    (xsltStylesheetPtr style,
-                     xmlDocPtr doc);
-XSLTPUBFUN void XSLTCALL
-        xsltFreeStyleDocuments  (xsltStylesheetPtr style);
-
-/*
- * Hooks for document loading
- */
-
-/**
- * xsltLoadType:
- *
- * Enum defining the kind of loader requirement.
- */
-typedef enum {
-    XSLT_LOAD_START = 0,    /* loading for a top stylesheet */
-    XSLT_LOAD_STYLESHEET = 1,   /* loading for a stylesheet include/import */
-    XSLT_LOAD_DOCUMENT = 2  /* loading document at transformation time */
-} xsltLoadType;
-
-/**
- * xsltDocLoaderFunc:
- * @URI: the URI of the document to load
- * @dict: the dictionary to use when parsing that document
- * @options: parsing options, a set of xmlParserOption
- * @ctxt: the context, either a stylesheet or a transformation context
- * @type: the xsltLoadType indicating the kind of loading required
- *
- * An xsltDocLoaderFunc is a signature for a function which can be
- * registered to load document not provided by the compilation or
- * transformation API themselve, for example when an xsl:import,
- * xsl:include is found at compilation time or when a document()
- * call is made at runtime.
- *
- * Returns the pointer to the document (which will be modified and
- * freed by the engine later), or NULL in case of error.
- */
-typedef xmlDocPtr (*xsltDocLoaderFunc)      (const xmlChar *URI,
-                         xmlDictPtr dict,
-                         int options,
-                         void *ctxt,
-                         xsltLoadType type);
-
-XSLTPUBFUN void XSLTCALL
-        xsltSetLoaderFunc       (xsltDocLoaderFunc f);
-
-/* the loader may be needed by extension libraries so it is exported */
-XSLTPUBVAR xsltDocLoaderFunc xsltDocDefaultLoader;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_DOCUMENTS_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/extensions.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/extensions.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/extensions.c
+++ /dev/null
@@ -1,2362 +0,0 @@
-/*
- * extensions.c: Implemetation of the extensions support
- *
- * Reference:
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#ifdef WITH_MODULES
-#include 
-#endif
-#include 
-#include 
-#include "xslt.h"
-#include "xsltInternals.h"
-#include "xsltutils.h"
-#include "imports.h"
-#include "extensions.h"
-
-#ifdef _WIN32
-#include              /* for _MAX_PATH */
-#ifndef PATH_MAX
-#define PATH_MAX _MAX_PATH
-#endif
-#endif
-
-#ifdef WITH_XSLT_DEBUG
-#define WITH_XSLT_DEBUG_EXTENSIONS
-#endif
-
-/************************************************************************
- *                                  *
- *          Private Types and Globals           *
- *                                  *
- ************************************************************************/
-
-typedef struct _xsltExtDef xsltExtDef;
-typedef xsltExtDef *xsltExtDefPtr;
-struct _xsltExtDef {
-    struct _xsltExtDef *next;
-    xmlChar *prefix;
-    xmlChar *URI;
-    void *data;
-};
-
-typedef struct _xsltExtModule xsltExtModule;
-typedef xsltExtModule *xsltExtModulePtr;
-struct _xsltExtModule {
-    xsltExtInitFunction initFunc;
-    xsltExtShutdownFunction shutdownFunc;
-    xsltStyleExtInitFunction styleInitFunc;
-    xsltStyleExtShutdownFunction styleShutdownFunc;
-};
-
-typedef struct _xsltExtData xsltExtData;
-typedef xsltExtData *xsltExtDataPtr;
-struct _xsltExtData {
-    xsltExtModulePtr extModule;
-    void *extData;
-};
-
-typedef struct _xsltExtElement xsltExtElement;
-typedef xsltExtElement *xsltExtElementPtr;
-struct _xsltExtElement {
-    xsltPreComputeFunction precomp;
-    xsltTransformFunction transform;
-};
-
-static xmlHashTablePtr xsltExtensionsHash = NULL;
-static xmlHashTablePtr xsltFunctionsHash = NULL;
-static xmlHashTablePtr xsltElementsHash = NULL;
-static xmlHashTablePtr xsltTopLevelsHash = NULL;
-static xmlHashTablePtr xsltModuleHash = NULL;
-static xmlMutexPtr xsltExtMutex = NULL;
-
-/************************************************************************
- *                                  *
- *          Type functions                  *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltNewExtDef:
- * @prefix:  the extension prefix
- * @URI:  the namespace URI
- *
- * Create a new XSLT ExtDef
- *
- * Returns the newly allocated xsltExtDefPtr or NULL in case of error
- */
-static xsltExtDefPtr
-xsltNewExtDef(const xmlChar * prefix, const xmlChar * URI)
-{
-    xsltExtDefPtr cur;
-
-    cur = (xsltExtDefPtr) xmlMalloc(sizeof(xsltExtDef));
-    if (cur == NULL) {
-        xsltTransformError(NULL, NULL, NULL,
-                           "xsltNewExtDef : malloc failed\n");
-        return (NULL);
-    }
-    memset(cur, 0, sizeof(xsltExtDef));
-    if (prefix != NULL)
-        cur->prefix = xmlStrdup(prefix);
-    if (URI != NULL)
-        cur->URI = xmlStrdup(URI);
-    return (cur);
-}
-
-/**
- * xsltFreeExtDef:
- * @extensiond:  an XSLT extension definition
- *
- * Free up the memory allocated by @extensiond
- */
-static void
-xsltFreeExtDef(xsltExtDefPtr extensiond)
-{
-    if (extensiond == NULL)
-        return;
-    if (extensiond->prefix != NULL)
-        xmlFree(extensiond->prefix);
-    if (extensiond->URI != NULL)
-        xmlFree(extensiond->URI);
-    xmlFree(extensiond);
-}
-
-/**
- * xsltFreeExtDefList:
- * @extensiond:  an XSLT extension definition list
- *
- * Free up the memory allocated by all the elements of @extensiond
- */
-static void
-xsltFreeExtDefList(xsltExtDefPtr extensiond)
-{
-    xsltExtDefPtr cur;
-
-    while (extensiond != NULL) {
-        cur = extensiond;
-        extensiond = extensiond->next;
-        xsltFreeExtDef(cur);
-    }
-}
-
-/**
- * xsltNewExtModule:
- * @initFunc:  the module initialization function
- * @shutdownFunc:  the module shutdown function
- * @styleInitFunc:  the stylesheet module data allocator function
- * @styleShutdownFunc:  the stylesheet module data free function
- *
- * Create a new XSLT extension module
- *
- * Returns the newly allocated xsltExtModulePtr or NULL in case of error
- */
-static xsltExtModulePtr
-xsltNewExtModule(xsltExtInitFunction initFunc,
-                 xsltExtShutdownFunction shutdownFunc,
-                 xsltStyleExtInitFunction styleInitFunc,
-                 xsltStyleExtShutdownFunction styleShutdownFunc)
-{
-    xsltExtModulePtr cur;
-
-    cur = (xsltExtModulePtr) xmlMalloc(sizeof(xsltExtModule));
-    if (cur == NULL) {
-        xsltTransformError(NULL, NULL, NULL,
-                           "xsltNewExtModule : malloc failed\n");
-        return (NULL);
-    }
-    cur->initFunc = initFunc;
-    cur->shutdownFunc = shutdownFunc;
-    cur->styleInitFunc = styleInitFunc;
-    cur->styleShutdownFunc = styleShutdownFunc;
-    return (cur);
-}
-
-/**
- * xsltFreeExtModule:
- * @ext:  an XSLT extension module
- *
- * Free up the memory allocated by @ext
- */
-static void
-xsltFreeExtModule(xsltExtModulePtr ext)
-{
-    if (ext == NULL)
-        return;
-    xmlFree(ext);
-}
-
-/**
- * xsltNewExtData:
- * @extModule:  the module
- * @extData:  the associated data
- *
- * Create a new XSLT extension module data wrapper
- *
- * Returns the newly allocated xsltExtDataPtr or NULL in case of error
- */
-static xsltExtDataPtr
-xsltNewExtData(xsltExtModulePtr extModule, void *extData)
-{
-    xsltExtDataPtr cur;
-
-    if (extModule == NULL)
-        return (NULL);
-    cur = (xsltExtDataPtr) xmlMalloc(sizeof(xsltExtData));
-    if (cur == NULL) {
-        xsltTransformError(NULL, NULL, NULL,
-                           "xsltNewExtData : malloc failed\n");
-        return (NULL);
-    }
-    cur->extModule = extModule;
-    cur->extData = extData;
-    return (cur);
-}
-
-/**
- * xsltFreeExtData:
- * @ext:  an XSLT extension module data wrapper
- *
- * Free up the memory allocated by @ext
- */
-static void
-xsltFreeExtData(xsltExtDataPtr ext)
-{
-    if (ext == NULL)
-        return;
-    xmlFree(ext);
-}
-
-/**
- * xsltNewExtElement:
- * @precomp:  the pre-computation function
- * @transform:  the transformation function
- *
- * Create a new XSLT extension element
- *
- * Returns the newly allocated xsltExtElementPtr or NULL in case of
- * error
- */
-static xsltExtElementPtr
-xsltNewExtElement(xsltPreComputeFunction precomp,
-                  xsltTransformFunction transform)
-{
-    xsltExtElementPtr cur;
-
-    if (transform == NULL)
-        return (NULL);
-
-    cur = (xsltExtElementPtr) xmlMalloc(sizeof(xsltExtElement));
-    if (cur == NULL) {
-        xsltTransformError(NULL, NULL, NULL,
-                           "xsltNewExtElement : malloc failed\n");
-        return (NULL);
-    }
-    cur->precomp = precomp;
-    cur->transform = transform;
-    return (cur);
-}
-
-/**
- * xsltFreeExtElement:
- * @ext: an XSLT extension element
- *
- * Frees up the memory allocated by @ext
- */
-static void
-xsltFreeExtElement(xsltExtElementPtr ext)
-{
-    if (ext == NULL)
-        return;
-    xmlFree(ext);
-}
-
-
-#ifdef WITH_MODULES
-typedef void (*exsltRegisterFunction) (void);
-
-#ifndef PATH_MAX
-#define PATH_MAX 4096
-#endif
-
-/**
- * xsltExtModuleRegisterDynamic:
- * @URI:  the function or element namespace URI
- *
- * Dynamically loads an extension plugin when available.
- *
- * The plugin name is derived from the URI by removing the
- * initial protocol designation, e.g. "http://", then converting
- * the characters ".", "-", "/", and "\" into "_", the removing
- * any trailing "/", then concatenating LIBXML_MODULE_EXTENSION.
- *
- * Plugins are loaded from the directory specified by the
- * environment variable LIBXSLT_PLUGINS_PATH, or if NULL,
- * by LIBXSLT_DEFAULT_PLUGINS_PATH() which is determined at
- * compile time.
- *
- * Returns 0 if successful, -1 in case of error.
- */
-
-static int
-xsltExtModuleRegisterDynamic(const xmlChar * URI)
-{
-
-    xmlModulePtr m;
-    exsltRegisterFunction regfunc;
-    xmlChar *ext_name;
-    char module_filename[PATH_MAX];
-    const xmlChar *ext_directory = NULL;
-    const xmlChar *protocol = NULL;
-    xmlChar *i, *regfunc_name;
-    void *vregfunc;
-    int rc;
-
-    /* check for bad inputs */
-    if (URI == NULL)
-        return (-1);
-
-    if (NULL == xsltModuleHash) {
-        xsltModuleHash = xmlHashCreate(5);
-        if (xsltModuleHash == NULL)
-            return (-1);
-    }
-
-    xmlMutexLock(xsltExtMutex);
-
-    /* have we attempted to register this module already? */
-    if (xmlHashLookup(xsltModuleHash, URI) != NULL) {
-        xmlMutexUnlock(xsltExtMutex);
-        return (-1);
-    }
-    xmlMutexUnlock(xsltExtMutex);
-
-    /* transform extension namespace into a module name */
-    protocol = xmlStrstr(URI, BAD_CAST "://");
-    if (protocol == NULL) {
-        ext_name = xmlStrdup(URI);
-    } else {
-        ext_name = xmlStrdup(protocol + 3);
-    }
-    if (ext_name == NULL) {
-        return (-1);
-    }
-
-    i = ext_name;
-    while ('\0' != *i) {
-        if (('/' == *i) || ('\\' == *i) || ('.' == *i) || ('-' == *i))
-            *i = '_';
-        i++;
-    }
-
-    if (*(i - 1) == '_')
-        *i = '\0';
-
-    /* determine module directory */
-    ext_directory = (xmlChar *) getenv("LIBXSLT_PLUGINS_PATH");
-
-    if (NULL == ext_directory) {
-        ext_directory = BAD_CAST LIBXSLT_DEFAULT_PLUGINS_PATH();
-    if (NULL == ext_directory)
-      return (-1);
-    }
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-    else
-      xsltGenericDebug(xsltGenericDebugContext,
-               "LIBXSLT_PLUGINS_PATH is %s\n", ext_directory);
-#endif
-
-    /* build the module filename, and confirm the module exists */
-    xmlStrPrintf((xmlChar *) module_filename, sizeof(module_filename),
-                 BAD_CAST "%s/%s%s",
-                 ext_directory, ext_name, LIBXML_MODULE_EXTENSION);
-
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "Attempting to load plugin: %s for URI: %s\n",
-                     module_filename, URI);
-#endif
-
-    if (1 != xmlCheckFilename(module_filename)) {
-
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "xmlCheckFilename failed for plugin: %s\n", module_filename);
-#endif
-
-        xmlFree(ext_name);
-        return (-1);
-    }
-
-    /* attempt to open the module */
-    m = xmlModuleOpen(module_filename, 0);
-    if (NULL == m) {
-
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "xmlModuleOpen failed for plugin: %s\n", module_filename);
-#endif
-
-        xmlFree(ext_name);
-        return (-1);
-    }
-
-    /* construct initialization func name */
-    regfunc_name = xmlStrdup(ext_name);
-    regfunc_name = xmlStrcat(regfunc_name, BAD_CAST "_init");
-
-    vregfunc = NULL;
-    rc = xmlModuleSymbol(m, (const char *) regfunc_name, &vregfunc);
-    regfunc = vregfunc;
-    if (0 == rc) {
-        /*
-     * Call the module's init function.  Note that this function
-     * calls xsltRegisterExtModuleFull which will add the module
-     * to xsltExtensionsHash (together with it's entry points).
-     */
-        (*regfunc) ();
-
-        /* register this module in our hash */
-        xmlMutexLock(xsltExtMutex);
-        xmlHashAddEntry(xsltModuleHash, URI, (void *) m);
-        xmlMutexUnlock(xsltExtMutex);
-    } else {
-
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "xmlModuleSymbol failed for plugin: %s, regfunc: %s\n",
-                     module_filename, regfunc_name);
-#endif
-
-        /* if regfunc not found unload the module immediately */
-        xmlModuleClose(m);
-    }
-
-    xmlFree(ext_name);
-    xmlFree(regfunc_name);
-    return (NULL == regfunc) ? -1 : 0;
-}
-#else
-static int
-xsltExtModuleRegisterDynamic(const xmlChar * URI ATTRIBUTE_UNUSED)
-{
-  return -1;
-}
-#endif
-
-/************************************************************************
- *                                  *
- *      The stylesheet extension prefixes handling      *
- *                                  *
- ************************************************************************/
-
-
-/**
- * xsltFreeExts:
- * @style: an XSLT stylesheet
- *
- * Free up the memory used by XSLT extensions in a stylesheet
- */
-void
-xsltFreeExts(xsltStylesheetPtr style)
-{
-    if (style->nsDefs != NULL)
-        xsltFreeExtDefList((xsltExtDefPtr) style->nsDefs);
-}
-
-/**
- * xsltRegisterExtPrefix:
- * @style: an XSLT stylesheet
- * @prefix: the prefix used (optional)
- * @URI: the URI associated to the extension
- *
- * Registers an extension namespace
- * This is called from xslt.c during compile-time.
- * The given prefix is not needed.
- * Called by:
- *   xsltParseExtElemPrefixes() (new function)
- *   xsltRegisterExtPrefix() (old function)
- *
- * Returns 0 in case of success, 1 if the @URI was already
- *         registered as an extension namespace and
- *         -1 in case of failure
- */
-int
-xsltRegisterExtPrefix(xsltStylesheetPtr style,
-                      const xmlChar * prefix, const xmlChar * URI)
-{
-    xsltExtDefPtr def, ret;
-
-    if ((style == NULL) || (URI == NULL))
-        return (-1);
-
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-    xsltGenericDebug(xsltGenericDebugContext,
-    "Registering extension namespace '%s'.\n", URI);
-#endif
-    def = (xsltExtDefPtr) style->nsDefs;
-#ifdef XSLT_REFACTORED
-    /*
-    * The extension is associated with a namespace name.
-    */
-    while (def != NULL) {
-        if (xmlStrEqual(URI, def->URI))
-            return (1);
-        def = def->next;
-    }
-#else
-    while (def != NULL) {
-        if (xmlStrEqual(prefix, def->prefix))
-            return (-1);
-        def = def->next;
-    }
-#endif
-    ret = xsltNewExtDef(prefix, URI);
-    if (ret == NULL)
-        return (-1);
-    ret->next = (xsltExtDefPtr) style->nsDefs;
-    style->nsDefs = ret;
-
-    /*
-     * check whether there is an extension module with a stylesheet
-     * initialization function.
-     */
-#ifdef XSLT_REFACTORED
-    /*
-    * Don't initialize modules based on specified namespaces via
-    * the attribute "[xsl:]extension-element-prefixes".
-    */
-#else
-    if (xsltExtensionsHash != NULL) {
-        xsltExtModulePtr module;
-
-        xmlMutexLock(xsltExtMutex);
-        module = xmlHashLookup(xsltExtensionsHash, URI);
-        xmlMutexUnlock(xsltExtMutex);
-        if (NULL == module) {
-            if (!xsltExtModuleRegisterDynamic(URI)) {
-                xmlMutexLock(xsltExtMutex);
-                module = xmlHashLookup(xsltExtensionsHash, URI);
-                xmlMutexUnlock(xsltExtMutex);
-            }
-        }
-        if (module != NULL) {
-            xsltStyleGetExtData(style, URI);
-        }
-    }
-#endif
-    return (0);
-}
-
-/************************************************************************
- *                                  *
- *      The extensions modules interfaces           *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltRegisterExtFunction:
- * @ctxt: an XSLT transformation context
- * @name: the name of the element
- * @URI: the URI associated to the element
- * @function: the actual implementation which should be called
- *
- * Registers an extension function
- *
- * Returns 0 in case of success, -1 in case of failure
- */
-int
-xsltRegisterExtFunction(xsltTransformContextPtr ctxt, const xmlChar * name,
-                        const xmlChar * URI, xmlXPathFunction function)
-{
-    int ret;
-
-    if ((ctxt == NULL) || (name == NULL) ||
-        (URI == NULL) || (function == NULL))
-        return (-1);
-    if (ctxt->xpathCtxt != NULL) {
-        xmlXPathRegisterFuncNS(ctxt->xpathCtxt, name, URI, function);
-    }
-    if (ctxt->extFunctions == NULL)
-        ctxt->extFunctions = xmlHashCreate(10);
-    if (ctxt->extFunctions == NULL)
-        return (-1);
-
-    ret = xmlHashAddEntry2(ctxt->extFunctions, name, URI,
-                           XML_CAST_FPTR(function));
-
-    return(ret);
-}
-
-/**
- * xsltRegisterExtElement:
- * @ctxt: an XSLT transformation context
- * @name: the name of the element
- * @URI: the URI associated to the element
- * @function: the actual implementation which should be called
- *
- * Registers an extension element
- *
- * Returns 0 in case of success, -1 in case of failure
- */
-int
-xsltRegisterExtElement(xsltTransformContextPtr ctxt, const xmlChar * name,
-                       const xmlChar * URI, xsltTransformFunction function)
-{
-    if ((ctxt == NULL) || (name == NULL) ||
-        (URI == NULL) || (function == NULL))
-        return (-1);
-    if (ctxt->extElements == NULL)
-        ctxt->extElements = xmlHashCreate(10);
-    if (ctxt->extElements == NULL)
-        return (-1);
-    return (xmlHashAddEntry2
-            (ctxt->extElements, name, URI, XML_CAST_FPTR(function)));
-}
-
-/**
- * xsltFreeCtxtExts:
- * @ctxt: an XSLT transformation context
- *
- * Free the XSLT extension data
- */
-void
-xsltFreeCtxtExts(xsltTransformContextPtr ctxt)
-{
-    if (ctxt->extElements != NULL)
-        xmlHashFree(ctxt->extElements, NULL);
-    if (ctxt->extFunctions != NULL)
-        xmlHashFree(ctxt->extFunctions, NULL);
-}
-
-/**
- * xsltStyleGetStylesheetExtData:
- * @style: an XSLT stylesheet
- * @URI:  the URI associated to the exension module
- *
- * Fires the compile-time initialization callback
- * of an extension module and returns a container
- * holding the user-data (retrieved via the callback).
- *
- * Returns the create module-data container
- *         or NULL if such a module was not registered.
- */
-static xsltExtDataPtr
-xsltStyleInitializeStylesheetModule(xsltStylesheetPtr style,
-                     const xmlChar * URI)
-{
-    xsltExtDataPtr dataContainer;
-    void *userData = NULL;
-    xsltExtModulePtr module;
-
-    if ((style == NULL) || (URI == NULL))
-    return(NULL);
-
-    if (xsltExtensionsHash == NULL) {
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-    xsltGenericDebug(xsltGenericDebugContext,
-        "Not registered extension module: %s\n", URI);
-#endif
-    return(NULL);
-    }
-
-    xmlMutexLock(xsltExtMutex);
-
-    module = xmlHashLookup(xsltExtensionsHash, URI);
-
-    xmlMutexUnlock(xsltExtMutex);
-
-    if (module == NULL) {
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-    xsltGenericDebug(xsltGenericDebugContext,
-        "Not registered extension module: %s\n", URI);
-#endif
-    return (NULL);
-    }
-    /*
-    * The specified module was registered so initialize it.
-    */
-    if (style->extInfos == NULL) {
-    style->extInfos = xmlHashCreate(10);
-    if (style->extInfos == NULL)
-        return (NULL);
-    }
-    /*
-    * Fire the initialization callback if available.
-    */
-    if (module->styleInitFunc == NULL) {
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-    xsltGenericDebug(xsltGenericDebugContext,
-        "Initializing module with *no* callback: %s\n", URI);
-#endif
-    } else {
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-    xsltGenericDebug(xsltGenericDebugContext,
-        "Initializing module with callback: %s\n", URI);
-#endif
-    /*
-    * Fire the initialization callback.
-    */
-    userData = module->styleInitFunc(style, URI);
-    }
-    /*
-    * Store the user-data in the context of the given stylesheet.
-    */
-    dataContainer = xsltNewExtData(module, userData);
-    if (dataContainer == NULL)
-    return (NULL);
-
-    if (xmlHashAddEntry(style->extInfos, URI,
-    (void *) dataContainer) < 0)
-    {
-    xsltTransformError(NULL, style, NULL,
-        "Failed to register module '%s'.\n", URI);
-    style->errors++;
-    if (module->styleShutdownFunc)
-        module->styleShutdownFunc(style, URI, userData);
-    xsltFreeExtData(dataContainer);
-    return (NULL);
-    }
-
-    return(dataContainer);
-}
-
-/**
- * xsltStyleGetExtData:
- * @style: an XSLT stylesheet
- * @URI:  the URI associated to the exension module
- *
- * Retrieve the data associated to the extension module
- * in this given stylesheet.
- * Called by:
- *   xsltRegisterExtPrefix(),
- *   ( xsltExtElementPreCompTest(), xsltExtInitTest )
- *
- * Returns the pointer or NULL if not present
- */
-void *
-xsltStyleGetExtData(xsltStylesheetPtr style, const xmlChar * URI)
-{
-    xsltExtDataPtr dataContainer = NULL;
-    xsltStylesheetPtr tmpStyle;
-
-    if ((style == NULL) || (URI == NULL) ||
-    (xsltExtensionsHash == NULL))
-    return (NULL);
-
-
-#ifdef XSLT_REFACTORED
-    /*
-    * This is intended for global storage, so only the main
-    * stylesheet will hold the data.
-    */
-    tmpStyle = style;
-    while (tmpStyle->parent != NULL)
-    tmpStyle = tmpStyle->parent;
-    if (tmpStyle->extInfos != NULL) {
-    dataContainer =
-        (xsltExtDataPtr) xmlHashLookup(tmpStyle->extInfos, URI);
-    if (dataContainer != NULL) {
-        /*
-        * The module was already initialized in the context
-        * of this stylesheet; just return the user-data that
-        * comes with it.
-        */
-        return(dataContainer->extData);
-    }
-    }
-#else
-    /*
-    * Old behaviour.
-    */
-    tmpStyle = style;
-    while (tmpStyle != NULL) {
-    if (tmpStyle->extInfos != NULL) {
-        dataContainer =
-        (xsltExtDataPtr) xmlHashLookup(tmpStyle->extInfos, URI);
-        if (dataContainer != NULL) {
-        return(dataContainer->extData);
-        }
-    }
-    tmpStyle = xsltNextImport(tmpStyle);
-    }
-    tmpStyle = style;
-#endif
-
-    dataContainer =
-        xsltStyleInitializeStylesheetModule(tmpStyle, URI);
-    if (dataContainer != NULL)
-    return (dataContainer->extData);
-    return(NULL);
-}
-
-#ifdef XSLT_REFACTORED
-/**
- * xsltStyleStylesheetLevelGetExtData:
- * @style: an XSLT stylesheet
- * @URI:  the URI associated to the exension module
- *
- * Retrieve the data associated to the extension module in this given
- * stylesheet.
- *
- * Returns the pointer or NULL if not present
- */
-void *
-xsltStyleStylesheetLevelGetExtData(xsltStylesheetPtr style,
-                   const xmlChar * URI)
-{
-    xsltExtDataPtr dataContainer = NULL;
-
-    if ((style == NULL) || (URI == NULL) ||
-    (xsltExtensionsHash == NULL))
-    return (NULL);
-
-    if (style->extInfos != NULL) {
-    dataContainer = (xsltExtDataPtr) xmlHashLookup(style->extInfos, URI);
-    /*
-    * The module was already initialized in the context
-    * of this stylesheet; just return the user-data that
-    * comes with it.
-    */
-    if (dataContainer)
-        return(dataContainer->extData);
-    }
-
-    dataContainer =
-        xsltStyleInitializeStylesheetModule(style, URI);
-    if (dataContainer != NULL)
-    return (dataContainer->extData);
-    return(NULL);
-}
-#endif
-
-/**
- * xsltGetExtData:
- * @ctxt: an XSLT transformation context
- * @URI:  the URI associated to the exension module
- *
- * Retrieve the data associated to the extension module in this given
- * transformation.
- *
- * Returns the pointer or NULL if not present
- */
-void *
-xsltGetExtData(xsltTransformContextPtr ctxt, const xmlChar * URI)
-{
-    xsltExtDataPtr data;
-
-    if ((ctxt == NULL) || (URI == NULL))
-        return (NULL);
-    if (ctxt->extInfos == NULL) {
-        ctxt->extInfos = xmlHashCreate(10);
-        if (ctxt->extInfos == NULL)
-            return (NULL);
-        data = NULL;
-    } else {
-        data = (xsltExtDataPtr) xmlHashLookup(ctxt->extInfos, URI);
-    }
-    if (data == NULL) {
-        void *extData;
-        xsltExtModulePtr module;
-
-        xmlMutexLock(xsltExtMutex);
-
-        module = xmlHashLookup(xsltExtensionsHash, URI);
-
-        xmlMutexUnlock(xsltExtMutex);
-
-        if (module == NULL) {
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-            xsltGenericDebug(xsltGenericDebugContext,
-                             "Not registered extension module: %s\n", URI);
-#endif
-            return (NULL);
-        } else {
-            if (module->initFunc == NULL)
-                return (NULL);
-
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-            xsltGenericDebug(xsltGenericDebugContext,
-                             "Initializing module: %s\n", URI);
-#endif
-
-            extData = module->initFunc(ctxt, URI);
-            if (extData == NULL)
-                return (NULL);
-
-            data = xsltNewExtData(module, extData);
-            if (data == NULL)
-                return (NULL);
-            if (xmlHashAddEntry(ctxt->extInfos, URI, (void *) data) < 0) {
-                xsltTransformError(ctxt, NULL, NULL,
-                                   "Failed to register module data: %s\n",
-                                   URI);
-                if (module->shutdownFunc)
-                    module->shutdownFunc(ctxt, URI, extData);
-                xsltFreeExtData(data);
-                return (NULL);
-            }
-        }
-    }
-    return (data->extData);
-}
-
-typedef struct _xsltInitExtCtxt xsltInitExtCtxt;
-struct _xsltInitExtCtxt {
-    xsltTransformContextPtr ctxt;
-    int ret;
-};
-
-/**
- * xsltInitCtxtExt:
- * @styleData:  the registered stylesheet data for the module
- * @ctxt:  the XSLT transformation context + the return value
- * @URI:  the extension URI
- *
- * Initializes an extension module
- */
-static void
-xsltInitCtxtExt(xsltExtDataPtr styleData, xsltInitExtCtxt * ctxt,
-                const xmlChar * URI)
-{
-    xsltExtModulePtr module;
-    xsltExtDataPtr ctxtData;
-    void *extData;
-
-    if ((styleData == NULL) || (ctxt == NULL) || (URI == NULL) ||
-        (ctxt->ret == -1)) {
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-        xsltGenericDebug(xsltGenericDebugContext,
-                         "xsltInitCtxtExt: NULL param or error\n");
-#endif
-        return;
-    }
-    module = styleData->extModule;
-    if ((module == NULL) || (module->initFunc == NULL)) {
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-        xsltGenericDebug(xsltGenericDebugContext,
-                         "xsltInitCtxtExt: no module or no initFunc\n");
-#endif
-        return;
-    }
-
-    ctxtData = (xsltExtDataPtr) xmlHashLookup(ctxt->ctxt->extInfos, URI);
-    if (ctxtData != NULL) {
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-        xsltGenericDebug(xsltGenericDebugContext,
-                         "xsltInitCtxtExt: already initialized\n");
-#endif
-        return;
-    }
-
-    extData = module->initFunc(ctxt->ctxt, URI);
-    if (extData == NULL) {
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-        xsltGenericDebug(xsltGenericDebugContext,
-                         "xsltInitCtxtExt: no extData\n");
-#endif
-    }
-    ctxtData = xsltNewExtData(module, extData);
-    if (ctxtData == NULL) {
-        ctxt->ret = -1;
-        return;
-    }
-
-    if (ctxt->ctxt->extInfos == NULL)
-        ctxt->ctxt->extInfos = xmlHashCreate(10);
-    if (ctxt->ctxt->extInfos == NULL) {
-        ctxt->ret = -1;
-        return;
-    }
-
-    if (xmlHashAddEntry(ctxt->ctxt->extInfos, URI, ctxtData) < 0) {
-        xsltGenericError(xsltGenericErrorContext,
-                         "Failed to register module data: %s\n", URI);
-        if (module->shutdownFunc)
-            module->shutdownFunc(ctxt->ctxt, URI, extData);
-        xsltFreeExtData(ctxtData);
-        ctxt->ret = -1;
-        return;
-    }
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-    xsltGenericDebug(xsltGenericDebugContext, "Registered module %s\n",
-                     URI);
-#endif
-    ctxt->ret++;
-}
-
-/**
- * xsltInitCtxtExts:
- * @ctxt: an XSLT transformation context
- *
- * Initialize the set of modules with registered stylesheet data
- *
- * Returns the number of modules initialized or -1 in case of error
- */
-int
-xsltInitCtxtExts(xsltTransformContextPtr ctxt)
-{
-    xsltStylesheetPtr style;
-    xsltInitExtCtxt ctx;
-
-    if (ctxt == NULL)
-        return (-1);
-
-    style = ctxt->style;
-    if (style == NULL)
-        return (-1);
-
-    ctx.ctxt = ctxt;
-    ctx.ret = 0;
-
-    while (style != NULL) {
-        if (style->extInfos != NULL) {
-            xmlHashScan(style->extInfos,
-                        (xmlHashScanner) xsltInitCtxtExt, &ctx);
-            if (ctx.ret == -1)
-                return (-1);
-        }
-        style = xsltNextImport(style);
-    }
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-    xsltGenericDebug(xsltGenericDebugContext, "Registered %d modules\n",
-                     ctx.ret);
-#endif
-    return (ctx.ret);
-}
-
-/**
- * xsltShutdownCtxtExt:
- * @data:  the registered data for the module
- * @ctxt:  the XSLT transformation context
- * @URI:  the extension URI
- *
- * Shutdown an extension module loaded
- */
-static void
-xsltShutdownCtxtExt(xsltExtDataPtr data, xsltTransformContextPtr ctxt,
-                    const xmlChar * URI)
-{
-    xsltExtModulePtr module;
-
-    if ((data == NULL) || (ctxt == NULL) || (URI == NULL))
-        return;
-    module = data->extModule;
-    if ((module == NULL) || (module->shutdownFunc == NULL))
-        return;
-
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "Shutting down module : %s\n", URI);
-#endif
-    module->shutdownFunc(ctxt, URI, data->extData);
-}
-
-/**
- * xsltShutdownCtxtExts:
- * @ctxt: an XSLT transformation context
- *
- * Shutdown the set of modules loaded
- */
-void
-xsltShutdownCtxtExts(xsltTransformContextPtr ctxt)
-{
-    if (ctxt == NULL)
-        return;
-    if (ctxt->extInfos == NULL)
-        return;
-    xmlHashScan(ctxt->extInfos, (xmlHashScanner) xsltShutdownCtxtExt,
-                ctxt);
-    xmlHashFree(ctxt->extInfos, (xmlHashDeallocator) xsltFreeExtData);
-    ctxt->extInfos = NULL;
-}
-
-/**
- * xsltShutdownExt:
- * @data:  the registered data for the module
- * @ctxt:  the XSLT stylesheet
- * @URI:  the extension URI
- *
- * Shutdown an extension module loaded
- */
-static void
-xsltShutdownExt(xsltExtDataPtr data, xsltStylesheetPtr style,
-                const xmlChar * URI)
-{
-    xsltExtModulePtr module;
-
-    if ((data == NULL) || (style == NULL) || (URI == NULL))
-        return;
-    module = data->extModule;
-    if ((module == NULL) || (module->styleShutdownFunc == NULL))
-        return;
-
-#ifdef WITH_XSLT_DEBUG_EXTENSIONS
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "Shutting down module : %s\n", URI);
-#endif
-    module->styleShutdownFunc(style, URI, data->extData);
-    /*
-    * Don't remove the entry from the hash table here, since
-    * this will produce segfaults - this fixes bug #340624.
-    *
-    * xmlHashRemoveEntry(style->extInfos, URI,
-    *   (xmlHashDeallocator) xsltFreeExtData);
-    */
-}
-
-/**
- * xsltShutdownExts:
- * @style: an XSLT stylesheet
- *
- * Shutdown the set of modules loaded
- */
-void
-xsltShutdownExts(xsltStylesheetPtr style)
-{
-    if (style == NULL)
-        return;
-    if (style->extInfos == NULL)
-        return;
-    xmlHashScan(style->extInfos, (xmlHashScanner) xsltShutdownExt, style);
-    xmlHashFree(style->extInfos, (xmlHashDeallocator) xsltFreeExtData);
-    style->extInfos = NULL;
-}
-
-/**
- * xsltCheckExtPrefix:
- * @style: the stylesheet
- * @URI: the namespace prefix (possibly NULL)
- *
- * Check if the given prefix is one of the declared extensions.
- * This is intended to be called only at compile-time.
- * Called by:
- *  xsltGetInheritedNsList() (xslt.c)
- *  xsltParseTemplateContent (xslt.c)
- *
- * Returns 1 if this is an extension, 0 otherwise
- */
-int
-xsltCheckExtPrefix(xsltStylesheetPtr style, const xmlChar * URI)
-{
-#ifdef XSLT_REFACTORED
-    if ((style == NULL) || (style->compCtxt == NULL) ||
-    (XSLT_CCTXT(style)->inode == NULL) ||
-    (XSLT_CCTXT(style)->inode->extElemNs == NULL))
-        return (0);
-    /*
-    * Lookup the extension namespaces registered
-    * at the current node in the stylesheet's tree.
-    */
-    if (XSLT_CCTXT(style)->inode->extElemNs != NULL) {
-    int i;
-    xsltPointerListPtr list = XSLT_CCTXT(style)->inode->extElemNs;
-
-    for (i = 0; i < list->number; i++) {
-        if (xmlStrEqual((const xmlChar *) list->items[i],
-        URI))
-        {
-        return(1);
-        }
-    }
-    }
-#else
-    xsltExtDefPtr cur;
-
-    if ((style == NULL) || (style->nsDefs == NULL))
-        return (0);
-    if (URI == NULL)
-        URI = BAD_CAST "#default";
-    cur = (xsltExtDefPtr) style->nsDefs;
-    while (cur != NULL) {
-    /*
-    * NOTE: This was change to work on namespace names rather
-    * than namespace prefixes. This fixes bug #339583.
-    * TODO: Consider renaming the field "prefix" of xsltExtDef
-    *  to "href".
-    */
-        if (xmlStrEqual(URI, cur->prefix))
-            return (1);
-        cur = cur->next;
-    }
-#endif
-    return (0);
-}
-
-/**
- * xsltCheckExtURI:
- * @style: the stylesheet
- * @URI: the namespace URI (possibly NULL)
- *
- * Check if the given prefix is one of the declared extensions.
- * This is intended to be called only at compile-time.
- * Called by:
- *  xsltPrecomputeStylesheet() (xslt.c)
- *  xsltParseTemplateContent (xslt.c)
- *
- * Returns 1 if this is an extension, 0 otherwise
- */
-int
-xsltCheckExtURI(xsltStylesheetPtr style, const xmlChar * URI)
-{
-    xsltExtDefPtr cur;
-
-    if ((style == NULL) || (style->nsDefs == NULL))
-        return (0);
-    if (URI == NULL)
-        return (0);
-    cur = (xsltExtDefPtr) style->nsDefs;
-    while (cur != NULL) {
-        if (xmlStrEqual(URI, cur->URI))
-            return (1);
-        cur = cur->next;
-    }
-    return (0);
-}
-
-/**
- * xsltRegisterExtModuleFull:
- * @URI:  URI associated to this module
- * @initFunc:  the module initialization function
- * @shutdownFunc:  the module shutdown function
- * @styleInitFunc:  the module initialization function
- * @styleShutdownFunc:  the module shutdown function
- *
- * Register an XSLT extension module to the library.
- *
- * Returns 0 if sucessful, -1 in case of error
- */
-int
-xsltRegisterExtModuleFull(const xmlChar * URI,
-                          xsltExtInitFunction initFunc,
-                          xsltExtShutdownFunction shutdownFunc,
-                          xsltStyleExtInitFunction styleInitFunc,
-                          xsltStyleExtShutdownFunction styleShutdownFunc)
-{
-    int ret;
-    xsltExtModulePtr module;
-
-    if ((URI == NULL) || (initFunc == NULL))
-        return (-1);
-    if (xsltExtensionsHash == NULL)
-        xsltExtensionsHash = xmlHashCreate(10);
-
-    if (xsltExtensionsHash == NULL)
-        return (-1);
-
-    xmlMutexLock(xsltExtMutex);
-
-    module = xmlHashLookup(xsltExtensionsHash, URI);
-    if (module != NULL) {
-        if ((module->initFunc == initFunc) &&
-            (module->shutdownFunc == shutdownFunc))
-            ret = 0;
-        else
-            ret = -1;
-        goto done;
-    }
-    module = xsltNewExtModule(initFunc, shutdownFunc,
-                              styleInitFunc, styleShutdownFunc);
-    if (module == NULL) {
-        ret = -1;
-        goto done;
-    }
-    ret = xmlHashAddEntry(xsltExtensionsHash, URI, (void *) module);
-
-done:
-    xmlMutexUnlock(xsltExtMutex);
-    return (ret);
-}
-
-/**
- * xsltRegisterExtModule:
- * @URI:  URI associated to this module
- * @initFunc:  the module initialization function
- * @shutdownFunc:  the module shutdown function
- *
- * Register an XSLT extension module to the library.
- *
- * Returns 0 if sucessful, -1 in case of error
- */
-int
-xsltRegisterExtModule(const xmlChar * URI,
-                      xsltExtInitFunction initFunc,
-                      xsltExtShutdownFunction shutdownFunc)
-{
-    return xsltRegisterExtModuleFull(URI, initFunc, shutdownFunc,
-                                     NULL, NULL);
-}
-
-/**
- * xsltUnregisterExtModule:
- * @URI:  URI associated to this module
- *
- * Unregister an XSLT extension module from the library.
- *
- * Returns 0 if sucessful, -1 in case of error
- */
-int
-xsltUnregisterExtModule(const xmlChar * URI)
-{
-    int ret;
-
-    if (URI == NULL)
-        return (-1);
-    if (xsltExtensionsHash == NULL)
-        return (-1);
-
-    xmlMutexLock(xsltExtMutex);
-
-    ret = xmlHashRemoveEntry(xsltExtensionsHash, URI,
-                             (xmlHashDeallocator) xsltFreeExtModule);
-
-    xmlMutexUnlock(xsltExtMutex);
-
-    return (ret);
-}
-
-/**
- * xsltUnregisterAllExtModules:
- *
- * Unregister all the XSLT extension module from the library.
- */
-static void
-xsltUnregisterAllExtModules(void)
-{
-    if (xsltExtensionsHash == NULL)
-        return;
-
-    xmlMutexLock(xsltExtMutex);
-
-    xmlHashFree(xsltExtensionsHash,
-                (xmlHashDeallocator) xsltFreeExtModule);
-    xsltExtensionsHash = NULL;
-
-    xmlMutexUnlock(xsltExtMutex);
-}
-
-/**
- * xsltXPathGetTransformContext:
- * @ctxt:  an XPath transformation context
- *
- * Provides the XSLT transformation context from the XPath transformation
- * context. This is useful when an XPath function in the extension module
- * is called by the XPath interpreter and that the XSLT context is needed
- * for example to retrieve the associated data pertaining to this XSLT
- * transformation.
- *
- * Returns the XSLT transformation context or NULL in case of error.
- */
-xsltTransformContextPtr
-xsltXPathGetTransformContext(xmlXPathParserContextPtr ctxt)
-{
-    if ((ctxt == NULL) || (ctxt->context == NULL))
-        return (NULL);
-    return (ctxt->context->extra);
-}
-
-/**
- * xsltRegisterExtModuleFunction:
- * @name:  the function name
- * @URI:  the function namespace URI
- * @function:  the function callback
- *
- * Registers an extension module function.
- *
- * Returns 0 if successful, -1 in case of error.
- */
-int
-xsltRegisterExtModuleFunction(const xmlChar * name, const xmlChar * URI,
-                              xmlXPathFunction function)
-{
-    if ((name == NULL) || (URI == NULL) || (function == NULL))
-        return (-1);
-
-    if (xsltFunctionsHash == NULL)
-        xsltFunctionsHash = xmlHashCreate(10);
-    if (xsltFunctionsHash == NULL)
-        return (-1);
-
-    xmlMutexLock(xsltExtMutex);
-
-    xmlHashUpdateEntry2(xsltFunctionsHash, name, URI,
-                        XML_CAST_FPTR(function), NULL);
-
-    xmlMutexUnlock(xsltExtMutex);
-
-    return (0);
-}
-
-/**
- * xsltExtModuleFunctionLookup:
- * @name:  the function name
- * @URI:  the function namespace URI
- *
- * Looks up an extension module function
- *
- * Returns the function if found, NULL otherwise.
- */
-xmlXPathFunction
-xsltExtModuleFunctionLookup(const xmlChar * name, const xmlChar * URI)
-{
-    xmlXPathFunction ret;
-
-    if ((xsltFunctionsHash == NULL) || (name == NULL) || (URI == NULL))
-        return (NULL);
-
-    xmlMutexLock(xsltExtMutex);
-
-    XML_CAST_FPTR(ret) = xmlHashLookup2(xsltFunctionsHash, name, URI);
-
-    xmlMutexUnlock(xsltExtMutex);
-
-    /* if lookup fails, attempt a dynamic load on supported platforms */
-    if (NULL == ret) {
-        if (!xsltExtModuleRegisterDynamic(URI)) {
-            xmlMutexLock(xsltExtMutex);
-
-            XML_CAST_FPTR(ret) =
-                xmlHashLookup2(xsltFunctionsHash, name, URI);
-
-            xmlMutexUnlock(xsltExtMutex);
-        }
-    }
-
-    return ret;
-}
-
-/**
- * xsltUnregisterExtModuleFunction:
- * @name:  the function name
- * @URI:  the function namespace URI
- *
- * Unregisters an extension module function
- *
- * Returns 0 if successful, -1 in case of error.
- */
-int
-xsltUnregisterExtModuleFunction(const xmlChar * name, const xmlChar * URI)
-{
-    int ret;
-
-    if ((xsltFunctionsHash == NULL) || (name == NULL) || (URI == NULL))
-        return (-1);
-
-    xmlMutexLock(xsltExtMutex);
-
-    ret = xmlHashRemoveEntry2(xsltFunctionsHash, name, URI, NULL);
-
-    xmlMutexUnlock(xsltExtMutex);
-
-    return(ret);
-}
-
-/**
- * xsltUnregisterAllExtModuleFunction:
- *
- * Unregisters all extension module function
- */
-static void
-xsltUnregisterAllExtModuleFunction(void)
-{
-    xmlMutexLock(xsltExtMutex);
-
-    xmlHashFree(xsltFunctionsHash, NULL);
-    xsltFunctionsHash = NULL;
-
-    xmlMutexUnlock(xsltExtMutex);
-}
-
-
-/**
- * xsltNewElemPreComp:
- * @style:  the XSLT stylesheet
- * @inst:  the element node
- * @function: the transform function
- *
- * Creates and initializes an #xsltElemPreComp
- *
- * Returns the new and initialized #xsltElemPreComp
- */
-xsltElemPreCompPtr
-xsltNewElemPreComp(xsltStylesheetPtr style, xmlNodePtr inst,
-                   xsltTransformFunction function)
-{
-    xsltElemPreCompPtr cur;
-
-    cur = (xsltElemPreCompPtr) xmlMalloc(sizeof(xsltElemPreComp));
-    if (cur == NULL) {
-        xsltTransformError(NULL, style, NULL,
-                           "xsltNewExtElement : malloc failed\n");
-        return (NULL);
-    }
-    memset(cur, 0, sizeof(xsltElemPreComp));
-
-    xsltInitElemPreComp(cur, style, inst, function,
-                        (xsltElemPreCompDeallocator) xmlFree);
-
-    return (cur);
-}
-
-/**
- * xsltInitElemPreComp:
- * @comp:  an #xsltElemPreComp (or generally a derived structure)
- * @style:  the XSLT stylesheet
- * @inst:  the element node
- * @function:  the transform function
- * @freeFunc:  the @comp deallocator
- *
- * Initializes an existing #xsltElemPreComp structure. This is usefull
- * when extending an #xsltElemPreComp to store precomputed data.
- * This function MUST be called on any extension element precomputed
- * data struct.
- */
-void
-xsltInitElemPreComp(xsltElemPreCompPtr comp, xsltStylesheetPtr style,
-                    xmlNodePtr inst, xsltTransformFunction function,
-                    xsltElemPreCompDeallocator freeFunc)
-{
-    comp->type = XSLT_FUNC_EXTENSION;
-    comp->func = function;
-    comp->inst = inst;
-    comp->free = freeFunc;
-
-    comp->next = style->preComps;
-    style->preComps = comp;
-}
-
-/**
- * xsltPreComputeExtModuleElement:
- * @style:  the stylesheet
- * @inst:  the element node
- *
- * Precomputes an extension module element
- *
- * Returns the precomputed data
- */
-xsltElemPreCompPtr
-xsltPreComputeExtModuleElement(xsltStylesheetPtr style, xmlNodePtr inst)
-{
-    xsltExtElementPtr ext;
-    xsltElemPreCompPtr comp = NULL;
-
-    if ((style == NULL) || (inst == NULL) ||
-        (inst->type != XML_ELEMENT_NODE) || (inst->ns == NULL))
-        return (NULL);
-
-    xmlMutexLock(xsltExtMutex);
-
-    ext = (xsltExtElementPtr)
-        xmlHashLookup2(xsltElementsHash, inst->name, inst->ns->href);
-
-    xmlMutexUnlock(xsltExtMutex);
-
-    /*
-    * EXT TODO: Now what?
-    */
-    if (ext == NULL)
-        return (NULL);
-
-    if (ext->precomp != NULL) {
-    /*
-    * REVISIT TODO: Check if the text below is correct.
-    * This will return a xsltElemPreComp structure or NULL.
-    * 1) If the the author of the extension needs a
-    *  custom structure to hold the specific values of
-    *  this extension, he will derive a structure based on
-    *  xsltElemPreComp; thus we obviously *cannot* refactor
-    *  the xsltElemPreComp structure, since all already derived
-    *  user-defined strucures will break.
-    *  Example: For the extension xsl:document,
-    *   in xsltDocumentComp() (preproc.c), the structure
-    *   xsltStyleItemDocument is allocated, filled with
-    *   specific values and returned.
-    * 2) If the author needs no values to be stored in
-    *  this structure, then he'll return NULL;
-    */
-        comp = ext->precomp(style, inst, ext->transform);
-    }
-    if (comp == NULL) {
-    /*
-    * Default creation of a xsltElemPreComp structure, if
-    * the author of this extension did not create a custom
-    * structure.
-    */
-        comp = xsltNewElemPreComp(style, inst, ext->transform);
-    }
-
-    return (comp);
-}
-
-/**
- * xsltRegisterExtModuleElement:
- * @name:  the element name
- * @URI:  the element namespace URI
- * @precomp:  the pre-computation callback
- * @transform:  the transformation callback
- *
- * Registers an extension module element.
- *
- * Returns 0 if successful, -1 in case of error.
- */
-int
-xsltRegisterExtModuleElement(const xmlChar * name, const xmlChar * URI,
-                             xsltPreComputeFunction precomp,
-                             xsltTransformFunction transform)
-{
-    int ret;
-
-    xsltExtElementPtr ext;
-
-    if ((name == NULL) || (URI == NULL) || (transform == NULL))
-        return (-1);
-
-    if (xsltElementsHash == NULL)
-        xsltElementsHash = xmlHashCreate(10);
-    if (xsltElementsHash == NULL)
-        return (-1);
-
-    xmlMutexLock(xsltExtMutex);
-
-    ext = xsltNewExtElement(precomp, transform);
-    if (ext == NULL) {
-        ret = -1;
-        goto done;
-    }
-
-    xmlHashUpdateEntry2(xsltElementsHash, name, URI, (void *) ext,
-                        (xmlHashDeallocator) xsltFreeExtElement);
-
-done:
-    xmlMutexUnlock(xsltExtMutex);
-
-    return (0);
-}
-
-/**
- * xsltExtElementLookup:
- * @ctxt:  an XSLT process context
- * @name:  the element name
- * @URI:  the element namespace URI
- *
- * Looks up an extension element. @ctxt can be NULL to search only in
- * module elements.
- *
- * Returns the element callback or NULL if not found
- */
-xsltTransformFunction
-xsltExtElementLookup(xsltTransformContextPtr ctxt,
-                     const xmlChar * name, const xmlChar * URI)
-{
-    xsltTransformFunction ret;
-
-    if ((name == NULL) || (URI == NULL))
-        return (NULL);
-
-    if ((ctxt != NULL) && (ctxt->extElements != NULL)) {
-        XML_CAST_FPTR(ret) = xmlHashLookup2(ctxt->extElements, name, URI);
-        if (ret != NULL) {
-            return(ret);
-        }
-    }
-
-    ret = xsltExtModuleElementLookup(name, URI);
-
-    return (ret);
-}
-
-/**
- * xsltExtModuleElementLookup:
- * @name:  the element name
- * @URI:  the element namespace URI
- *
- * Looks up an extension module element
- *
- * Returns the callback function if found, NULL otherwise.
- */
-xsltTransformFunction
-xsltExtModuleElementLookup(const xmlChar * name, const xmlChar * URI)
-{
-    xsltExtElementPtr ext;
-
-    if ((xsltElementsHash == NULL) || (name == NULL) || (URI == NULL))
-        return (NULL);
-
-    xmlMutexLock(xsltExtMutex);
-
-    ext = (xsltExtElementPtr) xmlHashLookup2(xsltElementsHash, name, URI);
-
-    xmlMutexUnlock(xsltExtMutex);
-
-    /*
-     * if function lookup fails, attempt a dynamic load on
-     * supported platforms
-     */
-    if (NULL == ext) {
-        if (!xsltExtModuleRegisterDynamic(URI)) {
-            xmlMutexLock(xsltExtMutex);
-
-            ext = (xsltExtElementPtr)
-              xmlHashLookup2(xsltElementsHash, name, URI);
-
-            xmlMutexUnlock(xsltExtMutex);
-        }
-    }
-
-    if (ext == NULL)
-        return (NULL);
-    return (ext->transform);
-}
-
-/**
- * xsltExtModuleElementPreComputeLookup:
- * @name:  the element name
- * @URI:  the element namespace URI
- *
- * Looks up an extension module element pre-computation function
- *
- * Returns the callback function if found, NULL otherwise.
- */
-xsltPreComputeFunction
-xsltExtModuleElementPreComputeLookup(const xmlChar * name,
-                                     const xmlChar * URI)
-{
-    xsltExtElementPtr ext;
-
-    if ((xsltElementsHash == NULL) || (name == NULL) || (URI == NULL))
-        return (NULL);
-
-    xmlMutexLock(xsltExtMutex);
-
-    ext = (xsltExtElementPtr) xmlHashLookup2(xsltElementsHash, name, URI);
-
-    xmlMutexUnlock(xsltExtMutex);
-
-    if (ext == NULL) {
-        if (!xsltExtModuleRegisterDynamic(URI)) {
-            xmlMutexLock(xsltExtMutex);
-
-            ext = (xsltExtElementPtr)
-              xmlHashLookup2(xsltElementsHash, name, URI);
-
-            xmlMutexUnlock(xsltExtMutex);
-        }
-    }
-
-    if (ext == NULL)
-        return (NULL);
-    return (ext->precomp);
-}
-
-/**
- * xsltUnregisterExtModuleElement:
- * @name:  the element name
- * @URI:  the element namespace URI
- *
- * Unregisters an extension module element
- *
- * Returns 0 if successful, -1 in case of error.
- */
-int
-xsltUnregisterExtModuleElement(const xmlChar * name, const xmlChar * URI)
-{
-    int ret;
-
-    if ((xsltElementsHash == NULL) || (name == NULL) || (URI == NULL))
-        return (-1);
-
-    xmlMutexLock(xsltExtMutex);
-
-    ret = xmlHashRemoveEntry2(xsltElementsHash, name, URI,
-                              (xmlHashDeallocator) xsltFreeExtElement);
-
-    xmlMutexUnlock(xsltExtMutex);
-
-    return(ret);
-}
-
-/**
- * xsltUnregisterAllExtModuleElement:
- *
- * Unregisters all extension module element
- */
-static void
-xsltUnregisterAllExtModuleElement(void)
-{
-    xmlMutexLock(xsltExtMutex);
-
-    xmlHashFree(xsltElementsHash, (xmlHashDeallocator) xsltFreeExtElement);
-    xsltElementsHash = NULL;
-
-    xmlMutexUnlock(xsltExtMutex);
-}
-
-/**
- * xsltRegisterExtModuleTopLevel:
- * @name:  the top-level element name
- * @URI:  the top-level element namespace URI
- * @function:  the top-level element callback
- *
- * Registers an extension module top-level element.
- *
- * Returns 0 if successful, -1 in case of error.
- */
-int
-xsltRegisterExtModuleTopLevel(const xmlChar * name, const xmlChar * URI,
-                              xsltTopLevelFunction function)
-{
-    if ((name == NULL) || (URI == NULL) || (function == NULL))
-        return (-1);
-
-    if (xsltTopLevelsHash == NULL)
-        xsltTopLevelsHash = xmlHashCreate(10);
-    if (xsltTopLevelsHash == NULL)
-        return (-1);
-
-    xmlMutexLock(xsltExtMutex);
-
-    xmlHashUpdateEntry2(xsltTopLevelsHash, name, URI,
-                        XML_CAST_FPTR(function), NULL);
-
-    xmlMutexUnlock(xsltExtMutex);
-
-    return (0);
-}
-
-/**
- * xsltExtModuleTopLevelLookup:
- * @name:  the top-level element name
- * @URI:  the top-level element namespace URI
- *
- * Looks up an extension module top-level element
- *
- * Returns the callback function if found, NULL otherwise.
- */
-xsltTopLevelFunction
-xsltExtModuleTopLevelLookup(const xmlChar * name, const xmlChar * URI)
-{
-    xsltTopLevelFunction ret;
-
-    if ((xsltTopLevelsHash == NULL) || (name == NULL) || (URI == NULL))
-        return (NULL);
-
-    xmlMutexLock(xsltExtMutex);
-
-    XML_CAST_FPTR(ret) = xmlHashLookup2(xsltTopLevelsHash, name, URI);
-
-    xmlMutexUnlock(xsltExtMutex);
-
-    /* if lookup fails, attempt a dynamic load on supported platforms */
-    if (NULL == ret) {
-        if (!xsltExtModuleRegisterDynamic(URI)) {
-            xmlMutexLock(xsltExtMutex);
-
-            XML_CAST_FPTR(ret) = xmlHashLookup2(xsltTopLevelsHash, name, URI);
-
-            xmlMutexUnlock(xsltExtMutex);
-        }
-    }
-
-    return (ret);
-}
-
-/**
- * xsltUnregisterExtModuleTopLevel:
- * @name:  the top-level element name
- * @URI:  the top-level element namespace URI
- *
- * Unregisters an extension module top-level element
- *
- * Returns 0 if successful, -1 in case of error.
- */
-int
-xsltUnregisterExtModuleTopLevel(const xmlChar * name, const xmlChar * URI)
-{
-    int ret;
-
-    if ((xsltTopLevelsHash == NULL) || (name == NULL) || (URI == NULL))
-        return (-1);
-
-    xmlMutexLock(xsltExtMutex);
-
-    ret = xmlHashRemoveEntry2(xsltTopLevelsHash, name, URI, NULL);
-
-    xmlMutexUnlock(xsltExtMutex);
-
-    return(ret);
-}
-
-/**
- * xsltUnregisterAllExtModuleTopLevel:
- *
- * Unregisters all extension module function
- */
-static void
-xsltUnregisterAllExtModuleTopLevel(void)
-{
-    xmlMutexLock(xsltExtMutex);
-
-    xmlHashFree(xsltTopLevelsHash, NULL);
-    xsltTopLevelsHash = NULL;
-
-    xmlMutexUnlock(xsltExtMutex);
-}
-
-/**
- * xsltGetExtInfo:
- * @style:  pointer to a stylesheet
- * @URI:    the namespace URI desired
- *
- * looks up URI in extInfos of the stylesheet
- *
- * returns a pointer to the hash table if found, else NULL
- */
-xmlHashTablePtr
-xsltGetExtInfo(xsltStylesheetPtr style, const xmlChar * URI)
-{
-    xsltExtDataPtr data;
-
-    /*
-    * TODO: Why do we have a return type of xmlHashTablePtr?
-    *   Is the user-allocated data for extension modules expected
-    *   to be a xmlHashTablePtr only? Or is this intended for
-    *   the EXSLT module only?
-    */
-
-    if (style != NULL && style->extInfos != NULL) {
-        data = xmlHashLookup(style->extInfos, URI);
-        if (data != NULL && data->extData != NULL)
-            return data->extData;
-    }
-    return NULL;
-}
-
-/************************************************************************
- *                                  *
- *      Test module http://xmlsoft.org/XSLT/            *
- *                                  *
- ************************************************************************/
-
-/************************************************************************
- *                                  *
- *      Test of the extension module API            *
- *                                  *
- ************************************************************************/
-
-static xmlChar *testData = NULL;
-static xmlChar *testStyleData = NULL;
-
-/**
- * xsltExtFunctionTest:
- * @ctxt:  the XPath Parser context
- * @nargs:  the number of arguments
- *
- * function libxslt:test() for testing the extensions support.
- */
-static void
-xsltExtFunctionTest(xmlXPathParserContextPtr ctxt,
-                    int nargs ATTRIBUTE_UNUSED)
-{
-    xsltTransformContextPtr tctxt;
-    void *data = NULL;
-
-    tctxt = xsltXPathGetTransformContext(ctxt);
-
-    if (testData == NULL) {
-        xsltGenericDebug(xsltGenericDebugContext,
-                         "xsltExtFunctionTest: not initialized,"
-                         " calling xsltGetExtData\n");
-        data = xsltGetExtData(tctxt, (const xmlChar *) XSLT_DEFAULT_URL);
-        if (data == NULL) {
-            xsltTransformError(tctxt, NULL, NULL,
-                               "xsltExtElementTest: not initialized\n");
-            return;
-        }
-    }
-    if (tctxt == NULL) {
-        xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-                           "xsltExtFunctionTest: failed to get the transformation context\n");
-        return;
-    }
-    if (data == NULL)
-        data = xsltGetExtData(tctxt, (const xmlChar *) XSLT_DEFAULT_URL);
-    if (data == NULL) {
-        xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-                           "xsltExtFunctionTest: failed to get module data\n");
-        return;
-    }
-    if (data != testData) {
-        xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-                           "xsltExtFunctionTest: got wrong module data\n");
-        return;
-    }
-#ifdef WITH_XSLT_DEBUG_FUNCTION
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "libxslt:test() called with %d args\n", nargs);
-#endif
-}
-
-/**
- * xsltExtElementPreCompTest:
- * @style:  the stylesheet
- * @inst:  the instruction in the stylesheet
- *
- * Process a libxslt:test node
- */
-static xsltElemPreCompPtr
-xsltExtElementPreCompTest(xsltStylesheetPtr style, xmlNodePtr inst,
-                          xsltTransformFunction function)
-{
-    xsltElemPreCompPtr ret;
-
-    if (style == NULL) {
-        xsltTransformError(NULL, NULL, inst,
-                           "xsltExtElementTest: no transformation context\n");
-        return (NULL);
-    }
-    if (testStyleData == NULL) {
-        xsltGenericDebug(xsltGenericDebugContext,
-                         "xsltExtElementPreCompTest: not initialized,"
-                         " calling xsltStyleGetExtData\n");
-        xsltStyleGetExtData(style, (const xmlChar *) XSLT_DEFAULT_URL);
-        if (testStyleData == NULL) {
-            xsltTransformError(NULL, style, inst,
-                               "xsltExtElementPreCompTest: not initialized\n");
-            if (style != NULL)
-                style->errors++;
-            return (NULL);
-        }
-    }
-    if (inst == NULL) {
-        xsltTransformError(NULL, style, inst,
-                           "xsltExtElementPreCompTest: no instruction\n");
-        if (style != NULL)
-            style->errors++;
-        return (NULL);
-    }
-    ret = xsltNewElemPreComp(style, inst, function);
-    return (ret);
-}
-
-/**
- * xsltExtElementTest:
- * @ctxt:  an XSLT processing context
- * @node:  The current node
- * @inst:  the instruction in the stylesheet
- * @comp:  precomputed informations
- *
- * Process a libxslt:test node
- */
-static void
-xsltExtElementTest(xsltTransformContextPtr ctxt, xmlNodePtr node,
-                   xmlNodePtr inst,
-                   xsltElemPreCompPtr comp ATTRIBUTE_UNUSED)
-{
-    xmlNodePtr commentNode;
-
-    if (testData == NULL) {
-        xsltGenericDebug(xsltGenericDebugContext,
-                         "xsltExtElementTest: not initialized,"
-                         " calling xsltGetExtData\n");
-        xsltGetExtData(ctxt, (const xmlChar *) XSLT_DEFAULT_URL);
-        if (testData == NULL) {
-            xsltTransformError(ctxt, NULL, inst,
-                               "xsltExtElementTest: not initialized\n");
-            return;
-        }
-    }
-    if (ctxt == NULL) {
-        xsltTransformError(ctxt, NULL, inst,
-                           "xsltExtElementTest: no transformation context\n");
-        return;
-    }
-    if (node == NULL) {
-        xsltTransformError(ctxt, NULL, inst,
-                           "xsltExtElementTest: no current node\n");
-        return;
-    }
-    if (inst == NULL) {
-        xsltTransformError(ctxt, NULL, inst,
-                           "xsltExtElementTest: no instruction\n");
-        return;
-    }
-    if (ctxt->insert == NULL) {
-        xsltTransformError(ctxt, NULL, inst,
-                           "xsltExtElementTest: no insertion point\n");
-        return;
-    }
-    commentNode = xmlNewComment((const xmlChar *)
-                                "libxslt:test element test worked");
-    xmlAddChild(ctxt->insert, commentNode);
-}
-
-/**
- * xsltExtInitTest:
- * @ctxt:  an XSLT transformation context
- * @URI:  the namespace URI for the extension
- *
- * A function called at initialization time of an XSLT extension module
- *
- * Returns a pointer to the module specific data for this transformation
- */
-static void *
-xsltExtInitTest(xsltTransformContextPtr ctxt, const xmlChar * URI)
-{
-    if (testStyleData == NULL) {
-        xsltGenericDebug(xsltGenericErrorContext,
-                         "xsltExtInitTest: not initialized,"
-                         " calling xsltStyleGetExtData\n");
-        testStyleData = xsltStyleGetExtData(ctxt->style, URI);
-        if (testStyleData == NULL) {
-            xsltTransformError(ctxt, NULL, NULL,
-                               "xsltExtInitTest: not initialized\n");
-            return (NULL);
-        }
-    }
-    if (testData != NULL) {
-        xsltTransformError(ctxt, NULL, NULL,
-                           "xsltExtInitTest: already initialized\n");
-        return (NULL);
-    }
-    testData = (void *) "test data";
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "Registered test module : %s\n", URI);
-    return (testData);
-}
-
-
-/**
- * xsltExtShutdownTest:
- * @ctxt:  an XSLT transformation context
- * @URI:  the namespace URI for the extension
- * @data:  the data associated to this module
- *
- * A function called at shutdown time of an XSLT extension module
- */
-static void
-xsltExtShutdownTest(xsltTransformContextPtr ctxt,
-                    const xmlChar * URI, void *data)
-{
-    if (testData == NULL) {
-        xsltTransformError(ctxt, NULL, NULL,
-                           "xsltExtShutdownTest: not initialized\n");
-        return;
-    }
-    if (data != testData) {
-        xsltTransformError(ctxt, NULL, NULL,
-                           "xsltExtShutdownTest: wrong data\n");
-    }
-    testData = NULL;
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "Unregistered test module : %s\n", URI);
-}
-
-/**
- * xsltExtStyleInitTest:
- * @style:  an XSLT stylesheet
- * @URI:  the namespace URI for the extension
- *
- * A function called at initialization time of an XSLT extension module
- *
- * Returns a pointer to the module specific data for this transformation
- */
-static void *
-xsltExtStyleInitTest(xsltStylesheetPtr style ATTRIBUTE_UNUSED,
-                     const xmlChar * URI)
-{
-    if (testStyleData != NULL) {
-        xsltTransformError(NULL, NULL, NULL,
-                           "xsltExtInitTest: already initialized\n");
-        return (NULL);
-    }
-    testStyleData = (void *) "test data";
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "Registered test module : %s\n", URI);
-    return (testStyleData);
-}
-
-
-/**
- * xsltExtStyleShutdownTest:
- * @style:  an XSLT stylesheet
- * @URI:  the namespace URI for the extension
- * @data:  the data associated to this module
- *
- * A function called at shutdown time of an XSLT extension module
- */
-static void
-xsltExtStyleShutdownTest(xsltStylesheetPtr style ATTRIBUTE_UNUSED,
-                         const xmlChar * URI, void *data)
-{
-    if (testStyleData == NULL) {
-        xsltGenericError(xsltGenericErrorContext,
-                         "xsltExtShutdownTest: not initialized\n");
-        return;
-    }
-    if (data != testStyleData) {
-        xsltTransformError(NULL, NULL, NULL,
-                           "xsltExtShutdownTest: wrong data\n");
-    }
-    testStyleData = NULL;
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "Unregistered test module : %s\n", URI);
-}
-
-/**
- * xsltRegisterTestModule:
- *
- * Registers the test module
- */
-void
-xsltRegisterTestModule(void)
-{
-    xsltInitGlobals();
-    xsltRegisterExtModuleFull((const xmlChar *) XSLT_DEFAULT_URL,
-                              xsltExtInitTest, xsltExtShutdownTest,
-                              xsltExtStyleInitTest,
-                              xsltExtStyleShutdownTest);
-    xsltRegisterExtModuleFunction((const xmlChar *) "test",
-                                  (const xmlChar *) XSLT_DEFAULT_URL,
-                                  xsltExtFunctionTest);
-    xsltRegisterExtModuleElement((const xmlChar *) "test",
-                                 (const xmlChar *) XSLT_DEFAULT_URL,
-                                 xsltExtElementPreCompTest,
-                                 xsltExtElementTest);
-}
-
-static void
-xsltHashScannerModuleFree(void *payload ATTRIBUTE_UNUSED,
-                          void *data ATTRIBUTE_UNUSED,
-                          xmlChar * name ATTRIBUTE_UNUSED)
-{
-#ifdef WITH_MODULES
-    xmlModuleClose(payload);
-#endif
-}
-
-/**
- * xsltInitGlobals:
- *
- * Initialize the global variables for extensions
- */
-void
-xsltInitGlobals(void)
-{
-    if (xsltExtMutex == NULL) {
-        xsltExtMutex = xmlNewMutex();
-    }
-}
-
-/**
- * xsltCleanupGlobals:
- *
- * Unregister all global variables set up by the XSLT library
- */
-void
-xsltCleanupGlobals(void)
-{
-    xsltUnregisterAllExtModules();
-    xsltUnregisterAllExtModuleFunction();
-    xsltUnregisterAllExtModuleElement();
-    xsltUnregisterAllExtModuleTopLevel();
-
-    xmlMutexLock(xsltExtMutex);
-    /* cleanup dynamic module hash */
-    if (NULL != xsltModuleHash) {
-        xmlHashScan(xsltModuleHash, xsltHashScannerModuleFree, 0);
-        xmlHashFree(xsltModuleHash, NULL);
-        xsltModuleHash = NULL;
-    }
-    xmlMutexUnlock(xsltExtMutex);
-
-    xmlFreeMutex(xsltExtMutex);
-    xsltExtMutex = NULL;
-    xsltFreeLocales();
-    xsltUninit();
-}
-
-static void
-xsltDebugDumpExtensionsCallback(void *function ATTRIBUTE_UNUSED,
-                                FILE * output, const xmlChar * name,
-                                const xmlChar * URI,
-                                const xmlChar * not_used ATTRIBUTE_UNUSED)
-{
-    if (!name || !URI)
-        return;
-    fprintf(output, "{%s}%s\n", URI, name);
-}
-
-static void
-xsltDebugDumpExtModulesCallback(void *function ATTRIBUTE_UNUSED,
-                                FILE * output, const xmlChar * URI,
-                                const xmlChar * not_used ATTRIBUTE_UNUSED,
-                                const xmlChar * not_used2 ATTRIBUTE_UNUSED)
-{
-    if (!URI)
-        return;
-    fprintf(output, "%s\n", URI);
-}
-
-/**
- * xsltDebugDumpExtensions:
- * @output:  the FILE * for the output, if NULL stdout is used
- *
- * Dumps a list of the registered XSLT extension functions and elements
- */
-void
-xsltDebugDumpExtensions(FILE * output)
-{
-    if (output == NULL)
-        output = stdout;
-    fprintf(output,
-            "Registered XSLT Extensions\n--------------------------\n");
-    if (!xsltFunctionsHash)
-        fprintf(output, "No registered extension functions\n");
-    else {
-        fprintf(output, "Registered Extension Functions:\n");
-        xmlMutexLock(xsltExtMutex);
-        xmlHashScanFull(xsltFunctionsHash,
-                        (xmlHashScannerFull)
-                        xsltDebugDumpExtensionsCallback, output);
-        xmlMutexUnlock(xsltExtMutex);
-    }
-    if (!xsltElementsHash)
-        fprintf(output, "\nNo registered extension elements\n");
-    else {
-        fprintf(output, "\nRegistered Extension Elements:\n");
-        xmlMutexLock(xsltExtMutex);
-        xmlHashScanFull(xsltElementsHash,
-                        (xmlHashScannerFull)
-                        xsltDebugDumpExtensionsCallback, output);
-        xmlMutexUnlock(xsltExtMutex);
-    }
-    if (!xsltExtensionsHash)
-        fprintf(output, "\nNo registered extension modules\n");
-    else {
-        fprintf(output, "\nRegistered Extension Modules:\n");
-        xmlMutexLock(xsltExtMutex);
-        xmlHashScanFull(xsltExtensionsHash,
-                        (xmlHashScannerFull)
-                        xsltDebugDumpExtModulesCallback, output);
-        xmlMutexUnlock(xsltExtMutex);
-    }
-
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/extensions.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/extensions.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/extensions.h
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- * Summary: interface for the extension support
- * Description: This provide the API needed for simple and module
- *              extension support.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_EXTENSION_H__
-#define __XML_XSLT_EXTENSION_H__
-
-#include 
-#include "xsltexports.h"
-#include "xsltInternals.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Extension Modules API.
- */
-
-/**
- * xsltInitGlobals:
- *
- * Initialize the global variables for extensions
- *
- */
-
-XSLTPUBFUN void XSLTCALL
-        xsltInitGlobals                 (void);
-
-/**
- * xsltStyleExtInitFunction:
- * @ctxt:  an XSLT stylesheet
- * @URI:  the namespace URI for the extension
- *
- * A function called at initialization time of an XSLT extension module.
- *
- * Returns a pointer to the module specific data for this transformation.
- */
-typedef void * (*xsltStyleExtInitFunction)  (xsltStylesheetPtr style,
-                         const xmlChar *URI);
-
-/**
- * xsltStyleExtShutdownFunction:
- * @ctxt:  an XSLT stylesheet
- * @URI:  the namespace URI for the extension
- * @data:  the data associated to this module
- *
- * A function called at shutdown time of an XSLT extension module.
- */
-typedef void (*xsltStyleExtShutdownFunction)    (xsltStylesheetPtr style,
-                         const xmlChar *URI,
-                         void *data);
-
-/**
- * xsltExtInitFunction:
- * @ctxt:  an XSLT transformation context
- * @URI:  the namespace URI for the extension
- *
- * A function called at initialization time of an XSLT extension module.
- *
- * Returns a pointer to the module specific data for this transformation.
- */
-typedef void * (*xsltExtInitFunction)   (xsltTransformContextPtr ctxt,
-                     const xmlChar *URI);
-
-/**
- * xsltExtShutdownFunction:
- * @ctxt:  an XSLT transformation context
- * @URI:  the namespace URI for the extension
- * @data:  the data associated to this module
- *
- * A function called at shutdown time of an XSLT extension module.
- */
-typedef void (*xsltExtShutdownFunction) (xsltTransformContextPtr ctxt,
-                     const xmlChar *URI,
-                     void *data);
-
-XSLTPUBFUN int XSLTCALL
-        xsltRegisterExtModule   (const xmlChar *URI,
-                     xsltExtInitFunction initFunc,
-                     xsltExtShutdownFunction shutdownFunc);
-XSLTPUBFUN int XSLTCALL
-        xsltRegisterExtModuleFull
-                    (const xmlChar * URI,
-                     xsltExtInitFunction initFunc,
-                     xsltExtShutdownFunction shutdownFunc,
-                     xsltStyleExtInitFunction styleInitFunc,
-                     xsltStyleExtShutdownFunction styleShutdownFunc);
-
-XSLTPUBFUN int XSLTCALL
-        xsltUnregisterExtModule (const xmlChar * URI);
-
-XSLTPUBFUN void * XSLTCALL
-        xsltGetExtData      (xsltTransformContextPtr ctxt,
-                     const xmlChar *URI);
-
-XSLTPUBFUN void * XSLTCALL
-        xsltStyleGetExtData (xsltStylesheetPtr style,
-                     const xmlChar *URI);
-#ifdef XSLT_REFACTORED
-XSLTPUBFUN void * XSLTCALL
-        xsltStyleStylesheetLevelGetExtData(
-                     xsltStylesheetPtr style,
-                     const xmlChar * URI);
-#endif
-XSLTPUBFUN void XSLTCALL
-        xsltShutdownCtxtExts    (xsltTransformContextPtr ctxt);
-
-XSLTPUBFUN void XSLTCALL
-        xsltShutdownExts    (xsltStylesheetPtr style);
-
-XSLTPUBFUN xsltTransformContextPtr XSLTCALL
-        xsltXPathGetTransformContext
-                    (xmlXPathParserContextPtr ctxt);
-
-/*
- * extension functions
-*/
-XSLTPUBFUN int XSLTCALL
-        xsltRegisterExtModuleFunction
-                    (const xmlChar *name,
-                     const xmlChar *URI,
-                     xmlXPathFunction function);
-XSLTPUBFUN xmlXPathFunction XSLTCALL
-    xsltExtModuleFunctionLookup (const xmlChar *name,
-                     const xmlChar *URI);
-XSLTPUBFUN int XSLTCALL
-        xsltUnregisterExtModuleFunction
-                    (const xmlChar *name,
-                     const xmlChar *URI);
-
-/*
- * extension elements
- */
-typedef xsltElemPreCompPtr (*xsltPreComputeFunction)
-                    (xsltStylesheetPtr style,
-                     xmlNodePtr inst,
-                     xsltTransformFunction function);
-
-XSLTPUBFUN xsltElemPreCompPtr XSLTCALL
-        xsltNewElemPreComp  (xsltStylesheetPtr style,
-                     xmlNodePtr inst,
-                     xsltTransformFunction function);
-XSLTPUBFUN void XSLTCALL
-        xsltInitElemPreComp (xsltElemPreCompPtr comp,
-                     xsltStylesheetPtr style,
-                     xmlNodePtr inst,
-                     xsltTransformFunction function,
-                     xsltElemPreCompDeallocator freeFunc);
-
-XSLTPUBFUN int XSLTCALL
-        xsltRegisterExtModuleElement
-                    (const xmlChar *name,
-                     const xmlChar *URI,
-                     xsltPreComputeFunction precomp,
-                     xsltTransformFunction transform);
-XSLTPUBFUN xsltTransformFunction XSLTCALL
-        xsltExtElementLookup    (xsltTransformContextPtr ctxt,
-                     const xmlChar *name,
-                     const xmlChar *URI);
-XSLTPUBFUN xsltTransformFunction XSLTCALL
-        xsltExtModuleElementLookup
-                    (const xmlChar *name,
-                     const xmlChar *URI);
-XSLTPUBFUN xsltPreComputeFunction XSLTCALL
-        xsltExtModuleElementPreComputeLookup
-                    (const xmlChar *name,
-                     const xmlChar *URI);
-XSLTPUBFUN int XSLTCALL
-        xsltUnregisterExtModuleElement
-                    (const xmlChar *name,
-                     const xmlChar *URI);
-
-/*
- * top-level elements
- */
-typedef void (*xsltTopLevelFunction)    (xsltStylesheetPtr style,
-                     xmlNodePtr inst);
-
-XSLTPUBFUN int XSLTCALL
-        xsltRegisterExtModuleTopLevel
-                    (const xmlChar *name,
-                     const xmlChar *URI,
-                     xsltTopLevelFunction function);
-XSLTPUBFUN xsltTopLevelFunction XSLTCALL
-        xsltExtModuleTopLevelLookup
-                    (const xmlChar *name,
-                     const xmlChar *URI);
-XSLTPUBFUN int XSLTCALL
-        xsltUnregisterExtModuleTopLevel
-                    (const xmlChar *name,
-                     const xmlChar *URI);
-
-
-/* These 2 functions are deprecated for use within modules. */
-XSLTPUBFUN int XSLTCALL
-        xsltRegisterExtFunction (xsltTransformContextPtr ctxt,
-                     const xmlChar *name,
-                     const xmlChar *URI,
-                     xmlXPathFunction function);
-XSLTPUBFUN int XSLTCALL
-        xsltRegisterExtElement  (xsltTransformContextPtr ctxt,
-                     const xmlChar *name,
-                     const xmlChar *URI,
-                     xsltTransformFunction function);
-
-/*
- * Extension Prefix handling API.
- * Those are used by the XSLT (pre)processor.
- */
-
-XSLTPUBFUN int XSLTCALL
-        xsltRegisterExtPrefix   (xsltStylesheetPtr style,
-                     const xmlChar *prefix,
-                     const xmlChar *URI);
-XSLTPUBFUN int XSLTCALL
-        xsltCheckExtPrefix  (xsltStylesheetPtr style,
-                     const xmlChar *URI);
-XSLTPUBFUN int XSLTCALL
-        xsltCheckExtURI     (xsltStylesheetPtr style,
-                     const xmlChar *URI);
-XSLTPUBFUN int XSLTCALL
-        xsltInitCtxtExts    (xsltTransformContextPtr ctxt);
-XSLTPUBFUN void XSLTCALL
-        xsltFreeCtxtExts    (xsltTransformContextPtr ctxt);
-XSLTPUBFUN void XSLTCALL
-        xsltFreeExts        (xsltStylesheetPtr style);
-
-XSLTPUBFUN xsltElemPreCompPtr XSLTCALL
-        xsltPreComputeExtModuleElement
-                    (xsltStylesheetPtr style,
-                     xmlNodePtr inst);
-/*
- * Extension Infos access.
- * Used by exslt initialisation
- */
-
-XSLTPUBFUN xmlHashTablePtr XSLTCALL
-        xsltGetExtInfo      (xsltStylesheetPtr style,
-                     const xmlChar *URI);
-
-/**
- * Test module http://xmlsoft.org/XSLT/
- */
-XSLTPUBFUN void XSLTCALL
-        xsltRegisterTestModule  (void);
-XSLTPUBFUN void XSLTCALL
-        xsltDebugDumpExtensions (FILE * output);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_EXTENSION_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/extra.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/extra.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/extra.c
+++ /dev/null
@@ -1,332 +0,0 @@
-/*
- * extra.c: Implementation of non-standard features
- *
- * Reference:
- *   Michael Kay "XSLT Programmer's Reference" pp 637-643
- *   The node-set() extension function
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-#ifdef HAVE_TIME_H
-#include 
-#endif
-#ifdef HAVE_STDLIB_H
-#include 
-#endif
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltInternals.h"
-#include "xsltutils.h"
-#include "extensions.h"
-#include "variables.h"
-#include "transform.h"
-#include "extra.h"
-#include "preproc.h"
-
-#ifdef WITH_XSLT_DEBUG
-#define WITH_XSLT_DEBUG_EXTRA
-#endif
-
-/************************************************************************
- *                                  *
- *      Handling of XSLT debugging              *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltDebug:
- * @ctxt:  an XSLT processing context
- * @node:  The current node
- * @inst:  the instruction in the stylesheet
- * @comp:  precomputed informations
- *
- * Process an debug node
- */
-void
-xsltDebug(xsltTransformContextPtr ctxt, xmlNodePtr node ATTRIBUTE_UNUSED,
-          xmlNodePtr inst ATTRIBUTE_UNUSED,
-          xsltStylePreCompPtr comp ATTRIBUTE_UNUSED)
-{
-    int i, j;
-
-    xsltGenericError(xsltGenericErrorContext, "Templates:\n");
-    for (i = 0, j = ctxt->templNr - 1; ((i < 15) && (j >= 0)); i++, j--) {
-        xsltGenericError(xsltGenericErrorContext, "#%d ", i);
-        if (ctxt->templTab[j]->name != NULL)
-            xsltGenericError(xsltGenericErrorContext, "name %s ",
-                             ctxt->templTab[j]->name);
-        if (ctxt->templTab[j]->match != NULL)
-            xsltGenericError(xsltGenericErrorContext, "name %s ",
-                             ctxt->templTab[j]->match);
-        if (ctxt->templTab[j]->mode != NULL)
-            xsltGenericError(xsltGenericErrorContext, "name %s ",
-                             ctxt->templTab[j]->mode);
-        xsltGenericError(xsltGenericErrorContext, "\n");
-    }
-    xsltGenericError(xsltGenericErrorContext, "Variables:\n");
-    for (i = 0, j = ctxt->varsNr - 1; ((i < 15) && (j >= 0)); i++, j--) {
-        xsltStackElemPtr cur;
-
-        if (ctxt->varsTab[j] == NULL)
-            continue;
-        xsltGenericError(xsltGenericErrorContext, "#%d\n", i);
-        cur = ctxt->varsTab[j];
-        while (cur != NULL) {
-            if (cur->comp == NULL) {
-                xsltGenericError(xsltGenericErrorContext,
-                                 "corrupted !!!\n");
-            } else if (cur->comp->type == XSLT_FUNC_PARAM) {
-                xsltGenericError(xsltGenericErrorContext, "param ");
-            } else if (cur->comp->type == XSLT_FUNC_VARIABLE) {
-                xsltGenericError(xsltGenericErrorContext, "var ");
-            }
-            if (cur->name != NULL)
-                xsltGenericError(xsltGenericErrorContext, "%s ",
-                                 cur->name);
-            else
-                xsltGenericError(xsltGenericErrorContext, "noname !!!!");
-#ifdef LIBXML_DEBUG_ENABLED
-            if (cur->value != NULL) {
-                xmlXPathDebugDumpObject(stdout, cur->value, 1);
-            } else {
-                xsltGenericError(xsltGenericErrorContext, "NULL !!!!");
-            }
-#endif
-            xsltGenericError(xsltGenericErrorContext, "\n");
-            cur = cur->next;
-        }
-
-    }
-}
-
-/************************************************************************
- *                                  *
- *      Classic extensions as described by M. Kay       *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltFunctionNodeSet:
- * @ctxt:  the XPath Parser context
- * @nargs:  the number of arguments
- *
- * Implement the node-set() XSLT function
- *   node-set node-set(result-tree)
- *
- * This function is available in libxslt, saxon or xt namespace.
- */
-void
-xsltFunctionNodeSet(xmlXPathParserContextPtr ctxt, int nargs){
-    if (nargs != 1) {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "node-set() : expects one result-tree arg\n");
-    ctxt->error = XPATH_INVALID_ARITY;
-    return;
-    }
-    if ((ctxt->value == NULL) ||
-    ((ctxt->value->type != XPATH_XSLT_TREE) &&
-     (ctxt->value->type != XPATH_NODESET))) {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "node-set() invalid arg expecting a result tree\n");
-    ctxt->error = XPATH_INVALID_TYPE;
-    return;
-    }
-    if (ctxt->value->type == XPATH_XSLT_TREE) {
-    ctxt->value->type = XPATH_NODESET;
-    }
-}
-
-
-/*
- * Okay the following really seems unportable and since it's not
- * part of any standard I'm not too ashamed to do this
- */
-#if defined(linux) || defined(__sun)
-#if defined(HAVE_MKTIME) && defined(HAVE_LOCALTIME) && defined(HAVE_ASCTIME)
-#define WITH_LOCALTIME
-
-/**
- * xsltFunctionLocalTime:
- * @ctxt:  the XPath Parser context
- * @nargs:  the number of arguments
- *
- * Implement the localTime XSLT function used by NORM
- *   string localTime(???)
- *
- * This function is available in Norm's extension namespace
- * Code (and comments) contributed by Norm
- */
-static void
-xsltFunctionLocalTime(xmlXPathParserContextPtr ctxt, int nargs) {
-    xmlXPathObjectPtr obj;
-    char *str;
-    char digits[5];
-    char result[29];
-    long int field;
-    time_t gmt, lmt;
-    struct tm gmt_tm;
-    struct tm *local_tm;
-
-    if (nargs != 1) {
-       xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-                      "localTime() : invalid number of args %d\n", nargs);
-       ctxt->error = XPATH_INVALID_ARITY;
-       return;
-    }
-
-    obj = valuePop(ctxt);
-
-    if (obj->type != XPATH_STRING) {
-    obj = xmlXPathConvertString(obj);
-    }
-    if (obj == NULL) {
-    valuePush(ctxt, xmlXPathNewString((const xmlChar *)""));
-    return;
-    }
-
-    str = (char *) obj->stringval;
-
-    /* str = "$Date$" */
-    memset(digits, 0, sizeof(digits));
-    strncpy(digits, str+7, 4);
-    field = strtol(digits, NULL, 10);
-    gmt_tm.tm_year = field - 1900;
-
-    memset(digits, 0, sizeof(digits));
-    strncpy(digits, str+12, 2);
-    field = strtol(digits, NULL, 10);
-    gmt_tm.tm_mon = field - 1;
-
-    memset(digits, 0, sizeof(digits));
-    strncpy(digits, str+15, 2);
-    field = strtol(digits, NULL, 10);
-    gmt_tm.tm_mday = field;
-
-    memset(digits, 0, sizeof(digits));
-    strncpy(digits, str+18, 2);
-    field = strtol(digits, NULL, 10);
-    gmt_tm.tm_hour = field;
-
-    memset(digits, 0, sizeof(digits));
-    strncpy(digits, str+21, 2);
-    field = strtol(digits, NULL, 10);
-    gmt_tm.tm_min = field;
-
-    memset(digits, 0, sizeof(digits));
-    strncpy(digits, str+24, 2);
-    field = strtol(digits, NULL, 10);
-    gmt_tm.tm_sec = field;
-
-    /* Now turn gmt_tm into a time. */
-    gmt = mktime(&gmt_tm);
-
-
-    /*
-     * FIXME: it's been too long since I did manual memory management.
-     * (I swore never to do it again.) Does this introduce a memory leak?
-     */
-    local_tm = localtime(&gmt);
-
-    /*
-     * Calling localtime() has the side-effect of setting timezone.
-     * After we know the timezone, we can adjust for it
-     */
-#if !defined(__FreeBSD__)
-    lmt = gmt - timezone;
-#else   /* FreeBSD DOESN'T have such side-ffect */
-    lmt = gmt - local_tm->tm_gmtoff;
-#endif
-    /*
-     * FIXME: it's been too long since I did manual memory management.
-     * (I swore never to do it again.) Does this introduce a memory leak?
-     */
-    local_tm = localtime(&lmt);
-
-    /*
-     * Now convert local_tm back into a string. This doesn't introduce
-     * a memory leak, so says asctime(3).
-     */
-
-    str = asctime(local_tm);           /* "Tue Jun 26 05:02:16 2001" */
-                                       /*  0123456789 123456789 123 */
-
-    memset(result, 0, sizeof(result)); /* "Thu, 26 Jun 2001" */
-                                       /*  0123456789 12345 */
-
-    strncpy(result, str, 20);
-    strcpy(result+20, "???");          /* tzname doesn't work, fake it */
-    strncpy(result+23, str+19, 5);
-
-    /* Ok, now result contains the string I want to send back. */
-    valuePush(ctxt, xmlXPathNewString((xmlChar *)result));
-}
-#endif
-#endif /* linux or sun */
-
-
-/**
- * xsltRegisterExtras:
- * @ctxt:  a XSLT process context
- *
- * Registers the built-in extensions. This function is deprecated, use
- * xsltRegisterAllExtras instead.
- */
-void
-xsltRegisterExtras(xsltTransformContextPtr ctxt ATTRIBUTE_UNUSED) {
-    xsltRegisterAllExtras();
-}
-
-/**
- * xsltRegisterAllExtras:
- *
- * Registers the built-in extensions
- */
-void
-xsltRegisterAllExtras (void) {
-    xsltRegisterExtModuleFunction((const xmlChar *) "node-set",
-                  XSLT_LIBXSLT_NAMESPACE,
-                  xsltFunctionNodeSet);
-    xsltRegisterExtModuleFunction((const xmlChar *) "node-set",
-                  XSLT_SAXON_NAMESPACE,
-                  xsltFunctionNodeSet);
-    xsltRegisterExtModuleFunction((const xmlChar *) "node-set",
-                  XSLT_XT_NAMESPACE,
-                  xsltFunctionNodeSet);
-#ifdef WITH_LOCALTIME
-    xsltRegisterExtModuleFunction((const xmlChar *) "localTime",
-                  XSLT_NORM_SAXON_NAMESPACE,
-                  xsltFunctionLocalTime);
-#endif
-    xsltRegisterExtModuleElement((const xmlChar *) "debug",
-                 XSLT_LIBXSLT_NAMESPACE,
-                 NULL,
-                 (xsltTransformFunction) xsltDebug);
-    xsltRegisterExtModuleElement((const xmlChar *) "output",
-                 XSLT_SAXON_NAMESPACE,
-                 xsltDocumentComp,
-                 (xsltTransformFunction) xsltDocumentElem);
-    xsltRegisterExtModuleElement((const xmlChar *) "write",
-                 XSLT_XALAN_NAMESPACE,
-                 xsltDocumentComp,
-                 (xsltTransformFunction) xsltDocumentElem);
-    xsltRegisterExtModuleElement((const xmlChar *) "document",
-                 XSLT_XT_NAMESPACE,
-                 xsltDocumentComp,
-                 (xsltTransformFunction) xsltDocumentElem);
-    xsltRegisterExtModuleElement((const xmlChar *) "document",
-                 XSLT_NAMESPACE,
-                 xsltDocumentComp,
-                 (xsltTransformFunction) xsltDocumentElem);
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/extra.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/extra.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/extra.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Summary: interface for the non-standard features
- * Description: implement some extension outside the XSLT namespace
- *              but not EXSLT with is in a different library.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_EXTRA_H__
-#define __XML_XSLT_EXTRA_H__
-
-#include 
-#include "xsltexports.h"
-#include "xsltInternals.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * XSLT_LIBXSLT_NAMESPACE:
- *
- * This is the libxslt namespace for specific extensions.
- */
-#define XSLT_LIBXSLT_NAMESPACE ((xmlChar *) "http://xmlsoft.org/XSLT/namespace")
-
-/**
- * XSLT_SAXON_NAMESPACE:
- *
- * This is Michael Kay's Saxon processor namespace for extensions.
- */
-#define XSLT_SAXON_NAMESPACE ((xmlChar *) "http://icl.com/saxon")
-
-/**
- * XSLT_XT_NAMESPACE:
- *
- * This is James Clark's XT processor namespace for extensions.
- */
-#define XSLT_XT_NAMESPACE ((xmlChar *) "http://www.jclark.com/xt")
-
-/**
- * XSLT_XALAN_NAMESPACE:
- *
- * This is the Apache project XALAN processor namespace for extensions.
- */
-#define XSLT_XALAN_NAMESPACE ((xmlChar *)   \
-                            "org.apache.xalan.xslt.extensions.Redirect")
-
-/**
- * XSLT_NORM_SAXON_NAMESPACE:
- *
- * This is Norm's namespace for SAXON extensions.
- */
-#define XSLT_NORM_SAXON_NAMESPACE ((xmlChar *)  \
-    "http://nwalsh.com/xslt/ext/com.nwalsh.saxon.CVS")
-
-
-XSLTPUBFUN void XSLTCALL
-        xsltFunctionNodeSet (xmlXPathParserContextPtr ctxt,
-                     int nargs);
-XSLTPUBFUN void XSLTCALL
-        xsltDebug       (xsltTransformContextPtr ctxt,
-                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-
-
-XSLTPUBFUN void XSLTCALL
-        xsltRegisterExtras  (xsltTransformContextPtr ctxt);
-XSLTPUBFUN void XSLTCALL
-        xsltRegisterAllExtras   (void);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_EXTRA_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/functions.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/functions.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/functions.c
+++ /dev/null
@@ -1,1003 +0,0 @@
-/*
- * functions.c: Implementation of the XSLT extra functions
- *
- * Reference:
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- * Bjorn Reese  for number formatting
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-
-#ifdef HAVE_SYS_TYPES_H
-#include 
-#endif
-#ifdef HAVE_CTYPE_H
-#include 
-#endif
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltInternals.h"
-#include "xsltutils.h"
-#include "functions.h"
-#include "extensions.h"
-#include "numbersInternals.h"
-#include "keys.h"
-#include "documents.h"
-
-#ifdef WITH_XSLT_DEBUG
-#define WITH_XSLT_DEBUG_FUNCTION
-#endif
-
-/*
- * Some versions of DocBook XSL use the vendor string to detect
- * supporting chunking, this is a workaround to be considered
- * in the list of decent XSLT processors 
- */
-#define DOCBOOK_XSL_HACK
-
-/**
- * xsltXPathFunctionLookup:
- * @ctxt:  a void * but the XSLT transformation context actually
- * @name:  the function name
- * @ns_uri:  the function namespace URI
- *
- * This is the entry point when a function is needed by the XPath
- * interpretor.
- *
- * Returns the callback function or NULL if not found
- */
-xmlXPathFunction
-xsltXPathFunctionLookup (xmlXPathContextPtr ctxt,
-             const xmlChar *name, const xmlChar *ns_uri) {
-    xmlXPathFunction ret;
-
-    if ((ctxt == NULL) || (name == NULL) || (ns_uri == NULL))
-    return (NULL);
-
-#ifdef WITH_XSLT_DEBUG_FUNCTION
-    xsltGenericDebug(xsltGenericDebugContext,
-            "Lookup function {%s}%s\n", ns_uri, name);
-#endif
-
-    /* give priority to context-level functions */
-    /*
-    ret = (xmlXPathFunction) xmlHashLookup2(ctxt->funcHash, name, ns_uri);
-    */
-    XML_CAST_FPTR(ret) = xmlHashLookup2(ctxt->funcHash, name, ns_uri);
-
-    if (ret == NULL)
-    ret = xsltExtModuleFunctionLookup(name, ns_uri);
-
-#ifdef WITH_XSLT_DEBUG_FUNCTION
-    if (ret != NULL)
-        xsltGenericDebug(xsltGenericDebugContext,
-            "found function %s\n", name);
-#endif
-    return(ret);
-}
-
-
-/************************************************************************
- *                                  *
- *          Module interfaces               *
- *                                  *
- ************************************************************************/
-
-static void
-xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
-{
-    xsltTransformContextPtr tctxt;
-    xmlURIPtr uri;
-    xmlChar *fragment;
-    xsltDocumentPtr idoc; /* document info */
-    xmlDocPtr doc;
-    xmlXPathContextPtr xptrctxt = NULL;
-    xmlXPathObjectPtr resObj = NULL;
-
-    tctxt = xsltXPathGetTransformContext(ctxt);
-    if (tctxt == NULL) {
-    xsltTransformError(NULL, NULL, NULL,
-        "document() : internal error tctxt == NULL\n");
-    valuePush(ctxt, xmlXPathNewNodeSet(NULL));
-    return;
-    }
-
-    uri = xmlParseURI((const char *) URI);
-    if (uri == NULL) {
-    xsltTransformError(tctxt, NULL, NULL,
-        "document() : failed to parse URI\n");
-    valuePush(ctxt, xmlXPathNewNodeSet(NULL));
-    return;
-    }
-
-    /*
-     * check for and remove fragment identifier
-     */
-    fragment = (xmlChar *)uri->fragment;
-    if (fragment != NULL) {
-        xmlChar *newURI;
-    uri->fragment = NULL;
-    newURI = xmlSaveUri(uri);
-    idoc = xsltLoadDocument(tctxt, newURI);
-    xmlFree(newURI);
-    } else
-    idoc = xsltLoadDocument(tctxt, URI);
-    xmlFreeURI(uri);
-
-    if (idoc == NULL) {
-    if ((URI == NULL) ||
-        (URI[0] == '#') ||
-        ((tctxt->style->doc != NULL) &&
-        (xmlStrEqual(tctxt->style->doc->URL, URI))))
-    {
-        /*
-        * This selects the stylesheet's doc itself.
-        */
-        doc = tctxt->style->doc;
-    } else {
-        valuePush(ctxt, xmlXPathNewNodeSet(NULL));
-
-        if (fragment != NULL)
-        xmlFree(fragment);
-
-        return;
-    }
-    } else
-    doc = idoc->doc;
-
-    if (fragment == NULL) {
-    valuePush(ctxt, xmlXPathNewNodeSet((xmlNodePtr) doc));
-    return;
-    }
-
-    /* use XPointer of HTML location for fragment ID */
-#ifdef LIBXML_XPTR_ENABLED
-    xptrctxt = xmlXPtrNewContext(doc, NULL, NULL);
-    if (xptrctxt == NULL) {
-    xsltTransformError(tctxt, NULL, NULL,
-        "document() : internal error xptrctxt == NULL\n");
-    goto out_fragment;
-    }
-
-    resObj = xmlXPtrEval(fragment, xptrctxt);
-    xmlXPathFreeContext(xptrctxt);
-#endif
-    xmlFree(fragment);
-
-    if (resObj == NULL)
-    goto out_fragment;
-
-    switch (resObj->type) {
-    case XPATH_NODESET:
-        break;
-    case XPATH_UNDEFINED:
-    case XPATH_BOOLEAN:
-    case XPATH_NUMBER:
-    case XPATH_STRING:
-    case XPATH_POINT:
-    case XPATH_USERS:
-    case XPATH_XSLT_TREE:
-    case XPATH_RANGE:
-    case XPATH_LOCATIONSET:
-        xsltTransformError(tctxt, NULL, NULL,
-        "document() : XPointer does not select a node set: #%s\n",
-        fragment);
-    goto out_object;
-    }
-
-    valuePush(ctxt, resObj);
-    return;
-
-out_object:
-    xmlXPathFreeObject(resObj);
-
-out_fragment:
-    valuePush(ctxt, xmlXPathNewNodeSet(NULL));
-}
-
-/**
- * xsltDocumentFunction:
- * @ctxt:  the XPath Parser context
- * @nargs:  the number of arguments
- *
- * Implement the document() XSLT function
- *   node-set document(object, node-set?)
- */
-void
-xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlXPathObjectPtr obj, obj2 = NULL;
-    xmlChar *base = NULL, *URI;
-
-
-    if ((nargs < 1) || (nargs > 2)) {
-        xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-                         "document() : invalid number of args %d\n",
-                         nargs);
-        ctxt->error = XPATH_INVALID_ARITY;
-        return;
-    }
-    if (ctxt->value == NULL) {
-        xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-                         "document() : invalid arg value\n");
-        ctxt->error = XPATH_INVALID_TYPE;
-        return;
-    }
-
-    if (nargs == 2) {
-        if (ctxt->value->type != XPATH_NODESET) {
-            xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-                             "document() : invalid arg expecting a nodeset\n");
-            ctxt->error = XPATH_INVALID_TYPE;
-            return;
-        }
-
-        obj2 = valuePop(ctxt);
-    }
-
-    if (ctxt->value->type == XPATH_NODESET) {
-        int i;
-        xmlXPathObjectPtr newobj, ret;
-
-        obj = valuePop(ctxt);
-        ret = xmlXPathNewNodeSet(NULL);
-
-        if ((obj != NULL) && obj->nodesetval) {
-            for (i = 0; i < obj->nodesetval->nodeNr; i++) {
-                valuePush(ctxt,
-                          xmlXPathNewNodeSet(obj->nodesetval->nodeTab[i]));
-                xmlXPathStringFunction(ctxt, 1);
-                if (nargs == 2) {
-                    valuePush(ctxt, xmlXPathObjectCopy(obj2));
-                } else {
-                    valuePush(ctxt,
-                              xmlXPathNewNodeSet(obj->nodesetval->
-                                                 nodeTab[i]));
-                }
-                xsltDocumentFunction(ctxt, 2);
-                newobj = valuePop(ctxt);
-                ret->nodesetval = xmlXPathNodeSetMerge(ret->nodesetval,
-                                                       newobj->nodesetval);
-                xmlXPathFreeObject(newobj);
-            }
-        }
-
-        if (obj != NULL)
-            xmlXPathFreeObject(obj);
-        if (obj2 != NULL)
-            xmlXPathFreeObject(obj2);
-        valuePush(ctxt, ret);
-        return;
-    }
-    /*
-     * Make sure it's converted to a string
-     */
-    xmlXPathStringFunction(ctxt, 1);
-    if (ctxt->value->type != XPATH_STRING) {
-        xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-                         "document() : invalid arg expecting a string\n");
-        ctxt->error = XPATH_INVALID_TYPE;
-        if (obj2 != NULL)
-            xmlXPathFreeObject(obj2);
-        return;
-    }
-    obj = valuePop(ctxt);
-    if (obj->stringval == NULL) {
-        valuePush(ctxt, xmlXPathNewNodeSet(NULL));
-    } else {
-        xsltTransformContextPtr tctxt;
-        tctxt = xsltXPathGetTransformContext(ctxt);
-        if ((obj2 != NULL) && (obj2->nodesetval != NULL) &&
-            (obj2->nodesetval->nodeNr > 0) &&
-            IS_XSLT_REAL_NODE(obj2->nodesetval->nodeTab[0])) {
-            xmlNodePtr target;
-
-            target = obj2->nodesetval->nodeTab[0];
-            if ((target->type == XML_ATTRIBUTE_NODE) ||
-            (target->type == XML_PI_NODE)) {
-                target = ((xmlAttrPtr) target)->parent;
-            }
-            base = xmlNodeGetBase(target->doc, target);
-        } else {
-            if ((tctxt != NULL) && (tctxt->inst != NULL)) {
-                base = xmlNodeGetBase(tctxt->inst->doc, tctxt->inst);
-            } else if ((tctxt != NULL) && (tctxt->style != NULL) &&
-                       (tctxt->style->doc != NULL)) {
-                base = xmlNodeGetBase(tctxt->style->doc,
-                                      (xmlNodePtr) tctxt->style->doc);
-            }
-        }
-        URI = xmlBuildURI(obj->stringval, base);
-        if (base != NULL)
-            xmlFree(base);
-        if (URI == NULL) {
-            if ((tctxt != NULL) && (tctxt->style != NULL) &&
-                (tctxt->style->doc != NULL) &&
-                (xmlStrEqual(URI, tctxt->style->doc->URL))) {
-                /* This selects the stylesheet's doc itself. */
-                valuePush(ctxt, xmlXPathNewNodeSet((xmlNodePtr) tctxt->style->doc));
-            } else {
-                valuePush(ctxt, xmlXPathNewNodeSet(NULL));
-            }
-        } else {
-        xsltDocumentFunctionLoadDocument( ctxt, URI );
-        xmlFree(URI);
-    }
-    }
-    xmlXPathFreeObject(obj);
-    if (obj2 != NULL)
-        xmlXPathFreeObject(obj2);
-}
-
-/**
- * xsltKeyFunction:
- * @ctxt:  the XPath Parser context
- * @nargs:  the number of arguments
- *
- * Implement the key() XSLT function
- *   node-set key(string, object)
- */
-void
-xsltKeyFunction(xmlXPathParserContextPtr ctxt, int nargs){
-    xmlXPathObjectPtr obj1, obj2;
-
-    if (nargs != 2) {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "key() : expects two arguments\n");
-    ctxt->error = XPATH_INVALID_ARITY;
-    return;
-    }
-
-    /*
-    * Get the key's value.
-    */
-    obj2 = valuePop(ctxt);
-    xmlXPathStringFunction(ctxt, 1);
-    if ((obj2 == NULL) ||
-    (ctxt->value == NULL) || (ctxt->value->type != XPATH_STRING)) {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "key() : invalid arg expecting a string\n");
-    ctxt->error = XPATH_INVALID_TYPE;
-    xmlXPathFreeObject(obj2);
-
-    return;
-    }
-    /*
-    * Get the key's name.
-    */
-    obj1 = valuePop(ctxt);
-
-    if ((obj2->type == XPATH_NODESET) || (obj2->type == XPATH_XSLT_TREE)) {
-    int i;
-    xmlXPathObjectPtr newobj, ret;
-
-    ret = xmlXPathNewNodeSet(NULL);
-
-    if (obj2->nodesetval != NULL) {
-        for (i = 0; i < obj2->nodesetval->nodeNr; i++) {
-        valuePush(ctxt, xmlXPathObjectCopy(obj1));
-        valuePush(ctxt,
-              xmlXPathNewNodeSet(obj2->nodesetval->nodeTab[i]));
-        xmlXPathStringFunction(ctxt, 1);
-        xsltKeyFunction(ctxt, 2);
-        newobj = valuePop(ctxt);
-        ret->nodesetval = xmlXPathNodeSetMerge(ret->nodesetval,
-                               newobj->nodesetval);
-        xmlXPathFreeObject(newobj);
-        }
-    }
-    valuePush(ctxt, ret);
-    } else {
-    xmlNodeSetPtr nodelist = NULL;
-    xmlChar *key = NULL, *value;
-    const xmlChar *keyURI;
-    xsltTransformContextPtr tctxt;
-    xmlChar *qname, *prefix;
-    xmlXPathContextPtr xpctxt = ctxt->context;
-    xmlNodePtr tmpNode = NULL;
-    xsltDocumentPtr oldDocInfo;
-
-    tctxt = xsltXPathGetTransformContext(ctxt);
-
-    oldDocInfo = tctxt->document;
-
-    if (xpctxt->node == NULL) {
-        xsltTransformError(tctxt, NULL, tctxt->inst,
-        "Internal error in xsltKeyFunction(): "
-        "The context node is not set on the XPath context.\n");
-        tctxt->state = XSLT_STATE_STOPPED;
-        goto error;
-    }
-    /*
-     * Get the associated namespace URI if qualified name
-     */
-    qname = obj1->stringval;
-    key = xmlSplitQName2(qname, &prefix);
-    if (key == NULL) {
-        key = xmlStrdup(obj1->stringval);
-        keyURI = NULL;
-        if (prefix != NULL)
-        xmlFree(prefix);
-    } else {
-        if (prefix != NULL) {
-        keyURI = xmlXPathNsLookup(xpctxt, prefix);
-        if (keyURI == NULL) {
-            xsltTransformError(tctxt, NULL, tctxt->inst,
-            "key() : prefix %s is not bound\n", prefix);
-            /*
-            * TODO: Shouldn't we stop here?
-            */
-        }
-        xmlFree(prefix);
-        } else {
-        keyURI = NULL;
-        }
-    }
-
-    /*
-     * Force conversion of first arg to string
-     */
-    valuePush(ctxt, obj2);
-    xmlXPathStringFunction(ctxt, 1);
-    if ((ctxt->value == NULL) || (ctxt->value->type != XPATH_STRING)) {
-        xsltTransformError(tctxt, NULL, tctxt->inst,
-        "key() : invalid arg expecting a string\n");
-        ctxt->error = XPATH_INVALID_TYPE;
-        goto error;
-    }
-    obj2 = valuePop(ctxt);
-    value = obj2->stringval;
-
-    /*
-    * We need to ensure that ctxt->document is available for
-    * xsltGetKey().
-    * First find the relevant doc, which is the context node's
-    * owner doc; using context->doc is not safe, since
-    * the doc could have been acquired via the document() function,
-    * or the doc might be a Result Tree Fragment.
-    * FUTURE INFO: In XSLT 2.0 the key() function takes an additional
-    * argument indicating the doc to use.
-    */
-    if (xpctxt->node->type == XML_NAMESPACE_DECL) {
-        /*
-        * REVISIT: This is a libxml hack! Check xpath.c for details.
-        * The XPath module sets the owner element of a ns-node on
-        * the ns->next field.
-        */
-        if ((((xmlNsPtr) xpctxt->node)->next != NULL) &&
-        (((xmlNsPtr) xpctxt->node)->next->type == XML_ELEMENT_NODE))
-        {
-        tmpNode = (xmlNodePtr) ((xmlNsPtr) xpctxt->node)->next;
-        }
-    } else
-        tmpNode = xpctxt->node;
-
-    if ((tmpNode == NULL) || (tmpNode->doc == NULL)) {
-        xsltTransformError(tctxt, NULL, tctxt->inst,
-        "Internal error in xsltKeyFunction(): "
-        "Couldn't get the doc of the XPath context node.\n");
-        goto error;
-    }
-
-    if ((tctxt->document == NULL) ||
-        (tctxt->document->doc != tmpNode->doc))
-    {
-        if (tmpNode->doc->name && (tmpNode->doc->name[0] == ' ')) {
-        /*
-        * This is a Result Tree Fragment.
-        */
-        if (tmpNode->doc->_private == NULL) {
-            tmpNode->doc->_private = xsltNewDocument(tctxt, tmpNode->doc);
-            if (tmpNode->doc->_private == NULL)
-            goto error;
-        }
-        tctxt->document = (xsltDocumentPtr) tmpNode->doc->_private;
-        } else {
-        /*
-        * May be the initial source doc or a doc acquired via the
-        * document() function.
-        */
-        tctxt->document = xsltFindDocument(tctxt, tmpNode->doc);
-        }
-        if (tctxt->document == NULL) {
-        xsltTransformError(tctxt, NULL, tctxt->inst,
-            "Internal error in xsltKeyFunction(): "
-            "Could not get the document info of a context doc.\n");
-        tctxt->state = XSLT_STATE_STOPPED;
-        goto error;
-        }
-    }
-    /*
-    * Get/compute the key value.
-    */
-    nodelist = xsltGetKey(tctxt, key, keyURI, value);
-
-error:
-    tctxt->document = oldDocInfo;
-    valuePush(ctxt, xmlXPathWrapNodeSet(
-        xmlXPathNodeSetMerge(NULL, nodelist)));
-    if (key != NULL)
-        xmlFree(key);
-    }
-
-    if (obj1 != NULL)
-    xmlXPathFreeObject(obj1);
-    if (obj2 != NULL)
-    xmlXPathFreeObject(obj2);
-}
-
-/**
- * xsltUnparsedEntityURIFunction:
- * @ctxt:  the XPath Parser context
- * @nargs:  the number of arguments
- *
- * Implement the unparsed-entity-uri() XSLT function
- *   string unparsed-entity-uri(string)
- */
-void
-xsltUnparsedEntityURIFunction(xmlXPathParserContextPtr ctxt, int nargs){
-    xmlXPathObjectPtr obj;
-    xmlChar *str;
-
-    if ((nargs != 1) || (ctxt->value == NULL)) {
-        xsltGenericError(xsltGenericErrorContext,
-        "unparsed-entity-uri() : expects one string arg\n");
-    ctxt->error = XPATH_INVALID_ARITY;
-    return;
-    }
-    obj = valuePop(ctxt);
-    if (obj->type != XPATH_STRING) {
-    obj = xmlXPathConvertString(obj);
-    }
-
-    str = obj->stringval;
-    if (str == NULL) {
-    valuePush(ctxt, xmlXPathNewString((const xmlChar *)""));
-    } else {
-    xmlEntityPtr entity;
-
-    entity = xmlGetDocEntity(ctxt->context->doc, str);
-    if (entity == NULL) {
-        valuePush(ctxt, xmlXPathNewString((const xmlChar *)""));
-    } else {
-        if (entity->URI != NULL)
-        valuePush(ctxt, xmlXPathNewString(entity->URI));
-        else
-        valuePush(ctxt, xmlXPathNewString((const xmlChar *)""));
-    }
-    }
-    xmlXPathFreeObject(obj);
-}
-
-/**
- * xsltFormatNumberFunction:
- * @ctxt:  the XPath Parser context
- * @nargs:  the number of arguments
- *
- * Implement the format-number() XSLT function
- *   string format-number(number, string, string?)
- */
-void
-xsltFormatNumberFunction(xmlXPathParserContextPtr ctxt, int nargs)
-{
-    xmlXPathObjectPtr numberObj = NULL;
-    xmlXPathObjectPtr formatObj = NULL;
-    xmlXPathObjectPtr decimalObj = NULL;
-    xsltStylesheetPtr sheet;
-    xsltDecimalFormatPtr formatValues;
-    xmlChar *result;
-    xsltTransformContextPtr tctxt;
-
-    tctxt = xsltXPathGetTransformContext(ctxt);
-    if (tctxt == NULL)
-    return;
-    sheet = tctxt->style;
-    if (sheet == NULL)
-    return;
-    formatValues = sheet->decimalFormat;
-
-    switch (nargs) {
-    case 3:
-    CAST_TO_STRING;
-    decimalObj = valuePop(ctxt);
-    formatValues = xsltDecimalFormatGetByName(sheet, decimalObj->stringval);
-    if (formatValues == NULL) {
-        xsltTransformError(tctxt, NULL, NULL,
-            "format-number() : undeclared decimal format '%s'\n",
-            decimalObj->stringval);
-    }
-    /* Intentional fall-through */
-    case 2:
-    CAST_TO_STRING;
-    formatObj = valuePop(ctxt);
-    CAST_TO_NUMBER;
-    numberObj = valuePop(ctxt);
-    break;
-    default:
-    XP_ERROR(XPATH_INVALID_ARITY);
-    }
-
-    if (formatValues != NULL) {
-    if (xsltFormatNumberConversion(formatValues,
-                       formatObj->stringval,
-                       numberObj->floatval,
-                       &result) == XPATH_EXPRESSION_OK) {
-        valuePush(ctxt, xmlXPathNewString(result));
-        xmlFree(result);
-    }
-    }
-
-    xmlXPathFreeObject(numberObj);
-    xmlXPathFreeObject(formatObj);
-    xmlXPathFreeObject(decimalObj);
-}
-
-/**
- * xsltGenerateIdFunction:
- * @ctxt:  the XPath Parser context
- * @nargs:  the number of arguments
- *
- * Implement the generate-id() XSLT function
- *   string generate-id(node-set?)
- */
-void
-xsltGenerateIdFunction(xmlXPathParserContextPtr ctxt, int nargs){
-    static char base_address;
-    xmlNodePtr cur = NULL;
-    xmlXPathObjectPtr obj = NULL;
-    long val;
-    xmlChar str[30];
-    xmlDocPtr doc;
-
-    if (nargs == 0) {
-    cur = ctxt->context->node;
-    } else if (nargs == 1) {
-    xmlNodeSetPtr nodelist;
-    int i, ret;
-
-    if ((ctxt->value == NULL) || (ctxt->value->type != XPATH_NODESET)) {
-        ctxt->error = XPATH_INVALID_TYPE;
-        xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "generate-id() : invalid arg expecting a node-set\n");
-        return;
-    }
-    obj = valuePop(ctxt);
-    nodelist = obj->nodesetval;
-    if ((nodelist == NULL) || (nodelist->nodeNr <= 0)) {
-        xmlXPathFreeObject(obj);
-        valuePush(ctxt, xmlXPathNewCString(""));
-        return;
-    }
-    cur = nodelist->nodeTab[0];
-    for (i = 1;i < nodelist->nodeNr;i++) {
-        ret = xmlXPathCmpNodes(cur, nodelist->nodeTab[i]);
-        if (ret == -1)
-            cur = nodelist->nodeTab[i];
-    }
-    } else {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "generate-id() : invalid number of args %d\n", nargs);
-    ctxt->error = XPATH_INVALID_ARITY;
-    return;
-    }
-    /*
-     * Okay this is ugly but should work, use the NodePtr address
-     * to forge the ID
-     */
-    if (cur->type != XML_NAMESPACE_DECL)
-        doc = cur->doc;
-    else {
-        xmlNsPtr ns = (xmlNsPtr) cur;
-
-        if (ns->context != NULL)
-            doc = ns->context;
-        else
-            doc = ctxt->context->doc;
-
-    }
-
-    if (obj)
-        xmlXPathFreeObject(obj);
-
-    val = (long)((char *)cur - (char *)&base_address);
-    if (val >= 0) {
-      sprintf((char *)str, "idp%ld", val);
-    } else {
-      sprintf((char *)str, "idm%ld", -val);
-    }
-    valuePush(ctxt, xmlXPathNewString(str));
-}
-
-/**
- * xsltSystemPropertyFunction:
- * @ctxt:  the XPath Parser context
- * @nargs:  the number of arguments
- *
- * Implement the system-property() XSLT function
- *   object system-property(string)
- */
-void
-xsltSystemPropertyFunction(xmlXPathParserContextPtr ctxt, int nargs){
-    xmlXPathObjectPtr obj;
-    xmlChar *prefix, *name;
-    const xmlChar *nsURI = NULL;
-
-    if (nargs != 1) {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "system-property() : expects one string arg\n");
-    ctxt->error = XPATH_INVALID_ARITY;
-    return;
-    }
-    if ((ctxt->value == NULL) || (ctxt->value->type != XPATH_STRING)) {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "system-property() : invalid arg expecting a string\n");
-    ctxt->error = XPATH_INVALID_TYPE;
-    return;
-    }
-    obj = valuePop(ctxt);
-    if (obj->stringval == NULL) {
-    valuePush(ctxt, xmlXPathNewString((const xmlChar *)""));
-    } else {
-    name = xmlSplitQName2(obj->stringval, &prefix);
-    if (name == NULL) {
-        name = xmlStrdup(obj->stringval);
-    } else {
-        nsURI = xmlXPathNsLookup(ctxt->context, prefix);
-        if (nsURI == NULL) {
-        xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-            "system-property() : prefix %s is not bound\n", prefix);
-        }
-    }
-
-    if (xmlStrEqual(nsURI, XSLT_NAMESPACE)) {
-#ifdef DOCBOOK_XSL_HACK
-        if (xmlStrEqual(name, (const xmlChar *)"vendor")) {
-        xsltStylesheetPtr sheet;
-        xsltTransformContextPtr tctxt;
-
-        tctxt = xsltXPathGetTransformContext(ctxt);
-        if ((tctxt != NULL) && (tctxt->inst != NULL) &&
-            (xmlStrEqual(tctxt->inst->name, BAD_CAST "variable")) &&
-            (tctxt->inst->parent != NULL) &&
-            (xmlStrEqual(tctxt->inst->parent->name,
-                 BAD_CAST "template")))
-            sheet = tctxt->style;
-        else
-            sheet = NULL;
-        if ((sheet != NULL) && (sheet->doc != NULL) &&
-            (sheet->doc->URL != NULL) &&
-            (xmlStrstr(sheet->doc->URL,
-                   (const xmlChar *)"chunk") != NULL)) {
-            valuePush(ctxt, xmlXPathNewString(
-            (const xmlChar *)"libxslt (SAXON 6.2 compatible)"));
-
-        } else {
-            valuePush(ctxt, xmlXPathNewString(
-            (const xmlChar *)XSLT_DEFAULT_VENDOR));
-        }
-        } else
-#else
-        if (xmlStrEqual(name, (const xmlChar *)"vendor")) {
-        valuePush(ctxt, xmlXPathNewString(
-              (const xmlChar *)XSLT_DEFAULT_VENDOR));
-        } else
-#endif
-        if (xmlStrEqual(name, (const xmlChar *)"version")) {
-        valuePush(ctxt, xmlXPathNewString(
-            (const xmlChar *)XSLT_DEFAULT_VERSION));
-        } else if (xmlStrEqual(name, (const xmlChar *)"vendor-url")) {
-        valuePush(ctxt, xmlXPathNewString(
-            (const xmlChar *)XSLT_DEFAULT_URL));
-        } else {
-        valuePush(ctxt, xmlXPathNewString((const xmlChar *)""));
-        }
-    } else {
-        valuePush(ctxt, xmlXPathNewString((const xmlChar *)""));
-        }
-    if (name != NULL)
-        xmlFree(name);
-    if (prefix != NULL)
-        xmlFree(prefix);
-    }
-    xmlXPathFreeObject(obj);
-}
-
-/**
- * xsltElementAvailableFunction:
- * @ctxt:  the XPath Parser context
- * @nargs:  the number of arguments
- *
- * Implement the element-available() XSLT function
- *   boolean element-available(string)
- */
-void
-xsltElementAvailableFunction(xmlXPathParserContextPtr ctxt, int nargs){
-    xmlXPathObjectPtr obj;
-    xmlChar *prefix, *name;
-    const xmlChar *nsURI = NULL;
-    xsltTransformContextPtr tctxt;
-
-    if (nargs != 1) {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "element-available() : expects one string arg\n");
-    ctxt->error = XPATH_INVALID_ARITY;
-    return;
-    }
-    xmlXPathStringFunction(ctxt, 1);
-    if ((ctxt->value == NULL) || (ctxt->value->type != XPATH_STRING)) {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "element-available() : invalid arg expecting a string\n");
-    ctxt->error = XPATH_INVALID_TYPE;
-    return;
-    }
-    obj = valuePop(ctxt);
-    tctxt = xsltXPathGetTransformContext(ctxt);
-    if (tctxt == NULL) {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "element-available() : internal error tctxt == NULL\n");
-    xmlXPathFreeObject(obj);
-    valuePush(ctxt, xmlXPathNewBoolean(0));
-    return;
-    }
-
-
-    name = xmlSplitQName2(obj->stringval, &prefix);
-    if (name == NULL) {
-    xmlNsPtr ns;
-
-    name = xmlStrdup(obj->stringval);
-    ns = xmlSearchNs(tctxt->inst->doc, tctxt->inst, NULL);
-    if (ns != NULL) nsURI = xmlStrdup(ns->href);
-    } else {
-    nsURI = xmlXPathNsLookup(ctxt->context, prefix);
-    if (nsURI == NULL) {
-        xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "element-available() : prefix %s is not bound\n", prefix);
-    }
-    }
-
-    if (xsltExtElementLookup(tctxt, name, nsURI) != NULL) {
-    valuePush(ctxt, xmlXPathNewBoolean(1));
-    } else {
-    valuePush(ctxt, xmlXPathNewBoolean(0));
-    }
-
-    xmlXPathFreeObject(obj);
-    if (name != NULL)
-    xmlFree(name);
-    if (prefix != NULL)
-    xmlFree(prefix);
-}
-
-/**
- * xsltFunctionAvailableFunction:
- * @ctxt:  the XPath Parser context
- * @nargs:  the number of arguments
- *
- * Implement the function-available() XSLT function
- *   boolean function-available(string)
- */
-void
-xsltFunctionAvailableFunction(xmlXPathParserContextPtr ctxt, int nargs){
-    xmlXPathObjectPtr obj;
-    xmlChar *prefix, *name;
-    const xmlChar *nsURI = NULL;
-
-    if (nargs != 1) {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "function-available() : expects one string arg\n");
-    ctxt->error = XPATH_INVALID_ARITY;
-    return;
-    }
-    xmlXPathStringFunction(ctxt, 1);
-    if ((ctxt->value == NULL) || (ctxt->value->type != XPATH_STRING)) {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "function-available() : invalid arg expecting a string\n");
-    ctxt->error = XPATH_INVALID_TYPE;
-    return;
-    }
-    obj = valuePop(ctxt);
-
-    name = xmlSplitQName2(obj->stringval, &prefix);
-    if (name == NULL) {
-    name = xmlStrdup(obj->stringval);
-    } else {
-    nsURI = xmlXPathNsLookup(ctxt->context, prefix);
-    if (nsURI == NULL) {
-        xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "function-available() : prefix %s is not bound\n", prefix);
-    }
-    }
-
-    if (xmlXPathFunctionLookupNS(ctxt->context, name, nsURI) != NULL) {
-    valuePush(ctxt, xmlXPathNewBoolean(1));
-    } else {
-    valuePush(ctxt, xmlXPathNewBoolean(0));
-    }
-
-    xmlXPathFreeObject(obj);
-    if (name != NULL)
-    xmlFree(name);
-    if (prefix != NULL)
-    xmlFree(prefix);
-}
-
-/**
- * xsltCurrentFunction:
- * @ctxt:  the XPath Parser context
- * @nargs:  the number of arguments
- *
- * Implement the current() XSLT function
- *   node-set current()
- */
-static void
-xsltCurrentFunction(xmlXPathParserContextPtr ctxt, int nargs){
-    xsltTransformContextPtr tctxt;
-
-    if (nargs != 0) {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "current() : function uses no argument\n");
-    ctxt->error = XPATH_INVALID_ARITY;
-    return;
-    }
-    tctxt = xsltXPathGetTransformContext(ctxt);
-    if (tctxt == NULL) {
-    xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
-        "current() : internal error tctxt == NULL\n");
-    valuePush(ctxt, xmlXPathNewNodeSet(NULL));
-    } else {
-    valuePush(ctxt, xmlXPathNewNodeSet(tctxt->node)); /* current */
-    }
-}
-
-/************************************************************************
- *                                  *
- *      Registration of XSLT and libxslt functions      *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltRegisterAllFunctions:
- * @ctxt:  the XPath context
- *
- * Registers all default XSLT functions in this context
- */
-void
-xsltRegisterAllFunctions(xmlXPathContextPtr ctxt)
-{
-    xmlXPathRegisterFunc(ctxt, (const xmlChar *) "current",
-                         xsltCurrentFunction);
-    xmlXPathRegisterFunc(ctxt, (const xmlChar *) "document",
-                         xsltDocumentFunction);
-    xmlXPathRegisterFunc(ctxt, (const xmlChar *) "key", xsltKeyFunction);
-    xmlXPathRegisterFunc(ctxt, (const xmlChar *) "unparsed-entity-uri",
-                         xsltUnparsedEntityURIFunction);
-    xmlXPathRegisterFunc(ctxt, (const xmlChar *) "format-number",
-                         xsltFormatNumberFunction);
-    xmlXPathRegisterFunc(ctxt, (const xmlChar *) "generate-id",
-                         xsltGenerateIdFunction);
-    xmlXPathRegisterFunc(ctxt, (const xmlChar *) "system-property",
-                         xsltSystemPropertyFunction);
-    xmlXPathRegisterFunc(ctxt, (const xmlChar *) "element-available",
-                         xsltElementAvailableFunction);
-    xmlXPathRegisterFunc(ctxt, (const xmlChar *) "function-available",
-                         xsltFunctionAvailableFunction);
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/functions.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/functions.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/functions.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Summary: interface for the XSLT functions not from XPath
- * Description: a set of extra functions coming from XSLT but not in XPath
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard and Bjorn Reese 
- */
-
-#ifndef __XML_XSLT_FUNCTIONS_H__
-#define __XML_XSLT_FUNCTIONS_H__
-
-#include 
-#include 
-#include "xsltexports.h"
-#include "xsltInternals.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * XSLT_REGISTER_FUNCTION_LOOKUP:
- *
- * Registering macro, not general purpose at all but used in different modules.
- */
-#define XSLT_REGISTER_FUNCTION_LOOKUP(ctxt)         \
-    xmlXPathRegisterFuncLookup((ctxt)->xpathCtxt,       \
-    (xmlXPathFuncLookupFunc) xsltXPathFunctionLookup,   \
-    (void *)(ctxt->xpathCtxt));
-
-XSLTPUBFUN xmlXPathFunction XSLTCALL
-    xsltXPathFunctionLookup     (xmlXPathContextPtr ctxt,
-                     const xmlChar *name,
-                     const xmlChar *ns_uri);
-
-/*
- * Interfaces for the functions implementations.
- */
-
-XSLTPUBFUN void XSLTCALL
-    xsltDocumentFunction        (xmlXPathParserContextPtr ctxt,
-                     int nargs);
-XSLTPUBFUN void XSLTCALL
-    xsltKeyFunction         (xmlXPathParserContextPtr ctxt,
-                     int nargs);
-XSLTPUBFUN void XSLTCALL
-    xsltUnparsedEntityURIFunction   (xmlXPathParserContextPtr ctxt,
-                     int nargs);
-XSLTPUBFUN void XSLTCALL
-    xsltFormatNumberFunction    (xmlXPathParserContextPtr ctxt,
-                     int nargs);
-XSLTPUBFUN void XSLTCALL
-    xsltGenerateIdFunction      (xmlXPathParserContextPtr ctxt,
-                     int nargs);
-XSLTPUBFUN void XSLTCALL
-    xsltSystemPropertyFunction  (xmlXPathParserContextPtr ctxt,
-                     int nargs);
-XSLTPUBFUN void XSLTCALL
-    xsltElementAvailableFunction    (xmlXPathParserContextPtr ctxt,
-                     int nargs);
-XSLTPUBFUN void XSLTCALL
-    xsltFunctionAvailableFunction   (xmlXPathParserContextPtr ctxt,
-                     int nargs);
-
-/*
- * And the registration
- */
-
-XSLTPUBFUN void XSLTCALL
-    xsltRegisterAllFunctions    (xmlXPathContextPtr ctxt);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_FUNCTIONS_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/imports.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/imports.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/imports.c
+++ /dev/null
@@ -1,419 +0,0 @@
-/*
- * imports.c: Implementation of the XSLT imports
- *
- * Reference:
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-
-#ifdef HAVE_SYS_TYPES_H
-#include 
-#endif
-#ifdef HAVE_MATH_H
-#include 
-#endif
-#ifdef HAVE_FLOAT_H
-#include 
-#endif
-#ifdef HAVE_IEEEFP_H
-#include 
-#endif
-#ifdef HAVE_NAN_H
-#include 
-#endif
-#ifdef HAVE_CTYPE_H
-#include 
-#endif
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltInternals.h"
-#include "xsltutils.h"
-#include "preproc.h"
-#include "imports.h"
-#include "documents.h"
-#include "security.h"
-#include "pattern.h"
-
-
-/************************************************************************
- *                                  *
- *          Module interfaces               *
- *                                  *
- ************************************************************************/
-/**
- * xsltFixImportedCompSteps:
- * @master: the "master" stylesheet
- * @style: the stylesheet being imported by the master
- *
- * normalize the comp steps for the stylesheet being imported
- * by the master, together with any imports within that.
- *
- */
-static void xsltFixImportedCompSteps(xsltStylesheetPtr master,
-            xsltStylesheetPtr style) {
-    xsltStylesheetPtr res;
-    xmlHashScan(style->templatesHash,
-                (xmlHashScanner) xsltNormalizeCompSteps, master);
-    master->extrasNr += style->extrasNr;
-    for (res = style->imports; res != NULL; res = res->next) {
-        xsltFixImportedCompSteps(master, res);
-    }
-}
-
-/**
- * xsltParseStylesheetImport:
- * @style:  the XSLT stylesheet
- * @cur:  the import element
- *
- * parse an XSLT stylesheet import element
- *
- * Returns 0 in case of success -1 in case of failure.
- */
-
-int
-xsltParseStylesheetImport(xsltStylesheetPtr style, xmlNodePtr cur) {
-    int ret = -1;
-    xmlDocPtr import = NULL;
-    xmlChar *base = NULL;
-    xmlChar *uriRef = NULL;
-    xmlChar *URI = NULL;
-    xsltStylesheetPtr res;
-    xsltSecurityPrefsPtr sec;
-
-    if ((cur == NULL) || (style == NULL))
-    return (ret);
-
-    uriRef = xmlGetNsProp(cur, (const xmlChar *)"href", NULL);
-    if (uriRef == NULL) {
-    xsltTransformError(NULL, style, cur,
-        "xsl:import : missing href attribute\n");
-    goto error;
-    }
-
-    base = xmlNodeGetBase(style->doc, cur);
-    URI = xmlBuildURI(uriRef, base);
-    if (URI == NULL) {
-    xsltTransformError(NULL, style, cur,
-        "xsl:import : invalid URI reference %s\n", uriRef);
-    goto error;
-    }
-
-    res = style;
-    while (res != NULL) {
-        if (res->doc == NULL)
-        break;
-    if (xmlStrEqual(res->doc->URL, URI)) {
-        xsltTransformError(NULL, style, cur,
-           "xsl:import : recursion detected on imported URL %s\n", URI);
-        goto error;
-    }
-    res = res->parent;
-    }
-
-    /*
-     * Security framework check
-     */
-    sec = xsltGetDefaultSecurityPrefs();
-    if (sec != NULL) {
-    int secres;
-
-    secres = xsltCheckRead(sec, NULL, URI);
-    if (secres == 0) {
-        xsltTransformError(NULL, NULL, NULL,
-         "xsl:import: read rights for %s denied\n",
-                 URI);
-        goto error;
-    }
-    }
-
-    import = xsltDocDefaultLoader(URI, style->dict, XSLT_PARSE_OPTIONS,
-                                  (void *) style, XSLT_LOAD_STYLESHEET);
-    if (import == NULL) {
-    xsltTransformError(NULL, style, cur,
-        "xsl:import : unable to load %s\n", URI);
-    goto error;
-    }
-
-    res = xsltParseStylesheetImportedDoc(import, style);
-    if (res != NULL) {
-    res->next = style->imports;
-    style->imports = res;
-    if (style->parent == NULL) {
-        xsltFixImportedCompSteps(style, res);
-    }
-    ret = 0;
-    } else {
-    xmlFreeDoc(import);
-    }
-
-error:
-    if (uriRef != NULL)
-    xmlFree(uriRef);
-    if (base != NULL)
-    xmlFree(base);
-    if (URI != NULL)
-    xmlFree(URI);
-
-    return (ret);
-}
-
-/**
- * xsltParseStylesheetInclude:
- * @style:  the XSLT stylesheet
- * @cur:  the include node
- *
- * parse an XSLT stylesheet include element
- *
- * Returns 0 in case of success -1 in case of failure
- */
-
-int
-xsltParseStylesheetInclude(xsltStylesheetPtr style, xmlNodePtr cur) {
-    int ret = -1;
-    xmlDocPtr oldDoc;
-    xmlChar *base = NULL;
-    xmlChar *uriRef = NULL;
-    xmlChar *URI = NULL;
-    xsltStylesheetPtr result;
-    xsltDocumentPtr include;
-    xsltDocumentPtr docptr;
-    int oldNopreproc;
-
-    if ((cur == NULL) || (style == NULL))
-    return (ret);
-
-    uriRef = xmlGetNsProp(cur, (const xmlChar *)"href", NULL);
-    if (uriRef == NULL) {
-    xsltTransformError(NULL, style, cur,
-        "xsl:include : missing href attribute\n");
-    goto error;
-    }
-
-    base = xmlNodeGetBase(style->doc, cur);
-    URI = xmlBuildURI(uriRef, base);
-    if (URI == NULL) {
-    xsltTransformError(NULL, style, cur,
-        "xsl:include : invalid URI reference %s\n", uriRef);
-    goto error;
-    }
-
-    /*
-     * in order to detect recursion, we check all previously included
-     * stylesheets.
-     */
-    docptr = style->includes;
-    while (docptr != NULL) {
-        if (xmlStrEqual(docptr->doc->URL, URI)) {
-        xsltTransformError(NULL, style, cur,
-            "xsl:include : recursion detected on included URL %s\n", URI);
-        goto error;
-    }
-    docptr = docptr->includes;
-    }
-
-    include = xsltLoadStyleDocument(style, URI);
-    if (include == NULL) {
-    xsltTransformError(NULL, style, cur,
-        "xsl:include : unable to load %s\n", URI);
-    goto error;
-    }
-#ifdef XSLT_REFACTORED
-    if (IS_XSLT_ELEM_FAST(cur) && (cur->psvi != NULL)) {
-    ((xsltStyleItemIncludePtr) cur->psvi)->include = include;
-    } else {
-    xsltTransformError(NULL, style, cur,
-        "Internal error: (xsltParseStylesheetInclude) "
-        "The xsl:include element was not compiled.\n", URI);
-    style->errors++;
-    }
-#endif
-    oldDoc = style->doc;
-    style->doc = include->doc;
-    /* chain to stylesheet for recursion checking */
-    include->includes = style->includes;
-    style->includes = include;
-    oldNopreproc = style->nopreproc;
-    style->nopreproc = include->preproc;
-    /*
-    * TODO: This will change some values of the
-    *  including stylesheet with every included module
-    *  (e.g. excluded-result-prefixes)
-    *  We need to strictly seperate such stylesheet-owned values.
-    */
-    result = xsltParseStylesheetProcess(style, include->doc);
-    style->nopreproc = oldNopreproc;
-    include->preproc = 1;
-    style->includes = include->includes;
-    style->doc = oldDoc;
-    if (result == NULL) {
-    ret = -1;
-    goto error;
-    }
-    ret = 0;
-
-error:
-    if (uriRef != NULL)
-    xmlFree(uriRef);
-    if (base != NULL)
-    xmlFree(base);
-    if (URI != NULL)
-    xmlFree(URI);
-
-    return (ret);
-}
-
-/**
- * xsltNextImport:
- * @cur:  the current XSLT stylesheet
- *
- * Find the next stylesheet in import precedence.
- *
- * Returns the next stylesheet or NULL if it was the last one
- */
-
-xsltStylesheetPtr
-xsltNextImport(xsltStylesheetPtr cur) {
-    if (cur == NULL)
-    return(NULL);
-    if (cur->imports != NULL)
-    return(cur->imports);
-    if (cur->next != NULL)
-    return(cur->next) ;
-    do {
-    cur = cur->parent;
-    if (cur == NULL) break;
-    if (cur->next != NULL) return(cur->next);
-    } while (cur != NULL);
-    return(cur);
-}
-
-/**
- * xsltNeedElemSpaceHandling:
- * @ctxt:  an XSLT transformation context
- *
- * Checks whether that stylesheet requires white-space stripping
- *
- * Returns 1 if space should be stripped, 0 if not
- */
-
-int
-xsltNeedElemSpaceHandling(xsltTransformContextPtr ctxt) {
-    xsltStylesheetPtr style;
-
-    if (ctxt == NULL)
-    return(0);
-    style = ctxt->style;
-    while (style != NULL) {
-    if (style->stripSpaces != NULL)
-        return(1);
-    style = xsltNextImport(style);
-    }
-    return(0);
-}
-
-/**
- * xsltFindElemSpaceHandling:
- * @ctxt:  an XSLT transformation context
- * @node:  an XML node
- *
- * Find strip-space or preserve-space informations for an element
- * respect the import precedence or the wildcards
- *
- * Returns 1 if space should be stripped, 0 if not, and 2 if everything
- *         should be CDTATA wrapped.
- */
-
-int
-xsltFindElemSpaceHandling(xsltTransformContextPtr ctxt, xmlNodePtr node) {
-    xsltStylesheetPtr style;
-    const xmlChar *val;
-
-    if ((ctxt == NULL) || (node == NULL))
-    return(0);
-    style = ctxt->style;
-    while (style != NULL) {
-    if (node->ns != NULL) {
-        val = (const xmlChar *)
-          xmlHashLookup2(style->stripSpaces, node->name, node->ns->href);
-            if (val == NULL) {
-                val = (const xmlChar *)
-                    xmlHashLookup2(style->stripSpaces, BAD_CAST "*",
-                                   node->ns->href);
-            }
-    } else {
-        val = (const xmlChar *)
-          xmlHashLookup2(style->stripSpaces, node->name, NULL);
-    }
-    if (val != NULL) {
-        if (xmlStrEqual(val, (xmlChar *) "strip"))
-        return(1);
-        if (xmlStrEqual(val, (xmlChar *) "preserve"))
-        return(0);
-    }
-    if (style->stripAll == 1)
-        return(1);
-    if (style->stripAll == -1)
-        return(0);
-
-    style = xsltNextImport(style);
-    }
-    return(0);
-}
-
-/**
- * xsltFindTemplate:
- * @ctxt:  an XSLT transformation context
- * @name: the template name
- * @nameURI: the template name URI
- *
- * Finds the named template, apply import precedence rule.
- * REVISIT TODO: We'll change the nameURI fields of
- *  templates to be in the string dict, so if the
- *  specified @nameURI is in the same dict, then use pointer
- *  comparison. Check if this can be done in a sane way.
- *  Maybe this function is not needed internally at
- *  transformation-time if we hard-wire the called templates
- *  to the caller.
- *
- * Returns the xsltTemplatePtr or NULL if not found
- */
-xsltTemplatePtr
-xsltFindTemplate(xsltTransformContextPtr ctxt, const xmlChar *name,
-             const xmlChar *nameURI) {
-    xsltTemplatePtr cur;
-    xsltStylesheetPtr style;
-
-    if ((ctxt == NULL) || (name == NULL))
-    return(NULL);
-    style = ctxt->style;
-    while (style != NULL) {
-    cur = style->templates;
-    while (cur != NULL) {
-        if (xmlStrEqual(name, cur->name)) {
-        if (((nameURI == NULL) && (cur->nameURI == NULL)) ||
-            ((nameURI != NULL) && (cur->nameURI != NULL) &&
-             (xmlStrEqual(nameURI, cur->nameURI)))) {
-            return(cur);
-        }
-        }
-        cur = cur->next;
-    }
-
-    style = xsltNextImport(style);
-    }
-    return(NULL);
-}
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/imports.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/imports.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/imports.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Summary: interface for the XSLT import support
- * Description: macros and fuctions needed to implement and
- *              access the import tree
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_IMPORTS_H__
-#define __XML_XSLT_IMPORTS_H__
-
-#include 
-#include "xsltexports.h"
-#include "xsltInternals.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * XSLT_GET_IMPORT_PTR:
- *
- * A macro to import pointers from the stylesheet cascading order.
- */
-#define XSLT_GET_IMPORT_PTR(res, style, name) {         \
-    xsltStylesheetPtr st = style;               \
-    res = NULL;                         \
-    while (st != NULL) {                    \
-    if (st->name != NULL) { res = st->name; break; }    \
-    st = xsltNextImport(st);                \
-    }}
-
-/**
- * XSLT_GET_IMPORT_INT:
- *
- * A macro to import intergers from the stylesheet cascading order.
- */
-#define XSLT_GET_IMPORT_INT(res, style, name) {         \
-    xsltStylesheetPtr st = style;               \
-    res = -1;                           \
-    while (st != NULL) {                    \
-    if (st->name != -1) { res = st->name; break; }  \
-    st = xsltNextImport(st);                \
-    }}
-
-/*
- * Module interfaces
- */
-XSLTPUBFUN int XSLTCALL
-            xsltParseStylesheetImport(xsltStylesheetPtr style,
-                          xmlNodePtr cur);
-XSLTPUBFUN int XSLTCALL
-            xsltParseStylesheetInclude
-                         (xsltStylesheetPtr style,
-                          xmlNodePtr cur);
-XSLTPUBFUN xsltStylesheetPtr XSLTCALL
-            xsltNextImport       (xsltStylesheetPtr style);
-XSLTPUBFUN int XSLTCALL
-            xsltNeedElemSpaceHandling(xsltTransformContextPtr ctxt);
-XSLTPUBFUN int XSLTCALL
-            xsltFindElemSpaceHandling(xsltTransformContextPtr ctxt,
-                          xmlNodePtr node);
-XSLTPUBFUN xsltTemplatePtr XSLTCALL
-            xsltFindTemplate     (xsltTransformContextPtr ctxt,
-                          const xmlChar *name,
-                          const xmlChar *nameURI);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_IMPORTS_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/keys.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/keys.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/keys.c
+++ /dev/null
@@ -1,934 +0,0 @@
-/*
- * keys.c: Implemetation of the keys support
- *
- * Reference:
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltInternals.h"
-#include "xsltutils.h"
-#include "imports.h"
-#include "templates.h"
-#include "keys.h"
-
-#ifdef WITH_XSLT_DEBUG
-#define WITH_XSLT_DEBUG_KEYS
-#endif
-
-static int
-xsltInitDocKeyTable(xsltTransformContextPtr ctxt, const xmlChar *name,
-                    const xmlChar *nameURI);
-
-/************************************************************************
- *                                  *
- *          Type functions                  *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltNewKeyDef:
- * @name:  the key name or NULL
- * @nameURI:  the name URI or NULL
- *
- * Create a new XSLT KeyDef
- *
- * Returns the newly allocated xsltKeyDefPtr or NULL in case of error
- */
-static xsltKeyDefPtr
-xsltNewKeyDef(const xmlChar *name, const xmlChar *nameURI) {
-    xsltKeyDefPtr cur;
-
-    cur = (xsltKeyDefPtr) xmlMalloc(sizeof(xsltKeyDef));
-    if (cur == NULL) {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltNewKeyDef : malloc failed\n");
-    return(NULL);
-    }
-    memset(cur, 0, sizeof(xsltKeyDef));
-    if (name != NULL)
-    cur->name = xmlStrdup(name);
-    if (nameURI != NULL)
-    cur->nameURI = xmlStrdup(nameURI);
-    cur->nsList = NULL;
-    return(cur);
-}
-
-/**
- * xsltFreeKeyDef:
- * @keyd:  an XSLT key definition
- *
- * Free up the memory allocated by @keyd
- */
-static void
-xsltFreeKeyDef(xsltKeyDefPtr keyd) {
-    if (keyd == NULL)
-    return;
-    if (keyd->comp != NULL)
-    xmlXPathFreeCompExpr(keyd->comp);
-    if (keyd->usecomp != NULL)
-    xmlXPathFreeCompExpr(keyd->usecomp);
-    if (keyd->name != NULL)
-    xmlFree(keyd->name);
-    if (keyd->nameURI != NULL)
-    xmlFree(keyd->nameURI);
-    if (keyd->match != NULL)
-    xmlFree(keyd->match);
-    if (keyd->use != NULL)
-    xmlFree(keyd->use);
-    if (keyd->nsList != NULL)
-        xmlFree(keyd->nsList);
-    memset(keyd, -1, sizeof(xsltKeyDef));
-    xmlFree(keyd);
-}
-
-/**
- * xsltFreeKeyDefList:
- * @keyd:  an XSLT key definition list
- *
- * Free up the memory allocated by all the elements of @keyd
- */
-static void
-xsltFreeKeyDefList(xsltKeyDefPtr keyd) {
-    xsltKeyDefPtr cur;
-
-    while (keyd != NULL) {
-    cur = keyd;
-    keyd = keyd->next;
-    xsltFreeKeyDef(cur);
-    }
-}
-
-/**
- * xsltNewKeyTable:
- * @name:  the key name or NULL
- * @nameURI:  the name URI or NULL
- *
- * Create a new XSLT KeyTable
- *
- * Returns the newly allocated xsltKeyTablePtr or NULL in case of error
- */
-static xsltKeyTablePtr
-xsltNewKeyTable(const xmlChar *name, const xmlChar *nameURI) {
-    xsltKeyTablePtr cur;
-
-    cur = (xsltKeyTablePtr) xmlMalloc(sizeof(xsltKeyTable));
-    if (cur == NULL) {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltNewKeyTable : malloc failed\n");
-    return(NULL);
-    }
-    memset(cur, 0, sizeof(xsltKeyTable));
-    if (name != NULL)
-    cur->name = xmlStrdup(name);
-    if (nameURI != NULL)
-    cur->nameURI = xmlStrdup(nameURI);
-    cur->keys = xmlHashCreate(0);
-    return(cur);
-}
-
-/**
- * xsltFreeKeyTable:
- * @keyt:  an XSLT key table
- *
- * Free up the memory allocated by @keyt
- */
-static void
-xsltFreeKeyTable(xsltKeyTablePtr keyt) {
-    if (keyt == NULL)
-    return;
-    if (keyt->name != NULL)
-    xmlFree(keyt->name);
-    if (keyt->nameURI != NULL)
-    xmlFree(keyt->nameURI);
-    if (keyt->keys != NULL)
-    xmlHashFree(keyt->keys,
-            (xmlHashDeallocator) xmlXPathFreeNodeSet);
-    memset(keyt, -1, sizeof(xsltKeyTable));
-    xmlFree(keyt);
-}
-
-/**
- * xsltFreeKeyTableList:
- * @keyt:  an XSLT key table list
- *
- * Free up the memory allocated by all the elements of @keyt
- */
-static void
-xsltFreeKeyTableList(xsltKeyTablePtr keyt) {
-    xsltKeyTablePtr cur;
-
-    while (keyt != NULL) {
-    cur = keyt;
-    keyt = keyt->next;
-    xsltFreeKeyTable(cur);
-    }
-}
-
-/************************************************************************
- *                                  *
- *      The interpreter for the precompiled patterns        *
- *                                  *
- ************************************************************************/
-
-
-/**
- * xsltFreeKeys:
- * @style: an XSLT stylesheet
- *
- * Free up the memory used by XSLT keys in a stylesheet
- */
-void
-xsltFreeKeys(xsltStylesheetPtr style) {
-    if (style->keys)
-    xsltFreeKeyDefList((xsltKeyDefPtr) style->keys);
-}
-
-/**
- * skipString:
- * @cur: the current pointer
- * @end: the current offset
- *
- * skip a string delimited by " or '
- *
- * Returns the byte after the string or -1 in case of error
- */
-static int
-skipString(const xmlChar *cur, int end) {
-    xmlChar limit;
-
-    if ((cur == NULL) || (end < 0)) return(-1);
-    if ((cur[end] == '\'') || (cur[end] == '"')) limit = cur[end];
-    else return(end);
-    end++;
-    while (cur[end] != 0) {
-        if (cur[end] == limit)
-        return(end + 1);
-    end++;
-    }
-    return(-1);
-}
-
-/**
- * skipPredicate:
- * @cur: the current pointer
- * @end: the current offset
- *
- * skip a predicate
- *
- * Returns the byte after the predicate or -1 in case of error
- */
-static int
-skipPredicate(const xmlChar *cur, int end) {
-    if ((cur == NULL) || (end < 0)) return(-1);
-    if (cur[end] != '[') return(end);
-    end++;
-    while (cur[end] != 0) {
-        if ((cur[end] == '\'') || (cur[end] == '"')) {
-        end = skipString(cur, end);
-        if (end <= 0)
-            return(-1);
-        continue;
-    } else if (cur[end] == '[') {
-        end = skipPredicate(cur, end);
-        if (end <= 0)
-            return(-1);
-        continue;
-    } else if (cur[end] == ']')
-        return(end + 1);
-    end++;
-    }
-    return(-1);
-}
-
-/**
- * xsltAddKey:
- * @style: an XSLT stylesheet
- * @name:  the key name or NULL
- * @nameURI:  the name URI or NULL
- * @match:  the match value
- * @use:  the use value
- * @inst: the key instruction
- *
- * add a key definition to a stylesheet
- *
- * Returns 0 in case of success, and -1 in case of failure.
- */
-int
-xsltAddKey(xsltStylesheetPtr style, const xmlChar *name,
-       const xmlChar *nameURI, const xmlChar *match,
-       const xmlChar *use, xmlNodePtr inst) {
-    xsltKeyDefPtr key;
-    xmlChar *pattern = NULL;
-    int current, end, start, i = 0;
-
-    if ((style == NULL) || (name == NULL) || (match == NULL) || (use == NULL))
-    return(-1);
-
-#ifdef WITH_XSLT_DEBUG_KEYS
-    xsltGenericDebug(xsltGenericDebugContext,
-    "Add key %s, match %s, use %s\n", name, match, use);
-#endif
-
-    key = xsltNewKeyDef(name, nameURI);
-    key->match = xmlStrdup(match);
-    key->use = xmlStrdup(use);
-    key->inst = inst;
-    key->nsList = xmlGetNsList(inst->doc, inst);
-    if (key->nsList != NULL) {
-        while (key->nsList[i] != NULL)
-        i++;
-    }
-    key->nsNr = i;
-
-    /*
-     * Split the | and register it as as many keys
-     */
-    current = end = 0;
-    while (match[current] != 0) {
-    start = current;
-    while (IS_BLANK_CH(match[current]))
-        current++;
-    end = current;
-    while ((match[end] != 0) && (match[end] != '|')) {
-        if (match[end] == '[') {
-            end = skipPredicate(match, end);
-        if (end <= 0) {
-            xsltTransformError(NULL, style, inst,
-                "xsl:key : 'match' pattern is malformed: %s",
-                key->match);
-            if (style != NULL) style->errors++;
-            goto error;
-        }
-        } else
-        end++;
-    }
-    if (current == end) {
-        xsltTransformError(NULL, style, inst,
-                   "xsl:key : 'match' pattern is empty\n");
-        if (style != NULL) style->errors++;
-        goto error;
-    }
-    if (match[start] != '/') {
-        pattern = xmlStrcat(pattern, (xmlChar *)"//");
-        if (pattern == NULL) {
-        if (style != NULL) style->errors++;
-        goto error;
-        }
-    }
-    pattern = xmlStrncat(pattern, &match[start], end - start);
-    if (pattern == NULL) {
-        if (style != NULL) style->errors++;
-        goto error;
-    }
-
-    if (match[end] == '|') {
-        pattern = xmlStrcat(pattern, (xmlChar *)"|");
-        end++;
-    }
-    current = end;
-    }
-    if (pattern == NULL) {
-        xsltTransformError(NULL, style, inst,
-                           "xsl:key : 'match' pattern is empty\n");
-        if (style != NULL) style->errors++;
-        goto error;
-    }
-#ifdef WITH_XSLT_DEBUG_KEYS
-    xsltGenericDebug(xsltGenericDebugContext,
-    "   resulting pattern %s\n", pattern);
-#endif
-    /*
-    * XSLT-1: "It is an error for the value of either the use
-    *  attribute or the match attribute to contain a
-    *  VariableReference."
-    * TODO: We should report a variable-reference at compile-time.
-    *   Maybe a search for "$", if it occurs outside of quotation
-    *   marks, could be sufficient.
-    */
-#ifdef XML_XPATH_NOVAR
-    key->comp = xsltXPathCompileFlags(style, pattern, XML_XPATH_NOVAR);
-#else
-    key->comp = xsltXPathCompile(style, pattern);
-#endif
-    if (key->comp == NULL) {
-    xsltTransformError(NULL, style, inst,
-        "xsl:key : 'match' pattern compilation failed '%s'\n",
-                 pattern);
-    if (style != NULL) style->errors++;
-    }
-#ifdef XML_XPATH_NOVAR
-    key->usecomp = xsltXPathCompileFlags(style, use, XML_XPATH_NOVAR);
-#else
-    key->usecomp = xsltXPathCompile(style, use);
-#endif
-    if (key->usecomp == NULL) {
-    xsltTransformError(NULL, style, inst,
-        "xsl:key : 'use' expression compilation failed '%s'\n",
-                 use);
-    if (style != NULL) style->errors++;
-    }
-
-    /*
-     * Sometimes the stylesheet writer use the order to ease the
-     * resolution of keys when they are dependant, keep the provided
-     * order so add the new one at the end.
-     */
-    if (style->keys == NULL) {
-    style->keys = key;
-    } else {
-        xsltKeyDefPtr prev = style->keys;
-
-    while (prev->next != NULL)
-        prev = prev->next;
-
-    prev->next = key;
-    }
-    key->next = NULL;
-
-error:
-    if (pattern != NULL)
-    xmlFree(pattern);
-    return(0);
-}
-
-/**
- * xsltGetKey:
- * @ctxt: an XSLT transformation context
- * @name:  the key name or NULL
- * @nameURI:  the name URI or NULL
- * @value:  the key value to look for
- *
- * Looks up a key of the in current source doc (the document info
- * on @ctxt->document). Computes the key if not already done
- * for the current source doc.
- *
- * Returns the nodeset resulting from the query or NULL
- */
-xmlNodeSetPtr
-xsltGetKey(xsltTransformContextPtr ctxt, const xmlChar *name,
-       const xmlChar *nameURI, const xmlChar *value) {
-    xmlNodeSetPtr ret;
-    xsltKeyTablePtr table;
-    int init_table = 0;
-
-    if ((ctxt == NULL) || (name == NULL) || (value == NULL) ||
-    (ctxt->document == NULL))
-    return(NULL);
-
-#ifdef WITH_XSLT_DEBUG_KEYS
-    xsltGenericDebug(xsltGenericDebugContext,
-    "Get key %s, value %s\n", name, value);
-#endif
-
-    /*
-     * keys are computed only on-demand on first key access for a document
-     */
-    if ((ctxt->document->nbKeysComputed < ctxt->nbKeys) &&
-        (ctxt->keyInitLevel == 0)) {
-        /*
-     * If non-recursive behaviour, just try to initialize all keys
-     */
-    if (xsltInitAllDocKeys(ctxt))
-        return(NULL);
-    }
-
-retry:
-    table = (xsltKeyTablePtr) ctxt->document->keys;
-    while (table != NULL) {
-    if (((nameURI != NULL) == (table->nameURI != NULL)) &&
-        xmlStrEqual(table->name, name) &&
-        xmlStrEqual(table->nameURI, nameURI))
-    {
-        ret = (xmlNodeSetPtr)xmlHashLookup(table->keys, value);
-        return(ret);
-    }
-    table = table->next;
-    }
-
-    if ((ctxt->keyInitLevel != 0) && (init_table == 0)) {
-        /*
-     * Apparently one key is recursive and this one is needed,
-     * initialize just it, that time and retry
-     */
-        xsltInitDocKeyTable(ctxt, name, nameURI);
-    init_table = 1;
-    goto retry;
-    }
-
-    return(NULL);
-}
-
-
-/**
- * xsltInitDocKeyTable:
- *
- * INTERNAL ROUTINE ONLY
- *
- * Check if any keys on the current document need to be computed
- */
-static int
-xsltInitDocKeyTable(xsltTransformContextPtr ctxt, const xmlChar *name,
-                    const xmlChar *nameURI)
-{
-    xsltStylesheetPtr style;
-    xsltKeyDefPtr keyd = NULL;
-    int found = 0;
-
-#ifdef KEY_INIT_DEBUG
-fprintf(stderr, "xsltInitDocKeyTable %s\n", name);
-#endif
-
-    style = ctxt->style;
-    while (style != NULL) {
-    keyd = (xsltKeyDefPtr) style->keys;
-    while (keyd != NULL) {
-        if (((keyd->nameURI != NULL) ==
-         (nameURI != NULL)) &&
-        xmlStrEqual(keyd->name, name) &&
-        xmlStrEqual(keyd->nameURI, nameURI))
-        {
-        xsltInitCtxtKey(ctxt, ctxt->document, keyd);
-        if (ctxt->document->nbKeysComputed == ctxt->nbKeys)
-            return(0);
-        found = 1;
-        }
-        keyd = keyd->next;
-    }
-    style = xsltNextImport(style);
-    }
-    if (found == 0) {
-#ifdef WITH_XSLT_DEBUG_KEYS
-    XSLT_TRACE(ctxt,XSLT_TRACE_KEYS,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltInitDocKeyTable: did not found %s\n", name));
-#endif
-    xsltTransformError(ctxt, NULL, keyd? keyd->inst : NULL,
-        "Failed to find key definition for %s\n", name);
-    ctxt->state = XSLT_STATE_STOPPED;
-        return(-1);
-    }
-#ifdef KEY_INIT_DEBUG
-fprintf(stderr, "xsltInitDocKeyTable %s done\n", name);
-#endif
-    return(0);
-}
-
-/**
- * xsltInitAllDocKeys:
- * @ctxt: transformation context
- *
- * INTERNAL ROUTINE ONLY
- *
- * Check if any keys on the current document need to be computed
- *
- * Returns 0 in case of success, -1 in case of failure
- */
-int
-xsltInitAllDocKeys(xsltTransformContextPtr ctxt)
-{
-    xsltStylesheetPtr style;
-    xsltKeyDefPtr keyd;
-    xsltKeyTablePtr table;
-
-    if (ctxt == NULL)
-    return(-1);
-
-#ifdef KEY_INIT_DEBUG
-fprintf(stderr, "xsltInitAllDocKeys %d %d\n",
-        ctxt->document->nbKeysComputed, ctxt->nbKeys);
-#endif
-
-    if (ctxt->document->nbKeysComputed == ctxt->nbKeys)
-    return(0);
-
-
-    /*
-    * TODO: This could be further optimized
-    */
-    style = ctxt->style;
-    while (style) {
-    keyd = (xsltKeyDefPtr) style->keys;
-    while (keyd != NULL) {
-#ifdef KEY_INIT_DEBUG
-fprintf(stderr, "Init key %s\n", keyd->name);
-#endif
-        /*
-        * Check if keys with this QName have been already
-        * computed.
-        */
-        table = (xsltKeyTablePtr) ctxt->document->keys;
-        while (table) {
-        if (((keyd->nameURI != NULL) == (table->nameURI != NULL)) &&
-            xmlStrEqual(keyd->name, table->name) &&
-            xmlStrEqual(keyd->nameURI, table->nameURI))
-        {
-            break;
-        }
-        table = table->next;
-        }
-        if (table == NULL) {
-        /*
-        * Keys with this QName have not been yet computed.
-        */
-        xsltInitDocKeyTable(ctxt, keyd->name, keyd->nameURI);
-        }
-        keyd = keyd->next;
-    }
-    style = xsltNextImport(style);
-    }
-#ifdef KEY_INIT_DEBUG
-fprintf(stderr, "xsltInitAllDocKeys: done\n");
-#endif
-    return(0);
-}
-
-/**
- * xsltInitCtxtKey:
- * @ctxt: an XSLT transformation context
- * @idoc:  the document information (holds key values)
- * @keyDef: the key definition
- *
- * Computes the key tables this key and for the current input document.
- *
- * Returns: 0 on success, -1 on error
- */
-int
-xsltInitCtxtKey(xsltTransformContextPtr ctxt, xsltDocumentPtr idoc,
-            xsltKeyDefPtr keyDef)
-{
-    int i, len, k;
-    xmlNodeSetPtr matchList = NULL, keylist;
-    xmlXPathObjectPtr matchRes = NULL, useRes = NULL;
-    xmlChar *str = NULL;
-    xsltKeyTablePtr table;
-    xmlNodePtr oldInst, cur;
-    xmlNodePtr oldContextNode;
-    xsltDocumentPtr oldDocInfo;
-    int oldXPPos, oldXPSize;
-    xmlDocPtr oldXPDoc;
-    int oldXPNsNr;
-    xmlNsPtr *oldXPNamespaces;
-    xmlXPathContextPtr xpctxt;
-
-#ifdef KEY_INIT_DEBUG
-fprintf(stderr, "xsltInitCtxtKey %s : %d\n", keyDef->name, ctxt->keyInitLevel);
-#endif
-
-    if ((keyDef->comp == NULL) || (keyDef->usecomp == NULL))
-    return(-1);
-
-    /*
-     * Detect recursive keys
-     */
-    if (ctxt->keyInitLevel > ctxt->nbKeys) {
-#ifdef WITH_XSLT_DEBUG_KEYS
-    XSLT_TRACE(ctxt,XSLT_TRACE_KEYS,
-               xsltGenericDebug(xsltGenericDebugContext,
-               "xsltInitCtxtKey: key definition of %s is recursive\n",
-               keyDef->name));
-#endif
-    xsltTransformError(ctxt, NULL, keyDef->inst,
-        "Key definition for %s is recursive\n", keyDef->name);
-    ctxt->state = XSLT_STATE_STOPPED;
-        return(-1);
-    }
-    ctxt->keyInitLevel++;
-
-    xpctxt = ctxt->xpathCtxt;
-    idoc->nbKeysComputed++;
-    /*
-    * Save context state.
-    */
-    oldInst = ctxt->inst;
-    oldDocInfo = ctxt->document;
-    oldContextNode = ctxt->node;
-
-    oldXPDoc = xpctxt->doc;
-    oldXPPos = xpctxt->proximityPosition;
-    oldXPSize = xpctxt->contextSize;
-    oldXPNsNr = xpctxt->nsNr;
-    oldXPNamespaces = xpctxt->namespaces;
-
-    /*
-    * Set up contexts.
-    */
-    ctxt->document = idoc;
-    ctxt->node = (xmlNodePtr) idoc->doc;
-    ctxt->inst = keyDef->inst;
-
-    xpctxt->doc = idoc->doc;
-    xpctxt->node = (xmlNodePtr) idoc->doc;
-    /* TODO : clarify the use of namespaces in keys evaluation */
-    xpctxt->namespaces = keyDef->nsList;
-    xpctxt->nsNr = keyDef->nsNr;
-
-    /*
-    * Evaluate the 'match' expression of the xsl:key.
-    * TODO: The 'match' is a *pattern*.
-    */
-    matchRes = xmlXPathCompiledEval(keyDef->comp, xpctxt);
-    if (matchRes == NULL) {
-
-#ifdef WITH_XSLT_DEBUG_KEYS
-    XSLT_TRACE(ctxt,XSLT_TRACE_KEYS,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltInitCtxtKey: %s evaluation failed\n", keyDef->match));
-#endif
-    xsltTransformError(ctxt, NULL, keyDef->inst,
-        "Failed to evaluate the 'match' expression.\n");
-    ctxt->state = XSLT_STATE_STOPPED;
-    goto error;
-    } else {
-    if (matchRes->type == XPATH_NODESET) {
-        matchList = matchRes->nodesetval;
-
-#ifdef WITH_XSLT_DEBUG_KEYS
-        if (matchList != NULL)
-        XSLT_TRACE(ctxt,XSLT_TRACE_KEYS,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltInitCtxtKey: %s evaluates to %d nodes\n",
-                 keyDef->match, matchList->nodeNr));
-#endif
-    } else {
-        /*
-        * Is not a node set, but must be.
-        */
-#ifdef WITH_XSLT_DEBUG_KEYS
-        XSLT_TRACE(ctxt,XSLT_TRACE_KEYS,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltInitCtxtKey: %s is not a node set\n", keyDef->match));
-#endif
-        xsltTransformError(ctxt, NULL, keyDef->inst,
-        "The 'match' expression did not evaluate to a node set.\n");
-        ctxt->state = XSLT_STATE_STOPPED;
-        goto error;
-    }
-    }
-    if ((matchList == NULL) || (matchList->nodeNr <= 0))
-    goto exit;
-
-    /**
-     * Multiple key definitions for the same name are allowed, so
-     * we must check if the key is already present for this doc
-     */
-    table = (xsltKeyTablePtr) idoc->keys;
-    while (table != NULL) {
-        if (xmlStrEqual(table->name, keyDef->name) &&
-        (((keyDef->nameURI == NULL) && (table->nameURI == NULL)) ||
-         ((keyDef->nameURI != NULL) && (table->nameURI != NULL) &&
-          (xmlStrEqual(table->nameURI, keyDef->nameURI)))))
-        break;
-    table = table->next;
-    }
-    /**
-     * If the key was not previously defined, create it now and
-     * chain it to the list of keys for the doc
-     */
-    if (table == NULL) {
-        table = xsltNewKeyTable(keyDef->name, keyDef->nameURI);
-        if (table == NULL)
-        goto error;
-        table->next = idoc->keys;
-        idoc->keys = table;
-    }
-
-    /*
-    * SPEC XSLT 1.0 (XSLT 2.0 does not clarify the context size!)
-    * "...the use attribute of the xsl:key element is evaluated with x as
-    "  the current node and with a node list containing just x as the
-    *  current node list"
-    */
-    xpctxt->contextSize = 1;
-    xpctxt->proximityPosition = 1;
-
-    for (i = 0; i < matchList->nodeNr; i++) {
-    cur = matchList->nodeTab[i];
-    if (! IS_XSLT_REAL_NODE(cur))
-        continue;
-    xpctxt->node = cur;
-    /*
-    * Process the 'use' of the xsl:key.
-    * SPEC XSLT 1.0:
-    * "The use attribute is an expression specifying the values of
-    *  the key; the expression is evaluated once for each node that
-    *  matches the pattern."
-    */
-    if (useRes != NULL)
-        xmlXPathFreeObject(useRes);
-    useRes = xmlXPathCompiledEval(keyDef->usecomp, xpctxt);
-    if (useRes == NULL) {
-        xsltTransformError(ctxt, NULL, keyDef->inst,
-        "Failed to evaluate the 'use' expression.\n");
-        ctxt->state = XSLT_STATE_STOPPED;
-        break;
-    }
-    if (useRes->type == XPATH_NODESET) {
-        if ((useRes->nodesetval != NULL) &&
-        (useRes->nodesetval->nodeNr != 0))
-        {
-        len = useRes->nodesetval->nodeNr;
-        str = xmlXPathCastNodeToString(useRes->nodesetval->nodeTab[0]);
-        } else {
-        continue;
-        }
-    } else {
-        len = 1;
-        if (useRes->type == XPATH_STRING) {
-        /*
-        * Consume the string value.
-        */
-        str = useRes->stringval;
-        useRes->stringval = NULL;
-        } else {
-        str = xmlXPathCastToString(useRes);
-        }
-    }
-    /*
-    * Process all strings.
-    */
-    k = 0;
-    while (1) {
-        if (str == NULL)
-        goto next_string;
-
-#ifdef WITH_XSLT_DEBUG_KEYS
-        XSLT_TRACE(ctxt,XSLT_TRACE_KEYS,xsltGenericDebug(xsltGenericDebugContext,
-        "xsl:key : node associated to ('%s', '%s')\n", keyDef->name, str));
-#endif
-
-        keylist = xmlHashLookup(table->keys, str);
-        if (keylist == NULL) {
-        keylist = xmlXPathNodeSetCreate(cur);
-        if (keylist == NULL)
-            goto error;
-        xmlHashAddEntry(table->keys, str, keylist);
-        } else {
-        /*
-        * TODO: How do we know if this function failed?
-        */
-        xmlXPathNodeSetAdd(keylist, cur);
-        }
-        switch (cur->type) {
-        case XML_ELEMENT_NODE:
-        case XML_TEXT_NODE:
-        case XML_CDATA_SECTION_NODE:
-        case XML_PI_NODE:
-        case XML_COMMENT_NODE:
-            cur->psvi = keyDef;
-            break;
-        case XML_ATTRIBUTE_NODE:
-            ((xmlAttrPtr) cur)->psvi = keyDef;
-            break;
-        case XML_DOCUMENT_NODE:
-        case XML_HTML_DOCUMENT_NODE:
-            ((xmlDocPtr) cur)->psvi = keyDef;
-            break;
-        default:
-            break;
-        }
-        xmlFree(str);
-        str = NULL;
-
-next_string:
-        k++;
-        if (k >= len)
-        break;
-        str = xmlXPathCastNodeToString(useRes->nodesetval->nodeTab[k]);
-    }
-    }
-
-exit:
-error:
-    ctxt->keyInitLevel--;
-    /*
-    * Restore context state.
-    */
-    xpctxt->doc = oldXPDoc;
-    xpctxt->nsNr = oldXPNsNr;
-    xpctxt->namespaces = oldXPNamespaces;
-    xpctxt->proximityPosition = oldXPPos;
-    xpctxt->contextSize = oldXPSize;
-
-    ctxt->node = oldContextNode;
-    ctxt->document = oldDocInfo;
-    ctxt->inst = oldInst;
-
-    if (str)
-    xmlFree(str);
-    if (useRes != NULL)
-    xmlXPathFreeObject(useRes);
-    if (matchRes != NULL)
-    xmlXPathFreeObject(matchRes);
-    return(0);
-}
-
-/**
- * xsltInitCtxtKeys:
- * @ctxt:  an XSLT transformation context
- * @idoc:  a document info
- *
- * Computes all the keys tables for the current input document.
- * Should be done before global varibales are initialized.
- * NOTE: Not used anymore in the refactored code.
- */
-void
-xsltInitCtxtKeys(xsltTransformContextPtr ctxt, xsltDocumentPtr idoc) {
-    xsltStylesheetPtr style;
-    xsltKeyDefPtr keyDef;
-
-    if ((ctxt == NULL) || (idoc == NULL))
-    return;
-
-#ifdef KEY_INIT_DEBUG
-fprintf(stderr, "xsltInitCtxtKeys on document\n");
-#endif
-
-#ifdef WITH_XSLT_DEBUG_KEYS
-    if ((idoc->doc != NULL) && (idoc->doc->URL != NULL))
-    XSLT_TRACE(ctxt,XSLT_TRACE_KEYS,xsltGenericDebug(xsltGenericDebugContext, "Initializing keys on %s\n",
-             idoc->doc->URL));
-#endif
-    style = ctxt->style;
-    while (style != NULL) {
-    keyDef = (xsltKeyDefPtr) style->keys;
-    while (keyDef != NULL) {
-        xsltInitCtxtKey(ctxt, idoc, keyDef);
-
-        keyDef = keyDef->next;
-    }
-
-    style = xsltNextImport(style);
-    }
-
-#ifdef KEY_INIT_DEBUG
-fprintf(stderr, "xsltInitCtxtKeys on document: done\n");
-#endif
-
-}
-
-/**
- * xsltFreeDocumentKeys:
- * @idoc: a XSLT document
- *
- * Free the keys associated to a document
- */
-void
-xsltFreeDocumentKeys(xsltDocumentPtr idoc) {
-    if (idoc != NULL)
-        xsltFreeKeyTableList(idoc->keys);
-}
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/keys.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/keys.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/keys.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Summary:  interface for the key matching used in key() and template matches.
- * Description: implementation of the key mechanims.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_KEY_H__
-#define __XML_XSLT_KEY_H__
-
-#include 
-#include "xsltexports.h"
-#include "xsltInternals.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * NODE_IS_KEYED:
- *
- * check for bit 15 set
- */
-#define NODE_IS_KEYED (1 >> 15)
-
-XSLTPUBFUN int XSLTCALL
-        xsltAddKey      (xsltStylesheetPtr style,
-                     const xmlChar *name,
-                     const xmlChar *nameURI,
-                     const xmlChar *match,
-                     const xmlChar *use,
-                     xmlNodePtr inst);
-XSLTPUBFUN xmlNodeSetPtr XSLTCALL
-        xsltGetKey      (xsltTransformContextPtr ctxt,
-                     const xmlChar *name,
-                     const xmlChar *nameURI,
-                     const xmlChar *value);
-XSLTPUBFUN void XSLTCALL
-        xsltInitCtxtKeys    (xsltTransformContextPtr ctxt,
-                     xsltDocumentPtr doc);
-XSLTPUBFUN void XSLTCALL
-        xsltFreeKeys        (xsltStylesheetPtr style);
-XSLTPUBFUN void XSLTCALL
-        xsltFreeDocumentKeys    (xsltDocumentPtr doc);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/libxslt.3 b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/libxslt.3
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/libxslt.3
+++ /dev/null
@@ -1,31 +0,0 @@
-.TH libxslt 3 "30 August 2001"
-.SH NAME
-libxslt \- library used to do XSL transformations on XML documents
-.SH DESCRIPTION
-The 
-.I libxslt
-library is used to do XSL transformations on XML documents that
-have been loaded into memory with functions from
-.I libxml.
-.LP
-.SH FILES
-.TP 2.2i
-.B /usr/lib/libxslt_1.0.0/libxslt.a
-static library
-.TP
-.B /usr/lib/libxslt_1.0.0/libxslt.so
-sharable library
-.TP
-.B /usr/package/libxslt_1.0.0/bin/xsltproc
-binary application to do XSL transformations on the command line
-.SH AUTHORS
-Daniel Veillard (daniel@veillard.com).
-If you download and install this package look at instructions on the
-Web site http://xmlsoft.org/XSLT/ .
-Manual page by Heiko W. Rupp (hwr@pilhuhn.de)
-.SH SEE ALSO
-.IR libexslt (3), 
-.IR libxml (3), 
-.IR xsltproc (1), 
-.IR xmllint (1)
-.\" end of manual page
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/libxslt.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/libxslt.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/libxslt.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Summary: internal header only used during the compilation of libxslt
- * Description: internal header only used during the compilation of libxslt
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XSLT_LIBXSLT_H__
-#define __XSLT_LIBXSLT_H__
-
-#if defined(WIN32) && !defined (__CYGWIN__) && !defined (__MINGW32__)
-#include 
-#else
-#include "config.h"
-#endif
-
-#include 
-#include 
-
-#if !defined LIBXSLT_PUBLIC
-#if (defined (__CYGWIN__) || defined _MSC_VER) && !defined IN_LIBXSLT && !defined LIBXSLT_STATIC
-#define LIBXSLT_PUBLIC __declspec(dllimport)
-#else
-#define LIBXSLT_PUBLIC
-#endif
-#endif
-
-#endif /* ! __XSLT_LIBXSLT_H__ */
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/libxslt.syms b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/libxslt.syms
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/libxslt.syms
+++ /dev/null
@@ -1,490 +0,0 @@
-#
-# Officially exported symbols, for which header
-# file definitions are installed in /usr/include/libxslt
-#
-# Automatically generated from symbols.xml and syms.xsl
-#
-# Versions here are *fixed* to match the libxslt version
-# at which the symbol was introduced. This ensures that
-# a new client app requiring symbol foo() can't accidentally
-# run with old libxslt.so not providing foo() - the global
-# soname version info can't enforce this since we never
-# change the soname
-#
-
-LIBXML2_1.0.11 {
-    global:
-
-# attributes
-  xsltApplyAttributeSet;
-  xsltFreeAttributeSetsHashes;
-  xsltParseStylesheetAttributeSet;
-
-# documents
-  xsltFindDocument;
-  xsltFreeDocuments;
-  xsltFreeStyleDocuments;
-  xsltLoadDocument;
-  xsltLoadStyleDocument;
-  xsltNewDocument;
-  xsltNewStyleDocument;
-
-# extensions
-  xsltCheckExtPrefix;
-  xsltExtElementLookup;
-  xsltExtModuleElementLookup;
-  xsltExtModuleFunctionLookup;
-  xsltExtModuleTopLevelLookup;
-  xsltFreeCtxtExts;
-  xsltFreeExts;
-  xsltGetExtData;
-  xsltInitCtxtExts;
-  xsltInitElemPreComp;
-  xsltNewElemPreComp;
-  xsltPreComputeExtModuleElement;
-  xsltRegisterExtElement;
-  xsltRegisterExtFunction;
-  xsltRegisterExtModuleElement;
-  xsltRegisterExtModuleFull;
-  xsltRegisterExtModuleFunction;
-  xsltRegisterExtModule;
-  xsltRegisterExtModuleTopLevel;
-  xsltRegisterExtPrefix;
-  xsltRegisterTestModule;
-  xsltShutdownCtxtExts;
-  xsltShutdownExts;
-  xsltStyleGetExtData;
-  xsltUnregisterExtModuleElement;
-  xsltUnregisterExtModuleFunction;
-  xsltUnregisterExtModule;
-  xsltUnregisterExtModuleTopLevel;
-
-# extra
-  xsltDebug;
-  xsltFunctionNodeSet;
-  xsltRegisterAllExtras;
-  xsltRegisterExtras;
-
-# functions
-  xsltDocumentFunction;
-  xsltElementAvailableFunction;
-  xsltFormatNumberFunction;
-  xsltFunctionAvailableFunction;
-  xsltGenerateIdFunction;
-  xsltKeyFunction;
-  xsltRegisterAllFunctions;
-  xsltSystemPropertyFunction;
-  xsltUnparsedEntityURIFunction;
-  xsltXPathFunctionLookup;
-
-# imports
-  xsltFindElemSpaceHandling;
-  xsltFindTemplate;
-  xsltNeedElemSpaceHandling;
-  xsltNextImport;
-  xsltParseStylesheetImport;
-  xsltParseStylesheetInclude;
-
-# keys
-  xsltAddKey;
-  xsltFreeDocumentKeys;
-  xsltFreeKeys;
-  xsltGetKey;
-  xsltInitCtxtKeys;
-
-# namespaces
-  xsltCopyNamespaceList;
-  xsltCopyNamespace;
-  xsltFreeNamespaceAliasHashes;
-  xsltGetNamespace;
-  xsltGetSpecialNamespace;
-  xsltNamespaceAlias;
-
-# pattern
-  xsltAddTemplate;
-  xsltCleanupTemplates;
-  xsltCompilePattern;
-  xsltFreeCompMatchList;
-  xsltFreeTemplateHashes;
-  xsltGetTemplate;
-  xsltMatchPattern;
-  xsltTestCompMatchList;
-
-# preproc
-  xsltDocumentComp;
-  xsltFreeStylePreComps;
-  xsltStylePreCompute;
-
-# templates
-  xsltAttrListTemplateProcess;
-  xsltAttrTemplateProcess;
-  xsltAttrTemplateValueProcess;
-  xsltEvalAttrValueTemplate;
-  xsltEvalStaticAttrValueTemplate;
-  xsltEvalTemplateString;
-  xsltEvalXPathPredicate;
-  xsltEvalXPathString;
-  xsltTemplateProcess;
-
-# transform
-  xslHandleDebugger;
-  xsltApplyImports;
-  xsltApplyOneTemplate;
-  xsltApplyStripSpaces;
-  xsltApplyStylesheet;
-  xsltApplyStylesheetUser;
-  xsltApplyTemplates;
-  xsltAttribute;
-  xsltCallTemplate;
-  xsltChoose;
-  xsltComment;
-  xsltCopyOf;
-  xsltCopy;
-  xsltDocumentElem;
-  xsltElement;
-  xsltForEach;
-  xsltFreeTransformContext;
-  xsltGetXIncludeDefault;
-  xsltIf;
-  xsltNewTransformContext;
-  xsltNumber;
-  xsltProcessingInstruction;
-  xsltProfileStylesheet;
-  xsltRegisterAllElement;
-  xsltRunStylesheet;
-  xsltSetXIncludeDefault;
-  xsltSort;
-  xsltText;
-  xsltValueOf;
-
-# variables
-  xsltAddStackElemList;
-  xsltEvalGlobalVariables;
-  xsltEvalOneUserParam;
-  xsltEvalUserParams;
-  xsltFreeGlobalVariables;
-  xsltParseGlobalParam;
-  xsltParseGlobalVariable;
-  xsltParseStylesheetCallerParam;
-  xsltParseStylesheetParam;
-  xsltParseStylesheetVariable;
-  xsltQuoteOneUserParam;
-  xsltQuoteUserParams;
-  xsltVariableLookup;
-  xsltXPathVariableLookup;
-
-# xsltInternals
-  xsltDecimalFormatGetByName;
-  xsltFormatNumberConversion;
-  xsltFreeStackElemList;
-  xsltFreeStylesheet;
-  xsltIsBlank;
-  xsltLoadStylesheetPI;
-  xsltNewStylesheet;
-  xsltNumberFormat;
-  xsltParseStylesheetDoc;
-  xsltParseStylesheetFile;
-  xsltParseStylesheetOutput;
-  xsltParseStylesheetProcess;
-  xsltParseTemplateContent;
-
-# xsltutils
-  xslAddCall;
-  xslDropCall;
-  xsltCalibrateAdjust;
-  xsltDocumentSortFunction;
-  xsltDoSortFunction;
-  xsltGetNsProp;
-  xsltGetQNameURI;
-  xsltMessage;
-  xsltPrintErrorContext;
-  xsltSaveProfiling;
-  xsltSaveResultToFd;
-  xsltSaveResultToFilename;
-  xsltSaveResultToFile;
-  xsltSaveResultTo;
-  xsltSetDebuggerCallbacks;
-  xsltSetGenericDebugFunc;
-  xsltSetGenericErrorFunc;
-  xsltTimestamp;
-
-# xslt
-  xsltCleanupGlobals;
-} ;
-
-LIBXML2_1.0.12 {
-    global:
-
-# xsltInternals
-  xsltAllocateExtraCtxt;
-  xsltAllocateExtra;
-} LIBXML2_1.0.11;
-
-LIBXML2_1.0.13 {
-    global:
-
-# extensions
-  xsltExtModuleElementPreComputeLookup;
-  xsltXPathGetTransformContext;
-} LIBXML2_1.0.12;
-
-LIBXML2_1.0.16 {
-    global:
-
-# attributes
-  xsltResolveStylesheetAttributeSet;
-} LIBXML2_1.0.13;
-
-LIBXML2_1.0.17 {
-    global:
-
-# transform
-  xsltRunStylesheetUser;
-} LIBXML2_1.0.16;
-
-LIBXML2_1.0.18 {
-    global:
-
-# extensions
-  xsltDebugDumpExtensions;
-
-# xsltutils
-  xsltSaveResultToString;
-} LIBXML2_1.0.17;
-
-LIBXML2_1.0.22 {
-    global:
-
-# templates
-  xsltAttrTemplateValueProcessNode;
-
-# security
-  xsltCheckRead;
-  xsltCheckWrite;
-
-# templates
-  xsltEvalXPathStringNs;
-
-# security
-  xsltFreeSecurityPrefs;
-  xsltGetDefaultSecurityPrefs;
-  xsltGetSecurityPrefs;
-  xsltNewSecurityPrefs;
-  xsltSecurityAllow;
-  xsltSecurityForbid;
-  xsltSetCtxtSecurityPrefs;
-  xsltSetDefaultSecurityPrefs;
-  xsltSetSecurityPrefs;
-
-# xsltutils
-  xsltSetTransformErrorFunc;
-  xsltTransformError;
-} LIBXML2_1.0.18;
-
-LIBXML2_1.0.24 {
-    global:
-
-# xsltutils
-  xslDebugStatus; # variable
-  xsltComputeSortResult;
-  xsltDefaultSortFunction;
-
-# xslt
-  xsltEngineVersion; # variable
-
-# preproc
-  xsltExtMarker; # variable
-
-# xsltutils
-  xsltGenericDebugContext; # variable
-  xsltGenericDebug; # variable
-  xsltGenericErrorContext; # variable
-  xsltGenericError; # variable
-  xsltGetProfileInformation;
-  xsltGetUTF8Char;
-
-# xslt
-  xsltLibxmlVersion; # variable
-  xsltLibxsltVersion; # variable
-  xsltMaxDepth; # variable
-  xsltMaxVars; # variable
-
-# xsltInternals
-  xsltParseStylesheetImportedDoc;
-
-# xsltutils
-  xsltSetCtxtSortFunc;
-  xsltSetSortFunc;
-} LIBXML2_1.0.22;
-
-LIBXML2_1.0.30 {
-    global:
-
-# xsltInternals
-  xsltCreateRVT;
-  xsltFreeRVTs;
-  xsltRegisterPersistRVT;
-  xsltRegisterTmpRVT;
-} LIBXML2_1.0.24;
-
-LIBXML2_1.0.32 {
-    global:
-
-# transform
-  xsltCopyTextString;
-
-# extensions
-  xsltGetExtInfo;
-} LIBXML2_1.0.30;
-
-LIBXML2_1.0.33 {
-    global:
-
-# pattern
-  xsltNormalizeCompSteps;
-} LIBXML2_1.0.32;
-
-LIBXML2_1.1.0 {
-    global:
-
-# xsltutils
-  xsltGetDebuggerStatus;
-  xsltSetDebuggerStatus;
-} LIBXML2_1.0.33;
-
-LIBXML2_1.1.1 {
-    global:
-
-# xsltutils
-  xsltDebugGetDefaultTrace;
-  xsltDebugSetDefaultTrace;
-} LIBXML2_1.1.0;
-
-LIBXML2_1.1.2 {
-    global:
-
-# xsltutils
-  xsltSetCtxtParseOptions;
-} LIBXML2_1.1.1;
-
-LIBXML2_1.1.3 {
-    global:
-
-# xsltInternals
-  xsltCompileAttr;
-  xsltEvalAVT;
-  xsltFreeAVTList;
-
-# xsltutils
-  xsltGetCNsProp;
-  xsltSplitQName;
-  xsltXPathCompile;
-} LIBXML2_1.1.2;
-
-LIBXML2_1.1.5 {
-    global:
-
-# xsltutils
-  xsltGetQNameURI2;
-} LIBXML2_1.1.3;
-
-LIBXML2_1.1.7 {
-    global:
-
-# namespaces
-  xsltGetPlainNamespace;
-} LIBXML2_1.1.5;
-
-LIBXML2_1.1.9 {
-    global:
-
-# documents
-  xsltDocDefaultLoader; # variable
-  xsltSetLoaderFunc;
-} LIBXML2_1.1.7;
-
-LIBXML2_1.1.18 {
-    global:
-
-# xsltInternals
-  xsltConstNamespaceNameXSLT; # variable
-  xsltExtensionInstructionResultFinalize;
-  xsltExtensionInstructionResultRegister;
-  xsltInitCtxtKey;
-
-# xslt
-  xsltInit;
-
-# xsltInternals
-  xsltParseAnyXSLTElem;
-  xsltParseSequenceConstructor;
-  xsltPointerListAddSize;
-  xsltPointerListClear;
-  xsltPointerListCreate;
-  xsltPointerListFree;
-  xsltRegisterLocalRVT;
-  xsltReleaseRVT;
-  xsltRestoreDocumentNamespaces;
-
-# extensions
-  xsltStyleStylesheetLevelGetExtData;
-
-# xsltInternals
-# xsltTransStorageAdd; removed in 1.1.28
-# xsltTransStorageRemove; removed in 1.1.28
-  xsltUninit;
-  xsltXSLTAttrMarker; # variable
-} LIBXML2_1.1.9;
-
-LIBXML2_1.1.20 {
-    global:
-
-# transform
-  xsltLocalVariablePop;
-  xsltLocalVariablePush;
-} LIBXML2_1.1.18;
-
-LIBXML2_1.1.23 {
-    global:
-
-# xsltInternals
-  xsltInitAllDocKeys;
-} LIBXML2_1.1.20;
-
-LIBXML2_1.1.24 {
-    global:
-
-# extensions
-  xsltCheckExtURI;
-} LIBXML2_1.1.23;
-
-LIBXML2_1.1.25 {
-    global:
-
-# xsltlocale
-  xsltFreeLocale;
-  xsltLocaleStrcmp;
-  xsltNewLocale;
-  xsltStrxfrm;
-
-# extensions
-  xsltInitGlobals;
-} LIBXML2_1.1.24;
-
-LIBXML2_1.1.26 {
-    global:
-
-# transform
-  xsltProcessOneNode;
-} LIBXML2_1.1.25;
-
-LIBXML2_1.1.27 {
-    global:
-
-# xsltlocale
-  xsltFreeLocales;
-
-# xsltutils
-  xsltXPathCompileFlags;
-} LIBXML2_1.1.26;
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/namespaces.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/namespaces.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/namespaces.c
+++ /dev/null
@@ -1,851 +0,0 @@
-/*
- * namespaces.c: Implementation of the XSLT namespaces handling
- *
- * Reference:
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-
-#ifdef HAVE_SYS_TYPES_H
-#include 
-#endif
-#ifdef HAVE_MATH_H
-#include 
-#endif
-#ifdef HAVE_FLOAT_H
-#include 
-#endif
-#ifdef HAVE_IEEEFP_H
-#include 
-#endif
-#ifdef HAVE_NAN_H
-#include 
-#endif
-#ifdef HAVE_CTYPE_H
-#include 
-#endif
-#ifndef XSLT_NEED_TRIO
-#include 
-#else
-#include 
-#endif
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltInternals.h"
-#include "xsltutils.h"
-#include "namespaces.h"
-#include "imports.h"
-
-/************************************************************************
- *                                  *
- *          Module interfaces               *
- *                                  *
- ************************************************************************/
-
-#ifdef XSLT_REFACTORED
-static xsltNsAliasPtr
-xsltNewNsAlias(xsltCompilerCtxtPtr cctxt)
-{
-    xsltNsAliasPtr ret;
-
-    if (cctxt == NULL)
-    return(NULL);
-
-    ret = (xsltNsAliasPtr) xmlMalloc(sizeof(xsltNsAlias));
-    if (ret == NULL) {
-    xsltTransformError(NULL, cctxt->style, NULL,
-        "Internal error in xsltNewNsAlias(): Memory allocation failed.\n");
-    cctxt->style->errors++;
-    return(NULL);
-    }
-    memset(ret, 0, sizeof(xsltNsAlias));
-    /*
-    * TODO: Store the item at current stylesheet-level.
-    */
-    ret->next = cctxt->nsAliases;
-    cctxt->nsAliases = ret;
-
-    return(ret);
-}
-#endif /* XSLT_REFACTORED */
-/**
- * xsltNamespaceAlias:
- * @style:  the XSLT stylesheet
- * @node:  the xsl:namespace-alias node
- *
- * Read the stylesheet-prefix and result-prefix attributes, register
- * them as well as the corresponding namespace.
- */
-void
-xsltNamespaceAlias(xsltStylesheetPtr style, xmlNodePtr node)
-{
-    xmlChar *resultPrefix = NULL;
-    xmlChar *stylePrefix = NULL;
-    xmlNsPtr literalNs = NULL;
-    xmlNsPtr targetNs = NULL;
-
-#ifdef XSLT_REFACTORED
-    xsltNsAliasPtr alias;
-
-    if ((style == NULL) || (node == NULL))
-    return;
-
-    /*
-    * SPEC XSLT 1.0:
-    *  "If a namespace URI is declared to be an alias for multiple
-    *  different namespace URIs, then the declaration with the highest
-    *  import precedence is used. It is an error if there is more than
-    *  one such declaration. An XSLT processor may signal the error;
-    *  if it does not signal the error, it must recover by choosing,
-    *  from amongst the declarations with the highest import precedence,
-    *  the one that occurs last in the stylesheet."
-    *
-    * SPEC TODO: Check for the errors mentioned above.
-    */
-    /*
-    * NOTE that the XSLT 2.0 also *does* use the NULL namespace if
-    *  "#default" is used and there's no default namespace is scope.
-    *  I.e., this is *not* an error.
-    *  Most XSLT 1.0 implementations work this way.
-    *  The XSLT 1.0 spec has nothing to say on the subject.
-    */
-    /*
-    * Attribute "stylesheet-prefix".
-    */
-    stylePrefix = xmlGetNsProp(node, (const xmlChar *)"stylesheet-prefix", NULL);
-    if (stylePrefix == NULL) {
-    xsltTransformError(NULL, style, node,
-        "The attribute 'stylesheet-prefix' is missing.\n");
-    return;
-    }
-    if (xmlStrEqual(stylePrefix, (const xmlChar *)"#default"))
-    literalNs = xmlSearchNs(node->doc, node, NULL);
-    else {
-    literalNs = xmlSearchNs(node->doc, node, stylePrefix);
-    if (literalNs == NULL) {
-        xsltTransformError(NULL, style, node,
-            "Attribute 'stylesheet-prefix': There's no namespace "
-        "declaration in scope for the prefix '%s'.\n",
-            stylePrefix);
-        goto error;
-    }
-    }
-    /*
-    * Attribute "result-prefix".
-    */
-    resultPrefix = xmlGetNsProp(node, (const xmlChar *)"result-prefix", NULL);
-    if (resultPrefix == NULL) {
-    xsltTransformError(NULL, style, node,
-        "The attribute 'result-prefix' is missing.\n");
-    goto error;
-    }
-    if (xmlStrEqual(resultPrefix, (const xmlChar *)"#default"))
-    targetNs = xmlSearchNs(node->doc, node, NULL);
-    else {
-    targetNs = xmlSearchNs(node->doc, node, resultPrefix);
-
-        if (targetNs == NULL) {
-       xsltTransformError(NULL, style, node,
-            "Attribute 'result-prefix': There's no namespace "
-        "declaration in scope for the prefix '%s'.\n",
-            stylePrefix);
-        goto error;
-    }
-    }
-    /*
-     *
-     * Same alias for multiple different target namespace URIs:
-     *  TODO: The one with the highest import precedence is used.
-     *  Example:
-     *  
-     *
-     *  
-     *
-     * Same target namespace URI for multiple different aliases:
-     *  All alias-definitions will be used.
-     *  Example:
-     *  
-     *
-     *  
-     * Cases using #default:
-     *  
-     *  TODO: Has this an effect at all?
-     *
-     *  
-     *  From namespace to no namespace.
-     *
-     *  
-     *  From no namespace to namespace.
-     */
-
-
-     /*
-     * Store the ns-node in the alias-object.
-    */
-    alias = xsltNewNsAlias(XSLT_CCTXT(style));
-    if (alias == NULL)
-    return;
-    alias->literalNs = literalNs;
-    alias->targetNs = targetNs;
-    XSLT_CCTXT(style)->hasNsAliases = 1;
-
-
-#else /* XSLT_REFACTORED */
-    const xmlChar *literalNsName;
-    const xmlChar *targetNsName;
-
-
-    if ((style == NULL) || (node == NULL))
-    return;
-
-    stylePrefix = xmlGetNsProp(node, (const xmlChar *)"stylesheet-prefix", NULL);
-    if (stylePrefix == NULL) {
-    xsltTransformError(NULL, style, node,
-        "namespace-alias: stylesheet-prefix attribute missing\n");
-    return;
-    }
-    resultPrefix = xmlGetNsProp(node, (const xmlChar *)"result-prefix", NULL);
-    if (resultPrefix == NULL) {
-    xsltTransformError(NULL, style, node,
-        "namespace-alias: result-prefix attribute missing\n");
-    goto error;
-    }
-
-    if (xmlStrEqual(stylePrefix, (const xmlChar *)"#default")) {
-    literalNs = xmlSearchNs(node->doc, node, NULL);
-    if (literalNs == NULL) {
-        literalNsName = NULL;
-    } else
-        literalNsName = literalNs->href; /* Yes - set for nsAlias table */
-    } else {
-    literalNs = xmlSearchNs(node->doc, node, stylePrefix);
-
-    if ((literalNs == NULL) || (literalNs->href == NULL)) {
-        xsltTransformError(NULL, style, node,
-            "namespace-alias: prefix %s not bound to any namespace\n",
-                    stylePrefix);
-        goto error;
-    } else
-        literalNsName = literalNs->href;
-    }
-
-    /*
-     * When "#default" is used for result, if a default namespace has not
-     * been explicitly declared the special value UNDEFINED_DEFAULT_NS is
-     * put into the nsAliases table
-     */
-    if (xmlStrEqual(resultPrefix, (const xmlChar *)"#default")) {
-    targetNs = xmlSearchNs(node->doc, node, NULL);
-    if (targetNs == NULL) {
-        targetNsName = UNDEFINED_DEFAULT_NS;
-    } else
-        targetNsName = targetNs->href;
-    } else {
-    targetNs = xmlSearchNs(node->doc, node, resultPrefix);
-
-        if ((targetNs == NULL) || (targetNs->href == NULL)) {
-        xsltTransformError(NULL, style, node,
-            "namespace-alias: prefix %s not bound to any namespace\n",
-                    resultPrefix);
-        goto error;
-    } else
-        targetNsName = targetNs->href;
-    }
-    /*
-     * Special case: if #default is used for
-     *  the stylesheet-prefix (literal namespace) and there's no default
-     *  namespace in scope, we'll use style->defaultAlias for this.
-     */
-    if (literalNsName == NULL) {
-        if (targetNs != NULL) {
-        /*
-        * BUG TODO: Is it not sufficient to have only 1 field for
-        *  this, since subsequently alias declarations will
-        *  overwrite this.
-        *  Example:
-        *   
-        *   
-        *  The mapping for "foo" won't be visible anymore.
-        */
-            style->defaultAlias = targetNs->href;
-    }
-    } else {
-        if (style->nsAliases == NULL)
-        style->nsAliases = xmlHashCreate(10);
-        if (style->nsAliases == NULL) {
-        xsltTransformError(NULL, style, node,
-            "namespace-alias: cannot create hash table\n");
-        goto error;
-        }
-    xmlHashAddEntry((xmlHashTablePtr) style->nsAliases,
-        literalNsName, (void *) targetNsName);
-    }
-#endif /* else of XSLT_REFACTORED */
-
-error:
-    if (stylePrefix != NULL)
-    xmlFree(stylePrefix);
-    if (resultPrefix != NULL)
-    xmlFree(resultPrefix);
-}
-
-/**
- * xsltGetSpecialNamespace:
- * @ctxt:  the transformation context
- * @invocNode: the invoking node; e.g. a literal result element/attr;
- *             only used for error reports
- * @nsName:  the namespace name (or NULL)
- * @nsPrefix:  the suggested namespace prefix (or NULL)
- * @target:  the result element on which to anchor a namespace
- *
- * Find a matching (prefix and ns-name) ns-declaration
- * for the requested @nsName and @nsPrefix in the result tree.
- * If none is found then a new ns-declaration will be
- * added to @resultElem. If, in this case, the given prefix is
- * already in use, then a ns-declaration with a modified ns-prefix
- * be we created. Note that this function's priority is to
- * preserve ns-prefixes; it will only change a prefix if there's
- * a namespace clash.
- * If both @nsName and @nsPrefix are NULL, then this will try to
- * "undeclare" a default namespace by declaring an xmlns="".
- *
- * Returns a namespace declaration or NULL.
- */
-xmlNsPtr
-xsltGetSpecialNamespace(xsltTransformContextPtr ctxt, xmlNodePtr invocNode,
-        const xmlChar *nsName, const xmlChar *nsPrefix,
-        xmlNodePtr target)
-{
-    xmlNsPtr ns;
-    int prefixOccupied = 0;
-
-    if ((ctxt == NULL) || (target == NULL) ||
-    (target->type != XML_ELEMENT_NODE))
-    return(NULL);
-
-    /*
-    * NOTE: Namespace exclusion and ns-aliasing is performed at
-    *  compilation-time in the refactored code; so this need not be done
-    *  here (it was in the old code).
-    * NOTE: @invocNode was named @cur in the old code and was documented to
-    *  be an input node; since it was only used to anchor an error report
-    *  somewhere, we can safely change this to @invocNode, which now
-    *  will be the XSLT instruction (also a literal result element/attribute),
-    *  which was responsible for this call.
-    */
-    /*
-    * OPTIMIZE TODO: This all could be optimized by keeping track of
-    *  the ns-decls currently in-scope via a specialized context.
-    */
-    if ((nsPrefix == NULL) && ((nsName == NULL) || (nsName[0] == 0))) {
-    /*
-    * NOTE: the "undeclaration" of the default namespace was
-    * part of the logic of the old xsltGetSpecialNamespace() code,
-    * so we'll keep that mechanism.
-    * Related to the old code: bug #302020:
-    */
-    /*
-    * OPTIMIZE TODO: This all could be optimized by keeping track of
-    *  the ns-decls currently in-scope via a specialized context.
-    */
-    /*
-    * Search on the result element itself.
-    */
-    if (target->nsDef != NULL) {
-        ns = target->nsDef;
-        do {
-        if (ns->prefix == NULL) {
-            if ((ns->href != NULL) && (ns->href[0] != 0)) {
-            /*
-            * Raise a namespace normalization error.
-            */
-            xsltTransformError(ctxt, NULL, invocNode,
-                "Namespace normalization error: Cannot undeclare "
-                "the default namespace, since the default namespace "
-                "'%s' is already declared on the result element "
-                "'%s'.\n", ns->href, target->name);
-            return(NULL);
-            } else {
-            /*
-            * The default namespace was undeclared on the
-            * result element.
-            */
-            return(NULL);
-            }
-            break;
-        }
-        ns = ns->next;
-        } while (ns != NULL);
-    }
-    if ((target->parent != NULL) &&
-        (target->parent->type == XML_ELEMENT_NODE))
-    {
-        /*
-        * The parent element is in no namespace, so assume
-        * that there is no default namespace in scope.
-        */
-        if (target->parent->ns == NULL)
-        return(NULL);
-
-        ns = xmlSearchNs(target->doc, target->parent,
-        NULL);
-        /*
-        * Fine if there's no default ns is scope, or if the
-        * default ns was undeclared.
-        */
-        if ((ns == NULL) || (ns->href == NULL) || (ns->href[0] == 0))
-        return(NULL);
-
-        /*
-        * Undeclare the default namespace.
-        */
-        xmlNewNs(target, BAD_CAST "", NULL);
-        /* TODO: Check result */
-        return(NULL);
-    }
-    return(NULL);
-    }
-    /*
-    * Handle the XML namespace.
-    * QUESTION: Is this faster than using xmlStrEqual() anyway?
-    */
-    if ((nsPrefix != NULL) &&
-    (nsPrefix[0] == 'x') && (nsPrefix[1] == 'm') &&
-    (nsPrefix[2] == 'l') && (nsPrefix[3] == 0))
-    {
-    return(xmlSearchNs(target->doc, target, nsPrefix));
-    }
-    /*
-    * First: search on the result element itself.
-    */
-    if (target->nsDef != NULL) {
-    ns = target->nsDef;
-    do {
-        if ((ns->prefix == NULL) == (nsPrefix == NULL)) {
-        if (ns->prefix == nsPrefix) {
-            if (xmlStrEqual(ns->href, nsName))
-            return(ns);
-            prefixOccupied = 1;
-            break;
-        } else if (xmlStrEqual(ns->prefix, nsPrefix)) {
-            if (xmlStrEqual(ns->href, nsName))
-            return(ns);
-            prefixOccupied = 1;
-            break;
-        }
-        }
-        ns = ns->next;
-    } while (ns != NULL);
-    }
-    if (prefixOccupied) {
-    /*
-    * If the ns-prefix is occupied by an other ns-decl on the
-    * result element, then this means:
-    * 1) The desired prefix is shadowed
-    * 2) There's no way around changing the prefix
-    *
-    * Try a desperate search for an in-scope ns-decl
-    * with a matching ns-name before we use the last option,
-    * which is to recreate the ns-decl with a modified prefix.
-    */
-    ns = xmlSearchNsByHref(target->doc, target, nsName);
-    if (ns != NULL)
-        return(ns);
-
-    /*
-    * Fallback to changing the prefix.
-    */
-    } else if ((target->parent != NULL) &&
-    (target->parent->type == XML_ELEMENT_NODE))
-    {
-    /*
-    * Try to find a matching ns-decl in the ancestor-axis.
-    *
-    * Check the common case: The parent element of the current
-    * result element is in the same namespace (with an equal ns-prefix).
-    */
-    if ((target->parent->ns != NULL) &&
-        ((target->parent->ns->prefix != NULL) == (nsPrefix != NULL)))
-    {
-        ns = target->parent->ns;
-
-        if (nsPrefix == NULL) {
-        if (xmlStrEqual(ns->href, nsName))
-            return(ns);
-        } else if (xmlStrEqual(ns->prefix, nsPrefix) &&
-        xmlStrEqual(ns->href, nsName))
-        {
-        return(ns);
-        }
-    }
-    /*
-    * Lookup the remaining in-scope namespaces.
-    */
-    ns = xmlSearchNs(target->doc, target->parent, nsPrefix);
-    if (ns != NULL) {
-        if (xmlStrEqual(ns->href, nsName))
-        return(ns);
-        /*
-        * Now check for a nasty case: We need to ensure that the new
-        * ns-decl won't shadow a prefix in-use by an existing attribute.
-        * 
-        *   
-        *     
-        *        val-b
-        *   
-        * 
-        */
-        if (target->properties) {
-        xmlAttrPtr attr = target->properties;
-        do {
-            if ((attr->ns) &&
-            xmlStrEqual(attr->ns->prefix, nsPrefix))
-            {
-            /*
-            * Bad, this prefix is already in use.
-            * Since we'll change the prefix anyway, try
-            * a search for a matching ns-decl based on the
-            * namespace name.
-            */
-            ns = xmlSearchNsByHref(target->doc, target, nsName);
-            if (ns != NULL)
-                return(ns);
-            goto declare_new_prefix;
-            }
-            attr = attr->next;
-        } while (attr != NULL);
-        }
-    } else {
-        /*
-        * Either no matching ns-prefix was found or the namespace is
-        * shadowed.
-        * Create a new ns-decl on the current result element.
-        *
-        * Hmm, we could also try to reuse an in-scope
-        * namespace with a matching ns-name but a different
-        * ns-prefix.
-        * What has higher priority?
-        *  1) If keeping the prefix: create a new ns-decl.
-        *  2) If reusal: first lookup ns-names; then fallback
-        *     to creation of a new ns-decl.
-        * REVISIT: this currently uses case 1) although
-        *  the old way was use xmlSearchNsByHref() and to let change
-        *  the prefix.
-        */
-#if 0
-        ns = xmlSearchNsByHref(target->doc, target, nsName);
-        if (ns != NULL)
-        return(ns);
-#endif
-    }
-    /*
-    * Create the ns-decl on the current result element.
-    */
-    ns = xmlNewNs(target, nsName, nsPrefix);
-    /* TODO: check errors */
-    return(ns);
-    } else {
-    /*
-    * This is either the root of the tree or something weird is going on.
-    */
-    ns = xmlNewNs(target, nsName, nsPrefix);
-    /* TODO: Check result */
-    return(ns);
-    }
-
-declare_new_prefix:
-    /*
-    * Fallback: we need to generate a new prefix and declare the namespace
-    * on the result element.
-    */
-    {
-    xmlChar pref[30];
-    int counter = 1;
-
-    if (nsPrefix == NULL) {
-        nsPrefix = BAD_CAST "ns";
-    }
-
-    do {
-        snprintf((char *) pref, 30, "%s_%d", nsPrefix, counter++);
-        ns = xmlSearchNs(target->doc, target, BAD_CAST pref);
-        if (counter > 1000) {
-        xsltTransformError(ctxt, NULL, invocNode,
-            "Internal error in xsltAcquireResultInScopeNs(): "
-            "Failed to compute a unique ns-prefix for the "
-            "generated element");
-        return(NULL);
-        }
-    } while (ns != NULL);
-    ns = xmlNewNs(target, nsName, BAD_CAST pref);
-    /* TODO: Check result */
-    return(ns);
-    }
-    return(NULL);
-}
-
-/**
- * xsltGetNamespace:
- * @ctxt:  a transformation context
- * @cur:  the input node
- * @ns:  the namespace
- * @out:  the output node (or its parent)
- *
- * Find a matching (prefix and ns-name) ns-declaration
- * for the requested @ns->prefix and @ns->href in the result tree.
- * If none is found then a new ns-declaration will be
- * added to @resultElem. If, in this case, the given prefix is
- * already in use, then a ns-declaration with a modified ns-prefix
- * be we created.
- *
- * Called by:
- *  - xsltCopyPropList() (*not*  anymore)
- *  - xsltShallowCopyElement()
- *  - xsltCopyTreeInternal() (*not*  anymore)
- *  - xsltApplySequenceConstructor() (*not* in the refactored code),
- *  - xsltElement() (*not* anymore)
- *
- * Returns a namespace declaration or NULL in case of
- *         namespace fixup failures or API or internal errors.
- */
-xmlNsPtr
-xsltGetNamespace(xsltTransformContextPtr ctxt, xmlNodePtr cur, xmlNsPtr ns,
-             xmlNodePtr out)
-{
-
-    if (ns == NULL)
-    return(NULL);
-
-#ifdef XSLT_REFACTORED
-    /*
-    * Namespace exclusion and ns-aliasing is performed at
-    * compilation-time in the refactored code.
-    * Additionally, aliasing is not intended for non Literal
-    * Result Elements.
-    */
-    return(xsltGetSpecialNamespace(ctxt, cur, ns->href, ns->prefix, out));
-#else
-    {
-    xsltStylesheetPtr style;
-    const xmlChar *URI = NULL; /* the replacement URI */
-
-    if ((ctxt == NULL) || (cur == NULL) || (out == NULL))
-        return(NULL);
-
-    style = ctxt->style;
-    while (style != NULL) {
-        if (style->nsAliases != NULL)
-        URI = (const xmlChar *)
-        xmlHashLookup(style->nsAliases, ns->href);
-        if (URI != NULL)
-        break;
-
-        style = xsltNextImport(style);
-    }
-
-
-    if (URI == UNDEFINED_DEFAULT_NS) {
-        return(xsltGetSpecialNamespace(ctxt, cur, NULL, NULL, out));
-#if 0
-        /*
-        * TODO: Removed, since wrong. If there was no default
-        * namespace in the stylesheet then this must resolve to
-        * the NULL namespace.
-        */
-        xmlNsPtr dflt;
-        dflt = xmlSearchNs(cur->doc, cur, NULL);
-        if (dflt != NULL)
-        URI = dflt->href;
-        else
-        return NULL;
-#endif
-    } else if (URI == NULL)
-        URI = ns->href;
-
-    return(xsltGetSpecialNamespace(ctxt, cur, URI, ns->prefix, out));
-    }
-#endif
-}
-
-/**
- * xsltGetPlainNamespace:
- * @ctxt:  a transformation context
- * @cur:  the input node
- * @ns:  the namespace
- * @out:  the result element
- *
- * Obsolete.
- * *Not* called by any Libxslt/Libexslt function.
- * Exaclty the same as xsltGetNamespace().
- *
- * Returns a namespace declaration or NULL in case of
- *         namespace fixup failures or API or internal errors.
- */
-xmlNsPtr
-xsltGetPlainNamespace(xsltTransformContextPtr ctxt, xmlNodePtr cur,
-                      xmlNsPtr ns, xmlNodePtr out)
-{
-    return(xsltGetNamespace(ctxt, cur, ns, out));
-}
-
-/**
- * xsltCopyNamespaceList:
- * @ctxt:  a transformation context
- * @node:  the target node
- * @cur:  the first namespace
- *
- * Do a copy of an namespace list. If @node is non-NULL the
- * new namespaces are added automatically. This handles namespaces
- * aliases.
- * This function is intended only for *internal* use at
- * transformation-time for copying ns-declarations of Literal
- * Result Elements.
- *
- * Called by:
- *   xsltCopyTreeInternal() (transform.c)
- *   xsltShallowCopyElem() (transform.c)
- *
- * REVISIT: This function won't be used in the refactored code.
- *
- * Returns: a new xmlNsPtr, or NULL in case of error.
- */
-xmlNsPtr
-xsltCopyNamespaceList(xsltTransformContextPtr ctxt, xmlNodePtr node,
-                  xmlNsPtr cur) {
-    xmlNsPtr ret = NULL, tmp;
-    xmlNsPtr p = NULL,q;
-
-    if (cur == NULL)
-    return(NULL);
-    if (cur->type != XML_NAMESPACE_DECL)
-    return(NULL);
-
-    /*
-     * One can add namespaces only on element nodes
-     */
-    if ((node != NULL) && (node->type != XML_ELEMENT_NODE))
-    node = NULL;
-
-    while (cur != NULL) {
-    if (cur->type != XML_NAMESPACE_DECL)
-        break;
-
-    /*
-     * Avoid duplicating namespace declarations in the tree if
-     * a matching declaration is in scope.
-     */
-    if (node != NULL) {
-        if ((node->ns != NULL) &&
-        (xmlStrEqual(node->ns->prefix, cur->prefix)) &&
-    (xmlStrEqual(node->ns->href, cur->href))) {
-        cur = cur->next;
-        continue;
-        }
-        tmp = xmlSearchNs(node->doc, node, cur->prefix);
-        if ((tmp != NULL) && (xmlStrEqual(tmp->href, cur->href))) {
-        cur = cur->next;
-        continue;
-        }
-    }
-#ifdef XSLT_REFACTORED
-    /*
-    * Namespace exclusion and ns-aliasing is performed at
-    * compilation-time in the refactored code.
-    */
-    q = xmlNewNs(node, cur->href, cur->prefix);
-    if (p == NULL) {
-        ret = p = q;
-    } else {
-        p->next = q;
-        p = q;
-    }
-#else
-    /*
-    * TODO: Remove this if the refactored code gets enabled.
-    */
-    if (!xmlStrEqual(cur->href, XSLT_NAMESPACE)) {
-        const xmlChar *URI;
-        /* TODO apply cascading */
-        URI = (const xmlChar *) xmlHashLookup(ctxt->style->nsAliases,
-                                          cur->href);
-        if (URI == UNDEFINED_DEFAULT_NS)
-            continue;
-        if (URI != NULL) {
-        q = xmlNewNs(node, URI, cur->prefix);
-        } else {
-        q = xmlNewNs(node, cur->href, cur->prefix);
-        }
-        if (p == NULL) {
-        ret = p = q;
-        } else {
-        p->next = q;
-        p = q;
-        }
-    }
-#endif
-    cur = cur->next;
-    }
-    return(ret);
-}
-
-/**
- * xsltCopyNamespace:
- * @ctxt:  a transformation context
- * @elem:  the target element node
- * @ns:  the namespace node
- *
- * Copies a namespace node (declaration). If @elem is not NULL,
- * then the new namespace will be declared on @elem.
- *
- * Returns: a new xmlNsPtr, or NULL in case of an error.
- */
-xmlNsPtr
-xsltCopyNamespace(xsltTransformContextPtr ctxt ATTRIBUTE_UNUSED,
-          xmlNodePtr elem, xmlNsPtr ns)
-{
-    if ((ns == NULL) || (ns->type != XML_NAMESPACE_DECL))
-    return(NULL);
-    /*
-     * One can add namespaces only on element nodes
-     */
-    if ((elem != NULL) && (elem->type != XML_ELEMENT_NODE))
-    return(xmlNewNs(NULL, ns->href, ns->prefix));
-    else
-    return(xmlNewNs(elem, ns->href, ns->prefix));
-}
-
-
-/**
- * xsltFreeNamespaceAliasHashes:
- * @style: an XSLT stylesheet
- *
- * Free up the memory used by namespaces aliases
- */
-void
-xsltFreeNamespaceAliasHashes(xsltStylesheetPtr style) {
-    if (style->nsAliases != NULL)
-    xmlHashFree((xmlHashTablePtr) style->nsAliases, NULL);
-    style->nsAliases = NULL;
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/namespaces.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/namespaces.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/namespaces.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Summary: interface for the XSLT namespace handling
- * Description: set of function easing the processing and generation
- *              of namespace nodes in XSLT.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_NAMESPACES_H__
-#define __XML_XSLT_NAMESPACES_H__
-
-#include 
-#include "xsltexports.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Used within nsAliases hashtable when the default namespace is required
- * but it's not been explicitly defined
- */
-/**
- * UNDEFINED_DEFAULT_NS:
- *
- * Special value for undefined namespace, internal
- */
-#define UNDEFINED_DEFAULT_NS    (const xmlChar *) -1L
-
-XSLTPUBFUN void XSLTCALL
-        xsltNamespaceAlias  (xsltStylesheetPtr style,
-                     xmlNodePtr node);
-XSLTPUBFUN xmlNsPtr XSLTCALL
-        xsltGetNamespace    (xsltTransformContextPtr ctxt,
-                     xmlNodePtr cur,
-                     xmlNsPtr ns,
-                     xmlNodePtr out);
-XSLTPUBFUN xmlNsPtr XSLTCALL
-        xsltGetPlainNamespace   (xsltTransformContextPtr ctxt,
-                     xmlNodePtr cur,
-                     xmlNsPtr ns,
-                     xmlNodePtr out);
-XSLTPUBFUN xmlNsPtr XSLTCALL
-        xsltGetSpecialNamespace (xsltTransformContextPtr ctxt,
-                     xmlNodePtr cur,
-                     const xmlChar *URI,
-                     const xmlChar *prefix,
-                     xmlNodePtr out);
-XSLTPUBFUN xmlNsPtr XSLTCALL
-        xsltCopyNamespace   (xsltTransformContextPtr ctxt,
-                     xmlNodePtr elem,
-                     xmlNsPtr ns);
-XSLTPUBFUN xmlNsPtr XSLTCALL
-        xsltCopyNamespaceList   (xsltTransformContextPtr ctxt,
-                     xmlNodePtr node,
-                     xmlNsPtr cur);
-XSLTPUBFUN void XSLTCALL
-        xsltFreeNamespaceAliasHashes
-                    (xsltStylesheetPtr style);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_NAMESPACES_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/numbers.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/numbers.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/numbers.c
+++ /dev/null
@@ -1,1328 +0,0 @@
-/*
- * numbers.c: Implementation of the XSLT number functions
- *
- * Reference:
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- * Bjorn Reese 
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xsltutils.h"
-#include "pattern.h"
-#include "templates.h"
-#include "transform.h"
-#include "numbersInternals.h"
-
-#ifndef FALSE
-# define FALSE (0 == 1)
-# define TRUE (1 == 1)
-#endif
-
-#define SYMBOL_QUOTE        ((xmlChar)'\'')
-
-#define DEFAULT_TOKEN       (xmlChar)'0'
-#define DEFAULT_SEPARATOR   "."
-
-#define MAX_TOKENS      1024
-
-typedef struct _xsltFormatToken xsltFormatToken;
-typedef xsltFormatToken *xsltFormatTokenPtr;
-struct _xsltFormatToken {
-    xmlChar *separator;
-    xmlChar  token;
-    int      width;
-};
-
-typedef struct _xsltFormat xsltFormat;
-typedef xsltFormat *xsltFormatPtr;
-struct _xsltFormat {
-    xmlChar     *start;
-    xsltFormatToken  tokens[MAX_TOKENS];
-    int          nTokens;
-    xmlChar     *end;
-};
-
-static char alpha_upper_list[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-static char alpha_lower_list[] = "abcdefghijklmnopqrstuvwxyz";
-static xsltFormatToken default_token;
-
-/*
- * **** Start temp insert ****
- *
- * The following two routines (xsltUTF8Size and xsltUTF8Charcmp)
- * will be replaced with calls to the corresponding libxml routines
- * at a later date (when other inter-library dependencies require it)
- */
-
-/**
- * xsltUTF8Size:
- * @utf: pointer to the UTF8 character
- *
- * returns the numbers of bytes in the character, -1 on format error
- */
-static int
-xsltUTF8Size(xmlChar *utf) {
-    xmlChar mask;
-    int len;
-
-    if (utf == NULL)
-        return -1;
-    if (*utf < 0x80)
-        return 1;
-    /* check valid UTF8 character */
-    if (!(*utf & 0x40))
-        return -1;
-    /* determine number of bytes in char */
-    len = 2;
-    for (mask=0x20; mask != 0; mask>>=1) {
-        if (!(*utf & mask))
-            return len;
-        len++;
-    }
-    return -1;
-}
-
-/**
- * xsltUTF8Charcmp
- * @utf1: pointer to first UTF8 char
- * @utf2: pointer to second UTF8 char
- *
- * returns result of comparing the two UCS4 values
- * as with xmlStrncmp
- */
-static int
-xsltUTF8Charcmp(xmlChar *utf1, xmlChar *utf2) {
-
-    if (utf1 == NULL ) {
-        if (utf2 == NULL)
-            return 0;
-        return -1;
-    }
-    return xmlStrncmp(utf1, utf2, xsltUTF8Size(utf1));
-}
-
-/***** Stop temp insert *****/
-/************************************************************************
- *                                  *
- *          Utility functions               *
- *                                  *
- ************************************************************************/
-
-#define IS_SPECIAL(self,letter)         \
-    ((xsltUTF8Charcmp((letter), (self)->zeroDigit) == 0)        ||  \
-     (xsltUTF8Charcmp((letter), (self)->digit) == 0)        ||  \
-     (xsltUTF8Charcmp((letter), (self)->decimalPoint) == 0)  || \
-     (xsltUTF8Charcmp((letter), (self)->grouping) == 0)     ||  \
-     (xsltUTF8Charcmp((letter), (self)->patternSeparator) == 0))
-
-#define IS_DIGIT_ZERO(x) xsltIsDigitZero(x)
-#define IS_DIGIT_ONE(x) xsltIsDigitZero((xmlChar)(x)-1)
-
-static int
-xsltIsDigitZero(unsigned int ch)
-{
-    /*
-     * Reference: ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt
-     */
-    switch (ch) {
-    case 0x0030: case 0x0660: case 0x06F0: case 0x0966:
-    case 0x09E6: case 0x0A66: case 0x0AE6: case 0x0B66:
-    case 0x0C66: case 0x0CE6: case 0x0D66: case 0x0E50:
-    case 0x0E60: case 0x0F20: case 0x1040: case 0x17E0:
-    case 0x1810: case 0xFF10:
-    return TRUE;
-    default:
-    return FALSE;
-    }
-}
-
-static void
-xsltNumberFormatDecimal(xmlBufferPtr buffer,
-            double number,
-            int digit_zero,
-            int width,
-            int digitsPerGroup,
-            int groupingCharacter,
-            int groupingCharacterLen)
-{
-    /*
-     * This used to be
-     *  xmlChar temp_string[sizeof(double) * CHAR_BIT * sizeof(xmlChar) + 4];
-     * which would be length 68 on x86 arch.  It was changed to be a longer,
-     * fixed length in order to try to cater for (reasonable) UTF8
-     * separators and numeric characters.  The max UTF8 char size will be
-     * 6 or less, so the value used [500] should be *much* larger than needed
-     */
-    xmlChar temp_string[500];
-    xmlChar *pointer;
-    xmlChar temp_char[6];
-    int i;
-    int val;
-    int len;
-
-    /* Build buffer from back */
-    pointer = &temp_string[sizeof(temp_string)] - 1;    /* last char */
-    *pointer = 0;
-    i = 0;
-    while (pointer > temp_string) {
-    if ((i >= width) && (fabs(number) < 1.0))
-        break; /* for */
-    if ((i > 0) && (groupingCharacter != 0) &&
-        (digitsPerGroup > 0) &&
-        ((i % digitsPerGroup) == 0)) {
-        if (pointer - groupingCharacterLen < temp_string) {
-            i = -1;     /* flag error */
-        break;
-        }
-        pointer -= groupingCharacterLen;
-        xmlCopyCharMultiByte(pointer, groupingCharacter);
-    }
-
-    val = digit_zero + (int)fmod(number, 10.0);
-    if (val < 0x80) {           /* shortcut if ASCII */
-        if (pointer <= temp_string) {   /* Check enough room */
-            i = -1;
-        break;
-        }
-        *(--pointer) = val;
-    }
-    else {
-    /*
-     * Here we have a multibyte character.  It's a little messy,
-     * because until we generate the char we don't know how long
-     * it is.  So, we generate it into the buffer temp_char, then
-     * copy from there into temp_string.
-     */
-        len = xmlCopyCharMultiByte(temp_char, val);
-        if ( (pointer - len) < temp_string ) {
-            i = -1;
-        break;
-        }
-        pointer -= len;
-        memcpy(pointer, temp_char, len);
-    }
-    number /= 10.0;
-    ++i;
-    }
-    if (i < 0)
-        xsltGenericError(xsltGenericErrorContext,
-        "xsltNumberFormatDecimal: Internal buffer size exceeded");
-    xmlBufferCat(buffer, pointer);
-}
-
-static void
-xsltNumberFormatAlpha(xmlBufferPtr buffer,
-              double number,
-              int is_upper)
-{
-    char temp_string[sizeof(double) * CHAR_BIT * sizeof(xmlChar) + 1];
-    char *pointer;
-    int i;
-    char *alpha_list;
-    double alpha_size = (double)(sizeof(alpha_upper_list) - 1);
-
-    /* Build buffer from back */
-    pointer = &temp_string[sizeof(temp_string)];
-    *(--pointer) = 0;
-    alpha_list = (is_upper) ? alpha_upper_list : alpha_lower_list;
-
-    for (i = 1; i < (int)sizeof(temp_string); i++) {
-    number--;
-    *(--pointer) = alpha_list[((int)fmod(number, alpha_size))];
-    number /= alpha_size;
-    if (fabs(number) < 1.0)
-        break; /* for */
-    }
-    xmlBufferCCat(buffer, pointer);
-}
-
-static void
-xsltNumberFormatRoman(xmlBufferPtr buffer,
-              double number,
-              int is_upper)
-{
-    /*
-     * Based on an example by Jim Walsh
-     */
-    while (number >= 1000.0) {
-    xmlBufferCCat(buffer, (is_upper) ? "M" : "m");
-    number -= 1000.0;
-    }
-    if (number >= 900.0) {
-    xmlBufferCCat(buffer, (is_upper) ? "CM" : "cm");
-    number -= 900.0;
-    }
-    while (number >= 500.0) {
-    xmlBufferCCat(buffer, (is_upper) ? "D" : "d");
-    number -= 500.0;
-    }
-    if (number >= 400.0) {
-    xmlBufferCCat(buffer, (is_upper) ? "CD" : "cd");
-    number -= 400.0;
-    }
-    while (number >= 100.0) {
-    xmlBufferCCat(buffer, (is_upper) ? "C" : "c");
-    number -= 100.0;
-    }
-    if (number >= 90.0) {
-    xmlBufferCCat(buffer, (is_upper) ? "XC" : "xc");
-    number -= 90.0;
-    }
-    while (number >= 50.0) {
-    xmlBufferCCat(buffer, (is_upper) ? "L" : "l");
-    number -= 50.0;
-    }
-    if (number >= 40.0) {
-    xmlBufferCCat(buffer, (is_upper) ? "XL" : "xl");
-    number -= 40.0;
-    }
-    while (number >= 10.0) {
-    xmlBufferCCat(buffer, (is_upper) ? "X" : "x");
-    number -= 10.0;
-    }
-    if (number >= 9.0) {
-    xmlBufferCCat(buffer, (is_upper) ? "IX" : "ix");
-    number -= 9.0;
-    }
-    while (number >= 5.0) {
-    xmlBufferCCat(buffer, (is_upper) ? "V" : "v");
-    number -= 5.0;
-    }
-    if (number >= 4.0) {
-    xmlBufferCCat(buffer, (is_upper) ? "IV" : "iv");
-    number -= 4.0;
-    }
-    while (number >= 1.0) {
-    xmlBufferCCat(buffer, (is_upper) ? "I" : "i");
-    number--;
-    }
-}
-
-static void
-xsltNumberFormatTokenize(const xmlChar *format,
-             xsltFormatPtr tokens)
-{
-    int ix = 0;
-    int j;
-    int val;
-    int len;
-
-    default_token.token = DEFAULT_TOKEN;
-    default_token.width = 1;
-    default_token.separator = BAD_CAST(DEFAULT_SEPARATOR);
-
-
-    tokens->start = NULL;
-    tokens->tokens[0].separator = NULL;
-    tokens->end = NULL;
-
-    /*
-     * Insert initial non-alphanumeric token.
-     * There is always such a token in the list, even if NULL
-     */
-    while (! (IS_LETTER(val=xmlStringCurrentChar(NULL, format+ix, &len)) ||
-          IS_DIGIT(val)) ) {
-    if (format[ix] == 0)        /* if end of format string */
-        break; /* while */
-    ix += len;
-    }
-    if (ix > 0)
-    tokens->start = xmlStrndup(format, ix);
-
-
-    for (tokens->nTokens = 0; tokens->nTokens < MAX_TOKENS;
-     tokens->nTokens++) {
-    if (format[ix] == 0)
-        break; /* for */
-
-    /*
-     * separator has already been parsed (except for the first
-     * number) in tokens->end, recover it.
-     */
-    if (tokens->nTokens > 0) {
-        tokens->tokens[tokens->nTokens].separator = tokens->end;
-        tokens->end = NULL;
-    }
-
-    val = xmlStringCurrentChar(NULL, format+ix, &len);
-    if (IS_DIGIT_ONE(val) ||
-         IS_DIGIT_ZERO(val)) {
-        tokens->tokens[tokens->nTokens].width = 1;
-        while (IS_DIGIT_ZERO(val)) {
-        tokens->tokens[tokens->nTokens].width++;
-        ix += len;
-        val = xmlStringCurrentChar(NULL, format+ix, &len);
-        }
-        if (IS_DIGIT_ONE(val)) {
-        tokens->tokens[tokens->nTokens].token = val - 1;
-        ix += len;
-        val = xmlStringCurrentChar(NULL, format+ix, &len);
-        }
-    } else if ( (val == (xmlChar)'A') ||
-            (val == (xmlChar)'a') ||
-            (val == (xmlChar)'I') ||
-            (val == (xmlChar)'i') ) {
-        tokens->tokens[tokens->nTokens].token = val;
-        ix += len;
-        val = xmlStringCurrentChar(NULL, format+ix, &len);
-    } else {
-        /* XSLT section 7.7
-         * "Any other format token indicates a numbering sequence
-         *  that starts with that token. If an implementation does
-         *  not support a numbering sequence that starts with that
-         *  token, it must use a format token of 1."
-         */
-        tokens->tokens[tokens->nTokens].token = (xmlChar)'0';
-        tokens->tokens[tokens->nTokens].width = 1;
-    }
-    /*
-     * Skip over remaining alphanumeric characters from the Nd
-     * (Number, decimal digit), Nl (Number, letter), No (Number,
-     * other), Lu (Letter, uppercase), Ll (Letter, lowercase), Lt
-     * (Letters, titlecase), Lm (Letters, modifiers), and Lo
-     * (Letters, other (uncased)) Unicode categories. This happens
-     * to correspond to the Letter and Digit classes from XML (and
-     * one wonders why XSLT doesn't refer to these instead).
-     */
-    while (IS_LETTER(val) || IS_DIGIT(val)) {
-        ix += len;
-        val = xmlStringCurrentChar(NULL, format+ix, &len);
-    }
-
-    /*
-     * Insert temporary non-alphanumeric final tooken.
-     */
-    j = ix;
-    while (! (IS_LETTER(val) || IS_DIGIT(val))) {
-        if (val == 0)
-        break; /* while */
-        ix += len;
-        val = xmlStringCurrentChar(NULL, format+ix, &len);
-    }
-    if (ix > j)
-        tokens->end = xmlStrndup(&format[j], ix - j);
-    }
-}
-
-static void
-xsltNumberFormatInsertNumbers(xsltNumberDataPtr data,
-                  double *numbers,
-                  int numbers_max,
-                  xsltFormatPtr tokens,
-                  xmlBufferPtr buffer)
-{
-    int i = 0;
-    double number;
-    xsltFormatTokenPtr token;
-
-    /*
-     * Handle initial non-alphanumeric token
-     */
-    if (tokens->start != NULL)
-     xmlBufferCat(buffer, tokens->start);
-
-    for (i = 0; i < numbers_max; i++) {
-    /* Insert number */
-    number = numbers[(numbers_max - 1) - i];
-    if (i < tokens->nTokens) {
-      /*
-       * The "n"th format token will be used to format the "n"th
-       * number in the list
-       */
-      token = &(tokens->tokens[i]);
-    } else if (tokens->nTokens > 0) {
-      /*
-       * If there are more numbers than format tokens, then the
-       * last format token will be used to format the remaining
-       * numbers.
-       */
-      token = &(tokens->tokens[tokens->nTokens - 1]);
-    } else {
-      /*
-       * If there are no format tokens, then a format token of
-       * 1 is used to format all numbers.
-       */
-      token = &default_token;
-    }
-
-    /* Print separator, except for the first number */
-    if (i > 0) {
-        if (token->separator != NULL)
-        xmlBufferCat(buffer, token->separator);
-        else
-        xmlBufferCCat(buffer, DEFAULT_SEPARATOR);
-    }
-
-    switch (xmlXPathIsInf(number)) {
-    case -1:
-        xmlBufferCCat(buffer, "-Infinity");
-        break;
-    case 1:
-        xmlBufferCCat(buffer, "Infinity");
-        break;
-    default:
-        if (xmlXPathIsNaN(number)) {
-        xmlBufferCCat(buffer, "NaN");
-        } else {
-
-        switch (token->token) {
-        case 'A':
-            xsltNumberFormatAlpha(buffer,
-                      number,
-                      TRUE);
-
-            break;
-        case 'a':
-            xsltNumberFormatAlpha(buffer,
-                      number,
-                      FALSE);
-
-            break;
-        case 'I':
-            xsltNumberFormatRoman(buffer,
-                      number,
-                      TRUE);
-
-            break;
-        case 'i':
-            xsltNumberFormatRoman(buffer,
-                      number,
-                      FALSE);
-
-            break;
-        default:
-            if (IS_DIGIT_ZERO(token->token)) {
-            xsltNumberFormatDecimal(buffer,
-                        number,
-                        token->token,
-                        token->width,
-                        data->digitsPerGroup,
-                        data->groupingCharacter,
-                        data->groupingCharacterLen);
-            }
-            break;
-        }
-        }
-
-    }
-    }
-
-    /*
-     * Handle final non-alphanumeric token
-     */
-    if (tokens->end != NULL)
-     xmlBufferCat(buffer, tokens->end);
-
-}
-
-static int
-xsltNumberFormatGetAnyLevel(xsltTransformContextPtr context,
-                xmlNodePtr node,
-                xsltCompMatchPtr countPat,
-                xsltCompMatchPtr fromPat,
-                double *array,
-                xmlDocPtr doc,
-                xmlNodePtr elem)
-{
-    int amount = 0;
-    int cnt = 0;
-    xmlNodePtr cur;
-
-    /* select the starting node */
-    switch (node->type) {
-    case XML_ELEMENT_NODE:
-        cur = node;
-        break;
-    case XML_ATTRIBUTE_NODE:
-        cur = ((xmlAttrPtr) node)->parent;
-        break;
-    case XML_TEXT_NODE:
-    case XML_PI_NODE:
-    case XML_COMMENT_NODE:
-        cur = node->parent;
-        break;
-    default:
-        cur = NULL;
-        break;
-    }
-
-    while (cur != NULL) {
-    /* process current node */
-    if (countPat == NULL) {
-        if ((node->type == cur->type) &&
-        /* FIXME: must use expanded-name instead of local name */
-        xmlStrEqual(node->name, cur->name)) {
-            if ((node->ns == cur->ns) ||
-                ((node->ns != NULL) &&
-             (cur->ns != NULL) &&
-                 (xmlStrEqual(node->ns->href,
-                     cur->ns->href) )))
-                cnt++;
-        }
-    } else {
-        if (xsltTestCompMatchList(context, cur, countPat))
-        cnt++;
-    }
-    if ((fromPat != NULL) &&
-        xsltTestCompMatchList(context, cur, fromPat)) {
-        break; /* while */
-    }
-
-    /* Skip to next preceding or ancestor */
-    if ((cur->type == XML_DOCUMENT_NODE) ||
-#ifdef LIBXML_DOCB_ENABLED
-            (cur->type == XML_DOCB_DOCUMENT_NODE) ||
-#endif
-            (cur->type == XML_HTML_DOCUMENT_NODE))
-        break; /* while */
-
-    while ((cur->prev != NULL) && ((cur->prev->type == XML_DTD_NODE) ||
-           (cur->prev->type == XML_XINCLUDE_START) ||
-           (cur->prev->type == XML_XINCLUDE_END)))
-        cur = cur->prev;
-    if (cur->prev != NULL) {
-        for (cur = cur->prev; cur->last != NULL; cur = cur->last);
-    } else {
-        cur = cur->parent;
-    }
-
-    }
-
-    array[amount++] = (double) cnt;
-
-    return(amount);
-}
-
-static int
-xsltNumberFormatGetMultipleLevel(xsltTransformContextPtr context,
-                 xmlNodePtr node,
-                 xsltCompMatchPtr countPat,
-                 xsltCompMatchPtr fromPat,
-                 double *array,
-                 int max,
-                 xmlDocPtr doc,
-                 xmlNodePtr elem)
-{
-    int amount = 0;
-    int cnt;
-    xmlNodePtr ancestor;
-    xmlNodePtr preceding;
-    xmlXPathParserContextPtr parser;
-
-    context->xpathCtxt->node = node;
-    parser = xmlXPathNewParserContext(NULL, context->xpathCtxt);
-    if (parser) {
-    /* ancestor-or-self::*[count] */
-    for (ancestor = node;
-         (ancestor != NULL) && (ancestor->type != XML_DOCUMENT_NODE);
-         ancestor = xmlXPathNextAncestor(parser, ancestor)) {
-
-        if ((fromPat != NULL) &&
-        xsltTestCompMatchList(context, ancestor, fromPat))
-        break; /* for */
-
-        if ((countPat == NULL && node->type == ancestor->type &&
-        xmlStrEqual(node->name, ancestor->name)) ||
-        xsltTestCompMatchList(context, ancestor, countPat)) {
-        /* count(preceding-sibling::*) */
-        cnt = 0;
-        for (preceding = ancestor;
-             preceding != NULL;
-             preceding =
-                xmlXPathNextPrecedingSibling(parser, preceding)) {
-            if (countPat == NULL) {
-            if ((preceding->type == ancestor->type) &&
-                xmlStrEqual(preceding->name, ancestor->name)){
-                if ((preceding->ns == ancestor->ns) ||
-                    ((preceding->ns != NULL) &&
-                 (ancestor->ns != NULL) &&
-                     (xmlStrEqual(preceding->ns->href,
-                         ancestor->ns->href) )))
-                    cnt++;
-            }
-            } else {
-            if (xsltTestCompMatchList(context, preceding,
-                                  countPat))
-                cnt++;
-            }
-        }
-        array[amount++] = (double)cnt;
-        if (amount >= max)
-            break; /* for */
-        }
-    }
-    xmlXPathFreeParserContext(parser);
-    }
-    return amount;
-}
-
-static int
-xsltNumberFormatGetValue(xmlXPathContextPtr context,
-             xmlNodePtr node,
-             const xmlChar *value,
-             double *number)
-{
-    int amount = 0;
-    xmlBufferPtr pattern;
-    xmlXPathObjectPtr obj;
-
-    pattern = xmlBufferCreate();
-    if (pattern != NULL) {
-    xmlBufferCCat(pattern, "number(");
-    xmlBufferCat(pattern, value);
-    xmlBufferCCat(pattern, ")");
-    context->node = node;
-    obj = xmlXPathEvalExpression(xmlBufferContent(pattern),
-                     context);
-    if (obj != NULL) {
-        *number = obj->floatval;
-        amount++;
-        xmlXPathFreeObject(obj);
-    }
-    xmlBufferFree(pattern);
-    }
-    return amount;
-}
-
-/**
- * xsltNumberFormat:
- * @ctxt: the XSLT transformation context
- * @data: the formatting informations
- * @node: the data to format
- *
- * Convert one number.
- */
-void
-xsltNumberFormat(xsltTransformContextPtr ctxt,
-         xsltNumberDataPtr data,
-         xmlNodePtr node)
-{
-    xmlBufferPtr output = NULL;
-    int amount, i;
-    double number;
-    xsltFormat tokens;
-    int tempformat = 0;
-
-    if ((data->format == NULL) && (data->has_format != 0)) {
-    data->format = xsltEvalAttrValueTemplate(ctxt, data->node,
-                         (const xmlChar *) "format",
-                         XSLT_NAMESPACE);
-    tempformat = 1;
-    }
-    if (data->format == NULL) {
-    return;
-    }
-
-    output = xmlBufferCreate();
-    if (output == NULL)
-    goto XSLT_NUMBER_FORMAT_END;
-
-    xsltNumberFormatTokenize(data->format, &tokens);
-
-    /*
-     * Evaluate the XPath expression to find the value(s)
-     */
-    if (data->value) {
-    amount = xsltNumberFormatGetValue(ctxt->xpathCtxt,
-                      node,
-                      data->value,
-                      &number);
-    if (amount == 1) {
-        xsltNumberFormatInsertNumbers(data,
-                      &number,
-                      1,
-                      &tokens,
-                      output);
-    }
-
-    } else if (data->level) {
-
-    if (xmlStrEqual(data->level, (const xmlChar *) "single")) {
-        amount = xsltNumberFormatGetMultipleLevel(ctxt,
-                              node,
-                              data->countPat,
-                              data->fromPat,
-                              &number,
-                              1,
-                              data->doc,
-                              data->node);
-        if (amount == 1) {
-        xsltNumberFormatInsertNumbers(data,
-                          &number,
-                          1,
-                          &tokens,
-                          output);
-        }
-    } else if (xmlStrEqual(data->level, (const xmlChar *) "multiple")) {
-        double numarray[1024];
-        int max = sizeof(numarray)/sizeof(numarray[0]);
-        amount = xsltNumberFormatGetMultipleLevel(ctxt,
-                              node,
-                              data->countPat,
-                              data->fromPat,
-                              numarray,
-                              max,
-                              data->doc,
-                              data->node);
-        if (amount > 0) {
-        xsltNumberFormatInsertNumbers(data,
-                          numarray,
-                          amount,
-                          &tokens,
-                          output);
-        }
-    } else if (xmlStrEqual(data->level, (const xmlChar *) "any")) {
-        amount = xsltNumberFormatGetAnyLevel(ctxt,
-                         node,
-                         data->countPat,
-                         data->fromPat,
-                         &number,
-                         data->doc,
-                         data->node);
-        if (amount > 0) {
-        xsltNumberFormatInsertNumbers(data,
-                          &number,
-                          1,
-                          &tokens,
-                          output);
-        }
-    }
-    }
-    /* Insert number as text node */
-    xsltCopyTextString(ctxt, ctxt->insert, xmlBufferContent(output), 0);
-
-    if (tokens.start != NULL)
-    xmlFree(tokens.start);
-    if (tokens.end != NULL)
-    xmlFree(tokens.end);
-    for (i = 0;i < tokens.nTokens;i++) {
-    if (tokens.tokens[i].separator != NULL)
-        xmlFree(tokens.tokens[i].separator);
-    }
-
-XSLT_NUMBER_FORMAT_END:
-    if (tempformat == 1) {
-    /* The format need to be recomputed each time */
-    data->format = NULL;
-    }
-    if (output != NULL)
-    xmlBufferFree(output);
-}
-
-static int
-xsltFormatNumberPreSuffix(xsltDecimalFormatPtr self, xmlChar **format, xsltFormatNumberInfoPtr info)
-{
-    int count=0;    /* will hold total length of prefix/suffix */
-    int len;
-
-    while (1) {
-    /*
-     * prefix / suffix ends at end of string or at
-     * first 'special' character
-     */
-    if (**format == 0)
-        return count;
-    /* if next character 'escaped' just count it */
-    if (**format == SYMBOL_QUOTE) {
-        if (*++(*format) == 0)
-        return -1;
-    }
-    else if (IS_SPECIAL(self, *format))
-        return count;
-    /*
-     * else treat percent/per-mille as special cases,
-     * depending on whether +ve or -ve
-     */
-    else {
-        /*
-         * for +ve prefix/suffix, allow only a
-         * single occurence of either
-         */
-        if (xsltUTF8Charcmp(*format, self->percent) == 0) {
-        if (info->is_multiplier_set)
-            return -1;
-        info->multiplier = 100;
-        info->is_multiplier_set = TRUE;
-        } else if (xsltUTF8Charcmp(*format, self->permille) == 0) {
-        if (info->is_multiplier_set)
-            return -1;
-        info->multiplier = 1000;
-        info->is_multiplier_set = TRUE;
-        }
-    }
-
-    if ((len=xsltUTF8Size(*format)) < 1)
-        return -1;
-    count += len;
-    *format += len;
-    }
-}
-
-/**
- * xsltFormatNumberConversion:
- * @self: the decimal format
- * @format: the format requested
- * @number: the value to format
- * @result: the place to ouput the result
- *
- * format-number() uses the JDK 1.1 DecimalFormat class:
- *
- * http://java.sun.com/products/jdk/1.1/docs/api/java.text.DecimalFormat.html
- *
- * Structure:
- *
- *   pattern    := subpattern{;subpattern}
- *   subpattern := {prefix}integer{.fraction}{suffix}
- *   prefix     := '\\u0000'..'\\uFFFD' - specialCharacters
- *   suffix     := '\\u0000'..'\\uFFFD' - specialCharacters
- *   integer    := '#'* '0'* '0'
- *   fraction   := '0'* '#'*
- *
- *   Notation:
- *    X*       0 or more instances of X
- *    (X | Y)  either X or Y.
- *    X..Y     any character from X up to Y, inclusive.
- *    S - T    characters in S, except those in T
- *
- * Special Characters:
- *
- *   Symbol Meaning
- *   0      a digit
- *   #      a digit, zero shows as absent
- *   .      placeholder for decimal separator
- *   ,      placeholder for grouping separator.
- *   ;      separates formats.
- *   -      default negative prefix.
- *   %      multiply by 100 and show as percentage
- *   ?      multiply by 1000 and show as per mille
- *   X      any other characters can be used in the prefix or suffix
- *   '      used to quote special characters in a prefix or suffix.
- *
- * Returns a possible XPath error
- */
-xmlXPathError
-xsltFormatNumberConversion(xsltDecimalFormatPtr self,
-               xmlChar *format,
-               double number,
-               xmlChar **result)
-{
-    xmlXPathError status = XPATH_EXPRESSION_OK;
-    xmlBufferPtr buffer;
-    xmlChar *the_format, *prefix = NULL, *suffix = NULL;
-    xmlChar *nprefix, *nsuffix = NULL;
-    xmlChar pchar;
-    int     prefix_length, suffix_length = 0, nprefix_length, nsuffix_length;
-    double  scale;
-    int     j, len;
-    int     self_grouping_len;
-    xsltFormatNumberInfo format_info;
-    /*
-     * delayed_multiplier allows a 'trailing' percent or
-     * permille to be treated as suffix
-     */
-    int     delayed_multiplier = 0;
-    /* flag to show no -ve format present for -ve number */
-    char    default_sign = 0;
-    /* flag to show error found, should use default format */
-    char    found_error = 0;
-
-    if (xmlStrlen(format) <= 0) {
-    xsltTransformError(NULL, NULL, NULL,
-                "xsltFormatNumberConversion : "
-        "Invalid format (0-length)\n");
-    }
-    *result = NULL;
-    switch (xmlXPathIsInf(number)) {
-    case -1:
-        if (self->minusSign == NULL)
-        *result = xmlStrdup(BAD_CAST "-");
-        else
-        *result = xmlStrdup(self->minusSign);
-        /* no-break on purpose */
-    case 1:
-        if ((self == NULL) || (self->infinity == NULL))
-        *result = xmlStrcat(*result, BAD_CAST "Infinity");
-        else
-        *result = xmlStrcat(*result, self->infinity);
-        return(status);
-    default:
-        if (xmlXPathIsNaN(number)) {
-        if ((self == NULL) || (self->noNumber == NULL))
-            *result = xmlStrdup(BAD_CAST "NaN");
-        else
-            *result = xmlStrdup(self->noNumber);
-        return(status);
-        }
-    }
-
-    buffer = xmlBufferCreate();
-    if (buffer == NULL) {
-    return XPATH_MEMORY_ERROR;
-    }
-
-    format_info.integer_hash = 0;
-    format_info.integer_digits = 0;
-    format_info.frac_digits = 0;
-    format_info.frac_hash = 0;
-    format_info.group = -1;
-    format_info.multiplier = 1;
-    format_info.add_decimal = FALSE;
-    format_info.is_multiplier_set = FALSE;
-    format_info.is_negative_pattern = FALSE;
-
-    the_format = format;
-
-    /*
-     * First we process the +ve pattern to get percent / permille,
-     * as well as main format
-     */
-    prefix = the_format;
-    prefix_length = xsltFormatNumberPreSuffix(self, &the_format, &format_info);
-    if (prefix_length < 0) {
-    found_error = 1;
-    goto OUTPUT_NUMBER;
-    }
-
-    /*
-     * Here we process the "number" part of the format.  It gets
-     * a little messy because of the percent/per-mille - if that
-     * appears at the end, it may be part of the suffix instead
-     * of part of the number, so the variable delayed_multiplier
-     * is used to handle it
-     */
-    self_grouping_len = xmlStrlen(self->grouping);
-    while ((*the_format != 0) &&
-       (xsltUTF8Charcmp(the_format, self->decimalPoint) != 0) &&
-       (xsltUTF8Charcmp(the_format, self->patternSeparator) != 0)) {
-
-    if (delayed_multiplier != 0) {
-        format_info.multiplier = delayed_multiplier;
-        format_info.is_multiplier_set = TRUE;
-        delayed_multiplier = 0;
-    }
-    if (xsltUTF8Charcmp(the_format, self->digit) == 0) {
-        if (format_info.integer_digits > 0) {
-        found_error = 1;
-        goto OUTPUT_NUMBER;
-        }
-        format_info.integer_hash++;
-        if (format_info.group >= 0)
-        format_info.group++;
-    } else if (xsltUTF8Charcmp(the_format, self->zeroDigit) == 0) {
-        format_info.integer_digits++;
-        if (format_info.group >= 0)
-        format_info.group++;
-    } else if ((self_grouping_len > 0) &&
-        (!xmlStrncmp(the_format, self->grouping, self_grouping_len))) {
-        /* Reset group count */
-        format_info.group = 0;
-        the_format += self_grouping_len;
-        continue;
-    } else if (xsltUTF8Charcmp(the_format, self->percent) == 0) {
-        if (format_info.is_multiplier_set) {
-        found_error = 1;
-        goto OUTPUT_NUMBER;
-        }
-        delayed_multiplier = 100;
-    } else  if (xsltUTF8Charcmp(the_format, self->permille) == 0) {
-        if (format_info.is_multiplier_set) {
-        found_error = 1;
-        goto OUTPUT_NUMBER;
-        }
-        delayed_multiplier = 1000;
-    } else
-        break; /* while */
-
-    if ((len=xsltUTF8Size(the_format)) < 1) {
-        found_error = 1;
-        goto OUTPUT_NUMBER;
-    }
-    the_format += len;
-
-    }
-
-    /* We have finished the integer part, now work on fraction */
-    if (xsltUTF8Charcmp(the_format, self->decimalPoint) == 0) {
-        format_info.add_decimal = TRUE;
-    the_format += xsltUTF8Size(the_format); /* Skip over the decimal */
-    }
-
-    while (*the_format != 0) {
-
-    if (xsltUTF8Charcmp(the_format, self->zeroDigit) == 0) {
-        if (format_info.frac_hash != 0) {
-        found_error = 1;
-        goto OUTPUT_NUMBER;
-        }
-        format_info.frac_digits++;
-    } else if (xsltUTF8Charcmp(the_format, self->digit) == 0) {
-        format_info.frac_hash++;
-    } else if (xsltUTF8Charcmp(the_format, self->percent) == 0) {
-        if (format_info.is_multiplier_set) {
-        found_error = 1;
-        goto OUTPUT_NUMBER;
-        }
-        delayed_multiplier = 100;
-        if ((len = xsltUTF8Size(the_format)) < 1) {
-            found_error = 1;
-        goto OUTPUT_NUMBER;
-        }
-        the_format += len;
-        continue; /* while */
-    } else if (xsltUTF8Charcmp(the_format, self->permille) == 0) {
-        if (format_info.is_multiplier_set) {
-        found_error = 1;
-        goto OUTPUT_NUMBER;
-        }
-        delayed_multiplier = 1000;
-        if  ((len = xsltUTF8Size(the_format)) < 1) {
-            found_error = 1;
-        goto OUTPUT_NUMBER;
-        }
-        the_format += len;
-        continue; /* while */
-    } else if (xsltUTF8Charcmp(the_format, self->grouping) != 0) {
-        break; /* while */
-    }
-    if ((len = xsltUTF8Size(the_format)) < 1) {
-        found_error = 1;
-        goto OUTPUT_NUMBER;
-    }
-    the_format += len;
-    if (delayed_multiplier != 0) {
-        format_info.multiplier = delayed_multiplier;
-        delayed_multiplier = 0;
-        format_info.is_multiplier_set = TRUE;
-    }
-    }
-
-    /*
-     * If delayed_multiplier is set after processing the
-     * "number" part, should be in suffix
-     */
-    if (delayed_multiplier != 0) {
-    the_format -= len;
-    delayed_multiplier = 0;
-    }
-
-    suffix = the_format;
-    suffix_length = xsltFormatNumberPreSuffix(self, &the_format, &format_info);
-    if ( (suffix_length < 0) ||
-     ((*the_format != 0) &&
-      (xsltUTF8Charcmp(the_format, self->patternSeparator) != 0)) ) {
-    found_error = 1;
-    goto OUTPUT_NUMBER;
-    }
-
-    /*
-     * We have processed the +ve prefix, number part and +ve suffix.
-     * If the number is -ve, we must substitute the -ve prefix / suffix
-     */
-    if (number < 0) {
-        /*
-     * Note that j is the number of UTF8 chars before the separator,
-     * not the number of bytes! (bug 151975)
-     */
-        j =  xmlUTF8Strloc(format, self->patternSeparator);
-    if (j < 0) {
-    /* No -ve pattern present, so use default signing */
-        default_sign = 1;
-    }
-    else {
-        /* Skip over pattern separator (accounting for UTF8) */
-        the_format = (xmlChar *)xmlUTF8Strpos(format, j + 1);
-        /*
-         * Flag changes interpretation of percent/permille
-         * in -ve pattern
-         */
-        format_info.is_negative_pattern = TRUE;
-        format_info.is_multiplier_set = FALSE;
-
-        /* First do the -ve prefix */
-        nprefix = the_format;
-        nprefix_length = xsltFormatNumberPreSuffix(self,
-                    &the_format, &format_info);
-        if (nprefix_length<0) {
-        found_error = 1;
-        goto OUTPUT_NUMBER;
-        }
-
-        while (*the_format != 0) {
-        if ( (xsltUTF8Charcmp(the_format, (self)->percent) == 0) ||
-             (xsltUTF8Charcmp(the_format, (self)->permille)== 0) ) {
-            if (format_info.is_multiplier_set) {
-            found_error = 1;
-            goto OUTPUT_NUMBER;
-            }
-            format_info.is_multiplier_set = TRUE;
-            delayed_multiplier = 1;
-        }
-        else if (IS_SPECIAL(self, the_format))
-            delayed_multiplier = 0;
-        else
-            break; /* while */
-        if ((len = xsltUTF8Size(the_format)) < 1) {
-            found_error = 1;
-            goto OUTPUT_NUMBER;
-        }
-        the_format += len;
-        }
-        if (delayed_multiplier != 0) {
-        format_info.is_multiplier_set = FALSE;
-        the_format -= len;
-        }
-
-        /* Finally do the -ve suffix */
-        if (*the_format != 0) {
-        nsuffix = the_format;
-        nsuffix_length = xsltFormatNumberPreSuffix(self,
-                    &the_format, &format_info);
-        if (nsuffix_length < 0) {
-            found_error = 1;
-            goto OUTPUT_NUMBER;
-        }
-        }
-        else
-        nsuffix_length = 0;
-        if (*the_format != 0) {
-        found_error = 1;
-        goto OUTPUT_NUMBER;
-        }
-        /*
-         * Here's another Java peculiarity:
-         * if -ve prefix/suffix == +ve ones, discard & use default
-         */
-        if ((nprefix_length != prefix_length) ||
-        (nsuffix_length != suffix_length) ||
-        ((nprefix_length > 0) &&
-         (xmlStrncmp(nprefix, prefix, prefix_length) !=0 )) ||
-        ((nsuffix_length > 0) &&
-         (xmlStrncmp(nsuffix, suffix, suffix_length) !=0 ))) {
-        prefix = nprefix;
-        prefix_length = nprefix_length;
-        suffix = nsuffix;
-        suffix_length = nsuffix_length;
-        } /* else {
-        default_sign = 1;
-        }
-        */
-    }
-    }
-
-OUTPUT_NUMBER:
-    if (found_error != 0) {
-    xsltTransformError(NULL, NULL, NULL,
-                "xsltFormatNumberConversion : "
-        "error in format string '%s', using default\n", format);
-    default_sign = (number < 0.0) ? 1 : 0;
-    prefix_length = suffix_length = 0;
-    format_info.integer_hash = 0;
-    format_info.integer_digits = 1;
-    format_info.frac_digits = 1;
-    format_info.frac_hash = 4;
-    format_info.group = -1;
-    format_info.multiplier = 1;
-    format_info.add_decimal = TRUE;
-    }
-
-    /* Ready to output our number.  First see if "default sign" is required */
-    if (default_sign != 0)
-    xmlBufferAdd(buffer, self->minusSign, xsltUTF8Size(self->minusSign));
-
-    /* Put the prefix into the buffer */
-    for (j = 0; j < prefix_length; j++) {
-    if ((pchar = *prefix++) == SYMBOL_QUOTE) {
-        len = xsltUTF8Size(prefix);
-        xmlBufferAdd(buffer, prefix, len);
-        prefix += len;
-        j += len - 1;   /* length of symbol less length of quote */
-    } else
-        xmlBufferAdd(buffer, &pchar, 1);
-    }
-
-    /* Next do the integer part of the number */
-    number = fabs(number) * (double)format_info.multiplier;
-    scale = pow(10.0, (double)(format_info.frac_digits + format_info.frac_hash));
-    number = floor((scale * number + 0.5)) / scale;
-    if ((self->grouping != NULL) &&
-        (self->grouping[0] != 0)) {
-
-    len = xmlStrlen(self->grouping);
-    pchar = xsltGetUTF8Char(self->grouping, &len);
-    xsltNumberFormatDecimal(buffer, floor(number), self->zeroDigit[0],
-                format_info.integer_digits,
-                format_info.group,
-                pchar, len);
-    } else
-    xsltNumberFormatDecimal(buffer, floor(number), self->zeroDigit[0],
-                format_info.integer_digits,
-                format_info.group,
-                ',', 1);
-
-    /* Special case: java treats '.#' like '.0', '.##' like '.0#', etc. */
-    if ((format_info.integer_digits + format_info.integer_hash +
-     format_info.frac_digits == 0) && (format_info.frac_hash > 0)) {
-        ++format_info.frac_digits;
-    --format_info.frac_hash;
-    }
-
-    /* Add leading zero, if required */
-    if ((floor(number) == 0) &&
-    (format_info.integer_digits + format_info.frac_digits == 0)) {
-        xmlBufferAdd(buffer, self->zeroDigit, xsltUTF8Size(self->zeroDigit));
-    }
-
-    /* Next the fractional part, if required */
-    if (format_info.frac_digits + format_info.frac_hash == 0) {
-        if (format_info.add_decimal)
-        xmlBufferAdd(buffer, self->decimalPoint,
-             xsltUTF8Size(self->decimalPoint));
-    }
-    else {
-      number -= floor(number);
-    if ((number != 0) || (format_info.frac_digits != 0)) {
-        xmlBufferAdd(buffer, self->decimalPoint,
-             xsltUTF8Size(self->decimalPoint));
-        number = floor(scale * number + 0.5);
-        for (j = format_info.frac_hash; j > 0; j--) {
-        if (fmod(number, 10.0) >= 1.0)
-            break; /* for */
-        number /= 10.0;
-        }
-        xsltNumberFormatDecimal(buffer, floor(number), self->zeroDigit[0],
-                format_info.frac_digits + j,
-                0, 0, 0);
-    }
-    }
-    /* Put the suffix into the buffer */
-    for (j = 0; j < suffix_length; j++) {
-    if ((pchar = *suffix++) == SYMBOL_QUOTE) {
-            len = xsltUTF8Size(suffix);
-        xmlBufferAdd(buffer, suffix, len);
-        suffix += len;
-        j += len - 1;   /* length of symbol less length of escape */
-    } else
-        xmlBufferAdd(buffer, &pchar, 1);
-    }
-
-    *result = xmlStrdup(xmlBufferContent(buffer));
-    xmlBufferFree(buffer);
-    return status;
-}
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/numbersInternals.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/numbersInternals.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/numbersInternals.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Summary: Implementation of the XSLT number functions
- * Description: Implementation of the XSLT number functions
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Bjorn Reese  and Daniel Veillard
- */
-
-#ifndef __XML_XSLT_NUMBERSINTERNALS_H__
-#define __XML_XSLT_NUMBERSINTERNALS_H__
-
-#include 
-#include "xsltexports.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct _xsltCompMatch;
-
-/**
- * xsltNumberData:
- *
- * This data structure is just a wrapper to pass xsl:number data in.
- */
-typedef struct _xsltNumberData xsltNumberData;
-typedef xsltNumberData *xsltNumberDataPtr;
-
-struct _xsltNumberData {
-    const xmlChar *level;
-    const xmlChar *count;
-    const xmlChar *from;
-    const xmlChar *value;
-    const xmlChar *format;
-    int has_format;
-    int digitsPerGroup;
-    int groupingCharacter;
-    int groupingCharacterLen;
-    xmlDocPtr doc;
-    xmlNodePtr node;
-    struct _xsltCompMatch *countPat;
-    struct _xsltCompMatch *fromPat;
-
-    /*
-     * accelerators
-     */
-};
-
-/**
- * xsltFormatNumberInfo,:
- *
- * This data structure lists the various parameters needed to format numbers.
- */
-typedef struct _xsltFormatNumberInfo xsltFormatNumberInfo;
-typedef xsltFormatNumberInfo *xsltFormatNumberInfoPtr;
-
-struct _xsltFormatNumberInfo {
-    int     integer_hash;   /* Number of '#' in integer part */
-    int     integer_digits; /* Number of '0' in integer part */
-    int     frac_digits;    /* Number of '0' in fractional part */
-    int     frac_hash;      /* Number of '#' in fractional part */
-    int     group;      /* Number of chars per display 'group' */
-    int     multiplier;     /* Scaling for percent or permille */
-    char    add_decimal;    /* Flag for whether decimal point appears in pattern */
-    char    is_multiplier_set;  /* Flag to catch multiple occurences of percent/permille */
-    char    is_negative_pattern;/* Flag for processing -ve prefix/suffix */
-};
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* __XML_XSLT_NUMBERSINTERNALS_H__ */
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/pattern.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/pattern.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/pattern.c
+++ /dev/null
@@ -1,2556 +0,0 @@
-/*
- * pattern.c: Implemetation of the template match compilation and lookup
- *
- * Reference:
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-/*
- * TODO: handle pathological cases like *[*[@a="b"]]
- * TODO: detect [number] at compilation, optimize accordingly
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltInternals.h"
-#include "xsltutils.h"
-#include "imports.h"
-#include "templates.h"
-#include "keys.h"
-#include "pattern.h"
-#include "documents.h"
-
-#ifdef WITH_XSLT_DEBUG
-#define WITH_XSLT_DEBUG_PATTERN
-#endif
-
-/*
- * Types are private:
- */
-
-typedef enum {
-    XSLT_OP_END=0,
-    XSLT_OP_ROOT,
-    XSLT_OP_ELEM,
-    XSLT_OP_ATTR,
-    XSLT_OP_PARENT,
-    XSLT_OP_ANCESTOR,
-    XSLT_OP_ID,
-    XSLT_OP_KEY,
-    XSLT_OP_NS,
-    XSLT_OP_ALL,
-    XSLT_OP_PI,
-    XSLT_OP_COMMENT,
-    XSLT_OP_TEXT,
-    XSLT_OP_NODE,
-    XSLT_OP_PREDICATE
-} xsltOp;
-
-typedef enum {
-    AXIS_CHILD=1,
-    AXIS_ATTRIBUTE
-} xsltAxis;
-
-typedef struct _xsltStepState xsltStepState;
-typedef xsltStepState *xsltStepStatePtr;
-struct _xsltStepState {
-    int step;
-    xmlNodePtr node;
-};
-
-typedef struct _xsltStepStates xsltStepStates;
-typedef xsltStepStates *xsltStepStatesPtr;
-struct _xsltStepStates {
-    int nbstates;
-    int maxstates;
-    xsltStepStatePtr states;
-};
-
-typedef struct _xsltStepOp xsltStepOp;
-typedef xsltStepOp *xsltStepOpPtr;
-struct _xsltStepOp {
-    xsltOp op;
-    xmlChar *value;
-    xmlChar *value2;
-    xmlChar *value3;
-    xmlXPathCompExprPtr comp;
-    /*
-     * Optimisations for count
-     */
-    int        previousExtra;
-    int        indexExtra;
-    int        lenExtra;
-};
-
-struct _xsltCompMatch {
-    struct _xsltCompMatch *next; /* siblings in the name hash */
-    float priority;              /* the priority */
-    const xmlChar *pattern;       /* the pattern */
-    const xmlChar *mode;         /* the mode */
-    const xmlChar *modeURI;      /* the mode URI */
-    xsltTemplatePtr template;    /* the associated template */
-
-    int direct;
-    /* TODO fix the statically allocated size steps[] */
-    int nbStep;
-    int maxStep;
-    xmlNsPtr *nsList;       /* the namespaces in scope */
-    int nsNr;           /* the number of namespaces in scope */
-    xsltStepOpPtr steps;        /* ops for computation */
-};
-
-typedef struct _xsltParserContext xsltParserContext;
-typedef xsltParserContext *xsltParserContextPtr;
-struct _xsltParserContext {
-    xsltStylesheetPtr style;        /* the stylesheet */
-    xsltTransformContextPtr ctxt;   /* the transformation or NULL */
-    const xmlChar *cur;         /* the current char being parsed */
-    const xmlChar *base;        /* the full expression */
-    xmlDocPtr      doc;         /* the source document */
-    xmlNodePtr    elem;         /* the source element */
-    int error;              /* error code */
-    xsltCompMatchPtr comp;      /* the result */
-};
-
-/************************************************************************
- *                                  *
- *          Type functions                  *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltNewCompMatch:
- *
- * Create a new XSLT CompMatch
- *
- * Returns the newly allocated xsltCompMatchPtr or NULL in case of error
- */
-static xsltCompMatchPtr
-xsltNewCompMatch(void) {
-    xsltCompMatchPtr cur;
-
-    cur = (xsltCompMatchPtr) xmlMalloc(sizeof(xsltCompMatch));
-    if (cur == NULL) {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltNewCompMatch : out of memory error\n");
-    return(NULL);
-    }
-    memset(cur, 0, sizeof(xsltCompMatch));
-    cur->maxStep = 10;
-    cur->nbStep = 0;
-    cur-> steps = (xsltStepOpPtr) xmlMalloc(sizeof(xsltStepOp) *
-                                            cur->maxStep);
-    if (cur->steps == NULL) {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltNewCompMatch : out of memory error\n");
-    xmlFree(cur);
-    return(NULL);
-    }
-    cur->nsNr = 0;
-    cur->nsList = NULL;
-    cur->direct = 0;
-    return(cur);
-}
-
-/**
- * xsltFreeCompMatch:
- * @comp:  an XSLT comp
- *
- * Free up the memory allocated by @comp
- */
-static void
-xsltFreeCompMatch(xsltCompMatchPtr comp) {
-    xsltStepOpPtr op;
-    int i;
-
-    if (comp == NULL)
-    return;
-    if (comp->pattern != NULL)
-    xmlFree((xmlChar *)comp->pattern);
-    if (comp->nsList != NULL)
-    xmlFree(comp->nsList);
-    for (i = 0;i < comp->nbStep;i++) {
-    op = &comp->steps[i];
-    if (op->value != NULL)
-        xmlFree(op->value);
-    if (op->value2 != NULL)
-        xmlFree(op->value2);
-    if (op->value3 != NULL)
-        xmlFree(op->value3);
-    if (op->comp != NULL)
-        xmlXPathFreeCompExpr(op->comp);
-    }
-    xmlFree(comp->steps);
-    memset(comp, -1, sizeof(xsltCompMatch));
-    xmlFree(comp);
-}
-
-/**
- * xsltFreeCompMatchList:
- * @comp:  an XSLT comp list
- *
- * Free up the memory allocated by all the elements of @comp
- */
-void
-xsltFreeCompMatchList(xsltCompMatchPtr comp) {
-    xsltCompMatchPtr cur;
-
-    while (comp != NULL) {
-    cur = comp;
-    comp = comp->next;
-    xsltFreeCompMatch(cur);
-    }
-}
-
-/**
- * xsltNormalizeCompSteps:
- * @payload: pointer to template hash table entry
- * @data: pointer to the stylesheet
- * @name: template match name
- *
- * This is a hashtable scanner function to normalize the compiled
- * steps of an imported stylesheet.
- */
-void xsltNormalizeCompSteps(void *payload,
-        void *data, const xmlChar *name ATTRIBUTE_UNUSED) {
-    xsltCompMatchPtr comp = payload;
-    xsltStylesheetPtr style = data;
-    int ix;
-
-    for (ix = 0; ix < comp->nbStep; ix++) {
-        comp->steps[ix].previousExtra += style->extrasNr;
-        comp->steps[ix].indexExtra += style->extrasNr;
-        comp->steps[ix].lenExtra += style->extrasNr;
-    }
-}
-
-/**
- * xsltNewParserContext:
- * @style:  the stylesheet
- * @ctxt:  the transformation context, if done at run-time
- *
- * Create a new XSLT ParserContext
- *
- * Returns the newly allocated xsltParserContextPtr or NULL in case of error
- */
-static xsltParserContextPtr
-xsltNewParserContext(xsltStylesheetPtr style, xsltTransformContextPtr ctxt) {
-    xsltParserContextPtr cur;
-
-    cur = (xsltParserContextPtr) xmlMalloc(sizeof(xsltParserContext));
-    if (cur == NULL) {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltNewParserContext : malloc failed\n");
-    return(NULL);
-    }
-    memset(cur, 0, sizeof(xsltParserContext));
-    cur->style = style;
-    cur->ctxt = ctxt;
-    return(cur);
-}
-
-/**
- * xsltFreeParserContext:
- * @ctxt:  an XSLT parser context
- *
- * Free up the memory allocated by @ctxt
- */
-static void
-xsltFreeParserContext(xsltParserContextPtr ctxt) {
-    if (ctxt == NULL)
-    return;
-    memset(ctxt, -1, sizeof(xsltParserContext));
-    xmlFree(ctxt);
-}
-
-/**
- * xsltCompMatchAdd:
- * @comp:  the compiled match expression
- * @op:  an op
- * @value:  the first value
- * @value2:  the second value
- * @novar:  flag to set XML_XPATH_NOVAR
- *
- * Add an step to an XSLT Compiled Match
- *
- * Returns -1 in case of failure, 0 otherwise.
- */
-static int
-xsltCompMatchAdd(xsltParserContextPtr ctxt, xsltCompMatchPtr comp,
-                 xsltOp op, xmlChar * value, xmlChar * value2, int novar)
-{
-    if (comp->nbStep >= comp->maxStep) {
-        xsltStepOpPtr tmp;
-
-    tmp = (xsltStepOpPtr) xmlRealloc(comp->steps, comp->maxStep * 2 *
-                                     sizeof(xsltStepOp));
-    if (tmp == NULL) {
-        xsltGenericError(xsltGenericErrorContext,
-         "xsltCompMatchAdd: memory re-allocation failure.\n");
-        if (ctxt->style != NULL)
-        ctxt->style->errors++;
-        if (value)
-            xmlFree(value);
-        if (value2)
-            xmlFree(value2);
-        return (-1);
-    }
-        comp->maxStep *= 2;
-    comp->steps = tmp;
-    }
-    comp->steps[comp->nbStep].op = op;
-    comp->steps[comp->nbStep].value = value;
-    comp->steps[comp->nbStep].value2 = value2;
-    comp->steps[comp->nbStep].value3 = NULL;
-    comp->steps[comp->nbStep].comp = NULL;
-    if (ctxt->ctxt != NULL) {
-    comp->steps[comp->nbStep].previousExtra =
-        xsltAllocateExtraCtxt(ctxt->ctxt);
-    comp->steps[comp->nbStep].indexExtra =
-        xsltAllocateExtraCtxt(ctxt->ctxt);
-    comp->steps[comp->nbStep].lenExtra =
-        xsltAllocateExtraCtxt(ctxt->ctxt);
-    } else {
-    comp->steps[comp->nbStep].previousExtra =
-        xsltAllocateExtra(ctxt->style);
-    comp->steps[comp->nbStep].indexExtra =
-        xsltAllocateExtra(ctxt->style);
-    comp->steps[comp->nbStep].lenExtra =
-        xsltAllocateExtra(ctxt->style);
-    }
-    if (op == XSLT_OP_PREDICATE) {
-    xmlXPathContextPtr xctxt;
-
-    if (ctxt->style != NULL)
-        xctxt = xmlXPathNewContext(ctxt->style->doc);
-    else
-        xctxt = xmlXPathNewContext(NULL);
-#ifdef XML_XPATH_NOVAR
-    if (novar != 0)
-        xctxt->flags = XML_XPATH_NOVAR;
-#endif
-    if (ctxt->style != NULL)
-        xctxt->dict = ctxt->style->dict;
-    comp->steps[comp->nbStep].comp = xmlXPathCtxtCompile(xctxt, value);
-    xmlXPathFreeContext(xctxt);
-    if (comp->steps[comp->nbStep].comp == NULL) {
-        xsltTransformError(NULL, ctxt->style, ctxt->elem,
-            "Failed to compile predicate\n");
-        if (ctxt->style != NULL)
-        ctxt->style->errors++;
-    }
-    }
-    comp->nbStep++;
-    return (0);
-}
-
-/**
- * xsltSwapTopCompMatch:
- * @comp:  the compiled match expression
- *
- * reverse the two top steps.
- */
-static void
-xsltSwapTopCompMatch(xsltCompMatchPtr comp) {
-    int i;
-    int j = comp->nbStep - 1;
-
-    if (j > 0) {
-    register xmlChar *tmp;
-    register xsltOp op;
-    register xmlXPathCompExprPtr expr;
-    register int t;
-    i = j - 1;
-    tmp = comp->steps[i].value;
-    comp->steps[i].value = comp->steps[j].value;
-    comp->steps[j].value = tmp;
-    tmp = comp->steps[i].value2;
-    comp->steps[i].value2 = comp->steps[j].value2;
-    comp->steps[j].value2 = tmp;
-    tmp = comp->steps[i].value3;
-    comp->steps[i].value3 = comp->steps[j].value3;
-    comp->steps[j].value3 = tmp;
-    op = comp->steps[i].op;
-    comp->steps[i].op = comp->steps[j].op;
-    comp->steps[j].op = op;
-    expr = comp->steps[i].comp;
-    comp->steps[i].comp = comp->steps[j].comp;
-    comp->steps[j].comp = expr;
-    t = comp->steps[i].previousExtra;
-    comp->steps[i].previousExtra = comp->steps[j].previousExtra;
-    comp->steps[j].previousExtra = t;
-    t = comp->steps[i].indexExtra;
-    comp->steps[i].indexExtra = comp->steps[j].indexExtra;
-    comp->steps[j].indexExtra = t;
-    t = comp->steps[i].lenExtra;
-    comp->steps[i].lenExtra = comp->steps[j].lenExtra;
-    comp->steps[j].lenExtra = t;
-    }
-}
-
-/**
- * xsltReverseCompMatch:
- * @ctxt: the parser context
- * @comp:  the compiled match expression
- *
- * reverse all the stack of expressions
- */
-static void
-xsltReverseCompMatch(xsltParserContextPtr ctxt, xsltCompMatchPtr comp) {
-    int i = 0;
-    int j = comp->nbStep - 1;
-
-    while (j > i) {
-    register xmlChar *tmp;
-    register xsltOp op;
-    register xmlXPathCompExprPtr expr;
-    register int t;
-
-    tmp = comp->steps[i].value;
-    comp->steps[i].value = comp->steps[j].value;
-    comp->steps[j].value = tmp;
-    tmp = comp->steps[i].value2;
-    comp->steps[i].value2 = comp->steps[j].value2;
-    comp->steps[j].value2 = tmp;
-    tmp = comp->steps[i].value3;
-    comp->steps[i].value3 = comp->steps[j].value3;
-    comp->steps[j].value3 = tmp;
-    op = comp->steps[i].op;
-    comp->steps[i].op = comp->steps[j].op;
-    comp->steps[j].op = op;
-    expr = comp->steps[i].comp;
-    comp->steps[i].comp = comp->steps[j].comp;
-    comp->steps[j].comp = expr;
-    t = comp->steps[i].previousExtra;
-    comp->steps[i].previousExtra = comp->steps[j].previousExtra;
-    comp->steps[j].previousExtra = t;
-    t = comp->steps[i].indexExtra;
-    comp->steps[i].indexExtra = comp->steps[j].indexExtra;
-    comp->steps[j].indexExtra = t;
-    t = comp->steps[i].lenExtra;
-    comp->steps[i].lenExtra = comp->steps[j].lenExtra;
-    comp->steps[j].lenExtra = t;
-    j--;
-    i++;
-    }
-    xsltCompMatchAdd(ctxt, comp, XSLT_OP_END, NULL, NULL, 0);
-
-    /*
-     * detect consecutive XSLT_OP_PREDICATE indicating a direct
-     * matching should be done.
-     */
-    for (i = 0;i < comp->nbStep - 1;i++) {
-        if ((comp->steps[i].op == XSLT_OP_PREDICATE) &&
-        (comp->steps[i + 1].op == XSLT_OP_PREDICATE)) {
-
-        comp->direct = 1;
-        if (comp->pattern[0] != '/') {
-        xmlChar *query;
-
-        query = xmlStrdup((const xmlChar *)"//");
-        query = xmlStrcat(query, comp->pattern);
-
-        xmlFree((xmlChar *) comp->pattern);
-        comp->pattern = query;
-        }
-        break;
-    }
-    }
-}
-
-/************************************************************************
- *                                  *
- *      The interpreter for the precompiled patterns        *
- *                                  *
- ************************************************************************/
-
-static int
-xsltPatPushState(xsltTransformContextPtr ctxt, xsltStepStates *states,
-                 int step, xmlNodePtr node) {
-    if ((states->states == NULL) || (states->maxstates <= 0)) {
-        states->maxstates = 4;
-    states->nbstates = 0;
-    states->states = xmlMalloc(4 * sizeof(xsltStepState));
-    }
-    else if (states->maxstates <= states->nbstates) {
-        xsltStepState *tmp;
-
-    tmp = (xsltStepStatePtr) xmlRealloc(states->states,
-                   2 * states->maxstates * sizeof(xsltStepState));
-    if (tmp == NULL) {
-        xsltGenericError(xsltGenericErrorContext,
-         "xsltPatPushState: memory re-allocation failure.\n");
-        ctxt->state = XSLT_STATE_STOPPED;
-        return(-1);
-    }
-    states->states = tmp;
-    states->maxstates *= 2;
-    }
-    states->states[states->nbstates].step = step;
-    states->states[states->nbstates++].node = node;
-#if 0
-    fprintf(stderr, "Push: %d, %s\n", step, node->name);
-#endif
-    return(0);
-}
-
-/**
- * xsltTestCompMatchDirect:
- * @ctxt:  a XSLT process context
- * @comp: the precompiled pattern
- * @node: a node
- * @nsList: the namespaces in scope
- * @nsNr: the number of namespaces in scope
- *
- * Test whether the node matches the pattern, do a direct evalutation
- * and not a step by step evaluation.
- *
- * Returns 1 if it matches, 0 if it doesn't and -1 in case of failure
- */
-static int
-xsltTestCompMatchDirect(xsltTransformContextPtr ctxt, xsltCompMatchPtr comp,
-                    xmlNodePtr node, xmlNsPtr *nsList, int nsNr) {
-    xsltStepOpPtr sel = NULL;
-    xmlDocPtr prevdoc;
-    xmlDocPtr doc;
-    xmlXPathObjectPtr list;
-    int ix, j;
-    int nocache = 0;
-    int isRVT;
-
-    doc = node->doc;
-    if (XSLT_IS_RES_TREE_FRAG(doc))
-    isRVT = 1;
-    else
-    isRVT = 0;
-    sel = &comp->steps[0]; /* store extra in first step arbitrarily */
-
-    prevdoc = (xmlDocPtr)
-    XSLT_RUNTIME_EXTRA(ctxt, sel->previousExtra, ptr);
-    ix = XSLT_RUNTIME_EXTRA(ctxt, sel->indexExtra, ival);
-    list = (xmlXPathObjectPtr)
-    XSLT_RUNTIME_EXTRA_LST(ctxt, sel->lenExtra);
-
-    if ((list == NULL) || (prevdoc != doc)) {
-    xmlXPathObjectPtr newlist;
-    xmlNodePtr parent = node->parent;
-    xmlDocPtr olddoc;
-    xmlNodePtr oldnode;
-    int oldNsNr, oldContextSize, oldProximityPosition;
-    xmlNsPtr *oldNamespaces;
-
-    oldnode = ctxt->xpathCtxt->node;
-    olddoc = ctxt->xpathCtxt->doc;
-    oldNsNr = ctxt->xpathCtxt->nsNr;
-    oldNamespaces = ctxt->xpathCtxt->namespaces;
-    oldContextSize = ctxt->xpathCtxt->contextSize;
-    oldProximityPosition = ctxt->xpathCtxt->proximityPosition;
-    ctxt->xpathCtxt->node = node;
-    ctxt->xpathCtxt->doc = doc;
-    ctxt->xpathCtxt->namespaces = nsList;
-    ctxt->xpathCtxt->nsNr = nsNr;
-    newlist = xmlXPathEval(comp->pattern, ctxt->xpathCtxt);
-    ctxt->xpathCtxt->node = oldnode;
-    ctxt->xpathCtxt->doc = olddoc;
-    ctxt->xpathCtxt->namespaces = oldNamespaces;
-    ctxt->xpathCtxt->nsNr = oldNsNr;
-    ctxt->xpathCtxt->contextSize = oldContextSize;
-    ctxt->xpathCtxt->proximityPosition = oldProximityPosition;
-    if (newlist == NULL)
-        return(-1);
-    if (newlist->type != XPATH_NODESET) {
-        xmlXPathFreeObject(newlist);
-        return(-1);
-    }
-    ix = 0;
-
-    if ((parent == NULL) || (node->doc == NULL) || isRVT)
-        nocache = 1;
-
-    if (nocache == 0) {
-        if (list != NULL)
-        xmlXPathFreeObject(list);
-        list = newlist;
-
-        XSLT_RUNTIME_EXTRA_LST(ctxt, sel->lenExtra) =
-        (void *) list;
-        XSLT_RUNTIME_EXTRA(ctxt, sel->previousExtra, ptr) =
-        (void *) doc;
-        XSLT_RUNTIME_EXTRA(ctxt, sel->indexExtra, ival) =
-        0;
-        XSLT_RUNTIME_EXTRA_FREE(ctxt, sel->lenExtra) =
-        (xmlFreeFunc) xmlXPathFreeObject;
-    } else
-        list = newlist;
-    }
-    if ((list->nodesetval == NULL) ||
-    (list->nodesetval->nodeNr <= 0)) {
-    if (nocache == 1)
-        xmlXPathFreeObject(list);
-    return(0);
-    }
-    /* TODO: store the index and use it for the scan */
-    if (ix == 0) {
-    for (j = 0;j < list->nodesetval->nodeNr;j++) {
-        if (list->nodesetval->nodeTab[j] == node) {
-        if (nocache == 1)
-            xmlXPathFreeObject(list);
-        return(1);
-        }
-    }
-    } else {
-    }
-    if (nocache == 1)
-    xmlXPathFreeObject(list);
-    return(0);
-}
-
-/**
- * xsltTestCompMatch:
- * @ctxt:  a XSLT process context
- * @comp: the precompiled pattern
- * @node: a node
- * @mode:  the mode name or NULL
- * @modeURI:  the mode URI or NULL
- *
- * Test whether the node matches the pattern
- *
- * Returns 1 if it matches, 0 if it doesn't and -1 in case of failure
- */
-static int
-xsltTestCompMatch(xsltTransformContextPtr ctxt, xsltCompMatchPtr comp,
-              xmlNodePtr node, const xmlChar *mode,
-          const xmlChar *modeURI) {
-    int i;
-    xsltStepOpPtr step, sel = NULL;
-    xsltStepStates states = {0, 0, NULL}; /* // may require backtrack */
-
-    if ((comp == NULL) || (node == NULL) || (ctxt == NULL)) {
-    xsltTransformError(ctxt, NULL, node,
-        "xsltTestCompMatch: null arg\n");
-        return(-1);
-    }
-    if (mode != NULL) {
-    if (comp->mode == NULL)
-        return(0);
-    /*
-     * both mode strings must be interned on the stylesheet dictionary
-     */
-    if (comp->mode != mode)
-        return(0);
-    } else {
-    if (comp->mode != NULL)
-        return(0);
-    }
-    if (modeURI != NULL) {
-    if (comp->modeURI == NULL)
-        return(0);
-    /*
-     * both modeURI strings must be interned on the stylesheet dictionary
-     */
-    if (comp->modeURI != modeURI)
-        return(0);
-    } else {
-    if (comp->modeURI != NULL)
-        return(0);
-    }
-
-    i = 0;
-restart:
-    for (;i < comp->nbStep;i++) {
-    step = &comp->steps[i];
-    if (step->op != XSLT_OP_PREDICATE)
-        sel = step;
-    switch (step->op) {
-            case XSLT_OP_END:
-        goto found;
-            case XSLT_OP_ROOT:
-        if ((node->type == XML_DOCUMENT_NODE) ||
-#ifdef LIBXML_DOCB_ENABLED
-            (node->type == XML_DOCB_DOCUMENT_NODE) ||
-#endif
-            (node->type == XML_HTML_DOCUMENT_NODE))
-            continue;
-        if ((node->type == XML_ELEMENT_NODE) && (node->name[0] == ' '))
-            continue;
-        goto rollback;
-            case XSLT_OP_ELEM:
-        if (node->type != XML_ELEMENT_NODE)
-            goto rollback;
-        if (step->value == NULL)
-            continue;
-        if (step->value[0] != node->name[0])
-            goto rollback;
-        if (!xmlStrEqual(step->value, node->name))
-            goto rollback;
-
-        /* Namespace test */
-        if (node->ns == NULL) {
-            if (step->value2 != NULL)
-            goto rollback;
-        } else if (node->ns->href != NULL) {
-            if (step->value2 == NULL)
-            goto rollback;
-            if (!xmlStrEqual(step->value2, node->ns->href))
-            goto rollback;
-        }
-        continue;
-            case XSLT_OP_ATTR:
-        if (node->type != XML_ATTRIBUTE_NODE)
-            goto rollback;
-        if (step->value != NULL) {
-            if (step->value[0] != node->name[0])
-            goto rollback;
-            if (!xmlStrEqual(step->value, node->name))
-            goto rollback;
-        }
-        /* Namespace test */
-        if (node->ns == NULL) {
-            if (step->value2 != NULL)
-            goto rollback;
-        } else if (step->value2 != NULL) {
-            if (!xmlStrEqual(step->value2, node->ns->href))
-            goto rollback;
-        }
-        continue;
-            case XSLT_OP_PARENT:
-        if ((node->type == XML_DOCUMENT_NODE) ||
-            (node->type == XML_HTML_DOCUMENT_NODE) ||
-#ifdef LIBXML_DOCB_ENABLED
-            (node->type == XML_DOCB_DOCUMENT_NODE) ||
-#endif
-            (node->type == XML_NAMESPACE_DECL))
-            goto rollback;
-        node = node->parent;
-        if (node == NULL)
-            goto rollback;
-        if (step->value == NULL)
-            continue;
-        if (step->value[0] != node->name[0])
-            goto rollback;
-        if (!xmlStrEqual(step->value, node->name))
-            goto rollback;
-        /* Namespace test */
-        if (node->ns == NULL) {
-            if (step->value2 != NULL)
-            goto rollback;
-        } else if (node->ns->href != NULL) {
-            if (step->value2 == NULL)
-            goto rollback;
-            if (!xmlStrEqual(step->value2, node->ns->href))
-            goto rollback;
-        }
-        continue;
-            case XSLT_OP_ANCESTOR:
-        /* TODO: implement coalescing of ANCESTOR/NODE ops */
-        if (step->value == NULL) {
-            step = &comp->steps[i+1];
-            if (step->op == XSLT_OP_ROOT)
-            goto found;
-            /* added NS, ID and KEY as a result of bug 168208 */
-            if ((step->op != XSLT_OP_ELEM) &&
-            (step->op != XSLT_OP_ALL) &&
-            (step->op != XSLT_OP_NS) &&
-            (step->op != XSLT_OP_ID) &&
-            (step->op != XSLT_OP_KEY))
-            goto rollback;
-        }
-        if (node == NULL)
-            goto rollback;
-        if ((node->type == XML_DOCUMENT_NODE) ||
-            (node->type == XML_HTML_DOCUMENT_NODE) ||
-#ifdef LIBXML_DOCB_ENABLED
-            (node->type == XML_DOCB_DOCUMENT_NODE) ||
-#endif
-            (node->type == XML_NAMESPACE_DECL))
-            goto rollback;
-        node = node->parent;
-        if ((step->op != XSLT_OP_ELEM) && step->op != XSLT_OP_ALL) {
-            xsltPatPushState(ctxt, &states, i, node);
-            continue;
-        }
-        i++;
-        if (step->value == NULL) {
-            xsltPatPushState(ctxt, &states, i - 1, node);
-            continue;
-        }
-        while (node != NULL) {
-            if ((node->type == XML_ELEMENT_NODE) &&
-            (step->value[0] == node->name[0]) &&
-            (xmlStrEqual(step->value, node->name))) {
-            /* Namespace test */
-            if (node->ns == NULL) {
-                if (step->value2 == NULL)
-                break;
-            } else if (node->ns->href != NULL) {
-                if ((step->value2 != NULL) &&
-                    (xmlStrEqual(step->value2, node->ns->href)))
-                break;
-            }
-            }
-            node = node->parent;
-        }
-        if (node == NULL)
-            goto rollback;
-        xsltPatPushState(ctxt, &states, i - 1, node);
-        continue;
-            case XSLT_OP_ID: {
-        /* TODO Handle IDs decently, must be done differently */
-        xmlAttrPtr id;
-
-        if (node->type != XML_ELEMENT_NODE)
-            goto rollback;
-
-        id = xmlGetID(node->doc, step->value);
-        if ((id == NULL) || (id->parent != node))
-            goto rollback;
-        break;
-        }
-            case XSLT_OP_KEY: {
-        xmlNodeSetPtr list;
-        int indx;
-
-        list = xsltGetKey(ctxt, step->value,
-                      step->value3, step->value2);
-        if (list == NULL)
-            goto rollback;
-        for (indx = 0;indx < list->nodeNr;indx++)
-            if (list->nodeTab[indx] == node)
-            break;
-        if (indx >= list->nodeNr)
-            goto rollback;
-        break;
-        }
-            case XSLT_OP_NS:
-        if (node->type != XML_ELEMENT_NODE)
-            goto rollback;
-        if (node->ns == NULL) {
-            if (step->value != NULL)
-            goto rollback;
-        } else if (node->ns->href != NULL) {
-            if (step->value == NULL)
-            goto rollback;
-            if (!xmlStrEqual(step->value, node->ns->href))
-            goto rollback;
-        }
-        break;
-            case XSLT_OP_ALL:
-        if (node->type != XML_ELEMENT_NODE)
-            goto rollback;
-        break;
-        case XSLT_OP_PREDICATE: {
-        xmlNodePtr oldNode;
-        xmlDocPtr doc;
-        int oldCS, oldCP;
-        int pos = 0, len = 0;
-        int isRVT;
-
-        /*
-         * when there is cascading XSLT_OP_PREDICATE, then use a
-         * direct computation approach. It's not done directly
-         * at the beginning of the routine to filter out as much
-         * as possible this costly computation.
-         */
-        if (comp->direct) {
-            if (states.states != NULL) {
-            /* Free the rollback states */
-            xmlFree(states.states);
-            }
-            return(xsltTestCompMatchDirect(ctxt, comp, node,
-                           comp->nsList, comp->nsNr));
-        }
-
-        doc = node->doc;
-        if (XSLT_IS_RES_TREE_FRAG(doc))
-            isRVT = 1;
-        else
-            isRVT = 0;
-
-        /*
-         * Depending on the last selection, one may need to
-         * recompute contextSize and proximityPosition.
-         */
-        oldCS = ctxt->xpathCtxt->contextSize;
-        oldCP = ctxt->xpathCtxt->proximityPosition;
-        if ((sel != NULL) &&
-            (sel->op == XSLT_OP_ELEM) &&
-            (sel->value != NULL) &&
-            (node->type == XML_ELEMENT_NODE) &&
-            (node->parent != NULL)) {
-            xmlNodePtr previous;
-            int nocache = 0;
-
-            previous = (xmlNodePtr)
-            XSLT_RUNTIME_EXTRA(ctxt, sel->previousExtra, ptr);
-            if ((previous != NULL) &&
-            (previous->parent == node->parent)) {
-            /*
-             * just walk back to adjust the index
-             */
-            int indx = 0;
-            xmlNodePtr sibling = node;
-
-            while (sibling != NULL) {
-                if (sibling == previous)
-                break;
-                if ((sibling->type == XML_ELEMENT_NODE) &&
-                (previous->name != NULL) &&
-                (sibling->name != NULL) &&
-                (previous->name[0] == sibling->name[0]) &&
-                (xmlStrEqual(previous->name, sibling->name)))
-                {
-                if ((sel->value2 == NULL) ||
-                    ((sibling->ns != NULL) &&
-                     (xmlStrEqual(sel->value2,
-                          sibling->ns->href))))
-                    indx++;
-                }
-                sibling = sibling->prev;
-            }
-            if (sibling == NULL) {
-                /* hum going backward in document order ... */
-                indx = 0;
-                sibling = node;
-                while (sibling != NULL) {
-                if (sibling == previous)
-                    break;
-                if ((sibling->type == XML_ELEMENT_NODE) &&
-                    (previous->name != NULL) &&
-                    (sibling->name != NULL) &&
-                    (previous->name[0] == sibling->name[0]) &&
-                    (xmlStrEqual(previous->name, sibling->name)))
-                {
-                    if ((sel->value2 == NULL) ||
-                    ((sibling->ns != NULL) &&
-                    (xmlStrEqual(sel->value2,
-                    sibling->ns->href))))
-                    {
-                    indx--;
-                    }
-                }
-                sibling = sibling->next;
-                }
-            }
-            if (sibling != NULL) {
-                    pos = XSLT_RUNTIME_EXTRA(ctxt,
-                                sel->indexExtra, ival) + indx;
-                /*
-                 * If the node is in a Value Tree we need to
-                 * save len, but cannot cache the node!
-                 * (bugs 153137 and 158840)
-                 */
-                if (node->doc != NULL) {
-                len = XSLT_RUNTIME_EXTRA(ctxt,
-                        sel->lenExtra, ival);
-                if (!isRVT) {
-                    XSLT_RUNTIME_EXTRA(ctxt,
-                    sel->previousExtra, ptr) = node;
-                    XSLT_RUNTIME_EXTRA(ctxt,
-                        sel->indexExtra, ival) = pos;
-                }
-                }
-            } else
-                pos = 0;
-            } else {
-            /*
-             * recompute the index
-             */
-            xmlNodePtr parent = node->parent;
-            xmlNodePtr siblings = NULL;
-
-                        if (parent) siblings = parent->children;
-
-            while (siblings != NULL) {
-                if (siblings->type == XML_ELEMENT_NODE) {
-                if (siblings == node) {
-                    len++;
-                    pos = len;
-                } else if ((node->name != NULL) &&
-                       (siblings->name != NULL) &&
-                    (node->name[0] == siblings->name[0]) &&
-                    (xmlStrEqual(node->name, siblings->name))) {
-                    if ((sel->value2 == NULL) ||
-                    ((siblings->ns != NULL) &&
-                     (xmlStrEqual(sel->value2,
-                              siblings->ns->href))))
-                    len++;
-                }
-                }
-                siblings = siblings->next;
-            }
-            if ((parent == NULL) || (node->doc == NULL))
-                nocache = 1;
-            else {
-                while (parent->parent != NULL)
-                parent = parent->parent;
-                if (((parent->type != XML_DOCUMENT_NODE) &&
-                 (parent->type != XML_HTML_DOCUMENT_NODE)) ||
-                 (parent != (xmlNodePtr) node->doc))
-                nocache = 1;
-            }
-            }
-            if (pos != 0) {
-            ctxt->xpathCtxt->contextSize = len;
-            ctxt->xpathCtxt->proximityPosition = pos;
-            /*
-             * If the node is in a Value Tree we cannot
-             * cache it !
-             */
-            if ((!isRVT) && (node->doc != NULL) &&
-                (nocache == 0)) {
-                XSLT_RUNTIME_EXTRA(ctxt, sel->previousExtra, ptr) =
-                node;
-                XSLT_RUNTIME_EXTRA(ctxt, sel->indexExtra, ival) =
-                pos;
-                XSLT_RUNTIME_EXTRA(ctxt, sel->lenExtra, ival) =
-                len;
-            }
-            }
-        } else if ((sel != NULL) && (sel->op == XSLT_OP_ALL) &&
-               (node->type == XML_ELEMENT_NODE)) {
-            xmlNodePtr previous;
-            int nocache = 0;
-
-            previous = (xmlNodePtr)
-            XSLT_RUNTIME_EXTRA(ctxt, sel->previousExtra, ptr);
-            if ((previous != NULL) &&
-            (previous->parent == node->parent)) {
-            /*
-             * just walk back to adjust the index
-             */
-            int indx = 0;
-            xmlNodePtr sibling = node;
-
-            while (sibling != NULL) {
-                if (sibling == previous)
-                break;
-                if (sibling->type == XML_ELEMENT_NODE)
-                indx++;
-                sibling = sibling->prev;
-            }
-            if (sibling == NULL) {
-                /* hum going backward in document order ... */
-                indx = 0;
-                sibling = node;
-                while (sibling != NULL) {
-                if (sibling == previous)
-                    break;
-                if (sibling->type == XML_ELEMENT_NODE)
-                    indx--;
-                sibling = sibling->next;
-                }
-            }
-            if (sibling != NULL) {
-                pos = XSLT_RUNTIME_EXTRA(ctxt,
-                                sel->indexExtra, ival) + indx;
-                /*
-                 * If the node is in a Value Tree we cannot
-                 * cache it !
-                 */
-                if ((node->doc != NULL) && !isRVT) {
-                len = XSLT_RUNTIME_EXTRA(ctxt,
-                        sel->lenExtra, ival);
-                XSLT_RUNTIME_EXTRA(ctxt,
-                    sel->previousExtra, ptr) = node;
-                XSLT_RUNTIME_EXTRA(ctxt,
-                    sel->indexExtra, ival) = pos;
-                }
-            } else
-                pos = 0;
-            } else {
-            /*
-             * recompute the index
-             */
-            xmlNodePtr parent = node->parent;
-            xmlNodePtr siblings = NULL;
-
-                        if (parent) siblings = parent->children;
-
-            while (siblings != NULL) {
-                if (siblings->type == XML_ELEMENT_NODE) {
-                len++;
-                if (siblings == node) {
-                    pos = len;
-                }
-                }
-                siblings = siblings->next;
-            }
-            if ((parent == NULL) || (node->doc == NULL))
-                nocache = 1;
-            else {
-                while (parent->parent != NULL)
-                parent = parent->parent;
-                if (((parent->type != XML_DOCUMENT_NODE) &&
-                 (parent->type != XML_HTML_DOCUMENT_NODE)) ||
-                 (parent != (xmlNodePtr) node->doc))
-                nocache = 1;
-            }
-            }
-            if (pos != 0) {
-            ctxt->xpathCtxt->contextSize = len;
-            ctxt->xpathCtxt->proximityPosition = pos;
-            /*
-             * If the node is in a Value Tree we cannot
-             * cache it !
-             */
-            if ((node->doc != NULL) && (nocache == 0) && !isRVT) {
-                XSLT_RUNTIME_EXTRA(ctxt, sel->previousExtra, ptr) =
-                node;
-                XSLT_RUNTIME_EXTRA(ctxt, sel->indexExtra, ival) =
-                pos;
-                XSLT_RUNTIME_EXTRA(ctxt, sel->lenExtra, ival) =
-                len;
-            }
-            }
-        }
-        oldNode = ctxt->node;
-        ctxt->node = node;
-
-        if (step->value == NULL)
-            goto wrong_index;
-        if (step->comp == NULL)
-            goto wrong_index;
-
-        if (!xsltEvalXPathPredicate(ctxt, step->comp, comp->nsList,
-                                comp->nsNr))
-            goto wrong_index;
-
-        if (pos != 0) {
-            ctxt->xpathCtxt->contextSize = oldCS;
-            ctxt->xpathCtxt->proximityPosition = oldCP;
-        }
-        ctxt->node = oldNode;
-        break;
-wrong_index:
-        if (pos != 0) {
-            ctxt->xpathCtxt->contextSize = oldCS;
-            ctxt->xpathCtxt->proximityPosition = oldCP;
-        }
-        ctxt->node = oldNode;
-        goto rollback;
-        }
-            case XSLT_OP_PI:
-        if (node->type != XML_PI_NODE)
-            goto rollback;
-        if (step->value != NULL) {
-            if (!xmlStrEqual(step->value, node->name))
-            goto rollback;
-        }
-        break;
-            case XSLT_OP_COMMENT:
-        if (node->type != XML_COMMENT_NODE)
-            goto rollback;
-        break;
-            case XSLT_OP_TEXT:
-        if ((node->type != XML_TEXT_NODE) &&
-            (node->type != XML_CDATA_SECTION_NODE))
-            goto rollback;
-        break;
-            case XSLT_OP_NODE:
-        switch (node->type) {
-            case XML_ELEMENT_NODE:
-            case XML_CDATA_SECTION_NODE:
-            case XML_PI_NODE:
-            case XML_COMMENT_NODE:
-            case XML_TEXT_NODE:
-            break;
-            default:
-            goto rollback;
-        }
-        break;
-    }
-    }
-found:
-    if (states.states != NULL) {
-        /* Free the rollback states */
-    xmlFree(states.states);
-    }
-    return(1);
-rollback:
-    /* got an error try to rollback */
-    if (states.states == NULL)
-    return(0);
-    if (states.nbstates <= 0) {
-    xmlFree(states.states);
-    return(0);
-    }
-    states.nbstates--;
-    i = states.states[states.nbstates].step;
-    node = states.states[states.nbstates].node;
-#if 0
-    fprintf(stderr, "Pop: %d, %s\n", i, node->name);
-#endif
-    goto restart;
-}
-
-/**
- * xsltTestCompMatchList:
- * @ctxt:  a XSLT process context
- * @node: a node
- * @comp: the precompiled pattern list
- *
- * Test whether the node matches one of the patterns in the list
- *
- * Returns 1 if it matches, 0 if it doesn't and -1 in case of failure
- */
-int
-xsltTestCompMatchList(xsltTransformContextPtr ctxt, xmlNodePtr node,
-                  xsltCompMatchPtr comp) {
-    int ret;
-
-    if ((ctxt == NULL) || (node == NULL))
-    return(-1);
-    while (comp != NULL) {
-    ret = xsltTestCompMatch(ctxt, comp, node, NULL, NULL);
-    if (ret == 1)
-        return(1);
-    comp = comp->next;
-    }
-    return(0);
-}
-
-/************************************************************************
- *                                  *
- *          Dedicated parser for templates          *
- *                                  *
- ************************************************************************/
-
-#define CUR (*ctxt->cur)
-#define SKIP(val) ctxt->cur += (val)
-#define NXT(val) ctxt->cur[(val)]
-#define CUR_PTR ctxt->cur
-
-#define SKIP_BLANKS                         \
-    while (IS_BLANK_CH(CUR)) NEXT
-
-#define CURRENT (*ctxt->cur)
-#define NEXT ((*ctxt->cur) ?  ctxt->cur++: ctxt->cur)
-
-
-#define PUSH(op, val, val2, novar)                      \
-    if (xsltCompMatchAdd(ctxt, ctxt->comp, (op), (val), (val2), (novar))) goto error;
-
-#define SWAP()                      \
-    xsltSwapTopCompMatch(ctxt->comp);
-
-#define XSLT_ERROR(X)                           \
-    { xsltError(ctxt, __FILE__, __LINE__, X);           \
-      ctxt->error = (X); return; }
-
-#define XSLT_ERROR0(X)                          \
-    { xsltError(ctxt, __FILE__, __LINE__, X);           \
-      ctxt->error = (X); return(0); }
-
-/**
- * xsltScanLiteral:
- * @ctxt:  the XPath Parser context
- *
- * Parse an XPath Litteral:
- *
- * [29] Literal ::= '"' [^"]* '"'
- *                | "'" [^']* "'"
- *
- * Returns the Literal parsed or NULL
- */
-
-static xmlChar *
-xsltScanLiteral(xsltParserContextPtr ctxt) {
-    const xmlChar *q, *cur;
-    xmlChar *ret = NULL;
-    int val, len;
-
-    SKIP_BLANKS;
-    if (CUR == '"') {
-        NEXT;
-    cur = q = CUR_PTR;
-    val = xmlStringCurrentChar(NULL, cur, &len);
-    while ((IS_CHAR(val)) && (val != '"')) {
-        cur += len;
-        val = xmlStringCurrentChar(NULL, cur, &len);
-    }
-    if (!IS_CHAR(val)) {
-        ctxt->error = 1;
-        return(NULL);
-    } else {
-        ret = xmlStrndup(q, cur - q);
-        }
-    cur += len;
-    CUR_PTR = cur;
-    } else if (CUR == '\'') {
-        NEXT;
-    cur = q = CUR_PTR;
-    val = xmlStringCurrentChar(NULL, cur, &len);
-    while ((IS_CHAR(val)) && (val != '\'')) {
-        cur += len;
-        val = xmlStringCurrentChar(NULL, cur, &len);
-    }
-    if (!IS_CHAR(val)) {
-        ctxt->error = 1;
-        return(NULL);
-    } else {
-        ret = xmlStrndup(q, cur - q);
-        }
-    cur += len;
-    CUR_PTR = cur;
-    } else {
-    /* XP_ERROR(XPATH_START_LITERAL_ERROR); */
-    ctxt->error = 1;
-    return(NULL);
-    }
-    return(ret);
-}
-
-/**
- * xsltScanNCName:
- * @ctxt:  the XPath Parser context
- *
- * Parses a non qualified name
- *
- * Returns the Name parsed or NULL
- */
-
-static xmlChar *
-xsltScanNCName(xsltParserContextPtr ctxt) {
-    const xmlChar *q, *cur;
-    xmlChar *ret = NULL;
-    int val, len;
-
-    SKIP_BLANKS;
-
-    cur = q = CUR_PTR;
-    val = xmlStringCurrentChar(NULL, cur, &len);
-    if (!IS_LETTER(val) && (val != '_'))
-    return(NULL);
-
-    while ((IS_LETTER(val)) || (IS_DIGIT(val)) ||
-           (val == '.') || (val == '-') ||
-       (val == '_') ||
-       (IS_COMBINING(val)) ||
-       (IS_EXTENDER(val))) {
-    cur += len;
-    val = xmlStringCurrentChar(NULL, cur, &len);
-    }
-    ret = xmlStrndup(q, cur - q);
-    CUR_PTR = cur;
-    return(ret);
-}
-
-/*
- * xsltCompileIdKeyPattern:
- * @ctxt:  the compilation context
- * @name:  a preparsed name
- * @aid:  whether id/key are allowed there
- * @novar:  flag to prohibit xslt var
- *
- * Compile the XSLT LocationIdKeyPattern
- * [3] IdKeyPattern ::= 'id' '(' Literal ')'
- *                    | 'key' '(' Literal ',' Literal ')'
- *
- * also handle NodeType and PI from:
- *
- * [7]  NodeTest ::= NameTest
- *                 | NodeType '(' ')'
- *                 | 'processing-instruction' '(' Literal ')'
- */
-static void
-xsltCompileIdKeyPattern(xsltParserContextPtr ctxt, xmlChar *name,
-        int aid, int novar, xsltAxis axis) {
-    xmlChar *lit = NULL;
-    xmlChar *lit2 = NULL;
-
-    if (CUR != '(') {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltCompileIdKeyPattern : ( expected\n");
-    ctxt->error = 1;
-    return;
-    }
-    if ((aid) && (xmlStrEqual(name, (const xmlChar *)"id"))) {
-    if (axis != 0) {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileIdKeyPattern : NodeTest expected\n");
-        ctxt->error = 1;
-        return;
-    }
-    NEXT;
-    SKIP_BLANKS;
-        lit = xsltScanLiteral(ctxt);
-    if (ctxt->error) {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileIdKeyPattern : Literal expected\n");
-        return;
-    }
-    SKIP_BLANKS;
-    if (CUR != ')') {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileIdKeyPattern : ) expected\n");
-        xmlFree(lit);
-        ctxt->error = 1;
-        return;
-    }
-    NEXT;
-    PUSH(XSLT_OP_ID, lit, NULL, novar);
-    lit = NULL;
-    } else if ((aid) && (xmlStrEqual(name, (const xmlChar *)"key"))) {
-    if (axis != 0) {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileIdKeyPattern : NodeTest expected\n");
-        ctxt->error = 1;
-        return;
-    }
-    NEXT;
-    SKIP_BLANKS;
-        lit = xsltScanLiteral(ctxt);
-    if (ctxt->error) {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileIdKeyPattern : Literal expected\n");
-        return;
-    }
-    SKIP_BLANKS;
-    if (CUR != ',') {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileIdKeyPattern : , expected\n");
-        ctxt->error = 1;
-        return;
-    }
-    NEXT;
-    SKIP_BLANKS;
-        lit2 = xsltScanLiteral(ctxt);
-    if (ctxt->error) {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileIdKeyPattern : Literal expected\n");
-        xmlFree(lit);
-        return;
-    }
-    SKIP_BLANKS;
-    if (CUR != ')') {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileIdKeyPattern : ) expected\n");
-        xmlFree(lit);
-        xmlFree(lit2);
-        ctxt->error = 1;
-        return;
-    }
-    NEXT;
-    /* URGENT TODO: support namespace in keys */
-    PUSH(XSLT_OP_KEY, lit, lit2, novar);
-    lit = NULL;
-    lit2 = NULL;
-    } else if (xmlStrEqual(name, (const xmlChar *)"processing-instruction")) {
-    NEXT;
-    SKIP_BLANKS;
-    if (CUR != ')') {
-        lit = xsltScanLiteral(ctxt);
-        if (ctxt->error) {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileIdKeyPattern : Literal expected\n");
-        return;
-        }
-        SKIP_BLANKS;
-        if (CUR != ')') {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileIdKeyPattern : ) expected\n");
-        ctxt->error = 1;
-        return;
-        }
-    }
-    NEXT;
-    PUSH(XSLT_OP_PI, lit, NULL, novar);
-    lit = NULL;
-    } else if (xmlStrEqual(name, (const xmlChar *)"text")) {
-    NEXT;
-    SKIP_BLANKS;
-    if (CUR != ')') {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileIdKeyPattern : ) expected\n");
-        ctxt->error = 1;
-        return;
-    }
-    NEXT;
-    PUSH(XSLT_OP_TEXT, NULL, NULL, novar);
-    } else if (xmlStrEqual(name, (const xmlChar *)"comment")) {
-    NEXT;
-    SKIP_BLANKS;
-    if (CUR != ')') {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileIdKeyPattern : ) expected\n");
-        ctxt->error = 1;
-        return;
-    }
-    NEXT;
-    PUSH(XSLT_OP_COMMENT, NULL, NULL, novar);
-    } else if (xmlStrEqual(name, (const xmlChar *)"node")) {
-    NEXT;
-    SKIP_BLANKS;
-    if (CUR != ')') {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileIdKeyPattern : ) expected\n");
-        ctxt->error = 1;
-        return;
-    }
-    NEXT;
-    if (axis == AXIS_ATTRIBUTE) {
-        PUSH(XSLT_OP_ATTR, NULL, NULL, novar);
-    }
-    else {
-        PUSH(XSLT_OP_NODE, NULL, NULL, novar);
-    }
-    } else if (aid) {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltCompileIdKeyPattern : expecting 'key' or 'id' or node type\n");
-    ctxt->error = 1;
-    return;
-    } else {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltCompileIdKeyPattern : node type\n");
-    ctxt->error = 1;
-    return;
-    }
-error:
-    return;
-}
-
-/**
- * xsltCompileStepPattern:
- * @ctxt:  the compilation context
- * @token:  a posible precompiled name
- * @novar: flag to prohibit xslt variables from pattern
- *
- * Compile the XSLT StepPattern and generates a precompiled
- * form suitable for fast matching.
- *
- * [5] StepPattern ::= ChildOrAttributeAxisSpecifier NodeTest Predicate*
- * [6] ChildOrAttributeAxisSpecifier ::= AbbreviatedAxisSpecifier
- *                                     | ('child' | 'attribute') '::'
- * from XPath
- * [7]  NodeTest ::= NameTest
- *                 | NodeType '(' ')'
- *                 | 'processing-instruction' '(' Literal ')'
- * [8] Predicate ::= '[' PredicateExpr ']'
- * [9] PredicateExpr ::= Expr
- * [13] AbbreviatedAxisSpecifier ::= '@'?
- * [37] NameTest ::= '*' | NCName ':' '*' | QName
- */
-
-static void
-xsltCompileStepPattern(xsltParserContextPtr ctxt, xmlChar *token, int novar) {
-    xmlChar *name = NULL;
-    const xmlChar *URI = NULL;
-    xmlChar *URL = NULL;
-    int level;
-    xsltAxis axis = 0;
-
-    SKIP_BLANKS;
-    if ((token == NULL) && (CUR == '@')) {
-    NEXT;
-        axis = AXIS_ATTRIBUTE;
-    }
-parse_node_test:
-    if (token == NULL)
-    token = xsltScanNCName(ctxt);
-    if (token == NULL) {
-    if (CUR == '*') {
-        NEXT;
-        if (axis == AXIS_ATTRIBUTE) {
-                PUSH(XSLT_OP_ATTR, NULL, NULL, novar);
-            }
-            else {
-                PUSH(XSLT_OP_ALL, NULL, NULL, novar);
-            }
-        goto parse_predicate;
-    } else {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileStepPattern : Name expected\n");
-        ctxt->error = 1;
-        goto error;
-    }
-    }
-
-
-    SKIP_BLANKS;
-    if (CUR == '(') {
-    xsltCompileIdKeyPattern(ctxt, token, 0, novar, axis);
-    xmlFree(token);
-    token = NULL;
-    if (ctxt->error)
-        goto error;
-    } else if (CUR == ':') {
-    NEXT;
-    if (CUR != ':') {
-        xmlChar *prefix = token;
-        xmlNsPtr ns;
-
-        /*
-         * This is a namespace match
-         */
-        token = xsltScanNCName(ctxt);
-        ns = xmlSearchNs(ctxt->doc, ctxt->elem, prefix);
-        if (ns == NULL) {
-        xsltTransformError(NULL, NULL, NULL,
-        "xsltCompileStepPattern : no namespace bound to prefix %s\n",
-                 prefix);
-        xmlFree(prefix);
-        prefix=NULL;
-        ctxt->error = 1;
-        goto error;
-        } else {
-        URL = xmlStrdup(ns->href);
-        }
-        xmlFree(prefix);
-        prefix=NULL;
-        if (token == NULL) {
-        if (CUR == '*') {
-            NEXT;
-                    if (axis == AXIS_ATTRIBUTE) {
-                        PUSH(XSLT_OP_ATTR, NULL, URL, novar);
-            URL = NULL;
-                    }
-                    else {
-                        PUSH(XSLT_OP_NS, URL, NULL, novar);
-            URL = NULL;
-                    }
-        } else {
-            xsltTransformError(NULL, NULL, NULL,
-                "xsltCompileStepPattern : Name expected\n");
-            ctxt->error = 1;
-            goto error;
-        }
-        } else {
-                if (axis == AXIS_ATTRIBUTE) {
-                    PUSH(XSLT_OP_ATTR, token, URL, novar);
-            token = NULL;
-            URL = NULL;
-                }
-                else {
-                    PUSH(XSLT_OP_ELEM, token, URL, novar);
-            token = NULL;
-            URL = NULL;
-                }
-        }
-    } else {
-        if (axis != 0) {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileStepPattern : NodeTest expected\n");
-        ctxt->error = 1;
-        goto error;
-        }
-        NEXT;
-        if (xmlStrEqual(token, (const xmlChar *) "child")) {
-            axis = AXIS_CHILD;
-        } else if (xmlStrEqual(token, (const xmlChar *) "attribute")) {
-            axis = AXIS_ATTRIBUTE;
-        } else {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileStepPattern : 'child' or 'attribute' expected\n");
-        ctxt->error = 1;
-        goto error;
-        }
-        xmlFree(token);
-        token = NULL;
-            SKIP_BLANKS;
-            token = xsltScanNCName(ctxt);
-        goto parse_node_test;
-    }
-    } else {
-    URI = xsltGetQNameURI(ctxt->elem, &token);
-    if (token == NULL) {
-        ctxt->error = 1;
-        goto error;
-    }
-    if (URI != NULL)
-        URL = xmlStrdup(URI);
-        if (axis == AXIS_ATTRIBUTE) {
-            PUSH(XSLT_OP_ATTR, token, URL, novar);
-        token = NULL;
-        URL = NULL;
-        }
-        else {
-            PUSH(XSLT_OP_ELEM, token, URL, novar);
-        token = NULL;
-        URL = NULL;
-        }
-    }
-parse_predicate:
-    SKIP_BLANKS;
-    level = 0;
-    while (CUR == '[') {
-    const xmlChar *q;
-    xmlChar *ret = NULL;
-
-    level++;
-    NEXT;
-    q = CUR_PTR;
-    while (CUR != 0) {
-        /* Skip over nested predicates */
-        if (CUR == '[')
-        level++;
-        else if (CUR == ']') {
-        level--;
-        if (level == 0)
-            break;
-        } else if (CUR == '"') {
-        NEXT;
-        while ((CUR != 0) && (CUR != '"'))
-            NEXT;
-        } else if (CUR == '\'') {
-        NEXT;
-        while ((CUR != 0) && (CUR != '\''))
-            NEXT;
-        }
-        NEXT;
-    }
-    if (CUR == 0) {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileStepPattern : ']' expected\n");
-        ctxt->error = 1;
-        return;
-        }
-    ret = xmlStrndup(q, CUR_PTR - q);
-    PUSH(XSLT_OP_PREDICATE, ret, NULL, novar);
-    ret = NULL;
-    /* push the predicate lower than local test */
-    SWAP();
-    NEXT;
-    SKIP_BLANKS;
-    }
-    return;
-error:
-    if (token != NULL)
-    xmlFree(token);
-    if (name != NULL)
-    xmlFree(name);
-}
-
-/**
- * xsltCompileRelativePathPattern:
- * @comp:  the compilation context
- * @token:  a posible precompiled name
- * @novar:  flag to prohibit xslt variables
- *
- * Compile the XSLT RelativePathPattern and generates a precompiled
- * form suitable for fast matching.
- *
- * [4] RelativePathPattern ::= StepPattern
- *                           | RelativePathPattern '/' StepPattern
- *                           | RelativePathPattern '//' StepPattern
- */
-static void
-xsltCompileRelativePathPattern(xsltParserContextPtr ctxt, xmlChar *token, int novar) {
-    xsltCompileStepPattern(ctxt, token, novar);
-    if (ctxt->error)
-    goto error;
-    SKIP_BLANKS;
-    while ((CUR != 0) && (CUR != '|')) {
-    if ((CUR == '/') && (NXT(1) == '/')) {
-        PUSH(XSLT_OP_ANCESTOR, NULL, NULL, novar);
-        NEXT;
-        NEXT;
-        SKIP_BLANKS;
-        xsltCompileStepPattern(ctxt, NULL, novar);
-    } else if (CUR == '/') {
-        PUSH(XSLT_OP_PARENT, NULL, NULL, novar);
-        NEXT;
-        SKIP_BLANKS;
-        if ((CUR != 0) && (CUR != '|')) {
-        xsltCompileRelativePathPattern(ctxt, NULL, novar);
-        }
-    } else {
-        ctxt->error = 1;
-    }
-    if (ctxt->error)
-        goto error;
-    SKIP_BLANKS;
-    }
-error:
-    return;
-}
-
-/**
- * xsltCompileLocationPathPattern:
- * @ctxt:  the compilation context
- * @novar:  flag to prohibit xslt variables
- *
- * Compile the XSLT LocationPathPattern and generates a precompiled
- * form suitable for fast matching.
- *
- * [2] LocationPathPattern ::= '/' RelativePathPattern?
- *                           | IdKeyPattern (('/' | '//') RelativePathPattern)?
- *                           | '//'? RelativePathPattern
- */
-static void
-xsltCompileLocationPathPattern(xsltParserContextPtr ctxt, int novar) {
-    SKIP_BLANKS;
-    if ((CUR == '/') && (NXT(1) == '/')) {
-    /*
-     * since we reverse the query
-     * a leading // can be safely ignored
-     */
-    NEXT;
-    NEXT;
-    ctxt->comp->priority = 0.5; /* '//' means not 0 priority */
-    xsltCompileRelativePathPattern(ctxt, NULL, novar);
-    } else if (CUR == '/') {
-    /*
-     * We need to find root as the parent
-     */
-    NEXT;
-    SKIP_BLANKS;
-    PUSH(XSLT_OP_ROOT, NULL, NULL, novar);
-    if ((CUR != 0) && (CUR != '|')) {
-        PUSH(XSLT_OP_PARENT, NULL, NULL, novar);
-        xsltCompileRelativePathPattern(ctxt, NULL, novar);
-    }
-    } else if (CUR == '*') {
-    xsltCompileRelativePathPattern(ctxt, NULL, novar);
-    } else if (CUR == '@') {
-    xsltCompileRelativePathPattern(ctxt, NULL, novar);
-    } else {
-    xmlChar *name;
-    name = xsltScanNCName(ctxt);
-    if (name == NULL) {
-        xsltTransformError(NULL, NULL, NULL,
-            "xsltCompileLocationPathPattern : Name expected\n");
-        ctxt->error = 1;
-        return;
-    }
-    SKIP_BLANKS;
-    if ((CUR == '(') && !xmlXPathIsNodeType(name)) {
-        xsltCompileIdKeyPattern(ctxt, name, 1, novar, 0);
-        xmlFree(name);
-        name = NULL;
-        if ((CUR == '/') && (NXT(1) == '/')) {
-        PUSH(XSLT_OP_ANCESTOR, NULL, NULL, novar);
-        NEXT;
-        NEXT;
-        SKIP_BLANKS;
-        xsltCompileRelativePathPattern(ctxt, NULL, novar);
-        } else if (CUR == '/') {
-        PUSH(XSLT_OP_PARENT, NULL, NULL, novar);
-        NEXT;
-        SKIP_BLANKS;
-        xsltCompileRelativePathPattern(ctxt, NULL, novar);
-        }
-        return;
-    }
-    xsltCompileRelativePathPattern(ctxt, name, novar);
-    }
-error:
-    return;
-}
-
-/**
- * xsltCompilePatternInternal:
- * @pattern: an XSLT pattern
- * @doc:  the containing document
- * @node:  the containing element
- * @style:  the stylesheet
- * @runtime:  the transformation context, if done at run-time
- * @novar:  flag to prohibit xslt variables
- *
- * Compile the XSLT pattern and generates a list of precompiled form suitable
- * for fast matching.
- *
- * [1] Pattern ::= LocationPathPattern | Pattern '|' LocationPathPattern
- *
- * Returns the generated pattern list or NULL in case of failure
- */
-
-static xsltCompMatchPtr
-xsltCompilePatternInternal(const xmlChar *pattern, xmlDocPtr doc,
-               xmlNodePtr node, xsltStylesheetPtr style,
-           xsltTransformContextPtr runtime, int novar) {
-    xsltParserContextPtr ctxt = NULL;
-    xsltCompMatchPtr element, first = NULL, previous = NULL;
-    int current, start, end, level, j;
-
-    if (pattern == NULL) {
-    xsltTransformError(NULL, NULL, node,
-             "xsltCompilePattern : NULL pattern\n");
-    return(NULL);
-    }
-
-    ctxt = xsltNewParserContext(style, runtime);
-    if (ctxt == NULL)
-    return(NULL);
-    ctxt->doc = doc;
-    ctxt->elem = node;
-    current = end = 0;
-    while (pattern[current] != 0) {
-    start = current;
-    while (IS_BLANK_CH(pattern[current]))
-        current++;
-    end = current;
-    level = 0;
-    while ((pattern[end] != 0) && ((pattern[end] != '|') || (level != 0))) {
-        if (pattern[end] == '[')
-        level++;
-        else if (pattern[end] == ']')
-        level--;
-        else if (pattern[end] == '\'') {
-        end++;
-        while ((pattern[end] != 0) && (pattern[end] != '\''))
-            end++;
-        } else if (pattern[end] == '"') {
-        end++;
-        while ((pattern[end] != 0) && (pattern[end] != '"'))
-            end++;
-        }
-        if (pattern[end] == 0)
-            break;
-        end++;
-    }
-    if (current == end) {
-        xsltTransformError(NULL, NULL, node,
-                 "xsltCompilePattern : NULL pattern\n");
-        goto error;
-    }
-    element = xsltNewCompMatch();
-    if (element == NULL) {
-        goto error;
-    }
-    if (first == NULL)
-        first = element;
-    else if (previous != NULL)
-        previous->next = element;
-    previous = element;
-
-    ctxt->comp = element;
-    ctxt->base = xmlStrndup(&pattern[start], end - start);
-    if (ctxt->base == NULL)
-        goto error;
-    ctxt->cur = &(ctxt->base)[current - start];
-    element->pattern = ctxt->base;
-    element->nsList = xmlGetNsList(doc, node);
-    j = 0;
-    if (element->nsList != NULL) {
-        while (element->nsList[j] != NULL)
-        j++;
-    }
-    element->nsNr = j;
-
-
-#ifdef WITH_XSLT_DEBUG_PATTERN
-    xsltGenericDebug(xsltGenericDebugContext,
-             "xsltCompilePattern : parsing '%s'\n",
-             element->pattern);
-#endif
-    /*
-     Preset default priority to be zero.
-     This may be changed by xsltCompileLocationPathPattern.
-     */
-    element->priority = 0;
-    xsltCompileLocationPathPattern(ctxt, novar);
-    if (ctxt->error) {
-        xsltTransformError(NULL, style, node,
-                 "xsltCompilePattern : failed to compile '%s'\n",
-                 element->pattern);
-        if (style != NULL) style->errors++;
-        goto error;
-    }
-
-    /*
-     * Reverse for faster interpretation.
-     */
-    xsltReverseCompMatch(ctxt, element);
-
-    /*
-     * Set-up the priority
-     */
-    if (element->priority == 0) {   /* if not yet determined */
-        if (((element->steps[0].op == XSLT_OP_ELEM) ||
-         (element->steps[0].op == XSLT_OP_ATTR) ||
-         (element->steps[0].op == XSLT_OP_PI)) &&
-        (element->steps[0].value != NULL) &&
-        (element->steps[1].op == XSLT_OP_END)) {
-        ;   /* previously preset */
-        } else if ((element->steps[0].op == XSLT_OP_ATTR) &&
-               (element->steps[0].value2 != NULL) &&
-               (element->steps[1].op == XSLT_OP_END)) {
-            element->priority = -0.25;
-        } else if ((element->steps[0].op == XSLT_OP_NS) &&
-               (element->steps[0].value != NULL) &&
-               (element->steps[1].op == XSLT_OP_END)) {
-            element->priority = -0.25;
-        } else if ((element->steps[0].op == XSLT_OP_ATTR) &&
-               (element->steps[0].value == NULL) &&
-               (element->steps[0].value2 == NULL) &&
-               (element->steps[1].op == XSLT_OP_END)) {
-            element->priority = -0.5;
-        } else if (((element->steps[0].op == XSLT_OP_PI) ||
-               (element->steps[0].op == XSLT_OP_TEXT) ||
-               (element->steps[0].op == XSLT_OP_ALL) ||
-               (element->steps[0].op == XSLT_OP_NODE) ||
-               (element->steps[0].op == XSLT_OP_COMMENT)) &&
-               (element->steps[1].op == XSLT_OP_END)) {
-            element->priority = -0.5;
-        } else {
-        element->priority = 0.5;
-        }
-    }
-#ifdef WITH_XSLT_DEBUG_PATTERN
-    xsltGenericDebug(xsltGenericDebugContext,
-             "xsltCompilePattern : parsed %s, default priority %f\n",
-             element->pattern, element->priority);
-#endif
-    if (pattern[end] == '|')
-        end++;
-    current = end;
-    }
-    if (end == 0) {
-    xsltTransformError(NULL, style, node,
-             "xsltCompilePattern : NULL pattern\n");
-    if (style != NULL) style->errors++;
-    goto error;
-    }
-
-    xsltFreeParserContext(ctxt);
-    return(first);
-
-error:
-    if (ctxt != NULL)
-    xsltFreeParserContext(ctxt);
-    if (first != NULL)
-    xsltFreeCompMatchList(first);
-    return(NULL);
-}
-
-/**
- * xsltCompilePattern:
- * @pattern: an XSLT pattern
- * @doc:  the containing document
- * @node:  the containing element
- * @style:  the stylesheet
- * @runtime:  the transformation context, if done at run-time
- *
- * Compile the XSLT pattern and generates a list of precompiled form suitable
- * for fast matching.
- *
- * [1] Pattern ::= LocationPathPattern | Pattern '|' LocationPathPattern
- *
- * Returns the generated pattern list or NULL in case of failure
- */
-
-xsltCompMatchPtr
-xsltCompilePattern(const xmlChar *pattern, xmlDocPtr doc,
-               xmlNodePtr node, xsltStylesheetPtr style,
-           xsltTransformContextPtr runtime) {
-    return (xsltCompilePatternInternal(pattern, doc, node, style, runtime, 0));
-}
-
-/************************************************************************
- *                                  *
- *          Module interfaces               *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltAddTemplate:
- * @style: an XSLT stylesheet
- * @cur: an XSLT template
- * @mode:  the mode name or NULL
- * @modeURI:  the mode URI or NULL
- *
- * Register the XSLT pattern associated to @cur
- *
- * Returns -1 in case of error, 0 otherwise
- */
-int
-xsltAddTemplate(xsltStylesheetPtr style, xsltTemplatePtr cur,
-            const xmlChar *mode, const xmlChar *modeURI) {
-    xsltCompMatchPtr pat, list, next;
-    /*
-     * 'top' will point to style->xxxMatch ptr - declaring as 'void'
-     *  avoids gcc 'type-punned pointer' warning.
-     */
-    void **top = NULL;
-    const xmlChar *name = NULL;
-    float priority;              /* the priority */
-
-    if ((style == NULL) || (cur == NULL) || (cur->match == NULL))
-    return(-1);
-
-    priority = cur->priority;
-    pat = xsltCompilePatternInternal(cur->match, style->doc, cur->elem,
-            style, NULL, 1);
-    if (pat == NULL)
-    return(-1);
-    while (pat) {
-    next = pat->next;
-    pat->next = NULL;
-    name = NULL;
-
-    pat->template = cur;
-    if (mode != NULL)
-        pat->mode = xmlDictLookup(style->dict, mode, -1);
-    if (modeURI != NULL)
-        pat->modeURI = xmlDictLookup(style->dict, modeURI, -1);
-    if (priority != XSLT_PAT_NO_PRIORITY)
-        pat->priority = priority;
-
-    /*
-     * insert it in the hash table list corresponding to its lookup name
-     */
-    switch (pat->steps[0].op) {
-        case XSLT_OP_ATTR:
-        if (pat->steps[0].value != NULL)
-        name = pat->steps[0].value;
-        else
-        top = &(style->attrMatch);
-        break;
-        case XSLT_OP_PARENT:
-        case XSLT_OP_ANCESTOR:
-        top = &(style->elemMatch);
-        break;
-        case XSLT_OP_ROOT:
-        top = &(style->rootMatch);
-        break;
-        case XSLT_OP_KEY:
-        top = &(style->keyMatch);
-        break;
-        case XSLT_OP_ID:
-        /* TODO optimize ID !!! */
-        case XSLT_OP_NS:
-        case XSLT_OP_ALL:
-        top = &(style->elemMatch);
-        break;
-        case XSLT_OP_END:
-    case XSLT_OP_PREDICATE:
-        xsltTransformError(NULL, style, NULL,
-                 "xsltAddTemplate: invalid compiled pattern\n");
-        xsltFreeCompMatch(pat);
-        return(-1);
-        /*
-         * TODO: some flags at the top level about type based patterns
-         *       would be faster than inclusion in the hash table.
-         */
-    case XSLT_OP_PI:
-        if (pat->steps[0].value != NULL)
-        name = pat->steps[0].value;
-        else
-        top = &(style->piMatch);
-        break;
-    case XSLT_OP_COMMENT:
-        top = &(style->commentMatch);
-        break;
-    case XSLT_OP_TEXT:
-        top = &(style->textMatch);
-        break;
-        case XSLT_OP_ELEM:
-    case XSLT_OP_NODE:
-        if (pat->steps[0].value != NULL)
-        name = pat->steps[0].value;
-        else
-        top = &(style->elemMatch);
-        break;
-    }
-    if (name != NULL) {
-        if (style->templatesHash == NULL) {
-        style->templatesHash = xmlHashCreate(1024);
-        if (style->templatesHash == NULL) {
-            xsltFreeCompMatch(pat);
-            return(-1);
-        }
-        xmlHashAddEntry3(style->templatesHash, name, mode, modeURI, pat);
-        } else {
-        list = (xsltCompMatchPtr) xmlHashLookup3(style->templatesHash,
-                             name, mode, modeURI);
-        if (list == NULL) {
-            xmlHashAddEntry3(style->templatesHash, name,
-                     mode, modeURI, pat);
-        } else {
-            /*
-             * Note '<=' since one must choose among the matching
-             * template rules that are left, the one that occurs
-             * last in the stylesheet
-             */
-            if (list->priority <= pat->priority) {
-            pat->next = list;
-            xmlHashUpdateEntry3(style->templatesHash, name,
-                        mode, modeURI, pat, NULL);
-            } else {
-            while (list->next != NULL) {
-                if (list->next->priority <= pat->priority)
-                break;
-                list = list->next;
-            }
-            pat->next = list->next;
-            list->next = pat;
-            }
-        }
-        }
-    } else if (top != NULL) {
-        list = *top;
-        if (list == NULL) {
-        *top = pat;
-        pat->next = NULL;
-        } else if (list->priority <= pat->priority) {
-        pat->next = list;
-        *top = pat;
-        } else {
-        while (list->next != NULL) {
-            if (list->next->priority <= pat->priority)
-            break;
-            list = list->next;
-        }
-        pat->next = list->next;
-        list->next = pat;
-        }
-    } else {
-        xsltTransformError(NULL, style, NULL,
-                 "xsltAddTemplate: invalid compiled pattern\n");
-        xsltFreeCompMatch(pat);
-        return(-1);
-    }
-#ifdef WITH_XSLT_DEBUG_PATTERN
-    if (mode)
-        xsltGenericDebug(xsltGenericDebugContext,
-             "added pattern : '%s' mode '%s' priority %f\n",
-                 pat->pattern, pat->mode, pat->priority);
-    else
-        xsltGenericDebug(xsltGenericDebugContext,
-             "added pattern : '%s' priority %f\n",
-                 pat->pattern, pat->priority);
-#endif
-
-    pat = next;
-    }
-    return(0);
-}
-
-static int
-xsltComputeAllKeys(xsltTransformContextPtr ctxt, xmlNodePtr contextNode)
-{
-    if ((ctxt == NULL) || (contextNode == NULL)) {
-    xsltTransformError(ctxt, NULL, ctxt->inst,
-        "Internal error in xsltComputeAllKeys(): "
-        "Bad arguments.\n");
-    return(-1);
-    }
-
-    if (ctxt->document == NULL) {
-    /*
-    * The document info will only be NULL if we have a RTF.
-    */
-    if (contextNode->doc->_private != NULL)
-        goto doc_info_mismatch;
-    /*
-    * On-demand creation of the document info (needed for keys).
-    */
-    ctxt->document = xsltNewDocument(ctxt, contextNode->doc);
-    if (ctxt->document == NULL)
-        return(-1);
-    }
-    return xsltInitAllDocKeys(ctxt);
-
-doc_info_mismatch:
-    xsltTransformError(ctxt, NULL, ctxt->inst,
-    "Internal error in xsltComputeAllKeys(): "
-    "The context's document info doesn't match the "
-    "document info of the current result tree.\n");
-    ctxt->state = XSLT_STATE_STOPPED;
-    return(-1);
-}
-
-/**
- * xsltGetTemplate:
- * @ctxt:  a XSLT process context
- * @node:  the node being processed
- * @style:  the current style
- *
- * Finds the template applying to this node, if @style is non-NULL
- * it means one needs to look for the next imported template in scope.
- *
- * Returns the xsltTemplatePtr or NULL if not found
- */
-xsltTemplatePtr
-xsltGetTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node,
-            xsltStylesheetPtr style)
-{
-    xsltStylesheetPtr curstyle;
-    xsltTemplatePtr ret = NULL;
-    const xmlChar *name = NULL;
-    xsltCompMatchPtr list = NULL;
-    float priority;
-    int keyed = 0;
-
-    if ((ctxt == NULL) || (node == NULL))
-    return(NULL);
-
-    if (style == NULL) {
-    curstyle = ctxt->style;
-    } else {
-    curstyle = xsltNextImport(style);
-    }
-
-    while ((curstyle != NULL) && (curstyle != style)) {
-    priority = XSLT_PAT_NO_PRIORITY;
-    /* TODO : handle IDs/keys here ! */
-    if (curstyle->templatesHash != NULL) {
-        /*
-         * Use the top name as selector
-         */
-        switch (node->type) {
-        case XML_ELEMENT_NODE:
-            if (node->name[0] == ' ')
-            break;
-        case XML_ATTRIBUTE_NODE:
-        case XML_PI_NODE:
-            name = node->name;
-            break;
-        case XML_DOCUMENT_NODE:
-        case XML_HTML_DOCUMENT_NODE:
-        case XML_TEXT_NODE:
-        case XML_CDATA_SECTION_NODE:
-        case XML_COMMENT_NODE:
-        case XML_ENTITY_REF_NODE:
-        case XML_ENTITY_NODE:
-        case XML_DOCUMENT_TYPE_NODE:
-        case XML_DOCUMENT_FRAG_NODE:
-        case XML_NOTATION_NODE:
-        case XML_DTD_NODE:
-        case XML_ELEMENT_DECL:
-        case XML_ATTRIBUTE_DECL:
-        case XML_ENTITY_DECL:
-        case XML_NAMESPACE_DECL:
-        case XML_XINCLUDE_START:
-        case XML_XINCLUDE_END:
-            break;
-        default:
-            return(NULL);
-
-        }
-    }
-    if (name != NULL) {
-        /*
-         * find the list of applicable expressions based on the name
-         */
-        list = (xsltCompMatchPtr) xmlHashLookup3(curstyle->templatesHash,
-                         name, ctxt->mode, ctxt->modeURI);
-    } else
-        list = NULL;
-    while (list != NULL) {
-        if (xsltTestCompMatch(ctxt, list, node,
-                      ctxt->mode, ctxt->modeURI)) {
-        ret = list->template;
-        priority = list->priority;
-        break;
-        }
-        list = list->next;
-    }
-    list = NULL;
-
-    /*
-     * find alternate generic matches
-     */
-    switch (node->type) {
-        case XML_ELEMENT_NODE:
-        if (node->name[0] == ' ')
-            list = curstyle->rootMatch;
-        else
-            list = curstyle->elemMatch;
-        if (node->psvi != NULL) keyed = 1;
-        break;
-        case XML_ATTRIBUTE_NODE: {
-            xmlAttrPtr attr;
-
-        list = curstyle->attrMatch;
-        attr = (xmlAttrPtr) node;
-        if (attr->psvi != NULL) keyed = 1;
-        break;
-        }
-        case XML_PI_NODE:
-        list = curstyle->piMatch;
-        if (node->psvi != NULL) keyed = 1;
-        break;
-        case XML_DOCUMENT_NODE:
-        case XML_HTML_DOCUMENT_NODE: {
-            xmlDocPtr doc;
-
-        list = curstyle->rootMatch;
-        doc = (xmlDocPtr) node;
-        if (doc->psvi != NULL) keyed = 1;
-        break;
-        }
-        case XML_TEXT_NODE:
-        case XML_CDATA_SECTION_NODE:
-        list = curstyle->textMatch;
-        if (node->psvi != NULL) keyed = 1;
-        break;
-        case XML_COMMENT_NODE:
-        list = curstyle->commentMatch;
-        if (node->psvi != NULL) keyed = 1;
-        break;
-        case XML_ENTITY_REF_NODE:
-        case XML_ENTITY_NODE:
-        case XML_DOCUMENT_TYPE_NODE:
-        case XML_DOCUMENT_FRAG_NODE:
-        case XML_NOTATION_NODE:
-        case XML_DTD_NODE:
-        case XML_ELEMENT_DECL:
-        case XML_ATTRIBUTE_DECL:
-        case XML_ENTITY_DECL:
-        case XML_NAMESPACE_DECL:
-        case XML_XINCLUDE_START:
-        case XML_XINCLUDE_END:
-        break;
-        default:
-        break;
-    }
-    while ((list != NULL) &&
-           ((ret == NULL)  || (list->priority > priority))) {
-        if (xsltTestCompMatch(ctxt, list, node,
-                      ctxt->mode, ctxt->modeURI)) {
-        ret = list->template;
-        priority = list->priority;
-        break;
-        }
-        list = list->next;
-    }
-    /*
-     * Some of the tests for elements can also apply to documents
-     */
-    if ((node->type == XML_DOCUMENT_NODE) ||
-        (node->type == XML_HTML_DOCUMENT_NODE) ||
-        (node->type == XML_TEXT_NODE)) {
-        list = curstyle->elemMatch;
-        while ((list != NULL) &&
-           ((ret == NULL)  || (list->priority > priority))) {
-        if (xsltTestCompMatch(ctxt, list, node,
-                      ctxt->mode, ctxt->modeURI)) {
-            ret = list->template;
-            priority = list->priority;
-            break;
-        }
-        list = list->next;
-        }
-    } else if ((node->type == XML_PI_NODE) ||
-           (node->type == XML_COMMENT_NODE)) {
-        list = curstyle->elemMatch;
-        while ((list != NULL) &&
-           ((ret == NULL)  || (list->priority > priority))) {
-        if (xsltTestCompMatch(ctxt, list, node,
-                      ctxt->mode, ctxt->modeURI)) {
-            ret = list->template;
-            priority = list->priority;
-            break;
-        }
-        list = list->next;
-        }
-    }
-
-keyed_match:
-    if (keyed) {
-        list = curstyle->keyMatch;
-        while ((list != NULL) &&
-           ((ret == NULL)  || (list->priority > priority))) {
-        if (xsltTestCompMatch(ctxt, list, node,
-                      ctxt->mode, ctxt->modeURI)) {
-            ret = list->template;
-            priority = list->priority;
-            break;
-        }
-        list = list->next;
-        }
-    }
-    else if (ctxt->hasTemplKeyPatterns &&
-        ((ctxt->document == NULL) ||
-         (ctxt->document->nbKeysComputed < ctxt->nbKeys)))
-    {
-        /*
-        * Compute all remaining keys for this document.
-        *
-        * REVISIT TODO: I think this could be further optimized.
-        */
-        if (xsltComputeAllKeys(ctxt, node) == -1)
-        goto error;
-
-        switch (node->type) {
-        case XML_ELEMENT_NODE:
-            if (node->psvi != NULL) keyed = 1;
-            break;
-        case XML_ATTRIBUTE_NODE:
-            if (((xmlAttrPtr) node)->psvi != NULL) keyed = 1;
-            break;
-        case XML_TEXT_NODE:
-        case XML_CDATA_SECTION_NODE:
-        case XML_COMMENT_NODE:
-        case XML_PI_NODE:
-            if (node->psvi != NULL) keyed = 1;
-            break;
-        case XML_DOCUMENT_NODE:
-        case XML_HTML_DOCUMENT_NODE:
-            if (((xmlDocPtr) node)->psvi != NULL) keyed = 1;
-            break;
-        default:
-            break;
-        }
-        if (keyed)
-        goto keyed_match;
-    }
-    if (ret != NULL)
-        return(ret);
-
-    /*
-     * Cycle on next curstylesheet import.
-     */
-    curstyle = xsltNextImport(curstyle);
-    }
-
-error:
-    return(NULL);
-}
-
-/**
- * xsltCleanupTemplates:
- * @style: an XSLT stylesheet
- *
- * Cleanup the state of the templates used by the stylesheet and
- * the ones it imports.
- */
-void
-xsltCleanupTemplates(xsltStylesheetPtr style ATTRIBUTE_UNUSED) {
-}
-
-/**
- * xsltFreeTemplateHashes:
- * @style: an XSLT stylesheet
- *
- * Free up the memory used by xsltAddTemplate/xsltGetTemplate mechanism
- */
-void
-xsltFreeTemplateHashes(xsltStylesheetPtr style) {
-    if (style->templatesHash != NULL)
-    xmlHashFree((xmlHashTablePtr) style->templatesHash,
-            (xmlHashDeallocator) xsltFreeCompMatchList);
-    if (style->rootMatch != NULL)
-        xsltFreeCompMatchList(style->rootMatch);
-    if (style->keyMatch != NULL)
-        xsltFreeCompMatchList(style->keyMatch);
-    if (style->elemMatch != NULL)
-        xsltFreeCompMatchList(style->elemMatch);
-    if (style->attrMatch != NULL)
-        xsltFreeCompMatchList(style->attrMatch);
-    if (style->parentMatch != NULL)
-        xsltFreeCompMatchList(style->parentMatch);
-    if (style->textMatch != NULL)
-        xsltFreeCompMatchList(style->textMatch);
-    if (style->piMatch != NULL)
-        xsltFreeCompMatchList(style->piMatch);
-    if (style->commentMatch != NULL)
-        xsltFreeCompMatchList(style->commentMatch);
-}
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/pattern.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/pattern.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/pattern.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Summary: interface for the pattern matching used in template matches.
- * Description: the implementation of the lookup of the right template
- *              for a given node must be really fast in order to keep
- *              decent performances.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_PATTERN_H__
-#define __XML_XSLT_PATTERN_H__
-
-#include "xsltInternals.h"
-#include "xsltexports.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * xsltCompMatch:
- *
- * Data structure used for the implementation of patterns.
- * It is kept private (in pattern.c).
- */
-typedef struct _xsltCompMatch xsltCompMatch;
-typedef xsltCompMatch *xsltCompMatchPtr;
-
-/*
- * Pattern related interfaces.
- */
-
-XSLTPUBFUN xsltCompMatchPtr XSLTCALL
-        xsltCompilePattern  (const xmlChar *pattern,
-                     xmlDocPtr doc,
-                     xmlNodePtr node,
-                     xsltStylesheetPtr style,
-                     xsltTransformContextPtr runtime);
-XSLTPUBFUN void XSLTCALL
-        xsltFreeCompMatchList   (xsltCompMatchPtr comp);
-XSLTPUBFUN int XSLTCALL
-        xsltTestCompMatchList   (xsltTransformContextPtr ctxt,
-                     xmlNodePtr node,
-                     xsltCompMatchPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltNormalizeCompSteps  (void *payload,
-                     void *data,
-                     const xmlChar *name);
-
-/*
- * Template related interfaces.
- */
-XSLTPUBFUN int XSLTCALL
-        xsltAddTemplate     (xsltStylesheetPtr style,
-                     xsltTemplatePtr cur,
-                     const xmlChar *mode,
-                     const xmlChar *modeURI);
-XSLTPUBFUN xsltTemplatePtr XSLTCALL
-        xsltGetTemplate     (xsltTransformContextPtr ctxt,
-                     xmlNodePtr node,
-                     xsltStylesheetPtr style);
-XSLTPUBFUN void XSLTCALL
-        xsltFreeTemplateHashes  (xsltStylesheetPtr style);
-XSLTPUBFUN void XSLTCALL
-        xsltCleanupTemplates    (xsltStylesheetPtr style);
-
-#if 0
-int     xsltMatchPattern    (xsltTransformContextPtr ctxt,
-                     xmlNodePtr node,
-                     const xmlChar *pattern,
-                     xmlDocPtr ctxtdoc,
-                     xmlNodePtr ctxtnode);
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_PATTERN_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/preproc.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/preproc.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/preproc.c
+++ /dev/null
@@ -1,2374 +0,0 @@
-/*
- * preproc.c: Preprocessing of style operations
- *
- * References:
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- *   Michael Kay "XSLT Programmer's Reference" pp 637-643
- *   Writing Multiple Output Files
- *
- *   XSLT-1.1 Working Draft
- *   http://www.w3.org/TR/xslt11#multiple-output
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltutils.h"
-#include "xsltInternals.h"
-#include "transform.h"
-#include "templates.h"
-#include "variables.h"
-#include "numbersInternals.h"
-#include "preproc.h"
-#include "extra.h"
-#include "imports.h"
-#include "extensions.h"
-#include "pattern.h"
-
-#ifdef WITH_XSLT_DEBUG
-#define WITH_XSLT_DEBUG_PREPROC
-#endif
-
-const xmlChar *xsltExtMarker = (const xmlChar *) "Extension Element";
-
-/************************************************************************
- *                                  *
- *          Grammar checks                  *
- *                                  *
- ************************************************************************/
-
-#ifdef XSLT_REFACTORED
-    /*
-    * Grammar checks are now performed in xslt.c.
-    */
-#else
-/**
- * xsltCheckTopLevelElement:
- * @style: the XSLT stylesheet
- * @inst: the XSLT instruction
- * @err: raise an error or not
- *
- * Check that the instruction is instanciated as a top level element.
- *
- * Returns -1 in case of error, 0 if failed and 1 in case of success
- */
-static int
-xsltCheckTopLevelElement(xsltStylesheetPtr style, xmlNodePtr inst, int err) {
-    xmlNodePtr parent;
-    if ((style == NULL) || (inst == NULL) || (inst->ns == NULL))
-        return(-1);
-
-    parent = inst->parent;
-    if (parent == NULL) {
-        if (err) {
-        xsltTransformError(NULL, style, inst,
-            "internal problem: element has no parent\n");
-        style->errors++;
-    }
-    return(0);
-    }
-    if ((parent->ns == NULL) || (parent->type != XML_ELEMENT_NODE) ||
-        ((parent->ns != inst->ns) &&
-     (!xmlStrEqual(parent->ns->href, inst->ns->href))) ||
-    ((!xmlStrEqual(parent->name, BAD_CAST "stylesheet")) &&
-     (!xmlStrEqual(parent->name, BAD_CAST "transform")))) {
-    if (err) {
-        xsltTransformError(NULL, style, inst,
-            "element %s only allowed as child of stylesheet\n",
-                   inst->name);
-        style->errors++;
-    }
-    return(0);
-    }
-    return(1);
-}
-
-/**
- * xsltCheckInstructionElement:
- * @style: the XSLT stylesheet
- * @inst: the XSLT instruction
- *
- * Check that the instruction is instanciated as an instruction element.
- */
-static void
-xsltCheckInstructionElement(xsltStylesheetPtr style, xmlNodePtr inst) {
-    xmlNodePtr parent;
-    int has_ext;
-
-    if ((style == NULL) || (inst == NULL) || (inst->ns == NULL) ||
-        (style->literal_result))
-        return;
-
-    has_ext = (style->extInfos != NULL);
-
-    parent = inst->parent;
-    if (parent == NULL) {
-    xsltTransformError(NULL, style, inst,
-        "internal problem: element has no parent\n");
-    style->errors++;
-    return;
-    }
-    while ((parent != NULL) && (parent->type != XML_DOCUMENT_NODE)) {
-        if (((parent->ns == inst->ns) ||
-         ((parent->ns != NULL) &&
-          (xmlStrEqual(parent->ns->href, inst->ns->href)))) &&
-        ((xmlStrEqual(parent->name, BAD_CAST "template")) ||
-         (xmlStrEqual(parent->name, BAD_CAST "param")) ||
-         (xmlStrEqual(parent->name, BAD_CAST "attribute")) ||
-         (xmlStrEqual(parent->name, BAD_CAST "variable")))) {
-        return;
-    }
-
-    /*
-     * if we are within an extension element all bets are off
-     * about the semantic there e.g. xsl:param within func:function
-     */
-    if ((has_ext) && (parent->ns != NULL) &&
-        (xmlHashLookup(style->extInfos, parent->ns->href) != NULL))
-        return;
-
-        parent = parent->parent;
-    }
-    xsltTransformError(NULL, style, inst,
-        "element %s only allowed within a template, variable or param\n",
-                   inst->name);
-    style->errors++;
-}
-
-/**
- * xsltCheckParentElement:
- * @style: the XSLT stylesheet
- * @inst: the XSLT instruction
- * @allow1: allowed parent1
- * @allow2: allowed parent2
- *
- * Check that the instruction is instanciated as the childre of one of the
- * possible parents.
- */
-static void
-xsltCheckParentElement(xsltStylesheetPtr style, xmlNodePtr inst,
-                       const xmlChar *allow1, const xmlChar *allow2) {
-    xmlNodePtr parent;
-
-    if ((style == NULL) || (inst == NULL) || (inst->ns == NULL) ||
-        (style->literal_result))
-        return;
-
-    parent = inst->parent;
-    if (parent == NULL) {
-    xsltTransformError(NULL, style, inst,
-        "internal problem: element has no parent\n");
-    style->errors++;
-    return;
-    }
-    if (((parent->ns == inst->ns) ||
-     ((parent->ns != NULL) &&
-      (xmlStrEqual(parent->ns->href, inst->ns->href)))) &&
-    ((xmlStrEqual(parent->name, allow1)) ||
-     (xmlStrEqual(parent->name, allow2)))) {
-    return;
-    }
-
-    if (style->extInfos != NULL) {
-    while ((parent != NULL) && (parent->type != XML_DOCUMENT_NODE)) {
-        /*
-         * if we are within an extension element all bets are off
-         * about the semantic there e.g. xsl:param within func:function
-         */
-        if ((parent->ns != NULL) &&
-        (xmlHashLookup(style->extInfos, parent->ns->href) != NULL))
-        return;
-
-        parent = parent->parent;
-    }
-    }
-    xsltTransformError(NULL, style, inst,
-               "element %s is not allowed within that context\n",
-               inst->name);
-    style->errors++;
-}
-#endif
-
-/************************************************************************
- *                                  *
- *          handling of precomputed data            *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltNewStylePreComp:
- * @style:  the XSLT stylesheet
- * @type:  the construct type
- *
- * Create a new XSLT Style precomputed block
- *
- * Returns the newly allocated specialized structure
- *         or NULL in case of error
- */
-static xsltStylePreCompPtr
-xsltNewStylePreComp(xsltStylesheetPtr style, xsltStyleType type) {
-    xsltStylePreCompPtr cur;
-#ifdef XSLT_REFACTORED
-    size_t size;
-#endif
-
-    if (style == NULL)
-        return(NULL);
-
-#ifdef XSLT_REFACTORED
-    /*
-    * URGENT TODO: Use specialized factory functions in order
-    *   to avoid this ugliness.
-    */
-    switch (type) {
-        case XSLT_FUNC_COPY:
-            size = sizeof(xsltStyleItemCopy); break;
-        case XSLT_FUNC_SORT:
-            size = sizeof(xsltStyleItemSort); break;
-        case XSLT_FUNC_TEXT:
-            size = sizeof(xsltStyleItemText); break;
-        case XSLT_FUNC_ELEMENT:
-            size = sizeof(xsltStyleItemElement); break;
-        case XSLT_FUNC_ATTRIBUTE:
-            size = sizeof(xsltStyleItemAttribute); break;
-        case XSLT_FUNC_COMMENT:
-            size = sizeof(xsltStyleItemComment); break;
-        case XSLT_FUNC_PI:
-            size = sizeof(xsltStyleItemPI); break;
-        case XSLT_FUNC_COPYOF:
-            size = sizeof(xsltStyleItemCopyOf); break;
-        case XSLT_FUNC_VALUEOF:
-            size = sizeof(xsltStyleItemValueOf); break;;
-        case XSLT_FUNC_NUMBER:
-            size = sizeof(xsltStyleItemNumber); break;
-        case XSLT_FUNC_APPLYIMPORTS:
-            size = sizeof(xsltStyleItemApplyImports); break;
-        case XSLT_FUNC_CALLTEMPLATE:
-            size = sizeof(xsltStyleItemCallTemplate); break;
-        case XSLT_FUNC_APPLYTEMPLATES:
-            size = sizeof(xsltStyleItemApplyTemplates); break;
-        case XSLT_FUNC_CHOOSE:
-            size = sizeof(xsltStyleItemChoose); break;
-        case XSLT_FUNC_IF:
-            size = sizeof(xsltStyleItemIf); break;
-        case XSLT_FUNC_FOREACH:
-            size = sizeof(xsltStyleItemForEach); break;
-        case XSLT_FUNC_DOCUMENT:
-            size = sizeof(xsltStyleItemDocument); break;
-    case XSLT_FUNC_WITHPARAM:
-        size = sizeof(xsltStyleItemWithParam); break;
-    case XSLT_FUNC_PARAM:
-        size = sizeof(xsltStyleItemParam); break;
-    case XSLT_FUNC_VARIABLE:
-        size = sizeof(xsltStyleItemVariable); break;
-    case XSLT_FUNC_WHEN:
-        size = sizeof(xsltStyleItemWhen); break;
-    case XSLT_FUNC_OTHERWISE:
-        size = sizeof(xsltStyleItemOtherwise); break;
-    default:
-        xsltTransformError(NULL, style, NULL,
-            "xsltNewStylePreComp : invalid type %d\n", type);
-        style->errors++;
-        return(NULL);
-    }
-    /*
-    * Create the structure.
-    */
-    cur = (xsltStylePreCompPtr) xmlMalloc(size);
-    if (cur == NULL) {
-    xsltTransformError(NULL, style, NULL,
-        "xsltNewStylePreComp : malloc failed\n");
-    style->errors++;
-    return(NULL);
-    }
-    memset(cur, 0, size);
-
-#else /* XSLT_REFACTORED */
-    /*
-    * Old behaviour.
-    */
-    cur = (xsltStylePreCompPtr) xmlMalloc(sizeof(xsltStylePreComp));
-    if (cur == NULL) {
-    xsltTransformError(NULL, style, NULL,
-        "xsltNewStylePreComp : malloc failed\n");
-    style->errors++;
-    return(NULL);
-    }
-    memset(cur, 0, sizeof(xsltStylePreComp));
-#endif /* XSLT_REFACTORED */
-
-    /*
-    * URGENT TODO: Better to move this to spezialized factory functions.
-    */
-    cur->type = type;
-    switch (cur->type) {
-        case XSLT_FUNC_COPY:
-            cur->func = (xsltTransformFunction) xsltCopy;break;
-        case XSLT_FUNC_SORT:
-            cur->func = (xsltTransformFunction) xsltSort;break;
-        case XSLT_FUNC_TEXT:
-            cur->func = (xsltTransformFunction) xsltText;break;
-        case XSLT_FUNC_ELEMENT:
-            cur->func = (xsltTransformFunction) xsltElement;break;
-        case XSLT_FUNC_ATTRIBUTE:
-            cur->func = (xsltTransformFunction) xsltAttribute;break;
-        case XSLT_FUNC_COMMENT:
-            cur->func = (xsltTransformFunction) xsltComment;break;
-        case XSLT_FUNC_PI:
-            cur->func = (xsltTransformFunction) xsltProcessingInstruction;
-        break;
-        case XSLT_FUNC_COPYOF:
-            cur->func = (xsltTransformFunction) xsltCopyOf;break;
-        case XSLT_FUNC_VALUEOF:
-            cur->func = (xsltTransformFunction) xsltValueOf;break;
-        case XSLT_FUNC_NUMBER:
-            cur->func = (xsltTransformFunction) xsltNumber;break;
-        case XSLT_FUNC_APPLYIMPORTS:
-            cur->func = (xsltTransformFunction) xsltApplyImports;break;
-        case XSLT_FUNC_CALLTEMPLATE:
-            cur->func = (xsltTransformFunction) xsltCallTemplate;break;
-        case XSLT_FUNC_APPLYTEMPLATES:
-            cur->func = (xsltTransformFunction) xsltApplyTemplates;break;
-        case XSLT_FUNC_CHOOSE:
-            cur->func = (xsltTransformFunction) xsltChoose;break;
-        case XSLT_FUNC_IF:
-            cur->func = (xsltTransformFunction) xsltIf;break;
-        case XSLT_FUNC_FOREACH:
-            cur->func = (xsltTransformFunction) xsltForEach;break;
-        case XSLT_FUNC_DOCUMENT:
-            cur->func = (xsltTransformFunction) xsltDocumentElem;break;
-    case XSLT_FUNC_WITHPARAM:
-    case XSLT_FUNC_PARAM:
-    case XSLT_FUNC_VARIABLE:
-    case XSLT_FUNC_WHEN:
-        break;
-    default:
-    if (cur->func == NULL) {
-        xsltTransformError(NULL, style, NULL,
-            "xsltNewStylePreComp : no function for type %d\n", type);
-        style->errors++;
-    }
-    }
-    cur->next = style->preComps;
-    style->preComps = (xsltElemPreCompPtr) cur;
-
-    return(cur);
-}
-
-/**
- * xsltFreeStylePreComp:
- * @comp:  an XSLT Style precomputed block
- *
- * Free up the memory allocated by @comp
- */
-static void
-xsltFreeStylePreComp(xsltStylePreCompPtr comp) {
-    if (comp == NULL)
-    return;
-#ifdef XSLT_REFACTORED
-    /*
-    * URGENT TODO: Implement destructors.
-    */
-    switch (comp->type) {
-    case XSLT_FUNC_LITERAL_RESULT_ELEMENT:
-        break;
-    case XSLT_FUNC_COPY:
-            break;
-        case XSLT_FUNC_SORT: {
-        xsltStyleItemSortPtr item = (xsltStyleItemSortPtr) comp;
-        if (item->locale != (xsltLocale)0)
-            xsltFreeLocale(item->locale);
-        if (item->comp != NULL)
-            xmlXPathFreeCompExpr(item->comp);
-        }
-            break;
-        case XSLT_FUNC_TEXT:
-            break;
-        case XSLT_FUNC_ELEMENT:
-            break;
-        case XSLT_FUNC_ATTRIBUTE:
-            break;
-        case XSLT_FUNC_COMMENT:
-            break;
-        case XSLT_FUNC_PI:
-        break;
-        case XSLT_FUNC_COPYOF: {
-        xsltStyleItemCopyOfPtr item = (xsltStyleItemCopyOfPtr) comp;
-        if (item->comp != NULL)
-            xmlXPathFreeCompExpr(item->comp);
-        }
-            break;
-        case XSLT_FUNC_VALUEOF: {
-        xsltStyleItemValueOfPtr item = (xsltStyleItemValueOfPtr) comp;
-        if (item->comp != NULL)
-            xmlXPathFreeCompExpr(item->comp);
-        }
-            break;
-        case XSLT_FUNC_NUMBER: {
-                xsltStyleItemNumberPtr item = (xsltStyleItemNumberPtr) comp;
-                if (item->numdata.countPat != NULL)
-                    xsltFreeCompMatchList(item->numdata.countPat);
-                if (item->numdata.fromPat != NULL)
-                    xsltFreeCompMatchList(item->numdata.fromPat);
-            }
-            break;
-        case XSLT_FUNC_APPLYIMPORTS:
-            break;
-        case XSLT_FUNC_CALLTEMPLATE:
-            break;
-        case XSLT_FUNC_APPLYTEMPLATES: {
-        xsltStyleItemApplyTemplatesPtr item =
-            (xsltStyleItemApplyTemplatesPtr) comp;
-        if (item->comp != NULL)
-            xmlXPathFreeCompExpr(item->comp);
-        }
-            break;
-        case XSLT_FUNC_CHOOSE:
-            break;
-        case XSLT_FUNC_IF: {
-        xsltStyleItemIfPtr item = (xsltStyleItemIfPtr) comp;
-        if (item->comp != NULL)
-            xmlXPathFreeCompExpr(item->comp);
-        }
-            break;
-        case XSLT_FUNC_FOREACH: {
-        xsltStyleItemForEachPtr item =
-            (xsltStyleItemForEachPtr) comp;
-        if (item->comp != NULL)
-            xmlXPathFreeCompExpr(item->comp);
-        }
-            break;
-        case XSLT_FUNC_DOCUMENT:
-            break;
-    case XSLT_FUNC_WITHPARAM: {
-        xsltStyleItemWithParamPtr item =
-            (xsltStyleItemWithParamPtr) comp;
-        if (item->comp != NULL)
-            xmlXPathFreeCompExpr(item->comp);
-        }
-        break;
-    case XSLT_FUNC_PARAM: {
-        xsltStyleItemParamPtr item =
-            (xsltStyleItemParamPtr) comp;
-        if (item->comp != NULL)
-            xmlXPathFreeCompExpr(item->comp);
-        }
-        break;
-    case XSLT_FUNC_VARIABLE: {
-        xsltStyleItemVariablePtr item =
-            (xsltStyleItemVariablePtr) comp;
-        if (item->comp != NULL)
-            xmlXPathFreeCompExpr(item->comp);
-        }
-        break;
-    case XSLT_FUNC_WHEN: {
-        xsltStyleItemWhenPtr item =
-            (xsltStyleItemWhenPtr) comp;
-        if (item->comp != NULL)
-            xmlXPathFreeCompExpr(item->comp);
-        }
-        break;
-    case XSLT_FUNC_OTHERWISE:
-    case XSLT_FUNC_FALLBACK:
-    case XSLT_FUNC_MESSAGE:
-    case XSLT_FUNC_INCLUDE:
-    case XSLT_FUNC_ATTRSET:
-
-        break;
-    default:
-        /* TODO: Raise error. */
-        break;
-    }
-#else
-    if (comp->locale != (xsltLocale)0)
-    xsltFreeLocale(comp->locale);
-    if (comp->comp != NULL)
-    xmlXPathFreeCompExpr(comp->comp);
-    if (comp->numdata.countPat != NULL)
-        xsltFreeCompMatchList(comp->numdata.countPat);
-    if (comp->numdata.fromPat != NULL)
-        xsltFreeCompMatchList(comp->numdata.fromPat);
-    if (comp->nsList != NULL)
-    xmlFree(comp->nsList);
-#endif
-
-    xmlFree(comp);
-}
-
-
-/************************************************************************
- *                                  *
- *          XSLT-1.1 extensions                 *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltDocumentComp:
- * @style:  the XSLT stylesheet
- * @inst:  the instruction in the stylesheet
- * @function:  unused
- *
- * Pre process an XSLT-1.1 document element
- *
- * Returns a precompiled data structure for the element
- */
-xsltElemPreCompPtr
-xsltDocumentComp(xsltStylesheetPtr style, xmlNodePtr inst,
-         xsltTransformFunction function ATTRIBUTE_UNUSED) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemDocumentPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-    const xmlChar *filename = NULL;
-
-    /*
-    * As of 2006-03-30, this function is currently defined in Libxslt
-    * to be used for:
-    * (in libxslt/extra.c)
-    * "output" in XSLT_SAXON_NAMESPACE
-    * "write" XSLT_XALAN_NAMESPACE
-    * "document" XSLT_XT_NAMESPACE
-    * "document" XSLT_NAMESPACE (from the abandoned old working
-    *                            draft of XSLT 1.1)
-    * (in libexslt/common.c)
-    * "document" in EXSLT_COMMON_NAMESPACE
-    */
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemDocumentPtr)
-    xsltNewStylePreComp(style, XSLT_FUNC_DOCUMENT);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_DOCUMENT);
-#endif
-
-    if (comp == NULL)
-    return (NULL);
-    comp->inst = inst;
-    comp->ver11 = 0;
-
-    if (xmlStrEqual(inst->name, (const xmlChar *) "output")) {
-#ifdef WITH_XSLT_DEBUG_EXTRA
-    xsltGenericDebug(xsltGenericDebugContext,
-        "Found saxon:output extension\n");
-#endif
-    /*
-    * The element "output" is in the namespace XSLT_SAXON_NAMESPACE
-    *   (http://icl.com/saxon)
-    * The @file is in no namespace; it is an AVT.
-    *   (http://www.computerwizards.com/saxon/doc/extensions.html#saxon:output)
-    *
-    * TODO: Do we need not to check the namespace here?
-    */
-    filename = xsltEvalStaticAttrValueTemplate(style, inst,
-             (const xmlChar *)"file",
-             NULL, &comp->has_filename);
-    } else if (xmlStrEqual(inst->name, (const xmlChar *) "write")) {
-#ifdef WITH_XSLT_DEBUG_EXTRA
-    xsltGenericDebug(xsltGenericDebugContext,
-        "Found xalan:write extension\n");
-#endif
-    /* the filename need to be interpreted */
-    /*
-    * TODO: Is "filename need to be interpreted" meant to be a todo?
-    *   Where will be the filename of xalan:write be processed?
-    *
-    * TODO: Do we need not to check the namespace here?
-    *   The extension ns is "http://xml.apache.org/xalan/redirect".
-    *   See http://xml.apache.org/xalan-j/extensionslib.html.
-    */
-    } else if (xmlStrEqual(inst->name, (const xmlChar *) "document")) {
-    if (inst->ns != NULL) {
-        if (xmlStrEqual(inst->ns->href, XSLT_NAMESPACE)) {
-        /*
-        * Mark the instruction as being of
-        * XSLT version 1.1 (abandoned).
-        */
-        comp->ver11 = 1;
-#ifdef WITH_XSLT_DEBUG_EXTRA
-        xsltGenericDebug(xsltGenericDebugContext,
-            "Found xslt11:document construct\n");
-#endif
-        } else {
-        if (xmlStrEqual(inst->ns->href,
-            (const xmlChar *)"http://exslt.org/common")) {
-            /* EXSLT. */
-#ifdef WITH_XSLT_DEBUG_EXTRA
-            xsltGenericDebug(xsltGenericDebugContext,
-            "Found exslt:document extension\n");
-#endif
-        } else if (xmlStrEqual(inst->ns->href, XSLT_XT_NAMESPACE)) {
-            /* James Clark's XT. */
-#ifdef WITH_XSLT_DEBUG_EXTRA
-            xsltGenericDebug(xsltGenericDebugContext,
-            "Found xt:document extension\n");
-#endif
-        }
-        }
-    }
-    /*
-    * The element "document" is used in conjunction with the
-    * following namespaces:
-    *
-    * 1) XSLT_NAMESPACE (http://www.w3.org/1999/XSL/Transform version 1.1)
-    *    
-    *    
-    *    TODO: is @href is an AVT?
-    *
-    * In all cases @href is in no namespace.
-    */
-    filename = xsltEvalStaticAttrValueTemplate(style, inst,
-        (const xmlChar *)"href", NULL, &comp->has_filename);
-    }
-    if (!comp->has_filename) {
-    goto error;
-    }
-    comp->filename = filename;
-
-error:
-    return ((xsltElemPreCompPtr) comp);
-}
-
-/************************************************************************
- *                                  *
- *      Most of the XSLT-1.0 transformations            *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltSortComp:
- * @style:  the XSLT stylesheet
- * @inst:  the xslt sort node
- *
- * Process the xslt sort node on the source node
- */
-static void
-xsltSortComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemSortPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemSortPtr) xsltNewStylePreComp(style, XSLT_FUNC_SORT);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_SORT);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-
-    comp->stype = xsltEvalStaticAttrValueTemplate(style, inst,
-             (const xmlChar *)"data-type",
-             NULL, &comp->has_stype);
-    if (comp->stype != NULL) {
-    if (xmlStrEqual(comp->stype, (const xmlChar *) "text"))
-        comp->number = 0;
-    else if (xmlStrEqual(comp->stype, (const xmlChar *) "number"))
-        comp->number = 1;
-    else {
-        xsltTransformError(NULL, style, inst,
-         "xsltSortComp: no support for data-type = %s\n", comp->stype);
-        comp->number = 0; /* use default */
-        if (style != NULL) style->warnings++;
-    }
-    }
-    comp->order = xsltEvalStaticAttrValueTemplate(style, inst,
-                  (const xmlChar *)"order",
-                  NULL, &comp->has_order);
-    if (comp->order != NULL) {
-    if (xmlStrEqual(comp->order, (const xmlChar *) "ascending"))
-        comp->descending = 0;
-    else if (xmlStrEqual(comp->order, (const xmlChar *) "descending"))
-        comp->descending = 1;
-    else {
-        xsltTransformError(NULL, style, inst,
-         "xsltSortComp: invalid value %s for order\n", comp->order);
-        comp->descending = 0; /* use default */
-        if (style != NULL) style->warnings++;
-    }
-    }
-    comp->case_order = xsltEvalStaticAttrValueTemplate(style, inst,
-                  (const xmlChar *)"case-order",
-                  NULL, &comp->has_use);
-    if (comp->case_order != NULL) {
-    if (xmlStrEqual(comp->case_order, (const xmlChar *) "upper-first"))
-        comp->lower_first = 0;
-    else if (xmlStrEqual(comp->case_order, (const xmlChar *) "lower-first"))
-        comp->lower_first = 1;
-    else {
-        xsltTransformError(NULL, style, inst,
-         "xsltSortComp: invalid value %s for order\n", comp->order);
-        comp->lower_first = 0; /* use default */
-        if (style != NULL) style->warnings++;
-    }
-    }
-
-    comp->lang = xsltEvalStaticAttrValueTemplate(style, inst,
-                 (const xmlChar *)"lang",
-                 NULL, &comp->has_lang);
-    if (comp->lang != NULL) {
-    comp->locale = xsltNewLocale(comp->lang);
-    }
-    else {
-        comp->locale = (xsltLocale)0;
-    }
-
-    comp->select = xsltGetCNsProp(style, inst,(const xmlChar *)"select", XSLT_NAMESPACE);
-    if (comp->select == NULL) {
-    /*
-     * The default value of the select attribute is ., which will
-     * cause the string-value of the current node to be used as
-     * the sort key.
-     */
-    comp->select = xmlDictLookup(style->dict, BAD_CAST ".", 1);
-    }
-    comp->comp = xsltXPathCompile(style, comp->select);
-    if (comp->comp == NULL) {
-    xsltTransformError(NULL, style, inst,
-         "xsltSortComp: could not compile select expression '%s'\n",
-                     comp->select);
-    if (style != NULL) style->errors++;
-    }
-    if (inst->children != NULL) {
-    xsltTransformError(NULL, style, inst,
-    "xsl:sort : is not empty\n");
-    if (style != NULL) style->errors++;
-    }
-}
-
-/**
- * xsltCopyComp:
- * @style:  the XSLT stylesheet
- * @inst:  the xslt copy node
- *
- * Process the xslt copy node on the source node
- */
-static void
-xsltCopyComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemCopyPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemCopyPtr) xsltNewStylePreComp(style, XSLT_FUNC_COPY);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_COPY);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-
-
-    comp->use = xsltGetCNsProp(style, inst, (const xmlChar *)"use-attribute-sets",
-                    XSLT_NAMESPACE);
-    if (comp->use == NULL)
-    comp->has_use = 0;
-    else
-    comp->has_use = 1;
-}
-
-#ifdef XSLT_REFACTORED
-    /* Enable if ever needed for xsl:text. */
-#else
-/**
- * xsltTextComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt text node
- *
- * TODO: This function is obsolete, since xsl:text won't
- *  be compiled, but removed from the tree.
- *
- * Process the xslt text node on the source node
- */
-static void
-xsltTextComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemTextPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-    const xmlChar *prop;
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemTextPtr) xsltNewStylePreComp(style, XSLT_FUNC_TEXT);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_TEXT);
-#endif
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-    comp->noescape = 0;
-
-    prop = xsltGetCNsProp(style, inst,
-        (const xmlChar *)"disable-output-escaping",
-            XSLT_NAMESPACE);
-    if (prop != NULL) {
-    if (xmlStrEqual(prop, (const xmlChar *)"yes")) {
-        comp->noescape = 1;
-    } else if (!xmlStrEqual(prop,
-        (const xmlChar *)"no")){
-        xsltTransformError(NULL, style, inst,
-        "xsl:text: disable-output-escaping allows only yes or no\n");
-        if (style != NULL) style->warnings++;
-    }
-    }
-}
-#endif /* else of XSLT_REFACTORED */
-
-/**
- * xsltElementComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt element node
- *
- * Process the xslt element node on the source node
- */
-static void
-xsltElementComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemElementPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    /*
-    * 
-    *   
-    * 
-    */
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemElementPtr) xsltNewStylePreComp(style, XSLT_FUNC_ELEMENT);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_ELEMENT);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-
-    /*
-    * Attribute "name".
-    */
-    /*
-    * TODO: Precompile the AVT. See bug #344894.
-    */
-    comp->name = xsltEvalStaticAttrValueTemplate(style, inst,
-    (const xmlChar *)"name", NULL, &comp->has_name);
-    if (! comp->has_name) {
-    xsltTransformError(NULL, style, inst,
-        "xsl:element: The attribute 'name' is missing.\n");
-    style->errors++;
-    goto error;
-    }
-    /*
-    * Attribute "namespace".
-    */
-    /*
-    * TODO: Precompile the AVT. See bug #344894.
-    */
-    comp->ns = xsltEvalStaticAttrValueTemplate(style, inst,
-    (const xmlChar *)"namespace", NULL, &comp->has_ns);
-
-    if (comp->name != NULL) {
-    if (xmlValidateQName(comp->name, 0)) {
-        xsltTransformError(NULL, style, inst,
-        "xsl:element: The value '%s' of the attribute 'name' is "
-        "not a valid QName.\n", comp->name);
-        style->errors++;
-    } else {
-        const xmlChar *prefix = NULL, *name;
-
-        name = xsltSplitQName(style->dict, comp->name, &prefix);
-        if (comp->has_ns == 0) {
-        xmlNsPtr ns;
-
-        /*
-        * SPEC XSLT 1.0:
-        *  "If the namespace attribute is not present, then the QName is
-        *  expanded into an expanded-name using the namespace declarations
-        *  in effect for the xsl:element element, including any default
-        *  namespace declaration.
-        */
-        ns = xmlSearchNs(inst->doc, inst, prefix);
-        if (ns != NULL) {
-            comp->ns = xmlDictLookup(style->dict, ns->href, -1);
-            comp->has_ns = 1;
-#ifdef XSLT_REFACTORED
-            comp->nsPrefix = prefix;
-            comp->name = name;
-#endif
-        } else if (prefix != NULL) {
-            xsltTransformError(NULL, style, inst,
-            "xsl:element: The prefixed QName '%s' "
-            "has no namespace binding in scope in the "
-            "stylesheet; this is an error, since the namespace was "
-            "not specified by the instruction itself.\n", comp->name);
-            style->errors++;
-        }
-        }
-        if ((prefix != NULL) &&
-        (!xmlStrncasecmp(prefix, (xmlChar *)"xml", 3)))
-        {
-        /*
-        * Mark is to be skipped.
-        */
-        comp->has_name = 0;
-        }
-    }
-    }
-    /*
-    * Attribute "use-attribute-sets",
-    */
-    comp->use = xsltEvalStaticAttrValueTemplate(style, inst,
-               (const xmlChar *)"use-attribute-sets",
-               NULL, &comp->has_use);
-
-error:
-    return;
-}
-
-/**
- * xsltAttributeComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt attribute node
- *
- * Process the xslt attribute node on the source node
- */
-static void
-xsltAttributeComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemAttributePtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    /*
-    * 
-    *   
-    * 
-    */
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemAttributePtr) xsltNewStylePreComp(style,
-    XSLT_FUNC_ATTRIBUTE);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_ATTRIBUTE);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-
-    /*
-    * Attribute "name".
-    */
-    /*
-    * TODO: Precompile the AVT. See bug #344894.
-    */
-    comp->name = xsltEvalStaticAttrValueTemplate(style, inst,
-                 (const xmlChar *)"name",
-                 NULL, &comp->has_name);
-    if (! comp->has_name) {
-    xsltTransformError(NULL, style, inst,
-        "XSLT-attribute: The attribute 'name' is missing.\n");
-    style->errors++;
-    return;
-    }
-    /*
-    * Attribute "namespace".
-    */
-    /*
-    * TODO: Precompile the AVT. See bug #344894.
-    */
-    comp->ns = xsltEvalStaticAttrValueTemplate(style, inst,
-    (const xmlChar *)"namespace",
-    NULL, &comp->has_ns);
-
-    if (comp->name != NULL) {
-    if (xmlValidateQName(comp->name, 0)) {
-        xsltTransformError(NULL, style, inst,
-        "xsl:attribute: The value '%s' of the attribute 'name' is "
-        "not a valid QName.\n", comp->name);
-        style->errors++;
-        } else if (xmlStrEqual(comp->name, BAD_CAST "xmlns")) {
-        xsltTransformError(NULL, style, inst,
-                "xsl:attribute: The attribute name 'xmlns' is not allowed.\n");
-        style->errors++;
-    } else {
-        const xmlChar *prefix = NULL, *name;
-
-        name = xsltSplitQName(style->dict, comp->name, &prefix);
-        if (prefix != NULL) {
-        if (comp->has_ns == 0) {
-            xmlNsPtr ns;
-
-            /*
-            * SPEC XSLT 1.0:
-            *  "If the namespace attribute is not present, then the
-            *  QName is expanded into an expanded-name using the
-            *  namespace declarations in effect for the xsl:element
-            *  element, including any default namespace declaration.
-            */
-            ns = xmlSearchNs(inst->doc, inst, prefix);
-            if (ns != NULL) {
-            comp->ns = xmlDictLookup(style->dict, ns->href, -1);
-            comp->has_ns = 1;
-#ifdef XSLT_REFACTORED
-            comp->nsPrefix = prefix;
-            comp->name = name;
-#endif
-            } else {
-            xsltTransformError(NULL, style, inst,
-                "xsl:attribute: The prefixed QName '%s' "
-                "has no namespace binding in scope in the "
-                "stylesheet; this is an error, since the "
-                "namespace was not specified by the instruction "
-                "itself.\n", comp->name);
-            style->errors++;
-            }
-        }
-        }
-    }
-    }
-}
-
-/**
- * xsltCommentComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt comment node
- *
- * Process the xslt comment node on the source node
- */
-static void
-xsltCommentComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemCommentPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemCommentPtr) xsltNewStylePreComp(style, XSLT_FUNC_COMMENT);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_COMMENT);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-}
-
-/**
- * xsltProcessingInstructionComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt processing-instruction node
- *
- * Process the xslt processing-instruction node on the source node
- */
-static void
-xsltProcessingInstructionComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemPIPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemPIPtr) xsltNewStylePreComp(style, XSLT_FUNC_PI);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_PI);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-
-    comp->name = xsltEvalStaticAttrValueTemplate(style, inst,
-                 (const xmlChar *)"name",
-                 XSLT_NAMESPACE, &comp->has_name);
-}
-
-/**
- * xsltCopyOfComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt copy-of node
- *
- * Process the xslt copy-of node on the source node
- */
-static void
-xsltCopyOfComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemCopyOfPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemCopyOfPtr) xsltNewStylePreComp(style, XSLT_FUNC_COPYOF);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_COPYOF);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-
-    comp->select = xsltGetCNsProp(style, inst, (const xmlChar *)"select",
-                            XSLT_NAMESPACE);
-    if (comp->select == NULL) {
-    xsltTransformError(NULL, style, inst,
-         "xsl:copy-of : select is missing\n");
-    if (style != NULL) style->errors++;
-    return;
-    }
-    comp->comp = xsltXPathCompile(style, comp->select);
-    if (comp->comp == NULL) {
-    xsltTransformError(NULL, style, inst,
-         "xsl:copy-of : could not compile select expression '%s'\n",
-                     comp->select);
-    if (style != NULL) style->errors++;
-    }
-}
-
-/**
- * xsltValueOfComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt value-of node
- *
- * Process the xslt value-of node on the source node
- */
-static void
-xsltValueOfComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemValueOfPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-    const xmlChar *prop;
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemValueOfPtr) xsltNewStylePreComp(style, XSLT_FUNC_VALUEOF);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_VALUEOF);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-
-    prop = xsltGetCNsProp(style, inst,
-        (const xmlChar *)"disable-output-escaping",
-            XSLT_NAMESPACE);
-    if (prop != NULL) {
-    if (xmlStrEqual(prop, (const xmlChar *)"yes")) {
-        comp->noescape = 1;
-    } else if (!xmlStrEqual(prop,
-                (const xmlChar *)"no")){
-        xsltTransformError(NULL, style, inst,
-"xsl:value-of : disable-output-escaping allows only yes or no\n");
-        if (style != NULL) style->warnings++;
-    }
-    }
-    comp->select = xsltGetCNsProp(style, inst, (const xmlChar *)"select",
-                            XSLT_NAMESPACE);
-    if (comp->select == NULL) {
-    xsltTransformError(NULL, style, inst,
-         "xsl:value-of : select is missing\n");
-    if (style != NULL) style->errors++;
-    return;
-    }
-    comp->comp = xsltXPathCompile(style, comp->select);
-    if (comp->comp == NULL) {
-    xsltTransformError(NULL, style, inst,
-         "xsl:value-of : could not compile select expression '%s'\n",
-                     comp->select);
-    if (style != NULL) style->errors++;
-    }
-}
-
-static void
-xsltGetQNameProperty(xsltStylesheetPtr style, xmlNodePtr inst,
-             const xmlChar *propName,
-             int mandatory,
-             int *hasProp, const xmlChar **nsName,
-             const xmlChar** localName)
-{
-    const xmlChar *prop;
-
-    if (nsName)
-    *nsName = NULL;
-    if (localName)
-    *localName = NULL;
-    if (hasProp)
-    *hasProp = 0;
-
-    prop = xsltGetCNsProp(style, inst, propName, XSLT_NAMESPACE);
-    if (prop == NULL) {
-    if (mandatory) {
-        xsltTransformError(NULL, style, inst,
-        "The attribute '%s' is missing.\n", propName);
-        style->errors++;
-        return;
-    }
-    } else {
-        const xmlChar *URI;
-
-    if (xmlValidateQName(prop, 0)) {
-        xsltTransformError(NULL, style, inst,
-        "The value '%s' of the attribute "
-        "'%s' is not a valid QName.\n", prop, propName);
-        style->errors++;
-        return;
-    } else {
-        /*
-        * @prop will be in the string dict afterwards, @URI not.
-        */
-        URI = xsltGetQNameURI2(style, inst, &prop);
-        if (prop == NULL) {
-        style->errors++;
-        } else {
-        *localName = prop;
-        if (hasProp)
-            *hasProp = 1;
-        if (URI != NULL) {
-            /*
-            * Fixes bug #308441: Put the ns-name in the dict
-            * in order to pointer compare names during XPath's
-            * variable lookup.
-            */
-            if (nsName)
-            *nsName = xmlDictLookup(style->dict, URI, -1);
-            /* comp->has_ns = 1; */
-        }
-        }
-    }
-    }
-    return;
-}
-
-/**
- * xsltWithParamComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt with-param node
- *
- * Process the xslt with-param node on the source node
- * Allowed parents: xsl:call-template, xsl:apply-templates.
- * 
- *  
- * 
- */
-static void
-xsltWithParamComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemWithParamPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemWithParamPtr) xsltNewStylePreComp(style, XSLT_FUNC_WITHPARAM);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_WITHPARAM);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-
-    /*
-    * Attribute "name".
-    */
-    xsltGetQNameProperty(style, inst, BAD_CAST "name",
-    1, &(comp->has_name), &(comp->ns), &(comp->name));
-    if (comp->ns)
-    comp->has_ns = 1;
-    /*
-    * Attribute "select".
-    */
-    comp->select = xsltGetCNsProp(style, inst, (const xmlChar *)"select",
-                            XSLT_NAMESPACE);
-    if (comp->select != NULL) {
-    comp->comp = xsltXPathCompile(style, comp->select);
-    if (comp->comp == NULL) {
-        xsltTransformError(NULL, style, inst,
-         "XSLT-with-param: Failed to compile select "
-         "expression '%s'\n", comp->select);
-        style->errors++;
-    }
-    if (inst->children != NULL) {
-        xsltTransformError(NULL, style, inst,
-        "XSLT-with-param: The content should be empty since "
-        "the attribute select is present.\n");
-        style->warnings++;
-    }
-    }
-}
-
-/**
- * xsltNumberComp:
- * @style: an XSLT compiled stylesheet
- * @cur:   the xslt number node
- *
- * Process the xslt number node on the source node
- */
-static void
-xsltNumberComp(xsltStylesheetPtr style, xmlNodePtr cur) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemNumberPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-    const xmlChar *prop;
-
-    if ((style == NULL) || (cur == NULL) || (cur->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemNumberPtr) xsltNewStylePreComp(style, XSLT_FUNC_NUMBER);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_NUMBER);
-#endif
-
-    if (comp == NULL)
-    return;
-    cur->psvi = comp;
-
-    if ((style == NULL) || (cur == NULL))
-    return;
-
-    comp->numdata.doc = cur->doc;
-    comp->numdata.node = cur;
-    comp->numdata.value = xsltGetCNsProp(style, cur, (const xmlChar *)"value",
-                                    XSLT_NAMESPACE);
-
-    prop = xsltEvalStaticAttrValueTemplate(style, cur,
-             (const xmlChar *)"format",
-             XSLT_NAMESPACE, &comp->numdata.has_format);
-    if (comp->numdata.has_format == 0) {
-    comp->numdata.format = xmlDictLookup(style->dict, BAD_CAST "" , 0);
-    } else {
-    comp->numdata.format = prop;
-    }
-
-    comp->numdata.count = xsltGetCNsProp(style, cur, (const xmlChar *)"count",
-                                         XSLT_NAMESPACE);
-    comp->numdata.from = xsltGetCNsProp(style, cur, (const xmlChar *)"from",
-                                        XSLT_NAMESPACE);
-
-    prop = xsltGetCNsProp(style, cur, (const xmlChar *)"count", XSLT_NAMESPACE);
-    if (prop != NULL) {
-    comp->numdata.countPat = xsltCompilePattern(prop, cur->doc, cur, style,
-                                                    NULL);
-    }
-
-    prop = xsltGetCNsProp(style, cur, (const xmlChar *)"from", XSLT_NAMESPACE);
-    if (prop != NULL) {
-    comp->numdata.fromPat = xsltCompilePattern(prop, cur->doc, cur, style,
-                                                   NULL);
-    }
-
-    prop = xsltGetCNsProp(style, cur, (const xmlChar *)"level", XSLT_NAMESPACE);
-    if (prop != NULL) {
-    if (xmlStrEqual(prop, BAD_CAST("single")) ||
-        xmlStrEqual(prop, BAD_CAST("multiple")) ||
-        xmlStrEqual(prop, BAD_CAST("any"))) {
-        comp->numdata.level = prop;
-    } else {
-        xsltTransformError(NULL, style, cur,
-             "xsl:number : invalid value %s for level\n", prop);
-        if (style != NULL) style->warnings++;
-    }
-    }
-
-    prop = xsltGetCNsProp(style, cur, (const xmlChar *)"lang", XSLT_NAMESPACE);
-    if (prop != NULL) {
-        xsltTransformError(NULL, style, cur,
-         "xsl:number : lang attribute not implemented\n");
-    XSLT_TODO; /* xsl:number lang attribute */
-    }
-
-    prop = xsltGetCNsProp(style, cur, (const xmlChar *)"letter-value", XSLT_NAMESPACE);
-    if (prop != NULL) {
-    if (xmlStrEqual(prop, BAD_CAST("alphabetic"))) {
-        xsltTransformError(NULL, style, cur,
-         "xsl:number : letter-value 'alphabetic' not implemented\n");
-        if (style != NULL) style->warnings++;
-        XSLT_TODO; /* xsl:number letter-value attribute alphabetic */
-    } else if (xmlStrEqual(prop, BAD_CAST("traditional"))) {
-        xsltTransformError(NULL, style, cur,
-         "xsl:number : letter-value 'traditional' not implemented\n");
-        if (style != NULL) style->warnings++;
-        XSLT_TODO; /* xsl:number letter-value attribute traditional */
-    } else {
-        xsltTransformError(NULL, style, cur,
-             "xsl:number : invalid value %s for letter-value\n", prop);
-        if (style != NULL) style->warnings++;
-    }
-    }
-
-    prop = xsltGetCNsProp(style, cur, (const xmlChar *)"grouping-separator",
-                    XSLT_NAMESPACE);
-    if (prop != NULL) {
-        comp->numdata.groupingCharacterLen = xmlStrlen(prop);
-    comp->numdata.groupingCharacter =
-        xsltGetUTF8Char(prop, &(comp->numdata.groupingCharacterLen));
-    }
-
-    prop = xsltGetCNsProp(style, cur, (const xmlChar *)"grouping-size", XSLT_NAMESPACE);
-    if (prop != NULL) {
-    sscanf((char *)prop, "%d", &comp->numdata.digitsPerGroup);
-    } else {
-    comp->numdata.groupingCharacter = 0;
-    }
-
-    /* Set default values */
-    if (comp->numdata.value == NULL) {
-    if (comp->numdata.level == NULL) {
-        comp->numdata.level = xmlDictLookup(style->dict,
-                                            BAD_CAST"single", 6);
-    }
-    }
-
-}
-
-/**
- * xsltApplyImportsComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt apply-imports node
- *
- * Process the xslt apply-imports node on the source node
- */
-static void
-xsltApplyImportsComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemApplyImportsPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemApplyImportsPtr) xsltNewStylePreComp(style, XSLT_FUNC_APPLYIMPORTS);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_APPLYIMPORTS);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-}
-
-/**
- * xsltCallTemplateComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt call-template node
- *
- * Process the xslt call-template node on the source node
- */
-static void
-xsltCallTemplateComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemCallTemplatePtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemCallTemplatePtr)
-    xsltNewStylePreComp(style, XSLT_FUNC_CALLTEMPLATE);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_CALLTEMPLATE);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-
-    /*
-     * Attribute "name".
-     */
-    xsltGetQNameProperty(style, inst, BAD_CAST "name",
-    1, &(comp->has_name), &(comp->ns), &(comp->name));
-    if (comp->ns)
-    comp->has_ns = 1;
-}
-
-/**
- * xsltApplyTemplatesComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the apply-templates node
- *
- * Process the apply-templates node on the source node
- */
-static void
-xsltApplyTemplatesComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemApplyTemplatesPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemApplyTemplatesPtr)
-    xsltNewStylePreComp(style, XSLT_FUNC_APPLYTEMPLATES);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_APPLYTEMPLATES);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-
-    /*
-     * Attribute "mode".
-     */
-    xsltGetQNameProperty(style, inst, BAD_CAST "mode",
-    0, NULL, &(comp->modeURI), &(comp->mode));
-    /*
-    * Attribute "select".
-    */
-    comp->select = xsltGetCNsProp(style, inst, BAD_CAST "select",
-    XSLT_NAMESPACE);
-    if (comp->select != NULL) {
-    comp->comp = xsltXPathCompile(style, comp->select);
-    if (comp->comp == NULL) {
-        xsltTransformError(NULL, style, inst,
-        "XSLT-apply-templates: could not compile select "
-        "expression '%s'\n", comp->select);
-         style->errors++;
-    }
-    }
-    /* TODO: handle (or skip) the xsl:sort and xsl:with-param */
-}
-
-/**
- * xsltChooseComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt choose node
- *
- * Process the xslt choose node on the source node
- */
-static void
-xsltChooseComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemChoosePtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemChoosePtr)
-    xsltNewStylePreComp(style, XSLT_FUNC_CHOOSE);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_CHOOSE);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-}
-
-/**
- * xsltIfComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt if node
- *
- * Process the xslt if node on the source node
- */
-static void
-xsltIfComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemIfPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemIfPtr)
-    xsltNewStylePreComp(style, XSLT_FUNC_IF);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_IF);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-
-    comp->test = xsltGetCNsProp(style, inst, (const xmlChar *)"test", XSLT_NAMESPACE);
-    if (comp->test == NULL) {
-    xsltTransformError(NULL, style, inst,
-         "xsl:if : test is not defined\n");
-    if (style != NULL) style->errors++;
-    return;
-    }
-    comp->comp = xsltXPathCompile(style, comp->test);
-    if (comp->comp == NULL) {
-    xsltTransformError(NULL, style, inst,
-         "xsl:if : could not compile test expression '%s'\n",
-                     comp->test);
-    if (style != NULL) style->errors++;
-    }
-}
-
-/**
- * xsltWhenComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt if node
- *
- * Process the xslt if node on the source node
- */
-static void
-xsltWhenComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemWhenPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemWhenPtr)
-    xsltNewStylePreComp(style, XSLT_FUNC_WHEN);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_WHEN);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-
-    comp->test = xsltGetCNsProp(style, inst, (const xmlChar *)"test", XSLT_NAMESPACE);
-    if (comp->test == NULL) {
-    xsltTransformError(NULL, style, inst,
-         "xsl:when : test is not defined\n");
-    if (style != NULL) style->errors++;
-    return;
-    }
-    comp->comp = xsltXPathCompile(style, comp->test);
-    if (comp->comp == NULL) {
-    xsltTransformError(NULL, style, inst,
-         "xsl:when : could not compile test expression '%s'\n",
-                     comp->test);
-    if (style != NULL) style->errors++;
-    }
-}
-
-/**
- * xsltForEachComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt for-each node
- *
- * Process the xslt for-each node on the source node
- */
-static void
-xsltForEachComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemForEachPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemForEachPtr)
-    xsltNewStylePreComp(style, XSLT_FUNC_FOREACH);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_FOREACH);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-
-    comp->select = xsltGetCNsProp(style, inst, (const xmlChar *)"select",
-                            XSLT_NAMESPACE);
-    if (comp->select == NULL) {
-    xsltTransformError(NULL, style, inst,
-        "xsl:for-each : select is missing\n");
-    if (style != NULL) style->errors++;
-    } else {
-    comp->comp = xsltXPathCompile(style, comp->select);
-    if (comp->comp == NULL) {
-        xsltTransformError(NULL, style, inst,
-     "xsl:for-each : could not compile select expression '%s'\n",
-                 comp->select);
-        if (style != NULL) style->errors++;
-    }
-    }
-    /* TODO: handle and skip the xsl:sort */
-}
-
-/**
- * xsltVariableComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt variable node
- *
- * Process the xslt variable node on the source node
- */
-static void
-xsltVariableComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemVariablePtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemVariablePtr)
-    xsltNewStylePreComp(style, XSLT_FUNC_VARIABLE);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_VARIABLE);
-#endif
-
-    if (comp == NULL)
-    return;
-
-    inst->psvi = comp;
-    comp->inst = inst;
-    /*
-     * The full template resolution can be done statically
-     */
-
-    /*
-    * Attribute "name".
-    */
-    xsltGetQNameProperty(style, inst, BAD_CAST "name",
-    1, &(comp->has_name), &(comp->ns), &(comp->name));
-    if (comp->ns)
-    comp->has_ns = 1;
-    /*
-    * Attribute "select".
-    */
-    comp->select = xsltGetCNsProp(style, inst, (const xmlChar *)"select",
-                            XSLT_NAMESPACE);
-    if (comp->select != NULL) {
-#ifndef XSLT_REFACTORED
-        xmlNodePtr cur;
-#endif
-    comp->comp = xsltXPathCompile(style, comp->select);
-    if (comp->comp == NULL) {
-        xsltTransformError(NULL, style, inst,
-        "XSLT-variable: Failed to compile the XPath expression '%s'.\n",
-        comp->select);
-        style->errors++;
-    }
-#ifdef XSLT_REFACTORED
-    if (inst->children != NULL) {
-        xsltTransformError(NULL, style, inst,
-        "XSLT-variable: There must be no child nodes, since the "
-        "attribute 'select' was specified.\n");
-        style->errors++;
-    }
-#else
-        for (cur = inst->children; cur != NULL; cur = cur->next) {
-            if (cur->type != XML_COMMENT_NODE &&
-                (cur->type != XML_TEXT_NODE || !xsltIsBlank(cur->content)))
-            {
-                xsltTransformError(NULL, style, inst,
-                    "XSLT-variable: There must be no child nodes, since the "
-                    "attribute 'select' was specified.\n");
-                style->errors++;
-            }
-        }
-#endif
-    }
-}
-
-/**
- * xsltParamComp:
- * @style: an XSLT compiled stylesheet
- * @inst:  the xslt param node
- *
- * Process the xslt param node on the source node
- */
-static void
-xsltParamComp(xsltStylesheetPtr style, xmlNodePtr inst) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemParamPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((style == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleItemParamPtr)
-    xsltNewStylePreComp(style, XSLT_FUNC_PARAM);
-#else
-    comp = xsltNewStylePreComp(style, XSLT_FUNC_PARAM);
-#endif
-
-    if (comp == NULL)
-    return;
-    inst->psvi = comp;
-    comp->inst = inst;
-
-    /*
-     * Attribute "name".
-     */
-    xsltGetQNameProperty(style, inst, BAD_CAST "name",
-    1, &(comp->has_name), &(comp->ns), &(comp->name));
-    if (comp->ns)
-    comp->has_ns = 1;
-    /*
-    * Attribute "select".
-    */
-    comp->select = xsltGetCNsProp(style, inst, (const xmlChar *)"select",
-                            XSLT_NAMESPACE);
-    if (comp->select != NULL) {
-    comp->comp = xsltXPathCompile(style, comp->select);
-    if (comp->comp == NULL) {
-        xsltTransformError(NULL, style, inst,
-        "XSLT-param: could not compile select expression '%s'.\n",
-        comp->select);
-        style->errors++;
-    }
-    if (inst->children != NULL) {
-        xsltTransformError(NULL, style, inst,
-        "XSLT-param: The content should be empty since the "
-        "attribute 'select' is present.\n");
-        style->warnings++;
-    }
-    }
-}
-
-/************************************************************************
- *                                  *
- *          Generic interface                   *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltFreeStylePreComps:
- * @style:  an XSLT transformation context
- *
- * Free up the memory allocated by all precomputed blocks
- */
-void
-xsltFreeStylePreComps(xsltStylesheetPtr style) {
-    xsltElemPreCompPtr cur, next;
-
-    if (style == NULL)
-    return;
-
-    cur = style->preComps;
-    while (cur != NULL) {
-    next = cur->next;
-    if (cur->type == XSLT_FUNC_EXTENSION)
-        cur->free(cur);
-    else
-        xsltFreeStylePreComp((xsltStylePreCompPtr) cur);
-    cur = next;
-    }
-}
-
-#ifdef XSLT_REFACTORED
-
-/**
- * xsltStylePreCompute:
- * @style:  the XSLT stylesheet
- * @node:  the element in the XSLT namespace
- *
- * Precompute an XSLT element.
- * This expects the type of the element to be already
- * set in style->compCtxt->inode->type;
- */
-void
-xsltStylePreCompute(xsltStylesheetPtr style, xmlNodePtr node) {
-    /*
-    * The xsltXSLTElemMarker marker was set beforehand by
-    *  the parsing mechanism for all elements in the XSLT namespace.
-    */
-    if (style == NULL) {
-    if ((node != NULL) && (node->type == XML_ELEMENT_NODE))
-        node->psvi = NULL;
-    return;
-    }
-    if (node == NULL)
-    return;
-    if (! IS_XSLT_ELEM_FAST(node))
-    return;
-
-    node->psvi = NULL;
-    if (XSLT_CCTXT(style)->inode->type != 0) {
-    switch (XSLT_CCTXT(style)->inode->type) {
-        case XSLT_FUNC_APPLYTEMPLATES:
-        xsltApplyTemplatesComp(style, node);
-        break;
-        case XSLT_FUNC_WITHPARAM:
-        xsltWithParamComp(style, node);
-        break;
-        case XSLT_FUNC_VALUEOF:
-        xsltValueOfComp(style, node);
-        break;
-        case XSLT_FUNC_COPY:
-        xsltCopyComp(style, node);
-        break;
-        case XSLT_FUNC_COPYOF:
-        xsltCopyOfComp(style, node);
-        break;
-        case XSLT_FUNC_IF:
-        xsltIfComp(style, node);
-        break;
-        case XSLT_FUNC_CHOOSE:
-        xsltChooseComp(style, node);
-        break;
-        case XSLT_FUNC_WHEN:
-        xsltWhenComp(style, node);
-        break;
-        case XSLT_FUNC_OTHERWISE:
-        /* NOP yet */
-        return;
-        case XSLT_FUNC_FOREACH:
-        xsltForEachComp(style, node);
-        break;
-        case XSLT_FUNC_APPLYIMPORTS:
-        xsltApplyImportsComp(style, node);
-        break;
-        case XSLT_FUNC_ATTRIBUTE:
-        xsltAttributeComp(style, node);
-        break;
-        case XSLT_FUNC_ELEMENT:
-        xsltElementComp(style, node);
-        break;
-        case XSLT_FUNC_SORT:
-        xsltSortComp(style, node);
-        break;
-        case XSLT_FUNC_COMMENT:
-        xsltCommentComp(style, node);
-        break;
-        case XSLT_FUNC_NUMBER:
-        xsltNumberComp(style, node);
-        break;
-        case XSLT_FUNC_PI:
-        xsltProcessingInstructionComp(style, node);
-        break;
-        case XSLT_FUNC_CALLTEMPLATE:
-        xsltCallTemplateComp(style, node);
-        break;
-        case XSLT_FUNC_PARAM:
-        xsltParamComp(style, node);
-        break;
-        case XSLT_FUNC_VARIABLE:
-        xsltVariableComp(style, node);
-        break;
-        case XSLT_FUNC_FALLBACK:
-        /* NOP yet */
-        return;
-        case XSLT_FUNC_DOCUMENT:
-        /* The extra one */
-        node->psvi = (void *) xsltDocumentComp(style, node,
-            (xsltTransformFunction) xsltDocumentElem);
-        break;
-        case XSLT_FUNC_MESSAGE:
-        /* NOP yet */
-        return;
-        default:
-        /*
-        * NOTE that xsl:text, xsl:template, xsl:stylesheet,
-        *  xsl:transform, xsl:import, xsl:include are not expected
-        *  to be handed over to this function.
-        */
-        xsltTransformError(NULL, style, node,
-            "Internal error: (xsltStylePreCompute) cannot handle "
-            "the XSLT element '%s'.\n", node->name);
-        style->errors++;
-        return;
-    }
-    } else {
-    /*
-    * Fallback to string comparison.
-    */
-    if (IS_XSLT_NAME(node, "apply-templates")) {
-        xsltApplyTemplatesComp(style, node);
-    } else if (IS_XSLT_NAME(node, "with-param")) {
-        xsltWithParamComp(style, node);
-    } else if (IS_XSLT_NAME(node, "value-of")) {
-        xsltValueOfComp(style, node);
-    } else if (IS_XSLT_NAME(node, "copy")) {
-        xsltCopyComp(style, node);
-    } else if (IS_XSLT_NAME(node, "copy-of")) {
-        xsltCopyOfComp(style, node);
-    } else if (IS_XSLT_NAME(node, "if")) {
-        xsltIfComp(style, node);
-    } else if (IS_XSLT_NAME(node, "choose")) {
-        xsltChooseComp(style, node);
-    } else if (IS_XSLT_NAME(node, "when")) {
-        xsltWhenComp(style, node);
-    } else if (IS_XSLT_NAME(node, "otherwise")) {
-        /* NOP yet */
-        return;
-    } else if (IS_XSLT_NAME(node, "for-each")) {
-        xsltForEachComp(style, node);
-    } else if (IS_XSLT_NAME(node, "apply-imports")) {
-        xsltApplyImportsComp(style, node);
-    } else if (IS_XSLT_NAME(node, "attribute")) {
-        xsltAttributeComp(style, node);
-    } else if (IS_XSLT_NAME(node, "element")) {
-        xsltElementComp(style, node);
-    } else if (IS_XSLT_NAME(node, "sort")) {
-        xsltSortComp(style, node);
-    } else if (IS_XSLT_NAME(node, "comment")) {
-        xsltCommentComp(style, node);
-    } else if (IS_XSLT_NAME(node, "number")) {
-        xsltNumberComp(style, node);
-    } else if (IS_XSLT_NAME(node, "processing-instruction")) {
-        xsltProcessingInstructionComp(style, node);
-    } else if (IS_XSLT_NAME(node, "call-template")) {
-        xsltCallTemplateComp(style, node);
-    } else if (IS_XSLT_NAME(node, "param")) {
-        xsltParamComp(style, node);
-    } else if (IS_XSLT_NAME(node, "variable")) {
-        xsltVariableComp(style, node);
-    } else if (IS_XSLT_NAME(node, "fallback")) {
-        /* NOP yet */
-        return;
-    } else if (IS_XSLT_NAME(node, "document")) {
-        /* The extra one */
-        node->psvi = (void *) xsltDocumentComp(style, node,
-        (xsltTransformFunction) xsltDocumentElem);
-    } else if (IS_XSLT_NAME(node, "output")) {
-        /* Top-level */
-        return;
-    } else if (IS_XSLT_NAME(node, "preserve-space")) {
-        /* Top-level */
-        return;
-    } else if (IS_XSLT_NAME(node, "strip-space")) {
-        /* Top-level */
-        return;
-    } else if (IS_XSLT_NAME(node, "key")) {
-        /* Top-level */
-        return;
-    } else if (IS_XSLT_NAME(node, "message")) {
-        return;
-    } else if (IS_XSLT_NAME(node, "attribute-set")) {
-        /* Top-level */
-        return;
-    } else if (IS_XSLT_NAME(node, "namespace-alias")) {
-        /* Top-level */
-        return;
-    } else if (IS_XSLT_NAME(node, "decimal-format")) {
-        /* Top-level */
-        return;
-    } else if (IS_XSLT_NAME(node, "include")) {
-        /* Top-level */
-    } else {
-        /*
-        * NOTE that xsl:text, xsl:template, xsl:stylesheet,
-        *  xsl:transform, xsl:import, xsl:include are not expected
-        *  to be handed over to this function.
-        */
-        xsltTransformError(NULL, style, node,
-        "Internal error: (xsltStylePreCompute) cannot handle "
-        "the XSLT element '%s'.\n", node->name);
-        style->errors++;
-        return;
-    }
-    }
-    /*
-    * Assign the current list of in-scope namespaces to the
-    * item. This is needed for XPath expressions.
-    */
-    if (node->psvi != NULL) {
-    ((xsltStylePreCompPtr) node->psvi)->inScopeNs =
-        XSLT_CCTXT(style)->inode->inScopeNs;
-    }
-}
-
-#else
-
-/**
- * xsltStylePreCompute:
- * @style:  the XSLT stylesheet
- * @inst:  the instruction in the stylesheet
- *
- * Precompute an XSLT stylesheet element
- */
-void
-xsltStylePreCompute(xsltStylesheetPtr style, xmlNodePtr inst) {
-    /*
-    * URGENT TODO: Normally inst->psvi Should never be reserved here,
-    *   BUT: since if we include the same stylesheet from
-    *   multiple imports, then the stylesheet will be parsed
-    *   again. We simply must not try to compute the stylesheet again.
-    * TODO: Get to the point where we don't need to query the
-    *   namespace- and local-name of the node, but can evaluate this
-    *   using cctxt->style->inode->category;
-    */
-    if ((inst == NULL) || (inst->type != XML_ELEMENT_NODE) ||
-        (inst->psvi != NULL))
-    return;
-
-    if (IS_XSLT_ELEM(inst)) {
-    xsltStylePreCompPtr cur;
-
-    if (IS_XSLT_NAME(inst, "apply-templates")) {
-        xsltCheckInstructionElement(style, inst);
-        xsltApplyTemplatesComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "with-param")) {
-        xsltCheckParentElement(style, inst, BAD_CAST "apply-templates",
-                               BAD_CAST "call-template");
-        xsltWithParamComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "value-of")) {
-        xsltCheckInstructionElement(style, inst);
-        xsltValueOfComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "copy")) {
-        xsltCheckInstructionElement(style, inst);
-        xsltCopyComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "copy-of")) {
-        xsltCheckInstructionElement(style, inst);
-        xsltCopyOfComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "if")) {
-        xsltCheckInstructionElement(style, inst);
-        xsltIfComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "when")) {
-        xsltCheckParentElement(style, inst, BAD_CAST "choose", NULL);
-        xsltWhenComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "choose")) {
-        xsltCheckInstructionElement(style, inst);
-        xsltChooseComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "for-each")) {
-        xsltCheckInstructionElement(style, inst);
-        xsltForEachComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "apply-imports")) {
-        xsltCheckInstructionElement(style, inst);
-        xsltApplyImportsComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "attribute")) {
-        xmlNodePtr parent = inst->parent;
-
-        if ((parent == NULL) ||
-            (parent->type != XML_ELEMENT_NODE) || (parent->ns == NULL) ||
-        ((parent->ns != inst->ns) &&
-         (!xmlStrEqual(parent->ns->href, inst->ns->href))) ||
-        (!xmlStrEqual(parent->name, BAD_CAST "attribute-set"))) {
-        xsltCheckInstructionElement(style, inst);
-        }
-        xsltAttributeComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "element")) {
-        xsltCheckInstructionElement(style, inst);
-        xsltElementComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "text")) {
-        xsltCheckInstructionElement(style, inst);
-        xsltTextComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "sort")) {
-        xsltCheckParentElement(style, inst, BAD_CAST "apply-templates",
-                               BAD_CAST "for-each");
-        xsltSortComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "comment")) {
-        xsltCheckInstructionElement(style, inst);
-        xsltCommentComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "number")) {
-        xsltCheckInstructionElement(style, inst);
-        xsltNumberComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "processing-instruction")) {
-        xsltCheckInstructionElement(style, inst);
-        xsltProcessingInstructionComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "call-template")) {
-        xsltCheckInstructionElement(style, inst);
-        xsltCallTemplateComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "param")) {
-        if (xsltCheckTopLevelElement(style, inst, 0) == 0)
-            xsltCheckInstructionElement(style, inst);
-        xsltParamComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "variable")) {
-        if (xsltCheckTopLevelElement(style, inst, 0) == 0)
-            xsltCheckInstructionElement(style, inst);
-        xsltVariableComp(style, inst);
-    } else if (IS_XSLT_NAME(inst, "otherwise")) {
-        xsltCheckParentElement(style, inst, BAD_CAST "choose", NULL);
-        xsltCheckInstructionElement(style, inst);
-        return;
-    } else if (IS_XSLT_NAME(inst, "template")) {
-        xsltCheckTopLevelElement(style, inst, 1);
-        return;
-    } else if (IS_XSLT_NAME(inst, "output")) {
-        xsltCheckTopLevelElement(style, inst, 1);
-        return;
-    } else if (IS_XSLT_NAME(inst, "preserve-space")) {
-        xsltCheckTopLevelElement(style, inst, 1);
-        return;
-    } else if (IS_XSLT_NAME(inst, "strip-space")) {
-        xsltCheckTopLevelElement(style, inst, 1);
-        return;
-    } else if ((IS_XSLT_NAME(inst, "stylesheet")) ||
-               (IS_XSLT_NAME(inst, "transform"))) {
-        xmlNodePtr parent = inst->parent;
-
-        if ((parent == NULL) || (parent->type != XML_DOCUMENT_NODE)) {
-        xsltTransformError(NULL, style, inst,
-            "element %s only allowed only as root element\n",
-                   inst->name);
-        style->errors++;
-        }
-        return;
-    } else if (IS_XSLT_NAME(inst, "key")) {
-        xsltCheckTopLevelElement(style, inst, 1);
-        return;
-    } else if (IS_XSLT_NAME(inst, "message")) {
-        xsltCheckInstructionElement(style, inst);
-        return;
-    } else if (IS_XSLT_NAME(inst, "attribute-set")) {
-        xsltCheckTopLevelElement(style, inst, 1);
-        return;
-    } else if (IS_XSLT_NAME(inst, "namespace-alias")) {
-        xsltCheckTopLevelElement(style, inst, 1);
-        return;
-    } else if (IS_XSLT_NAME(inst, "include")) {
-        xsltCheckTopLevelElement(style, inst, 1);
-        return;
-    } else if (IS_XSLT_NAME(inst, "import")) {
-        xsltCheckTopLevelElement(style, inst, 1);
-        return;
-    } else if (IS_XSLT_NAME(inst, "decimal-format")) {
-        xsltCheckTopLevelElement(style, inst, 1);
-        return;
-    } else if (IS_XSLT_NAME(inst, "fallback")) {
-        xsltCheckInstructionElement(style, inst);
-        return;
-    } else if (IS_XSLT_NAME(inst, "document")) {
-        xsltCheckInstructionElement(style, inst);
-        inst->psvi = (void *) xsltDocumentComp(style, inst,
-                (xsltTransformFunction) xsltDocumentElem);
-    } else {
-        xsltTransformError(NULL, style, inst,
-         "xsltStylePreCompute: unknown xsl:%s\n", inst->name);
-        if (style != NULL) style->warnings++;
-    }
-
-    cur = (xsltStylePreCompPtr) inst->psvi;
-    /*
-    * A ns-list is build for every XSLT item in the
-    * node-tree. This is needed for XPath expressions.
-    */
-    if (cur != NULL) {
-        int i = 0;
-
-        cur->nsList = xmlGetNsList(inst->doc, inst);
-            if (cur->nsList != NULL) {
-        while (cur->nsList[i] != NULL)
-            i++;
-        }
-        cur->nsNr = i;
-    }
-    } else {
-    inst->psvi =
-        (void *) xsltPreComputeExtModuleElement(style, inst);
-
-    /*
-     * Unknown element, maybe registered at the context
-     * level. Mark it for later recognition.
-     */
-    if (inst->psvi == NULL)
-        inst->psvi = (void *) xsltExtMarker;
-    }
-}
-#endif /* XSLT_REFACTORED */
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/preproc.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/preproc.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/preproc.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Summary: precomputing stylesheets
- * Description: this is the compilation phase, where most of the
- *              stylesheet is "compiled" into faster to use data.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_PRECOMP_H__
-#define __XML_XSLT_PRECOMP_H__
-
-#include 
-#include "xsltexports.h"
-#include "xsltInternals.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Interfaces
- */
-extern const xmlChar *xsltExtMarker;
-
-XSLTPUBFUN xsltElemPreCompPtr XSLTCALL
-        xsltDocumentComp    (xsltStylesheetPtr style,
-                     xmlNodePtr inst,
-                     xsltTransformFunction function);
-
-XSLTPUBFUN void XSLTCALL
-        xsltStylePreCompute (xsltStylesheetPtr style,
-                     xmlNodePtr inst);
-XSLTPUBFUN void XSLTCALL
-        xsltFreeStylePreComps   (xsltStylesheetPtr style);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_PRECOMP_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/security.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/security.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/security.c
+++ /dev/null
@@ -1,480 +0,0 @@
-/*
- * security.c: Implementation of the XSLT security framework
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-
-#ifdef HAVE_SYS_TYPES_H
-#include 
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include 
-#endif
-
-#ifdef HAVE_MATH_H
-#include 
-#endif
-#ifdef HAVE_FLOAT_H
-#include 
-#endif
-#ifdef HAVE_IEEEFP_H
-#include 
-#endif
-#ifdef HAVE_NAN_H
-#include 
-#endif
-#ifdef HAVE_CTYPE_H
-#include 
-#endif
-
-#if defined(WIN32) && !defined(__CYGWIN__)
-#include 
-#ifndef INVALID_FILE_ATTRIBUTES
-#define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
-#endif
-#endif
-
-#ifndef HAVE_STAT
-#  ifdef HAVE__STAT
-     /* MS C library seems to define stat and _stat. The definition
-      *         is identical. Still, mapping them to each other causes a warning. */
-#    ifndef _MSC_VER
-#      define stat(x,y) _stat(x,y)
-#    endif
-#    define HAVE_STAT
-#  endif
-#endif
-
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltInternals.h"
-#include "xsltutils.h"
-#include "extensions.h"
-#include "security.h"
-
-
-struct _xsltSecurityPrefs {
-    xsltSecurityCheck readFile;
-    xsltSecurityCheck createFile;
-    xsltSecurityCheck createDir;
-    xsltSecurityCheck readNet;
-    xsltSecurityCheck writeNet;
-};
-
-static xsltSecurityPrefsPtr xsltDefaultSecurityPrefs = NULL;
-
-/************************************************************************
- *                                  *
- *          Module interfaces               *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltNewSecurityPrefs:
- *
- * Create a new security preference block
- *
- * Returns a pointer to the new block or NULL in case of error
- */
-xsltSecurityPrefsPtr
-xsltNewSecurityPrefs(void) {
-    xsltSecurityPrefsPtr ret;
-
-    xsltInitGlobals();
-
-    ret = (xsltSecurityPrefsPtr) xmlMalloc(sizeof(xsltSecurityPrefs));
-    if (ret == NULL) {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltNewSecurityPrefs : malloc failed\n");
-    return(NULL);
-    }
-    memset(ret, 0, sizeof(xsltSecurityPrefs));
-    return(ret);
-}
-
-/**
- * xsltFreeSecurityPrefs:
- * @sec:  the security block to free
- *
- * Free up a security preference block
- */
-void
-xsltFreeSecurityPrefs(xsltSecurityPrefsPtr sec) {
-    if (sec == NULL)
-    return;
-    xmlFree(sec);
-}
-
-/**
- * xsltSetSecurityPrefs:
- * @sec:  the security block to update
- * @option:  the option to update
- * @func:  the user callback to use for this option
- *
- * Update the security option to use the new callback checking function
- *
- * Returns -1 in case of error, 0 otherwise
- */
-int
-xsltSetSecurityPrefs(xsltSecurityPrefsPtr sec, xsltSecurityOption option,
-                     xsltSecurityCheck func) {
-    xsltInitGlobals();
-    if (sec == NULL)
-    return(-1);
-    switch (option) {
-        case XSLT_SECPREF_READ_FILE:
-            sec->readFile = func; return(0);
-        case XSLT_SECPREF_WRITE_FILE:
-            sec->createFile = func; return(0);
-        case XSLT_SECPREF_CREATE_DIRECTORY:
-            sec->createDir = func; return(0);
-        case XSLT_SECPREF_READ_NETWORK:
-            sec->readNet = func; return(0);
-        case XSLT_SECPREF_WRITE_NETWORK:
-            sec->writeNet = func; return(0);
-    }
-    return(-1);
-}
-
-/**
- * xsltGetSecurityPrefs:
- * @sec:  the security block to update
- * @option:  the option to lookup
- *
- * Lookup the security option to get the callback checking function
- *
- * Returns NULL if not found, the function otherwise
- */
-xsltSecurityCheck
-xsltGetSecurityPrefs(xsltSecurityPrefsPtr sec, xsltSecurityOption option) {
-    if (sec == NULL)
-    return(NULL);
-    switch (option) {
-        case XSLT_SECPREF_READ_FILE:
-            return(sec->readFile);
-        case XSLT_SECPREF_WRITE_FILE:
-            return(sec->createFile);
-        case XSLT_SECPREF_CREATE_DIRECTORY:
-            return(sec->createDir);
-        case XSLT_SECPREF_READ_NETWORK:
-            return(sec->readNet);
-        case XSLT_SECPREF_WRITE_NETWORK:
-            return(sec->writeNet);
-    }
-    return(NULL);
-}
-
-/**
- * xsltSetDefaultSecurityPrefs:
- * @sec:  the security block to use
- *
- * Set the default security preference application-wide
- */
-void
-xsltSetDefaultSecurityPrefs(xsltSecurityPrefsPtr sec) {
-
-    xsltDefaultSecurityPrefs = sec;
-}
-
-/**
- * xsltGetDefaultSecurityPrefs:
- *
- * Get the default security preference application-wide
- *
- * Returns the current xsltSecurityPrefsPtr in use or NULL if none
- */
-xsltSecurityPrefsPtr
-xsltGetDefaultSecurityPrefs(void) {
-    return(xsltDefaultSecurityPrefs);
-}
-
-/**
- * xsltSetCtxtSecurityPrefs:
- * @sec:  the security block to use
- * @ctxt:  an XSLT transformation context
- *
- * Set the security preference for a specific transformation
- *
- * Returns -1 in case of error, 0 otherwise
- */
-int
-xsltSetCtxtSecurityPrefs(xsltSecurityPrefsPtr sec,
-                     xsltTransformContextPtr ctxt) {
-    if (ctxt == NULL)
-    return(-1);
-    ctxt->sec = (void *) sec;
-    return(0);
-}
-
-
-/**
- * xsltSecurityAllow:
- * @sec:  the security block to use
- * @ctxt:  an XSLT transformation context
- * @value:  unused
- *
- * Function used to always allow an operation
- *
- * Returns 1 always
- */
-int
-xsltSecurityAllow(xsltSecurityPrefsPtr sec ATTRIBUTE_UNUSED,
-              xsltTransformContextPtr ctxt ATTRIBUTE_UNUSED,
-          const char *value ATTRIBUTE_UNUSED) {
-    return(1);
-}
-
-/**
- * xsltSecurityForbid:
- * @sec:  the security block to use
- * @ctxt:  an XSLT transformation context
- * @value:  unused
- *
- * Function used to always forbid an operation
- *
- * Returns 0 always
- */
-int
-xsltSecurityForbid(xsltSecurityPrefsPtr sec ATTRIBUTE_UNUSED,
-              xsltTransformContextPtr ctxt ATTRIBUTE_UNUSED,
-          const char *value ATTRIBUTE_UNUSED) {
-    return(0);
-}
-
-/************************************************************************
- *                                  *
- *          Internal interfaces             *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltCheckFilename
- * @path:  the path to check
- *
- * function checks to see if @path is a valid source
- * (file, socket...) for XML.
- *
- * TODO: remove at some point !!!
- * Local copy of xmlCheckFilename to avoid a hard dependency on
- * a new version of libxml2
- *
- * if stat is not available on the target machine,
- * returns 1.  if stat fails, returns 0 (if calling
- * stat on the filename fails, it can't be right).
- * if stat succeeds and the file is a directory,
- * returns 2.  otherwise returns 1.
- */
-
-static int
-xsltCheckFilename (const char *path)
-{
-#ifdef HAVE_STAT
-    struct stat stat_buffer;
-#if defined(WIN32) && !defined(__CYGWIN__)
-    DWORD dwAttrs;
-
-    dwAttrs = GetFileAttributes(path);
-    if (dwAttrs != INVALID_FILE_ATTRIBUTES) {
-        if (dwAttrs & FILE_ATTRIBUTE_DIRECTORY) {
-            return 2;
-        }
-    }
-#endif
-
-    if (stat(path, &stat_buffer) == -1)
-        return 0;
-
-#ifdef S_ISDIR
-    if (S_ISDIR(stat_buffer.st_mode)) {
-        return 2;
-    }
-#endif
-#endif
-    return 1;
-}
-
-static int
-xsltCheckWritePath(xsltSecurityPrefsPtr sec,
-           xsltTransformContextPtr ctxt,
-           const char *path)
-{
-    int ret;
-    xsltSecurityCheck check;
-    char *directory;
-
-    check = xsltGetSecurityPrefs(sec, XSLT_SECPREF_WRITE_FILE);
-    if (check != NULL) {
-    ret = check(sec, ctxt, path);
-    if (ret == 0) {
-        xsltTransformError(ctxt, NULL, NULL,
-                   "File write for %s refused\n", path);
-        return(0);
-    }
-    }
-
-    directory = xmlParserGetDirectory (path);
-
-    if (directory != NULL) {
-    ret = xsltCheckFilename(directory);
-    if (ret == 0) {
-        /*
-         * The directory doesn't exist check for creation
-         */
-        check = xsltGetSecurityPrefs(sec,
-                     XSLT_SECPREF_CREATE_DIRECTORY);
-        if (check != NULL) {
-        ret = check(sec, ctxt, directory);
-        if (ret == 0) {
-            xsltTransformError(ctxt, NULL, NULL,
-                       "Directory creation for %s refused\n",
-                       path);
-            xmlFree(directory);
-            return(0);
-        }
-        }
-        ret = xsltCheckWritePath(sec, ctxt, directory);
-        if (ret == 1)
-        ret = mkdir(directory, 0755);
-    }
-    xmlFree(directory);
-    if (ret < 0)
-        return(ret);
-    }
-
-    return(1);
-}
-
-/**
- * xsltCheckWrite:
- * @sec:  the security options
- * @ctxt:  an XSLT transformation context
- * @URL:  the resource to be written
- *
- * Check if the resource is allowed to be written, if necessary makes
- * some preliminary work like creating directories
- *
- * Return 1 if write is allowed, 0 if not and -1 in case or error.
- */
-int
-xsltCheckWrite(xsltSecurityPrefsPtr sec,
-           xsltTransformContextPtr ctxt, const xmlChar *URL) {
-    int ret;
-    xmlURIPtr uri;
-    xsltSecurityCheck check;
-
-    uri = xmlParseURI((const char *)URL);
-    if (uri == NULL) {
-        uri = xmlCreateURI();
-    if (uri == NULL) {
-        xsltTransformError(ctxt, NULL, NULL,
-         "xsltCheckWrite: out of memory for %s\n", URL);
-        return(-1);
-    }
-    uri->path = (char *)xmlStrdup(URL);
-    }
-    if ((uri->scheme == NULL) ||
-    (xmlStrEqual(BAD_CAST uri->scheme, BAD_CAST "file"))) {
-
-#if defined(WIN32) && !defined(__CYGWIN__)
-    if ((uri->path)&&(uri->path[0]=='/')&&
-        (uri->path[1]!='\0')&&(uri->path[2]==':'))
-    ret = xsltCheckWritePath(sec, ctxt, uri->path+1);
-    else
-#endif
-
-    /*
-     * Check if we are allowed to write this file
-     */
-    ret = xsltCheckWritePath(sec, ctxt, uri->path);
-    if (ret <= 0) {
-        xmlFreeURI(uri);
-        return(ret);
-    }
-    } else {
-    /*
-     * Check if we are allowed to write this network resource
-     */
-    check = xsltGetSecurityPrefs(sec, XSLT_SECPREF_WRITE_NETWORK);
-    if (check != NULL) {
-        ret = check(sec, ctxt, (const char *)URL);
-        if (ret == 0) {
-        xsltTransformError(ctxt, NULL, NULL,
-                 "File write for %s refused\n", URL);
-        xmlFreeURI(uri);
-        return(0);
-        }
-    }
-    }
-    xmlFreeURI(uri);
-    return(1);
-}
-
-
-/**
- * xsltCheckRead:
- * @sec:  the security options
- * @ctxt: an XSLT transformation context
- * @URL:  the resource to be read
- *
- * Check if the resource is allowed to be read
- *
- * Return 1 if read is allowed, 0 if not and -1 in case or error.
- */
-int
-xsltCheckRead(xsltSecurityPrefsPtr sec,
-          xsltTransformContextPtr ctxt, const xmlChar *URL) {
-    int ret;
-    xmlURIPtr uri;
-    xsltSecurityCheck check;
-
-    uri = xmlParseURI((const char *)URL);
-    if (uri == NULL) {
-    xsltTransformError(ctxt, NULL, NULL,
-     "xsltCheckRead: URL parsing failed for %s\n",
-             URL);
-    return(-1);
-    }
-    if ((uri->scheme == NULL) ||
-    (xmlStrEqual(BAD_CAST uri->scheme, BAD_CAST "file"))) {
-
-    /*
-     * Check if we are allowed to read this file
-     */
-    check = xsltGetSecurityPrefs(sec, XSLT_SECPREF_READ_FILE);
-    if (check != NULL) {
-        ret = check(sec, ctxt, uri->path);
-        if (ret == 0) {
-        xsltTransformError(ctxt, NULL, NULL,
-                 "Local file read for %s refused\n", URL);
-        xmlFreeURI(uri);
-        return(0);
-        }
-    }
-    } else {
-    /*
-     * Check if we are allowed to write this network resource
-     */
-    check = xsltGetSecurityPrefs(sec, XSLT_SECPREF_READ_NETWORK);
-    if (check != NULL) {
-        ret = check(sec, ctxt, (const char *)URL);
-        if (ret == 0) {
-        xsltTransformError(ctxt, NULL, NULL,
-                 "Network file read for %s refused\n", URL);
-        xmlFreeURI(uri);
-        return(0);
-        }
-    }
-    }
-    xmlFreeURI(uri);
-    return(1);
-}
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/security.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/security.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/security.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Summary: interface for the libxslt security framework
- * Description: the libxslt security framework allow to restrict
- *              the access to new resources (file or URL) from
- *              the stylesheet at runtime.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_SECURITY_H__
-#define __XML_XSLT_SECURITY_H__
-
-#include 
-#include "xsltexports.h"
-#include "xsltInternals.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * xsltSecurityPref:
- *
- * structure to indicate the preferences for security in the XSLT
- * transformation.
- */
-typedef struct _xsltSecurityPrefs xsltSecurityPrefs;
-typedef xsltSecurityPrefs *xsltSecurityPrefsPtr;
-
-/**
- * xsltSecurityOption:
- *
- * the set of option that can be configured
- */
-typedef enum {
-    XSLT_SECPREF_READ_FILE = 1,
-    XSLT_SECPREF_WRITE_FILE,
-    XSLT_SECPREF_CREATE_DIRECTORY,
-    XSLT_SECPREF_READ_NETWORK,
-    XSLT_SECPREF_WRITE_NETWORK
-} xsltSecurityOption;
-
-/**
- * xsltSecurityCheck:
- *
- * User provided function to check the value of a string like a file
- * path or an URL ...
- */
-typedef int (*xsltSecurityCheck)    (xsltSecurityPrefsPtr sec,
-                     xsltTransformContextPtr ctxt,
-                     const char *value);
-
-/*
- * Module interfaces
- */
-XSLTPUBFUN xsltSecurityPrefsPtr XSLTCALL
-            xsltNewSecurityPrefs    (void);
-XSLTPUBFUN void XSLTCALL
-            xsltFreeSecurityPrefs   (xsltSecurityPrefsPtr sec);
-XSLTPUBFUN int XSLTCALL
-            xsltSetSecurityPrefs    (xsltSecurityPrefsPtr sec,
-                         xsltSecurityOption option,
-                         xsltSecurityCheck func);
-XSLTPUBFUN xsltSecurityCheck XSLTCALL
-            xsltGetSecurityPrefs    (xsltSecurityPrefsPtr sec,
-                         xsltSecurityOption option);
-
-XSLTPUBFUN void XSLTCALL
-            xsltSetDefaultSecurityPrefs (xsltSecurityPrefsPtr sec);
-XSLTPUBFUN xsltSecurityPrefsPtr XSLTCALL
-            xsltGetDefaultSecurityPrefs (void);
-
-XSLTPUBFUN int XSLTCALL
-            xsltSetCtxtSecurityPrefs    (xsltSecurityPrefsPtr sec,
-                         xsltTransformContextPtr ctxt);
-
-XSLTPUBFUN int XSLTCALL
-            xsltSecurityAllow       (xsltSecurityPrefsPtr sec,
-                         xsltTransformContextPtr ctxt,
-                         const char *value);
-XSLTPUBFUN int XSLTCALL
-            xsltSecurityForbid      (xsltSecurityPrefsPtr sec,
-                         xsltTransformContextPtr ctxt,
-                         const char *value);
-/*
- * internal interfaces
- */
-XSLTPUBFUN int XSLTCALL
-            xsltCheckWrite      (xsltSecurityPrefsPtr sec,
-                         xsltTransformContextPtr ctxt,
-                         const xmlChar *URL);
-XSLTPUBFUN int XSLTCALL
-            xsltCheckRead       (xsltSecurityPrefsPtr sec,
-                         xsltTransformContextPtr ctxt,
-                         const xmlChar *URL);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_SECURITY_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/templates.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/templates.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/templates.c
+++ /dev/null
@@ -1,843 +0,0 @@
-/*
- * templates.c: Implementation of the template processing
- *
- * Reference:
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltInternals.h"
-#include "xsltutils.h"
-#include "variables.h"
-#include "functions.h"
-#include "templates.h"
-#include "transform.h"
-#include "namespaces.h"
-#include "attributes.h"
-
-#ifdef WITH_XSLT_DEBUG
-#define WITH_XSLT_DEBUG_TEMPLATES
-#endif
-
-/************************************************************************
- *                                  *
- *          Module interfaces               *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltEvalXPathPredicate:
- * @ctxt:  the XSLT transformation context
- * @comp:  the XPath compiled expression
- * @nsList:  the namespaces in scope
- * @nsNr:  the number of namespaces in scope
- *
- * Process the expression using XPath and evaluate the result as
- * an XPath predicate
- *
- * Returns 1 is the predicate was true, 0 otherwise
- */
-int
-xsltEvalXPathPredicate(xsltTransformContextPtr ctxt, xmlXPathCompExprPtr comp,
-               xmlNsPtr *nsList, int nsNr) {
-    int ret;
-    xmlXPathObjectPtr res;
-    int oldNsNr;
-    xmlNsPtr *oldNamespaces;
-    xmlNodePtr oldInst;
-    int oldProximityPosition, oldContextSize;
-
-    oldContextSize = ctxt->xpathCtxt->contextSize;
-    oldProximityPosition = ctxt->xpathCtxt->proximityPosition;
-    oldNsNr = ctxt->xpathCtxt->nsNr;
-    oldNamespaces = ctxt->xpathCtxt->namespaces;
-    oldInst = ctxt->inst;
-
-    ctxt->xpathCtxt->node = ctxt->node;
-    ctxt->xpathCtxt->namespaces = nsList;
-    ctxt->xpathCtxt->nsNr = nsNr;
-
-    res = xmlXPathCompiledEval(comp, ctxt->xpathCtxt);
-
-    if (res != NULL) {
-    ret = xmlXPathEvalPredicate(ctxt->xpathCtxt, res);
-    xmlXPathFreeObject(res);
-#ifdef WITH_XSLT_DEBUG_TEMPLATES
-    XSLT_TRACE(ctxt,XSLT_TRACE_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltEvalXPathPredicate: returns %d\n", ret));
-#endif
-    } else {
-#ifdef WITH_XSLT_DEBUG_TEMPLATES
-    XSLT_TRACE(ctxt,XSLT_TRACE_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltEvalXPathPredicate: failed\n"));
-#endif
-    ctxt->state = XSLT_STATE_STOPPED;
-    ret = 0;
-    }
-    ctxt->xpathCtxt->nsNr = oldNsNr;
-
-    ctxt->xpathCtxt->namespaces = oldNamespaces;
-    ctxt->inst = oldInst;
-    ctxt->xpathCtxt->contextSize = oldContextSize;
-    ctxt->xpathCtxt->proximityPosition = oldProximityPosition;
-
-    return(ret);
-}
-
-/**
- * xsltEvalXPathStringNs:
- * @ctxt:  the XSLT transformation context
- * @comp:  the compiled XPath expression
- * @nsNr:  the number of namespaces in the list
- * @nsList:  the list of in-scope namespaces to use
- *
- * Process the expression using XPath, allowing to pass a namespace mapping
- * context and get a string
- *
- * Returns the computed string value or NULL, must be deallocated by the
- *    caller.
- */
-xmlChar *
-xsltEvalXPathStringNs(xsltTransformContextPtr ctxt, xmlXPathCompExprPtr comp,
-                  int nsNr, xmlNsPtr *nsList) {
-    xmlChar *ret = NULL;
-    xmlXPathObjectPtr res;
-    xmlNodePtr oldInst;
-    xmlNodePtr oldNode;
-    int oldPos, oldSize;
-    int oldNsNr;
-    xmlNsPtr *oldNamespaces;
-
-    oldInst = ctxt->inst;
-    oldNode = ctxt->node;
-    oldPos = ctxt->xpathCtxt->proximityPosition;
-    oldSize = ctxt->xpathCtxt->contextSize;
-    oldNsNr = ctxt->xpathCtxt->nsNr;
-    oldNamespaces = ctxt->xpathCtxt->namespaces;
-
-    ctxt->xpathCtxt->node = ctxt->node;
-    /* TODO: do we need to propagate the namespaces here ? */
-    ctxt->xpathCtxt->namespaces = nsList;
-    ctxt->xpathCtxt->nsNr = nsNr;
-    res = xmlXPathCompiledEval(comp, ctxt->xpathCtxt);
-    if (res != NULL) {
-    if (res->type != XPATH_STRING)
-        res = xmlXPathConvertString(res);
-    if (res->type == XPATH_STRING) {
-            ret = res->stringval;
-        res->stringval = NULL;
-    } else {
-        xsltTransformError(ctxt, NULL, NULL,
-         "xpath : string() function didn't return a String\n");
-    }
-    xmlXPathFreeObject(res);
-    } else {
-    ctxt->state = XSLT_STATE_STOPPED;
-    }
-#ifdef WITH_XSLT_DEBUG_TEMPLATES
-    XSLT_TRACE(ctxt,XSLT_TRACE_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
-     "xsltEvalXPathString: returns %s\n", ret));
-#endif
-    ctxt->inst = oldInst;
-    ctxt->node = oldNode;
-    ctxt->xpathCtxt->contextSize = oldSize;
-    ctxt->xpathCtxt->proximityPosition = oldPos;
-    ctxt->xpathCtxt->nsNr = oldNsNr;
-    ctxt->xpathCtxt->namespaces = oldNamespaces;
-    return(ret);
-}
-
-/**
- * xsltEvalXPathString:
- * @ctxt:  the XSLT transformation context
- * @comp:  the compiled XPath expression
- *
- * Process the expression using XPath and get a string
- *
- * Returns the computed string value or NULL, must be deallocated by the
- *    caller.
- */
-xmlChar *
-xsltEvalXPathString(xsltTransformContextPtr ctxt, xmlXPathCompExprPtr comp) {
-    return(xsltEvalXPathStringNs(ctxt, comp, 0, NULL));
-}
-
-/**
- * xsltEvalTemplateString:
- * @ctxt:  the XSLT transformation context
- * @contextNode:  the current node in the source tree
- * @inst:  the XSLT instruction (xsl:comment, xsl:processing-instruction)
- *
- * Processes the sequence constructor of the given instruction on
- * @contextNode and converts the resulting tree to a string.
- * This is needed by e.g. xsl:comment and xsl:processing-instruction.
- *
- * Returns the computed string value or NULL; it's up to the caller to
- *         free the result.
- */
-xmlChar *
-xsltEvalTemplateString(xsltTransformContextPtr ctxt,
-               xmlNodePtr contextNode,
-                   xmlNodePtr inst)
-{
-    xmlNodePtr oldInsert, insert = NULL;
-    xmlChar *ret;
-
-    if ((ctxt == NULL) || (contextNode == NULL) || (inst == NULL) ||
-        (inst->type != XML_ELEMENT_NODE))
-    return(NULL);
-
-    if (inst->children == NULL)
-    return(NULL);
-
-    /*
-    * This creates a temporary element-node to add the resulting
-    * text content to.
-    * OPTIMIZE TODO: Keep such an element-node in the transformation
-    *  context to avoid creating it every time.
-    */
-    insert = xmlNewDocNode(ctxt->output, NULL,
-                       (const xmlChar *)"fake", NULL);
-    if (insert == NULL) {
-    xsltTransformError(ctxt, NULL, contextNode,
-        "Failed to create temporary node\n");
-    return(NULL);
-    }
-    oldInsert = ctxt->insert;
-    ctxt->insert = insert;
-    /*
-    * OPTIMIZE TODO: if inst->children consists only of text-nodes.
-    */
-    xsltApplyOneTemplate(ctxt, contextNode, inst->children, NULL, NULL);
-
-    ctxt->insert = oldInsert;
-
-    ret = xmlNodeGetContent(insert);
-    if (insert != NULL)
-    xmlFreeNode(insert);
-    return(ret);
-}
-
-/**
- * xsltAttrTemplateValueProcessNode:
- * @ctxt:  the XSLT transformation context
- * @str:  the attribute template node value
- * @inst:  the instruction (or LRE) in the stylesheet holding the
- *         attribute with an AVT
- *
- * Process the given string, allowing to pass a namespace mapping
- * context and return the new string value.
- *
- * Called by:
- *  - xsltAttrTemplateValueProcess() (templates.c)
- *  - xsltEvalAttrValueTemplate() (templates.c)
- *
- * QUESTION: Why is this function public? It is not used outside
- *  of templates.c.
- *
- * Returns the computed string value or NULL, must be deallocated by the
- *    caller.
- */
-xmlChar *
-xsltAttrTemplateValueProcessNode(xsltTransformContextPtr ctxt,
-      const xmlChar *str, xmlNodePtr inst)
-{
-    xmlChar *ret = NULL;
-    const xmlChar *cur;
-    xmlChar *expr, *val;
-    xmlNsPtr *nsList = NULL;
-    int nsNr = 0;
-
-    if (str == NULL) return(NULL);
-    if (*str == 0)
-    return(xmlStrndup((xmlChar *)"", 0));
-
-    cur = str;
-    while (*cur != 0) {
-    if (*cur == '{') {
-        if (*(cur+1) == '{') {  /* escaped '{' */
-            cur++;
-        ret = xmlStrncat(ret, str, cur - str);
-        cur++;
-        str = cur;
-        continue;
-        }
-        ret = xmlStrncat(ret, str, cur - str);
-        str = cur;
-        cur++;
-        while ((*cur != 0) && (*cur != '}')) {
-        /* Need to check for literal (bug539741) */
-        if ((*cur == '\'') || (*cur == '"')) {
-            char delim = *(cur++);
-            while ((*cur != 0) && (*cur != delim))
-            cur++;
-            if (*cur != 0)
-            cur++;  /* skip the ending delimiter */
-        } else
-            cur++;
-            }
-        if (*cur == 0) {
-            xsltTransformError(ctxt, NULL, inst,
-            "xsltAttrTemplateValueProcessNode: unmatched '{'\n");
-        ret = xmlStrncat(ret, str, cur - str);
-        return(ret);
-        }
-        str++;
-        expr = xmlStrndup(str, cur - str);
-        if (expr == NULL)
-        return(ret);
-        else if (*expr == '{') {
-        ret = xmlStrcat(ret, expr);
-        xmlFree(expr);
-        } else {
-        xmlXPathCompExprPtr comp;
-        /*
-         * TODO: keep precompiled form around
-         */
-        if ((nsList == NULL) && (inst != NULL)) {
-            int i = 0;
-
-            nsList = xmlGetNsList(inst->doc, inst);
-            if (nsList != NULL) {
-            while (nsList[i] != NULL)
-                i++;
-            nsNr = i;
-            }
-        }
-        comp = xmlXPathCompile(expr);
-                val = xsltEvalXPathStringNs(ctxt, comp, nsNr, nsList);
-        xmlXPathFreeCompExpr(comp);
-        xmlFree(expr);
-        if (val != NULL) {
-            ret = xmlStrcat(ret, val);
-            xmlFree(val);
-        }
-        }
-        cur++;
-        str = cur;
-    } else if (*cur == '}') {
-        cur++;
-        if (*cur == '}') {  /* escaped '}' */
-        ret = xmlStrncat(ret, str, cur - str);
-        cur++;
-        str = cur;
-        continue;
-        } else {
-            xsltTransformError(ctxt, NULL, inst,
-             "xsltAttrTemplateValueProcessNode: unmatched '}'\n");
-        }
-    } else
-        cur++;
-    }
-    if (cur != str) {
-    ret = xmlStrncat(ret, str, cur - str);
-    }
-
-    if (nsList != NULL)
-    xmlFree(nsList);
-
-    return(ret);
-}
-
-/**
- * xsltAttrTemplateValueProcess:
- * @ctxt:  the XSLT transformation context
- * @str:  the attribute template node value
- *
- * Process the given node and return the new string value.
- *
- * Returns the computed string value or NULL, must be deallocated by the
- *    caller.
- */
-xmlChar *
-xsltAttrTemplateValueProcess(xsltTransformContextPtr ctxt, const xmlChar *str) {
-    return(xsltAttrTemplateValueProcessNode(ctxt, str, NULL));
-}
-
-/**
- * xsltEvalAttrValueTemplate:
- * @ctxt:  the XSLT transformation context
- * @inst:  the instruction (or LRE) in the stylesheet holding the
- *         attribute with an AVT
- * @name:  the attribute QName
- * @ns:  the attribute namespace URI
- *
- * Evaluate a attribute value template, i.e. the attribute value can
- * contain expressions contained in curly braces ({}) and those are
- * substituted by they computed value.
- *
- * Returns the computed string value or NULL, must be deallocated by the
- *    caller.
- */
-xmlChar *
-xsltEvalAttrValueTemplate(xsltTransformContextPtr ctxt, xmlNodePtr inst,
-                      const xmlChar *name, const xmlChar *ns)
-{
-    xmlChar *ret;
-    xmlChar *expr;
-
-    if ((ctxt == NULL) || (inst == NULL) || (name == NULL) ||
-        (inst->type != XML_ELEMENT_NODE))
-    return(NULL);
-
-    expr = xsltGetNsProp(inst, name, ns);
-    if (expr == NULL)
-    return(NULL);
-
-    /*
-     * TODO: though now {} is detected ahead, it would still be good to
-     *       optimize both functions to keep the splitted value if the
-     *       attribute content and the XPath precompiled expressions around
-     */
-
-    ret = xsltAttrTemplateValueProcessNode(ctxt, expr, inst);
-#ifdef WITH_XSLT_DEBUG_TEMPLATES
-    XSLT_TRACE(ctxt,XSLT_TRACE_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
-     "xsltEvalAttrValueTemplate: %s returns %s\n", expr, ret));
-#endif
-    if (expr != NULL)
-    xmlFree(expr);
-    return(ret);
-}
-
-/**
- * xsltEvalStaticAttrValueTemplate:
- * @style:  the XSLT stylesheet
- * @inst:  the instruction (or LRE) in the stylesheet holding the
- *         attribute with an AVT
- * @name:  the attribute Name
- * @ns:  the attribute namespace URI
- * @found:  indicator whether the attribute is present
- *
- * Check if an attribute value template has a static value, i.e. the
- * attribute value does not contain expressions contained in curly braces ({})
- *
- * Returns the static string value or NULL, must be deallocated by the
- *    caller.
- */
-const xmlChar *
-xsltEvalStaticAttrValueTemplate(xsltStylesheetPtr style, xmlNodePtr inst,
-            const xmlChar *name, const xmlChar *ns, int *found) {
-    const xmlChar *ret;
-    xmlChar *expr;
-
-    if ((style == NULL) || (inst == NULL) || (name == NULL) ||
-        (inst->type != XML_ELEMENT_NODE))
-    return(NULL);
-
-    expr = xsltGetNsProp(inst, name, ns);
-    if (expr == NULL) {
-    *found = 0;
-    return(NULL);
-    }
-    *found = 1;
-
-    ret = xmlStrchr(expr, '{');
-    if (ret != NULL) {
-    xmlFree(expr);
-    return(NULL);
-    }
-    ret = xmlDictLookup(style->dict, expr, -1);
-    xmlFree(expr);
-    return(ret);
-}
-
-/**
- * xsltAttrTemplateProcess:
- * @ctxt:  the XSLT transformation context
- * @target:  the element where the attribute will be grafted
- * @attr:  the attribute node of a literal result element
- *
- * Process one attribute of a Literal Result Element (in the stylesheet).
- * Evaluates Attribute Value Templates and copies the attribute over to
- * the result element.
- * This does *not* process attribute sets (xsl:use-attribute-set).
- *
- *
- * Returns the generated attribute node.
- */
-xmlAttrPtr
-xsltAttrTemplateProcess(xsltTransformContextPtr ctxt, xmlNodePtr target,
-                    xmlAttrPtr attr)
-{
-    const xmlChar *value;
-    xmlAttrPtr ret;
-
-    if ((ctxt == NULL) || (attr == NULL) || (target == NULL) ||
-        (target->type != XML_ELEMENT_NODE))
-    return(NULL);
-
-    if (attr->type != XML_ATTRIBUTE_NODE)
-    return(NULL);
-
-    /*
-    * Skip all XSLT attributes.
-    */
-#ifdef XSLT_REFACTORED
-    if (attr->psvi == xsltXSLTAttrMarker)
-    return(NULL);
-#else
-    if ((attr->ns != NULL) && xmlStrEqual(attr->ns->href, XSLT_NAMESPACE))
-    return(NULL);
-#endif
-    /*
-    * Get the value.
-    */
-    if (attr->children != NULL) {
-    if ((attr->children->type != XML_TEXT_NODE) ||
-        (attr->children->next != NULL))
-    {
-        xsltTransformError(ctxt, NULL, attr->parent,
-        "Internal error: The children of an attribute node of a "
-        "literal result element are not in the expected form.\n");
-        return(NULL);
-    }
-    value = attr->children->content;
-    if (value == NULL)
-        value = xmlDictLookup(ctxt->dict, BAD_CAST "", 0);
-    } else
-    value = xmlDictLookup(ctxt->dict, BAD_CAST "", 0);
-    /*
-    * Overwrite duplicates.
-    */
-    ret = target->properties;
-    while (ret != NULL) {
-        if (((attr->ns != NULL) == (ret->ns != NULL)) &&
-        xmlStrEqual(ret->name, attr->name) &&
-        ((attr->ns == NULL) || xmlStrEqual(ret->ns->href, attr->ns->href)))
-    {
-        break;
-    }
-        ret = ret->next;
-    }
-    if (ret != NULL) {
-        /* free the existing value */
-    xmlFreeNodeList(ret->children);
-    ret->children = ret->last = NULL;
-    /*
-    * Adjust ns-prefix if needed.
-    */
-    if ((ret->ns != NULL) &&
-        (! xmlStrEqual(ret->ns->prefix, attr->ns->prefix)))
-    {
-        ret->ns = xsltGetNamespace(ctxt, attr->parent, attr->ns, target);
-    }
-    } else {
-        /* create a new attribute */
-    if (attr->ns != NULL)
-        ret = xmlNewNsProp(target,
-        xsltGetNamespace(ctxt, attr->parent, attr->ns, target),
-            attr->name, NULL);
-    else
-        ret = xmlNewNsProp(target, NULL, attr->name, NULL);
-    }
-    /*
-    * Set the value.
-    */
-    if (ret != NULL) {
-        xmlNodePtr text;
-
-        text = xmlNewText(NULL);
-    if (text != NULL) {
-        ret->last = ret->children = text;
-        text->parent = (xmlNodePtr) ret;
-        text->doc = ret->doc;
-
-        if (attr->psvi != NULL) {
-        /*
-        * Evaluate the Attribute Value Template.
-        */
-        xmlChar *val;
-        val = xsltEvalAVT(ctxt, attr->psvi, attr->parent);
-        if (val == NULL) {
-            /*
-            * TODO: Damn, we need an easy mechanism to report
-            * qualified names!
-            */
-            if (attr->ns) {
-            xsltTransformError(ctxt, NULL, attr->parent,
-                "Internal error: Failed to evaluate the AVT "
-                "of attribute '{%s}%s'.\n",
-                attr->ns->href, attr->name);
-            } else {
-            xsltTransformError(ctxt, NULL, attr->parent,
-                "Internal error: Failed to evaluate the AVT "
-                "of attribute '%s'.\n",
-                attr->name);
-            }
-            text->content = xmlStrdup(BAD_CAST "");
-        } else {
-            text->content = val;
-        }
-        } else if ((ctxt->internalized) && (target != NULL) &&
-                   (target->doc != NULL) &&
-               (target->doc->dict == ctxt->dict) &&
-               xmlDictOwns(ctxt->dict, value)) {
-        text->content = (xmlChar *) value;
-        } else {
-        text->content = xmlStrdup(value);
-        }
-    }
-    } else {
-    if (attr->ns) {
-        xsltTransformError(ctxt, NULL, attr->parent,
-        "Internal error: Failed to create attribute '{%s}%s'.\n",
-        attr->ns->href, attr->name);
-    } else {
-        xsltTransformError(ctxt, NULL, attr->parent,
-        "Internal error: Failed to create attribute '%s'.\n",
-        attr->name);
-    }
-    }
-    return(ret);
-}
-
-
-/**
- * xsltAttrListTemplateProcess:
- * @ctxt:  the XSLT transformation context
- * @target:  the element where the attributes will be grafted
- * @attrs:  the first attribute
- *
- * Processes all attributes of a Literal Result Element.
- * Attribute references are applied via xsl:use-attribute-set
- * attributes.
- * Copies all non XSLT-attributes over to the @target element
- * and evaluates Attribute Value Templates.
- *
- * Called by xsltApplySequenceConstructor() (transform.c).
- *
- * Returns a new list of attribute nodes, or NULL in case of error.
- *         (Don't assign the result to @target->properties; if
- *         the result is NULL, you'll get memory leaks, since the
- *         attributes will be disattached.)
- */
-xmlAttrPtr
-xsltAttrListTemplateProcess(xsltTransformContextPtr ctxt,
-                        xmlNodePtr target, xmlAttrPtr attrs)
-{
-    xmlAttrPtr attr, copy, last;
-    xmlNodePtr oldInsert, text;
-    xmlNsPtr origNs = NULL, copyNs = NULL;
-    const xmlChar *value;
-    xmlChar *valueAVT;
-
-    if ((ctxt == NULL) || (target == NULL) || (attrs == NULL) ||
-        (target->type != XML_ELEMENT_NODE))
-    return(NULL);
-
-    oldInsert = ctxt->insert;
-    ctxt->insert = target;
-
-    /*
-    * Instantiate LRE-attributes.
-    */
-    if (target->properties) {
-    last = target->properties;
-    while (last->next != NULL)
-        last = last->next;
-    } else {
-    last = NULL;
-    }
-    attr = attrs;
-    do {
-    /*
-    * Skip XSLT attributes.
-    */
-#ifdef XSLT_REFACTORED
-    if (attr->psvi == xsltXSLTAttrMarker) {
-        goto next_attribute;
-    }
-#else
-    if ((attr->ns != NULL) &&
-        xmlStrEqual(attr->ns->href, XSLT_NAMESPACE))
-    {
-        goto next_attribute;
-    }
-#endif
-    /*
-    * Get the value.
-    */
-    if (attr->children != NULL) {
-        if ((attr->children->type != XML_TEXT_NODE) ||
-        (attr->children->next != NULL))
-        {
-        xsltTransformError(ctxt, NULL, attr->parent,
-            "Internal error: The children of an attribute node of a "
-            "literal result element are not in the expected form.\n");
-        goto error;
-        }
-        value = attr->children->content;
-        if (value == NULL)
-        value = xmlDictLookup(ctxt->dict, BAD_CAST "", 0);
-    } else
-        value = xmlDictLookup(ctxt->dict, BAD_CAST "", 0);
-
-    /*
-    * Create a new attribute.
-    */
-    copy = xmlNewDocProp(target->doc, attr->name, NULL);
-    if (copy == NULL) {
-        if (attr->ns) {
-        xsltTransformError(ctxt, NULL, attr->parent,
-            "Internal error: Failed to create attribute '{%s}%s'.\n",
-            attr->ns->href, attr->name);
-        } else {
-        xsltTransformError(ctxt, NULL, attr->parent,
-            "Internal error: Failed to create attribute '%s'.\n",
-            attr->name);
-        }
-        goto error;
-    }
-    /*
-    * Attach it to the target element.
-    */
-    copy->parent = target;
-    if (last == NULL) {
-        target->properties = copy;
-        last = copy;
-    } else {
-        last->next = copy;
-        copy->prev = last;
-        last = copy;
-    }
-    /*
-    * Set the namespace. Avoid lookups of same namespaces.
-    */
-    if (attr->ns != origNs) {
-        origNs = attr->ns;
-        if (attr->ns != NULL) {
-#ifdef XSLT_REFACTORED
-        copyNs = xsltGetSpecialNamespace(ctxt, attr->parent,
-            attr->ns->href, attr->ns->prefix, target);
-#else
-        copyNs = xsltGetNamespace(ctxt, attr->parent,
-            attr->ns, target);
-#endif
-        if (copyNs == NULL)
-            goto error;
-        } else
-        copyNs = NULL;
-    }
-    copy->ns = copyNs;
-
-    /*
-    * Set the value.
-    */
-    text = xmlNewText(NULL);
-    if (text != NULL) {
-        copy->last = copy->children = text;
-        text->parent = (xmlNodePtr) copy;
-        text->doc = copy->doc;
-
-        if (attr->psvi != NULL) {
-        /*
-        * Evaluate the Attribute Value Template.
-        */
-        valueAVT = xsltEvalAVT(ctxt, attr->psvi, attr->parent);
-        if (valueAVT == NULL) {
-            /*
-            * TODO: Damn, we need an easy mechanism to report
-            * qualified names!
-            */
-            if (attr->ns) {
-            xsltTransformError(ctxt, NULL, attr->parent,
-                "Internal error: Failed to evaluate the AVT "
-                "of attribute '{%s}%s'.\n",
-                attr->ns->href, attr->name);
-            } else {
-            xsltTransformError(ctxt, NULL, attr->parent,
-                "Internal error: Failed to evaluate the AVT "
-                "of attribute '%s'.\n",
-                attr->name);
-            }
-            text->content = xmlStrdup(BAD_CAST "");
-            goto error;
-        } else {
-            text->content = valueAVT;
-        }
-        } else if ((ctxt->internalized) &&
-        (target->doc != NULL) &&
-        (target->doc->dict == ctxt->dict) &&
-        xmlDictOwns(ctxt->dict, value))
-        {
-        text->content = (xmlChar *) value;
-        } else {
-        text->content = xmlStrdup(value);
-        }
-            if ((copy != NULL) && (text != NULL) &&
-                (xmlIsID(copy->doc, copy->parent, copy)))
-                xmlAddID(NULL, copy->doc, text->content, copy);
-    }
-
-next_attribute:
-    attr = attr->next;
-    } while (attr != NULL);
-
-    /*
-    * Apply attribute-sets.
-    * The creation of such attributes will not overwrite any existing
-    * attribute.
-    */
-    attr = attrs;
-    do {
-#ifdef XSLT_REFACTORED
-    if ((attr->psvi == xsltXSLTAttrMarker) &&
-        xmlStrEqual(attr->name, (const xmlChar *)"use-attribute-sets"))
-    {
-        xsltApplyAttributeSet(ctxt, ctxt->node, (xmlNodePtr) attr, NULL);
-    }
-#else
-    if ((attr->ns != NULL) &&
-        xmlStrEqual(attr->name, (const xmlChar *)"use-attribute-sets") &&
-        xmlStrEqual(attr->ns->href, XSLT_NAMESPACE))
-    {
-        xsltApplyAttributeSet(ctxt, ctxt->node, (xmlNodePtr) attr, NULL);
-    }
-#endif
-    attr = attr->next;
-    } while (attr != NULL);
-
-    ctxt->insert = oldInsert;
-    return(target->properties);
-
-error:
-    ctxt->insert = oldInsert;
-    return(NULL);
-}
-
-
-/**
- * xsltTemplateProcess:
- * @ctxt:  the XSLT transformation context
- * @node:  the attribute template node
- *
- * Obsolete. Don't use it.
- *
- * Returns NULL.
- */
-xmlNodePtr *
-xsltTemplateProcess(xsltTransformContextPtr ctxt ATTRIBUTE_UNUSED, xmlNodePtr node) {
-    if (node == NULL)
-    return(NULL);
-
-    return(0);
-}
-
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/templates.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/templates.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/templates.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Summary: interface for the template processing
- * Description: This set of routine encapsulates XPath calls
- *              and Attribute Value Templates evaluation.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_TEMPLATES_H__
-#define __XML_XSLT_TEMPLATES_H__
-
-#include 
-#include 
-#include "xsltexports.h"
-#include "xsltInternals.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-XSLTPUBFUN int XSLTCALL
-        xsltEvalXPathPredicate      (xsltTransformContextPtr ctxt,
-                         xmlXPathCompExprPtr comp,
-                                         xmlNsPtr *nsList,
-                         int nsNr);
-XSLTPUBFUN xmlChar * XSLTCALL
-        xsltEvalTemplateString      (xsltTransformContextPtr ctxt,
-                         xmlNodePtr contextNode,
-                         xmlNodePtr inst);
-XSLTPUBFUN xmlChar * XSLTCALL
-        xsltEvalAttrValueTemplate   (xsltTransformContextPtr ctxt,
-                         xmlNodePtr node,
-                         const xmlChar *name,
-                         const xmlChar *ns);
-XSLTPUBFUN const xmlChar * XSLTCALL
-        xsltEvalStaticAttrValueTemplate (xsltStylesheetPtr style,
-                         xmlNodePtr node,
-                         const xmlChar *name,
-                         const xmlChar *ns,
-                         int *found);
-
-/* TODO: this is obviously broken ... the namespaces should be passed too ! */
-XSLTPUBFUN xmlChar * XSLTCALL
-        xsltEvalXPathString     (xsltTransformContextPtr ctxt,
-                         xmlXPathCompExprPtr comp);
-XSLTPUBFUN xmlChar * XSLTCALL
-        xsltEvalXPathStringNs       (xsltTransformContextPtr ctxt,
-                         xmlXPathCompExprPtr comp,
-                         int nsNr,
-                         xmlNsPtr *nsList);
-
-XSLTPUBFUN xmlNodePtr * XSLTCALL
-        xsltTemplateProcess     (xsltTransformContextPtr ctxt,
-                         xmlNodePtr node);
-XSLTPUBFUN xmlAttrPtr XSLTCALL
-        xsltAttrListTemplateProcess (xsltTransformContextPtr ctxt,
-                         xmlNodePtr target,
-                         xmlAttrPtr cur);
-XSLTPUBFUN xmlAttrPtr XSLTCALL
-        xsltAttrTemplateProcess     (xsltTransformContextPtr ctxt,
-                         xmlNodePtr target,
-                         xmlAttrPtr attr);
-XSLTPUBFUN xmlChar * XSLTCALL
-        xsltAttrTemplateValueProcess    (xsltTransformContextPtr ctxt,
-                         const xmlChar* attr);
-XSLTPUBFUN xmlChar * XSLTCALL
-        xsltAttrTemplateValueProcessNode(xsltTransformContextPtr ctxt,
-                         const xmlChar* str,
-                         xmlNodePtr node);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_TEMPLATES_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/transform.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/transform.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/transform.c
+++ /dev/null
@@ -1,6585 +0,0 @@
-/*
- * transform.c: Implementation of the XSL Transformation 1.0 engine
- *              transform part, i.e. applying a Stylesheet to a document
- *
- * References:
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- *   Michael Kay "XSLT Programmer's Reference" pp 637-643
- *   Writing Multiple Output Files
- *
- *   XSLT-1.1 Working Draft
- *   http://www.w3.org/TR/xslt11#multiple-output
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltInternals.h"
-#include "xsltutils.h"
-#include "pattern.h"
-#include "transform.h"
-#include "variables.h"
-#include "numbersInternals.h"
-#include "namespaces.h"
-#include "attributes.h"
-#include "templates.h"
-#include "imports.h"
-#include "keys.h"
-#include "documents.h"
-#include "extensions.h"
-#include "extra.h"
-#include "preproc.h"
-#include "security.h"
-
-#ifdef WITH_XSLT_DEBUG
-#define WITH_XSLT_DEBUG_EXTRA
-#define WITH_XSLT_DEBUG_PROCESS
-#endif
-
-#define XSLT_GENERATE_HTML_DOCTYPE
-#ifdef XSLT_GENERATE_HTML_DOCTYPE
-static int xsltGetHTMLIDs(const xmlChar *version, const xmlChar **publicID,
-              const xmlChar **systemID);
-#endif
-
-int xsltMaxDepth = 3000;
-int xsltMaxVars = 15000;
-
-/*
- * Useful macros
- */
-
-#ifndef FALSE
-# define FALSE (0 == 1)
-# define TRUE (!FALSE)
-#endif
-
-#define IS_BLANK_NODE(n)                        \
-    (((n)->type == XML_TEXT_NODE) && (xsltIsBlank((n)->content)))
-
-
-/*
-* Forward declarations
-*/
-
-static xmlNsPtr
-xsltCopyNamespaceListInternal(xmlNodePtr node, xmlNsPtr cur);
-
-static xmlNodePtr
-xsltCopyTreeInternal(xsltTransformContextPtr ctxt,
-             xmlNodePtr invocNode,
-             xmlNodePtr node,
-             xmlNodePtr insert, int isLRE, int topElemVisited);
-
-static void
-xsltApplySequenceConstructor(xsltTransformContextPtr ctxt,
-                 xmlNodePtr contextNode, xmlNodePtr list,
-                 xsltTemplatePtr templ);
-
-static void
-xsltApplyXSLTTemplate(xsltTransformContextPtr ctxt,
-              xmlNodePtr contextNode,
-              xmlNodePtr list,
-              xsltTemplatePtr templ,
-              xsltStackElemPtr withParams);
-
-/**
- * templPush:
- * @ctxt: the transformation context
- * @value:  the template to push on the stack
- *
- * Push a template on the stack
- *
- * Returns the new index in the stack or 0 in case of error
- */
-static int
-templPush(xsltTransformContextPtr ctxt, xsltTemplatePtr value)
-{
-    if (ctxt->templMax == 0) {
-        ctxt->templMax = 4;
-        ctxt->templTab =
-            (xsltTemplatePtr *) xmlMalloc(ctxt->templMax *
-                                          sizeof(ctxt->templTab[0]));
-        if (ctxt->templTab == NULL) {
-            xmlGenericError(xmlGenericErrorContext, "malloc failed !\n");
-            return (0);
-        }
-    }
-    else if (ctxt->templNr >= ctxt->templMax) {
-        ctxt->templMax *= 2;
-        ctxt->templTab =
-            (xsltTemplatePtr *) xmlRealloc(ctxt->templTab,
-                                           ctxt->templMax *
-                                           sizeof(ctxt->templTab[0]));
-        if (ctxt->templTab == NULL) {
-            xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
-            return (0);
-        }
-    }
-    ctxt->templTab[ctxt->templNr] = value;
-    ctxt->templ = value;
-    return (ctxt->templNr++);
-}
-/**
- * templPop:
- * @ctxt: the transformation context
- *
- * Pop a template value from the stack
- *
- * Returns the stored template value
- */
-static xsltTemplatePtr
-templPop(xsltTransformContextPtr ctxt)
-{
-    xsltTemplatePtr ret;
-
-    if (ctxt->templNr <= 0)
-        return (0);
-    ctxt->templNr--;
-    if (ctxt->templNr > 0)
-        ctxt->templ = ctxt->templTab[ctxt->templNr - 1];
-    else
-        ctxt->templ = (xsltTemplatePtr) 0;
-    ret = ctxt->templTab[ctxt->templNr];
-    ctxt->templTab[ctxt->templNr] = 0;
-    return (ret);
-}
-
-/**
- * xsltLocalVariablePop:
- * @ctxt: the transformation context
- * @limitNr: number of variables which should remain
- * @level: the depth in the xsl:template's tree
- *
- * Pops all variable values at the given @depth from the stack.
- *
- * Returns the stored variable value
- * **NOTE:**
- * This is an internal routine and should not be called by users!
- */
-void
-xsltLocalVariablePop(xsltTransformContextPtr ctxt, int limitNr, int level)
-{
-    xsltStackElemPtr variable;
-
-    if (ctxt->varsNr <= 0)
-        return;
-
-    do {
-    if (ctxt->varsNr <= limitNr)
-        break;
-    variable = ctxt->varsTab[ctxt->varsNr - 1];
-    if (variable->level <= level)
-        break;
-    if (variable->level >= 0)
-        xsltFreeStackElemList(variable);
-    ctxt->varsNr--;
-    } while (ctxt->varsNr != 0);
-    if (ctxt->varsNr > 0)
-        ctxt->vars = ctxt->varsTab[ctxt->varsNr - 1];
-    else
-        ctxt->vars = NULL;
-}
-
-/**
- * xsltTemplateParamsCleanup:
- *
- * Removes xsl:param and xsl:with-param items from the
- * variable-stack. Only xsl:with-param items are not freed.
- */
-static void
-xsltTemplateParamsCleanup(xsltTransformContextPtr ctxt)
-{
-    xsltStackElemPtr param;
-
-    for (; ctxt->varsNr > ctxt->varsBase; ctxt->varsNr--) {
-    param = ctxt->varsTab[ctxt->varsNr -1];
-    /*
-    * Free xsl:param items.
-    * xsl:with-param items will have a level of -1 or -2.
-    */
-    if (param->level >= 0) {
-        xsltFreeStackElemList(param);
-    }
-    }
-    if (ctxt->varsNr > 0)
-        ctxt->vars = ctxt->varsTab[ctxt->varsNr - 1];
-    else
-        ctxt->vars = NULL;
-}
-
-/**
- * profPush:
- * @ctxt: the transformation context
- * @value:  the profiling value to push on the stack
- *
- * Push a profiling value on the stack
- *
- * Returns the new index in the stack or 0 in case of error
- */
-static int
-profPush(xsltTransformContextPtr ctxt, long value)
-{
-    if (ctxt->profMax == 0) {
-        ctxt->profMax = 4;
-        ctxt->profTab =
-            (long *) xmlMalloc(ctxt->profMax * sizeof(ctxt->profTab[0]));
-        if (ctxt->profTab == NULL) {
-            xmlGenericError(xmlGenericErrorContext, "malloc failed !\n");
-            return (0);
-        }
-    }
-    else if (ctxt->profNr >= ctxt->profMax) {
-        ctxt->profMax *= 2;
-        ctxt->profTab =
-            (long *) xmlRealloc(ctxt->profTab,
-                                ctxt->profMax * sizeof(ctxt->profTab[0]));
-        if (ctxt->profTab == NULL) {
-            xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
-            return (0);
-        }
-    }
-    ctxt->profTab[ctxt->profNr] = value;
-    ctxt->prof = value;
-    return (ctxt->profNr++);
-}
-/**
- * profPop:
- * @ctxt: the transformation context
- *
- * Pop a profiling value from the stack
- *
- * Returns the stored profiling value
- */
-static long
-profPop(xsltTransformContextPtr ctxt)
-{
-    long ret;
-
-    if (ctxt->profNr <= 0)
-        return (0);
-    ctxt->profNr--;
-    if (ctxt->profNr > 0)
-        ctxt->prof = ctxt->profTab[ctxt->profNr - 1];
-    else
-        ctxt->prof = (long) 0;
-    ret = ctxt->profTab[ctxt->profNr];
-    ctxt->profTab[ctxt->profNr] = 0;
-    return (ret);
-}
-
-static void
-profCallgraphAdd(xsltTemplatePtr templ, xsltTemplatePtr parent)
-{
-    int i;
-
-    if (templ->templMax == 0) {
-        templ->templMax = 4;
-        templ->templCalledTab =
-            (xsltTemplatePtr *) xmlMalloc(templ->templMax *
-                                          sizeof(templ->templCalledTab[0]));
-        templ->templCountTab =
-            (int *) xmlMalloc(templ->templMax *
-                                          sizeof(templ->templCountTab[0]));
-        if (templ->templCalledTab == NULL || templ->templCountTab == NULL) {
-            xmlGenericError(xmlGenericErrorContext, "malloc failed !\n");
-            return;
-        }
-    }
-    else if (templ->templNr >= templ->templMax) {
-        templ->templMax *= 2;
-        templ->templCalledTab =
-            (xsltTemplatePtr *) xmlRealloc(templ->templCalledTab,
-                                           templ->templMax *
-                                           sizeof(templ->templCalledTab[0]));
-        templ->templCountTab =
-            (int *) xmlRealloc(templ->templCountTab,
-                                           templ->templMax *
-                                           sizeof(templ->templCountTab[0]));
-        if (templ->templCalledTab == NULL || templ->templCountTab == NULL) {
-            xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
-            return;
-        }
-    }
-
-    for (i = 0; i < templ->templNr; i++) {
-        if (templ->templCalledTab[i] == parent) {
-            templ->templCountTab[i]++;
-            break;
-        }
-    }
-    if (i == templ->templNr) {
-        /* not found, add new one */
-        templ->templCalledTab[templ->templNr] = parent;
-        templ->templCountTab[templ->templNr] = 1;
-        templ->templNr++;
-    }
-}
-
-/************************************************************************
- *                                  *
- *          XInclude default settings           *
- *                                  *
- ************************************************************************/
-
-static int xsltDoXIncludeDefault = 0;
-
-/**
- * xsltSetXIncludeDefault:
- * @xinclude: whether to do XInclude processing
- *
- * Set whether XInclude should be processed on document being loaded by default
- */
-void
-xsltSetXIncludeDefault(int xinclude) {
-    xsltDoXIncludeDefault = (xinclude != 0);
-}
-
-/**
- * xsltGetXIncludeDefault:
- *
- * Provides the default state for XInclude processing
- *
- * Returns 0 if there is no processing 1 otherwise
- */
-int
-xsltGetXIncludeDefault(void) {
-    return(xsltDoXIncludeDefault);
-}
-
-unsigned long xsltDefaultTrace = (unsigned long) XSLT_TRACE_ALL;
-
-/**
- * xsltDebugSetDefaultTrace:
- * @val: tracing level mask
- *
- * Set the default debug tracing level mask
- */
-void xsltDebugSetDefaultTrace(xsltDebugTraceCodes val) {
-    xsltDefaultTrace = val;
-}
-
-/**
- * xsltDebugGetDefaultTrace:
- *
- * Get the current default debug tracing level mask
- *
- * Returns the current default debug tracing level mask
- */
-xsltDebugTraceCodes xsltDebugGetDefaultTrace() {
-    return xsltDefaultTrace;
-}
-
-/************************************************************************
- *                                  *
- *          Handling of Transformation Contexts     *
- *                                  *
- ************************************************************************/
-
-static xsltTransformCachePtr
-xsltTransformCacheCreate(void)
-{
-    xsltTransformCachePtr ret;
-
-    ret = (xsltTransformCachePtr) xmlMalloc(sizeof(xsltTransformCache));
-    if (ret == NULL) {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltTransformCacheCreate : malloc failed\n");
-    return(NULL);
-    }
-    memset(ret, 0, sizeof(xsltTransformCache));
-    return(ret);
-}
-
-static void
-xsltTransformCacheFree(xsltTransformCachePtr cache)
-{
-    if (cache == NULL)
-    return;
-    /*
-    * Free tree fragments.
-    */
-    if (cache->RVT) {
-    xmlDocPtr tmp, cur = cache->RVT;
-    while (cur) {
-        tmp = cur;
-        cur = (xmlDocPtr) cur->next;
-        if (tmp->_private != NULL) {
-        /*
-        * Tree the document info.
-        */
-        xsltFreeDocumentKeys((xsltDocumentPtr) tmp->_private);
-        xmlFree(tmp->_private);
-        }
-        xmlFreeDoc(tmp);
-    }
-    }
-    /*
-    * Free vars/params.
-    */
-    if (cache->stackItems) {
-    xsltStackElemPtr tmp, cur = cache->stackItems;
-    while (cur) {
-        tmp = cur;
-        cur = cur->next;
-        /*
-        * REVISIT TODO: Should be call a destruction-function
-        * instead?
-        */
-        xmlFree(tmp);
-    }
-    }
-    xmlFree(cache);
-}
-
-/**
- * xsltNewTransformContext:
- * @style:  a parsed XSLT stylesheet
- * @doc:  the input document
- *
- * Create a new XSLT TransformContext
- *
- * Returns the newly allocated xsltTransformContextPtr or NULL in case of error
- */
-xsltTransformContextPtr
-xsltNewTransformContext(xsltStylesheetPtr style, xmlDocPtr doc) {
-    xsltTransformContextPtr cur;
-    xsltDocumentPtr docu;
-    int i;
-
-    xsltInitGlobals();
-
-    cur = (xsltTransformContextPtr) xmlMalloc(sizeof(xsltTransformContext));
-    if (cur == NULL) {
-    xsltTransformError(NULL, NULL, (xmlNodePtr)doc,
-        "xsltNewTransformContext : malloc failed\n");
-    return(NULL);
-    }
-    memset(cur, 0, sizeof(xsltTransformContext));
-
-    cur->cache = xsltTransformCacheCreate();
-    if (cur->cache == NULL)
-    goto internal_err;
-    /*
-     * setup of the dictionary must be done early as some of the
-     * processing later like key handling may need it.
-     */
-    cur->dict = xmlDictCreateSub(style->dict);
-    cur->internalized = ((style->internalized) && (cur->dict != NULL));
-#ifdef WITH_XSLT_DEBUG
-    xsltGenericDebug(xsltGenericDebugContext,
-         "Creating sub-dictionary from stylesheet for transformation\n");
-#endif
-
-    /*
-     * initialize the template stack
-     */
-    cur->templTab = (xsltTemplatePtr *)
-            xmlMalloc(10 * sizeof(xsltTemplatePtr));
-    if (cur->templTab == NULL) {
-    xsltTransformError(NULL, NULL, (xmlNodePtr) doc,
-        "xsltNewTransformContext: out of memory\n");
-    goto internal_err;
-    }
-    cur->templNr = 0;
-    cur->templMax = 5;
-    cur->templ = NULL;
-    cur->maxTemplateDepth = xsltMaxDepth;
-
-    /*
-     * initialize the variables stack
-     */
-    cur->varsTab = (xsltStackElemPtr *)
-            xmlMalloc(10 * sizeof(xsltStackElemPtr));
-    if (cur->varsTab == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-        "xsltNewTransformContext: out of memory\n");
-    goto internal_err;
-    }
-    cur->varsNr = 0;
-    cur->varsMax = 10;
-    cur->vars = NULL;
-    cur->varsBase = 0;
-    cur->maxTemplateVars = xsltMaxVars;
-
-    /*
-     * the profiling stack is not initialized by default
-     */
-    cur->profTab = NULL;
-    cur->profNr = 0;
-    cur->profMax = 0;
-    cur->prof = 0;
-
-    cur->style = style;
-    xmlXPathInit();
-    cur->xpathCtxt = xmlXPathNewContext(doc);
-    if (cur->xpathCtxt == NULL) {
-    xsltTransformError(NULL, NULL, (xmlNodePtr) doc,
-        "xsltNewTransformContext : xmlXPathNewContext failed\n");
-    goto internal_err;
-    }
-    /*
-    * Create an XPath cache.
-    */
-    if (xmlXPathContextSetCache(cur->xpathCtxt, 1, -1, 0) == -1)
-    goto internal_err;
-    /*
-     * Initialize the extras array
-     */
-    if (style->extrasNr != 0) {
-    cur->extrasMax = style->extrasNr + 20;
-    cur->extras = (xsltRuntimeExtraPtr)
-        xmlMalloc(cur->extrasMax * sizeof(xsltRuntimeExtra));
-    if (cur->extras == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-            "xsltNewTransformContext: out of memory\n");
-        goto internal_err;
-    }
-    cur->extrasNr = style->extrasNr;
-    for (i = 0;i < cur->extrasMax;i++) {
-        cur->extras[i].info = NULL;
-        cur->extras[i].deallocate = NULL;
-        cur->extras[i].val.ptr = NULL;
-    }
-    } else {
-    cur->extras = NULL;
-    cur->extrasNr = 0;
-    cur->extrasMax = 0;
-    }
-
-    XSLT_REGISTER_VARIABLE_LOOKUP(cur);
-    XSLT_REGISTER_FUNCTION_LOOKUP(cur);
-    cur->xpathCtxt->nsHash = style->nsHash;
-    /*
-     * Initialize the registered external modules
-     */
-    xsltInitCtxtExts(cur);
-    /*
-     * Setup document element ordering for later efficiencies
-     * (bug 133289)
-     */
-    if (xslDebugStatus == XSLT_DEBUG_NONE)
-        xmlXPathOrderDocElems(doc);
-    /*
-     * Must set parserOptions before calling xsltNewDocument
-     * (bug 164530)
-     */
-    cur->parserOptions = XSLT_PARSE_OPTIONS;
-    docu = xsltNewDocument(cur, doc);
-    if (docu == NULL) {
-    xsltTransformError(cur, NULL, (xmlNodePtr)doc,
-        "xsltNewTransformContext : xsltNewDocument failed\n");
-    goto internal_err;
-    }
-    docu->main = 1;
-    cur->document = docu;
-    cur->inst = NULL;
-    cur->outputFile = NULL;
-    cur->sec = xsltGetDefaultSecurityPrefs();
-    cur->debugStatus = xslDebugStatus;
-    cur->traceCode = (unsigned long*) &xsltDefaultTrace;
-    cur->xinclude = xsltGetXIncludeDefault();
-    cur->keyInitLevel = 0;
-
-    return(cur);
-
-internal_err:
-    if (cur != NULL)
-    xsltFreeTransformContext(cur);
-    return(NULL);
-}
-
-/**
- * xsltFreeTransformContext:
- * @ctxt:  an XSLT parser context
- *
- * Free up the memory allocated by @ctxt
- */
-void
-xsltFreeTransformContext(xsltTransformContextPtr ctxt) {
-    if (ctxt == NULL)
-    return;
-
-    /*
-     * Shutdown the extension modules associated to the stylesheet
-     * used if needed.
-     */
-    xsltShutdownCtxtExts(ctxt);
-
-    if (ctxt->xpathCtxt != NULL) {
-    ctxt->xpathCtxt->nsHash = NULL;
-    xmlXPathFreeContext(ctxt->xpathCtxt);
-    }
-    if (ctxt->templTab != NULL)
-    xmlFree(ctxt->templTab);
-    if (ctxt->varsTab != NULL)
-    xmlFree(ctxt->varsTab);
-    if (ctxt->profTab != NULL)
-    xmlFree(ctxt->profTab);
-    if ((ctxt->extrasNr > 0) && (ctxt->extras != NULL)) {
-    int i;
-
-    for (i = 0;i < ctxt->extrasNr;i++) {
-        if ((ctxt->extras[i].deallocate != NULL) &&
-        (ctxt->extras[i].info != NULL))
-        ctxt->extras[i].deallocate(ctxt->extras[i].info);
-    }
-    xmlFree(ctxt->extras);
-    }
-    xsltFreeGlobalVariables(ctxt);
-    xsltFreeDocuments(ctxt);
-    xsltFreeCtxtExts(ctxt);
-    xsltFreeRVTs(ctxt);
-    xsltTransformCacheFree(ctxt->cache);
-    xmlDictFree(ctxt->dict);
-#ifdef WITH_XSLT_DEBUG
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "freeing transformation dictionary\n");
-#endif
-    memset(ctxt, -1, sizeof(xsltTransformContext));
-    xmlFree(ctxt);
-}
-
-/************************************************************************
- *                                  *
- *          Copy of Nodes in an XSLT fashion        *
- *                                  *
- ************************************************************************/
-
-xmlNodePtr xsltCopyTree(xsltTransformContextPtr ctxt,
-                        xmlNodePtr node, xmlNodePtr insert, int literal);
-
-/**
- * xsltAddChild:
- * @parent:  the parent node
- * @cur:  the child node
- *
- * Wrapper version of xmlAddChild with a more consistent behaviour on
- * error. One expect the use to be child = xsltAddChild(parent, child);
- * and the routine will take care of not leaking on errors or node merge
- *
- * Returns the child is successfully attached or NULL if merged or freed
- */
-static xmlNodePtr
-xsltAddChild(xmlNodePtr parent, xmlNodePtr cur) {
-   xmlNodePtr ret;
-
-   if ((cur == NULL) || (parent == NULL))
-       return(NULL);
-   if (parent == NULL) {
-       xmlFreeNode(cur);
-       return(NULL);
-   }
-   ret = xmlAddChild(parent, cur);
-
-   return(ret);
-}
-
-/**
- * xsltAddTextString:
- * @ctxt:  a XSLT process context
- * @target:  the text node where the text will be attached
- * @string:  the text string
- * @len:  the string length in byte
- *
- * Extend the current text node with the new string, it handles coalescing
- *
- * Returns: the text node
- */
-static xmlNodePtr
-xsltAddTextString(xsltTransformContextPtr ctxt, xmlNodePtr target,
-          const xmlChar *string, int len) {
-    /*
-     * optimization
-     */
-    if ((len <= 0) || (string == NULL) || (target == NULL))
-        return(target);
-
-    if (ctxt->lasttext == target->content) {
-
-    if (ctxt->lasttuse + len >= ctxt->lasttsize) {
-        xmlChar *newbuf;
-        int size;
-
-        size = ctxt->lasttsize + len + 100;
-        size *= 2;
-        newbuf = (xmlChar *) xmlRealloc(target->content,size);
-        if (newbuf == NULL) {
-        xsltTransformError(ctxt, NULL, target,
-         "xsltCopyText: text allocation failed\n");
-        return(NULL);
-        }
-        ctxt->lasttsize = size;
-        ctxt->lasttext = newbuf;
-        target->content = newbuf;
-    }
-    memcpy(&(target->content[ctxt->lasttuse]), string, len);
-    ctxt->lasttuse += len;
-    target->content[ctxt->lasttuse] = 0;
-    } else {
-    xmlNodeAddContent(target, string);
-    ctxt->lasttext = target->content;
-    len = xmlStrlen(target->content);
-    ctxt->lasttsize = len;
-    ctxt->lasttuse = len;
-    }
-    return(target);
-}
-
-/**
- * xsltCopyTextString:
- * @ctxt:  a XSLT process context
- * @target:  the element where the text will be attached
- * @string:  the text string
- * @noescape:  should disable-escaping be activated for this text node.
- *
- * Adds @string to a newly created or an existent text node child of
- * @target.
- *
- * Returns: the text node, where the text content of @cur is copied to.
- *          NULL in case of API or internal errors.
- */
-xmlNodePtr
-xsltCopyTextString(xsltTransformContextPtr ctxt, xmlNodePtr target,
-               const xmlChar *string, int noescape)
-{
-    xmlNodePtr copy;
-    int len;
-
-    if (string == NULL)
-    return(NULL);
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    XSLT_TRACE(ctxt,XSLT_TRACE_COPY_TEXT,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltCopyTextString: copy text %s\n",
-             string));
-#endif
-
-    /*
-    * Play safe and reset the merging mechanism for every new
-    * target node.
-    */
-    if ((target == NULL) || (target->children == NULL)) {
-    ctxt->lasttext = NULL;
-    }
-
-    /* handle coalescing of text nodes here */
-    len = xmlStrlen(string);
-    if ((ctxt->type == XSLT_OUTPUT_XML) &&
-    (ctxt->style->cdataSection != NULL) &&
-    (target != NULL) &&
-    (target->type == XML_ELEMENT_NODE) &&
-    (((target->ns == NULL) &&
-      (xmlHashLookup2(ctxt->style->cdataSection,
-                  target->name, NULL) != NULL)) ||
-     ((target->ns != NULL) &&
-      (xmlHashLookup2(ctxt->style->cdataSection,
-                      target->name, target->ns->href) != NULL))))
-    {
-    /*
-    * Process "cdata-section-elements".
-    */
-    if ((target->last != NULL) &&
-        (target->last->type == XML_CDATA_SECTION_NODE))
-    {
-        return(xsltAddTextString(ctxt, target->last, string, len));
-    }
-    copy = xmlNewCDataBlock(ctxt->output, string, len);
-    } else if (noescape) {
-    /*
-    * Process "disable-output-escaping".
-    */
-    if ((target != NULL) && (target->last != NULL) &&
-        (target->last->type == XML_TEXT_NODE) &&
-        (target->last->name == xmlStringTextNoenc))
-    {
-        return(xsltAddTextString(ctxt, target->last, string, len));
-    }
-    copy = xmlNewTextLen(string, len);
-    if (copy != NULL)
-        copy->name = xmlStringTextNoenc;
-    } else {
-    /*
-    * Default processing.
-    */
-    if ((target != NULL) && (target->last != NULL) &&
-        (target->last->type == XML_TEXT_NODE) &&
-        (target->last->name == xmlStringText)) {
-        return(xsltAddTextString(ctxt, target->last, string, len));
-    }
-    copy = xmlNewTextLen(string, len);
-    }
-    if (copy != NULL) {
-    if (target != NULL)
-        copy = xsltAddChild(target, copy);
-    ctxt->lasttext = copy->content;
-    ctxt->lasttsize = len;
-    ctxt->lasttuse = len;
-    } else {
-    xsltTransformError(ctxt, NULL, target,
-             "xsltCopyTextString: text copy failed\n");
-    ctxt->lasttext = NULL;
-    }
-    return(copy);
-}
-
-/**
- * xsltCopyText:
- * @ctxt:  a XSLT process context
- * @target:  the element where the text will be attached
- * @cur:  the text or CDATA node
- * @interned:  the string is in the target doc dictionary
- *
- * Copy the text content of @cur and append it to @target's children.
- *
- * Returns: the text node, where the text content of @cur is copied to.
- *          NULL in case of API or internal errors.
- */
-static xmlNodePtr
-xsltCopyText(xsltTransformContextPtr ctxt, xmlNodePtr target,
-         xmlNodePtr cur, int interned)
-{
-    xmlNodePtr copy;
-
-    if ((cur->type != XML_TEXT_NODE) &&
-    (cur->type != XML_CDATA_SECTION_NODE))
-    return(NULL);
-    if (cur->content == NULL)
-    return(NULL);
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    if (cur->type == XML_CDATA_SECTION_NODE) {
-    XSLT_TRACE(ctxt,XSLT_TRACE_COPY_TEXT,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltCopyText: copy CDATA text %s\n",
-             cur->content));
-    } else if (cur->name == xmlStringTextNoenc) {
-    XSLT_TRACE(ctxt,XSLT_TRACE_COPY_TEXT,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltCopyText: copy unescaped text %s\n",
-             cur->content));
-    } else {
-    XSLT_TRACE(ctxt,XSLT_TRACE_COPY_TEXT,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltCopyText: copy text %s\n",
-             cur->content));
-    }
-#endif
-
-    /*
-    * Play save and reset the merging mechanism for every new
-    * target node.
-    */
-    if ((target == NULL) || (target->children == NULL)) {
-    ctxt->lasttext = NULL;
-    }
-
-    if ((ctxt->style->cdataSection != NULL) &&
-    (ctxt->type == XSLT_OUTPUT_XML) &&
-    (target != NULL) &&
-    (target->type == XML_ELEMENT_NODE) &&
-    (((target->ns == NULL) &&
-      (xmlHashLookup2(ctxt->style->cdataSection,
-                  target->name, NULL) != NULL)) ||
-     ((target->ns != NULL) &&
-      (xmlHashLookup2(ctxt->style->cdataSection,
-                      target->name, target->ns->href) != NULL))))
-    {
-    /*
-    * Process "cdata-section-elements".
-    */
-    /*
-    * OPTIMIZE TODO: xsltCopyText() is also used for attribute content.
-    */
-    /*
-    * TODO: Since this doesn't merge adjacent CDATA-section nodes,
-    * we'll get: .
-    * TODO: Reported in #321505.
-    */
-    if ((target->last != NULL) &&
-         (target->last->type == XML_CDATA_SECTION_NODE))
-    {
-        /*
-        * Append to existing CDATA-section node.
-        */
-        copy = xsltAddTextString(ctxt, target->last, cur->content,
-        xmlStrlen(cur->content));
-        goto exit;
-    } else {
-        unsigned int len;
-
-        len = xmlStrlen(cur->content);
-        copy = xmlNewCDataBlock(ctxt->output, cur->content, len);
-        if (copy == NULL)
-        goto exit;
-        ctxt->lasttext = copy->content;
-        ctxt->lasttsize = len;
-        ctxt->lasttuse = len;
-    }
-    } else if ((target != NULL) &&
-    (target->last != NULL) &&
-    /* both escaped or both non-escaped text-nodes */
-    (((target->last->type == XML_TEXT_NODE) &&
-    (target->last->name == cur->name)) ||
-        /* non-escaped text nodes and CDATA-section nodes */
-    (((target->last->type == XML_CDATA_SECTION_NODE) &&
-    (cur->name == xmlStringTextNoenc)))))
-    {
-    /*
-     * we are appending to an existing text node
-     */
-    copy = xsltAddTextString(ctxt, target->last, cur->content,
-        xmlStrlen(cur->content));
-    goto exit;
-    } else if ((interned) && (target != NULL) &&
-    (target->doc != NULL) &&
-    (target->doc->dict == ctxt->dict))
-    {
-    /*
-    * TODO: DO we want to use this also for "text" output?
-    */
-        copy = xmlNewTextLen(NULL, 0);
-    if (copy == NULL)
-        goto exit;
-    if (cur->name == xmlStringTextNoenc)
-        copy->name = xmlStringTextNoenc;
-
-    /*
-     * Must confirm that content is in dict (bug 302821)
-     * TODO: This check should be not needed for text coming
-     * from the stylesheets
-     */
-    if (xmlDictOwns(ctxt->dict, cur->content))
-        copy->content = cur->content;
-    else {
-        if ((copy->content = xmlStrdup(cur->content)) == NULL)
-        return NULL;
-    }
-    } else {
-        /*
-     * normal processing. keep counters to extend the text node
-     * in xsltAddTextString if needed.
-     */
-        unsigned int len;
-
-    len = xmlStrlen(cur->content);
-    copy = xmlNewTextLen(cur->content, len);
-    if (copy == NULL)
-        goto exit;
-    if (cur->name == xmlStringTextNoenc)
-        copy->name = xmlStringTextNoenc;
-    ctxt->lasttext = copy->content;
-    ctxt->lasttsize = len;
-    ctxt->lasttuse = len;
-    }
-    if (copy != NULL) {
-    if (target != NULL) {
-        copy->doc = target->doc;
-        /*
-        * MAYBE TODO: Maybe we should reset the ctxt->lasttext here
-        *  to ensure that the optimized text-merging mechanism
-        *  won't interfere with normal node-merging in any case.
-        */
-        copy = xsltAddChild(target, copy);
-    }
-    } else {
-    xsltTransformError(ctxt, NULL, target,
-             "xsltCopyText: text copy failed\n");
-    }
-
-exit:
-    if ((copy == NULL) || (copy->content == NULL)) {
-    xsltTransformError(ctxt, NULL, target,
-        "Internal error in xsltCopyText(): "
-        "Failed to copy the string.\n");
-    ctxt->state = XSLT_STATE_STOPPED;
-    }
-    return(copy);
-}
-
-/**
- * xsltShallowCopyAttr:
- * @ctxt:  a XSLT process context
- * @invocNode: responsible node in the stylesheet; used for error reports
- * @target:  the element where the attribute will be grafted
- * @attr: the attribute to be copied
- *
- * Do a copy of an attribute.
- * Called by:
- *  - xsltCopyTreeInternal()
- *  - xsltCopyOf()
- *  - xsltCopy()
- *
- * Returns: a new xmlAttrPtr, or NULL in case of error.
- */
-static xmlAttrPtr
-xsltShallowCopyAttr(xsltTransformContextPtr ctxt, xmlNodePtr invocNode,
-         xmlNodePtr target, xmlAttrPtr attr)
-{
-    xmlAttrPtr copy;
-    xmlChar *value;
-
-    if (attr == NULL)
-    return(NULL);
-
-    if (target->type != XML_ELEMENT_NODE) {
-    xsltTransformError(ctxt, NULL, invocNode,
-        "Cannot add an attribute node to a non-element node.\n");
-    return(NULL);
-    }
-
-    if (target->children != NULL) {
-    xsltTransformError(ctxt, NULL, invocNode,
-        "Attribute nodes must be added before "
-        "any child nodes to an element.\n");
-    return(NULL);
-    }
-
-    value = xmlNodeListGetString(attr->doc, attr->children, 1);
-    if (attr->ns != NULL) {
-    xmlNsPtr ns;
-
-    ns = xsltGetSpecialNamespace(ctxt, invocNode,
-        attr->ns->href, attr->ns->prefix, target);
-    if (ns == NULL) {
-        xsltTransformError(ctxt, NULL, invocNode,
-        "Namespace fixup error: Failed to acquire an in-scope "
-        "namespace binding of the copied attribute '{%s}%s'.\n",
-        attr->ns->href, attr->name);
-        /*
-        * TODO: Should we just stop here?
-        */
-    }
-    /*
-    * Note that xmlSetNsProp() will take care of duplicates
-    * and assigns the new namespace even to a duplicate.
-    */
-    copy = xmlSetNsProp(target, ns, attr->name, value);
-    } else {
-    copy = xmlSetNsProp(target, NULL, attr->name, value);
-    }
-    if (value != NULL)
-    xmlFree(value);
-
-    if (copy == NULL)
-    return(NULL);
-
-#if 0
-    /*
-    * NOTE: This was optimized according to bug #342695.
-    * TODO: Can this further be optimized, if source and target
-    *  share the same dict and attr->children is just 1 text node
-    *  which is in the dict? How probable is such a case?
-    */
-    /*
-    * TODO: Do we need to create an empty text node if the value
-    *  is the empty string?
-    */
-    value = xmlNodeListGetString(attr->doc, attr->children, 1);
-    if (value != NULL) {
-    txtNode = xmlNewDocText(target->doc, NULL);
-    if (txtNode == NULL)
-        return(NULL);
-    if ((target->doc != NULL) &&
-        (target->doc->dict != NULL))
-    {
-        txtNode->content =
-        (xmlChar *) xmlDictLookup(target->doc->dict,
-            BAD_CAST value, -1);
-        xmlFree(value);
-    } else
-        txtNode->content = value;
-    copy->children = txtNode;
-    }
-#endif
-
-    return(copy);
-}
-
-/**
- * xsltCopyAttrListNoOverwrite:
- * @ctxt:  a XSLT process context
- * @invocNode: responsible node in the stylesheet; used for error reports
- * @target:  the element where the new attributes will be grafted
- * @attr:  the first attribute in the list to be copied
- *
- * Copies a list of attribute nodes, starting with @attr, over to the
- * @target element node.
- *
- * Called by:
- *  - xsltCopyTreeInternal()
- *
- * Returns 0 on success and -1 on errors and internal errors.
- */
-static int
-xsltCopyAttrListNoOverwrite(xsltTransformContextPtr ctxt,
-                xmlNodePtr invocNode,
-                xmlNodePtr target, xmlAttrPtr attr)
-{
-    xmlAttrPtr copy;
-    xmlNsPtr origNs = NULL, copyNs = NULL;
-    xmlChar *value;
-
-    /*
-    * Don't use xmlCopyProp() here, since it will try to
-    * reconciliate namespaces.
-    */
-    while (attr != NULL) {
-    /*
-    * Find a namespace node in the tree of @target.
-    * Avoid searching for the same ns.
-    */
-    if (attr->ns != origNs) {
-        origNs = attr->ns;
-        if (attr->ns != NULL) {
-        copyNs = xsltGetSpecialNamespace(ctxt, invocNode,
-            attr->ns->href, attr->ns->prefix, target);
-        if (copyNs == NULL)
-            return(-1);
-        } else
-        copyNs = NULL;
-    }
-    /*
-     * If attribute has a value, we need to copy it (watching out
-     * for possible entities)
-     */
-    if ((attr->children) && (attr->children->type == XML_TEXT_NODE) &&
-            (attr->children->next == NULL)) {
-            copy = xmlNewNsProp(target, copyNs, attr->name,
-                                attr->children->content);
-        } else if (attr->children != NULL) {
-        value = xmlNodeListGetString(attr->doc, attr->children, 1);
-            copy = xmlNewNsProp(target, copyNs, attr->name, BAD_CAST value);
-        xmlFree(value);
-        } else {
-            copy = xmlNewNsProp(target, copyNs, attr->name, NULL);
-        }
-
-    if (copy == NULL)
-        return(-1);
-
-    attr = attr->next;
-    }
-    return(0);
-}
-
-/**
- * xsltShallowCopyElem:
- * @ctxt:  the XSLT process context
- * @node:  the element node in the source tree
- *         or the Literal Result Element
- * @insert:  the parent in the result tree
- * @isLRE: if @node is a Literal Result Element
- *
- * Make a copy of the element node @node
- * and insert it as last child of @insert.
- *
- * URGENT TODO: The problem with this one (for the non-refactored code)
- * is that it is used for both, Literal Result Elements *and*
- * copying input nodes.
- *
- * BIG NOTE: This is only called for XML_ELEMENT_NODEs.
- *
- * Called from:
- *   xsltApplySequenceConstructor()
- *    (for Literal Result Elements - which is a problem)
- *   xsltCopy() (for shallow-copying elements via xsl:copy)
- *
- * Returns a pointer to the new node, or NULL in case of error
- */
-static xmlNodePtr
-xsltShallowCopyElem(xsltTransformContextPtr ctxt, xmlNodePtr node,
-            xmlNodePtr insert, int isLRE)
-{
-    xmlNodePtr copy;
-
-    if ((node->type == XML_DTD_NODE) || (insert == NULL))
-    return(NULL);
-    if ((node->type == XML_TEXT_NODE) ||
-    (node->type == XML_CDATA_SECTION_NODE))
-    return(xsltCopyText(ctxt, insert, node, 0));
-
-    copy = xmlDocCopyNode(node, insert->doc, 0);
-    if (copy != NULL) {
-    copy->doc = ctxt->output;
-    copy = xsltAddChild(insert, copy);
-
-    if (node->type == XML_ELEMENT_NODE) {
-        /*
-         * Add namespaces as they are needed
-         */
-        if (node->nsDef != NULL) {
-        /*
-        * TODO: Remove the LRE case in the refactored code
-        * gets enabled.
-        */
-        if (isLRE)
-            xsltCopyNamespaceList(ctxt, copy, node->nsDef);
-        else
-            xsltCopyNamespaceListInternal(copy, node->nsDef);
-        }
-
-        /*
-        * URGENT TODO: The problem with this is that it does not
-        *  copy over all namespace nodes in scope.
-        *  The damn thing about this is, that we would need to
-        *  use the xmlGetNsList(), for every single node; this is
-        *  also done in xsltCopyTreeInternal(), but only for the top node.
-        */
-        if (node->ns != NULL) {
-        if (isLRE) {
-            /*
-            * REVISIT TODO: Since the non-refactored code still does
-            *  ns-aliasing, we need to call xsltGetNamespace() here.
-            *  Remove this when ready.
-            */
-            copy->ns = xsltGetNamespace(ctxt, node, node->ns, copy);
-        } else {
-            copy->ns = xsltGetSpecialNamespace(ctxt,
-            node, node->ns->href, node->ns->prefix, copy);
-
-        }
-        } else if ((insert->type == XML_ELEMENT_NODE) &&
-               (insert->ns != NULL))
-        {
-        /*
-        * "Undeclare" the default namespace.
-        */
-        xsltGetSpecialNamespace(ctxt, node, NULL, NULL, copy);
-        }
-    }
-    } else {
-    xsltTransformError(ctxt, NULL, node,
-        "xsltShallowCopyElem: copy %s failed\n", node->name);
-    }
-    return(copy);
-}
-
-/**
- * xsltCopyTreeList:
- * @ctxt:  a XSLT process context
- * @invocNode: responsible node in the stylesheet; used for error reports
- * @list:  the list of element nodes in the source tree.
- * @insert:  the parent in the result tree.
- * @isLRE:  is this a literal result element list
- * @topElemVisited: indicates if a top-most element was already processed
- *
- * Make a copy of the full list of tree @list
- * and insert it as last children of @insert
- *
- * NOTE: Not to be used for Literal Result Elements.
- *
- * Used by:
- *  - xsltCopyOf()
- *
- * Returns a pointer to the new list, or NULL in case of error
- */
-static xmlNodePtr
-xsltCopyTreeList(xsltTransformContextPtr ctxt, xmlNodePtr invocNode,
-         xmlNodePtr list,
-         xmlNodePtr insert, int isLRE, int topElemVisited)
-{
-    xmlNodePtr copy, ret = NULL;
-
-    while (list != NULL) {
-    copy = xsltCopyTreeInternal(ctxt, invocNode,
-        list, insert, isLRE, topElemVisited);
-    if (copy != NULL) {
-        if (ret == NULL) {
-        ret = copy;
-        }
-    }
-    list = list->next;
-    }
-    return(ret);
-}
-
-/**
- * xsltCopyNamespaceListInternal:
- * @node:  the target node
- * @cur:  the first namespace
- *
- * Do a copy of a namespace list. If @node is non-NULL the
- * new namespaces are added automatically.
- * Called by:
- *   xsltCopyTreeInternal()
- *
- * QUESTION: What is the exact difference between this function
- *  and xsltCopyNamespaceList() in "namespaces.c"?
- * ANSWER: xsltCopyNamespaceList() tries to apply ns-aliases.
- *
- * Returns: a new xmlNsPtr, or NULL in case of error.
- */
-static xmlNsPtr
-xsltCopyNamespaceListInternal(xmlNodePtr elem, xmlNsPtr ns) {
-    xmlNsPtr ret = NULL;
-    xmlNsPtr p = NULL, q, luNs;
-
-    if (ns == NULL)
-    return(NULL);
-    /*
-     * One can add namespaces only on element nodes
-     */
-    if ((elem != NULL) && (elem->type != XML_ELEMENT_NODE))
-    elem = NULL;
-
-    do {
-    if (ns->type != XML_NAMESPACE_DECL)
-        break;
-    /*
-     * Avoid duplicating namespace declarations on the tree.
-     */
-    if (elem != NULL) {
-        if ((elem->ns != NULL) &&
-        xmlStrEqual(elem->ns->prefix, ns->prefix) &&
-        xmlStrEqual(elem->ns->href, ns->href))
-        {
-        ns = ns->next;
-        continue;
-        }
-        luNs = xmlSearchNs(elem->doc, elem, ns->prefix);
-        if ((luNs != NULL) && (xmlStrEqual(luNs->href, ns->href)))
-        {
-        ns = ns->next;
-        continue;
-        }
-    }
-    q = xmlNewNs(elem, ns->href, ns->prefix);
-    if (p == NULL) {
-        ret = p = q;
-    } else if (q != NULL) {
-        p->next = q;
-        p = q;
-    }
-    ns = ns->next;
-    } while (ns != NULL);
-    return(ret);
-}
-
-/**
- * xsltShallowCopyNsNode:
- * @ctxt:  the XSLT transformation context
- * @invocNode: responsible node in the stylesheet; used for error reports
- * @insert:  the target element node in the result tree
- * @ns: the namespace node
- *
- * This is used for copying ns-nodes with xsl:copy-of and xsl:copy.
- *
- * Returns a new/existing ns-node, or NULL.
- */
-static xmlNsPtr
-xsltShallowCopyNsNode(xsltTransformContextPtr ctxt,
-              xmlNodePtr invocNode,
-              xmlNodePtr insert,
-              xmlNsPtr ns)
-{
-    /*
-     * TODO: Contrary to header comments, this is declared as int.
-     * be modified to return a node pointer, or NULL if any error
-     */
-    xmlNsPtr tmpns;
-
-    if ((insert == NULL) || (insert->type != XML_ELEMENT_NODE))
-    return(NULL);
-
-    if (insert->children != NULL) {
-    xsltTransformError(ctxt, NULL, invocNode,
-        "Namespace nodes must be added before "
-        "any child nodes are added to an element.\n");
-    return(NULL);
-    }
-    /*
-     * BIG NOTE: Xalan-J simply overwrites any ns-decls with
-     * an equal prefix. We definitively won't do that.
-     *
-     * MSXML 4.0 and the .NET ignores ns-decls for which an
-     * equal prefix is already in use.
-     *
-     * Saxon raises an error like:
-     * "net.sf.saxon.xpath.DynamicError: Cannot create two namespace
-     * nodes with the same name".
-     *
-     * NOTE: We'll currently follow MSXML here.
-     * REVISIT TODO: Check if it's better to follow Saxon here.
-     */
-    if (ns->prefix == NULL) {
-    /*
-    * If we are adding ns-nodes to an element using e.g.
-    * , then we need
-    * to ensure that we don't incorrectly declare a default
-    * namespace on an element in no namespace, which otherwise
-    * would move the element incorrectly into a namespace, if
-    * the node tree is serialized.
-    */
-    if (insert->ns == NULL)
-        goto occupied;
-    } else if ((ns->prefix[0] == 'x') &&
-    xmlStrEqual(ns->prefix, BAD_CAST "xml"))
-    {
-    /*
-    * The XML namespace is built in.
-    */
-    return(NULL);
-    }
-
-    if (insert->nsDef != NULL) {
-    tmpns = insert->nsDef;
-    do {
-        if ((tmpns->prefix == NULL) == (ns->prefix == NULL)) {
-        if ((tmpns->prefix == ns->prefix) ||
-            xmlStrEqual(tmpns->prefix, ns->prefix))
-        {
-            /*
-            * Same prefix.
-            */
-            if (xmlStrEqual(tmpns->href, ns->href))
-            return(NULL);
-            goto occupied;
-        }
-        }
-        tmpns = tmpns->next;
-    } while (tmpns != NULL);
-    }
-    tmpns = xmlSearchNs(insert->doc, insert, ns->prefix);
-    if ((tmpns != NULL) && xmlStrEqual(tmpns->href, ns->href))
-    return(NULL);
-    /*
-    * Declare a new namespace.
-    * TODO: The problem (wrt efficiency) with this xmlNewNs() is
-    * that it will again search the already declared namespaces
-    * for a duplicate :-/
-    */
-    return(xmlNewNs(insert, ns->href, ns->prefix));
-
-occupied:
-    /*
-    * TODO: We could as well raise an error here (like Saxon does),
-    * or at least generate a warning.
-    */
-    return(NULL);
-}
-
-/**
- * xsltCopyTreeInternal:
- * @ctxt:  the XSLT transformation context
- * @invocNode: responsible node in the stylesheet; used for error reports
- * @node:  the element node in the source tree
- * @insert:  the parent in the result tree
- * @isLRE:  indicates if @node is a Literal Result Element
- * @topElemVisited: indicates if a top-most element was already processed
- *
- * Make a copy of the full tree under the element node @node
- * and insert it as last child of @insert
- *
- * NOTE: Not to be used for Literal Result Elements.
- *
- * Used by:
- *  - xsltCopyOf()
- *
- * Returns a pointer to the new tree, or NULL in case of error
- */
-static xmlNodePtr
-xsltCopyTreeInternal(xsltTransformContextPtr ctxt,
-             xmlNodePtr invocNode,
-             xmlNodePtr node,
-             xmlNodePtr insert, int isLRE, int topElemVisited)
-{
-    xmlNodePtr copy;
-
-    if (node == NULL)
-    return(NULL);
-    switch (node->type) {
-        case XML_ELEMENT_NODE:
-        case XML_ENTITY_REF_NODE:
-        case XML_ENTITY_NODE:
-        case XML_PI_NODE:
-        case XML_COMMENT_NODE:
-        case XML_DOCUMENT_NODE:
-        case XML_HTML_DOCUMENT_NODE:
-#ifdef LIBXML_DOCB_ENABLED
-        case XML_DOCB_DOCUMENT_NODE:
-#endif
-        break;
-        case XML_TEXT_NODE: {
-        int noenc = (node->name == xmlStringTextNoenc);
-        return(xsltCopyTextString(ctxt, insert, node->content, noenc));
-        }
-        case XML_CDATA_SECTION_NODE:
-        return(xsltCopyTextString(ctxt, insert, node->content, 0));
-        case XML_ATTRIBUTE_NODE:
-        return((xmlNodePtr)
-        xsltShallowCopyAttr(ctxt, invocNode, insert, (xmlAttrPtr) node));
-        case XML_NAMESPACE_DECL:
-        return((xmlNodePtr) xsltShallowCopyNsNode(ctxt, invocNode,
-        insert, (xmlNsPtr) node));
-
-        case XML_DOCUMENT_TYPE_NODE:
-        case XML_DOCUMENT_FRAG_NODE:
-        case XML_NOTATION_NODE:
-        case XML_DTD_NODE:
-        case XML_ELEMENT_DECL:
-        case XML_ATTRIBUTE_DECL:
-        case XML_ENTITY_DECL:
-        case XML_XINCLUDE_START:
-        case XML_XINCLUDE_END:
-            return(NULL);
-    }
-    if (XSLT_IS_RES_TREE_FRAG(node)) {
-    if (node->children != NULL)
-        copy = xsltCopyTreeList(ctxt, invocNode,
-        node->children, insert, 0, 0);
-    else
-        copy = NULL;
-    return(copy);
-    }
-    copy = xmlDocCopyNode(node, insert->doc, 0);
-    if (copy != NULL) {
-    copy->doc = ctxt->output;
-    copy = xsltAddChild(insert, copy);
-    /*
-     * The node may have been coalesced into another text node.
-     */
-    if (insert->last != copy)
-        return(insert->last);
-    copy->next = NULL;
-
-    if (node->type == XML_ELEMENT_NODE) {
-        /*
-        * Copy in-scope namespace nodes.
-        *
-        * REVISIT: Since we try to reuse existing in-scope ns-decls by
-        *  using xmlSearchNsByHref(), this will eventually change
-        *  the prefix of an original ns-binding; thus it might
-        *  break QNames in element/attribute content.
-        * OPTIMIZE TODO: If we had a xmlNsPtr * on the transformation
-        *  context, plus a ns-lookup function, which writes directly
-        *  to a given list, then we wouldn't need to create/free the
-        *  nsList every time.
-        */
-        if ((topElemVisited == 0) &&
-        (node->parent != NULL) &&
-        (node->parent->type != XML_DOCUMENT_NODE) &&
-        (node->parent->type != XML_HTML_DOCUMENT_NODE))
-        {
-        xmlNsPtr *nsList, *curns, ns;
-
-        /*
-        * If this is a top-most element in a tree to be
-        * copied, then we need to ensure that all in-scope
-        * namespaces are copied over. For nodes deeper in the
-        * tree, it is sufficient to reconcile only the ns-decls
-        * (node->nsDef entries).
-        */
-
-        nsList = xmlGetNsList(node->doc, node);
-        if (nsList != NULL) {
-            curns = nsList;
-            do {
-            /*
-            * Search by prefix first in order to break as less
-            * QNames in element/attribute content as possible.
-            */
-            ns = xmlSearchNs(insert->doc, insert,
-                (*curns)->prefix);
-
-            if ((ns == NULL) ||
-                (! xmlStrEqual(ns->href, (*curns)->href)))
-            {
-                ns = NULL;
-                /*
-                * Search by namespace name.
-                * REVISIT TODO: Currently disabled.
-                */
-#if 0
-                ns = xmlSearchNsByHref(insert->doc,
-                insert, (*curns)->href);
-#endif
-            }
-            if (ns == NULL) {
-                /*
-                * Declare a new namespace on the copied element.
-                */
-                ns = xmlNewNs(copy, (*curns)->href,
-                (*curns)->prefix);
-                /* TODO: Handle errors */
-            }
-            if (node->ns == *curns) {
-                /*
-                * If this was the original's namespace then set
-                * the generated counterpart on the copy.
-                */
-                copy->ns = ns;
-            }
-            curns++;
-            } while (*curns != NULL);
-            xmlFree(nsList);
-        }
-        } else if (node->nsDef != NULL) {
-        /*
-        * Copy over all namespace declaration attributes.
-        */
-        if (node->nsDef != NULL) {
-            if (isLRE)
-            xsltCopyNamespaceList(ctxt, copy, node->nsDef);
-            else
-            xsltCopyNamespaceListInternal(copy, node->nsDef);
-        }
-        }
-        /*
-        * Set the namespace.
-        */
-        if (node->ns != NULL) {
-        if (copy->ns == NULL) {
-            /*
-            * This will map copy->ns to one of the newly created
-            * in-scope ns-decls, OR create a new ns-decl on @copy.
-            */
-            copy->ns = xsltGetSpecialNamespace(ctxt, invocNode,
-            node->ns->href, node->ns->prefix, copy);
-        }
-        } else if ((insert->type == XML_ELEMENT_NODE) &&
-        (insert->ns != NULL))
-        {
-        /*
-        * "Undeclare" the default namespace on @copy with xmlns="".
-        */
-        xsltGetSpecialNamespace(ctxt, invocNode, NULL, NULL, copy);
-        }
-        /*
-        * Copy attribute nodes.
-        */
-        if (node->properties != NULL) {
-        xsltCopyAttrListNoOverwrite(ctxt, invocNode,
-            copy, node->properties);
-        }
-        if (topElemVisited == 0)
-        topElemVisited = 1;
-    }
-    /*
-    * Copy the subtree.
-    */
-    if (node->children != NULL) {
-        xsltCopyTreeList(ctxt, invocNode,
-        node->children, copy, isLRE, topElemVisited);
-    }
-    } else {
-    xsltTransformError(ctxt, NULL, invocNode,
-        "xsltCopyTreeInternal: Copying of '%s' failed.\n", node->name);
-    }
-    return(copy);
-}
-
-/**
- * xsltCopyTree:
- * @ctxt:  the XSLT transformation context
- * @node:  the element node in the source tree
- * @insert:  the parent in the result tree
- * @literal:  indicates if @node is a Literal Result Element
- *
- * Make a copy of the full tree under the element node @node
- * and insert it as last child of @insert
- * For literal result element, some of the namespaces may not be copied
- * over according to section 7.1.
- * TODO: Why is this a public function?
- *
- * Returns a pointer to the new tree, or NULL in case of error
- */
-xmlNodePtr
-xsltCopyTree(xsltTransformContextPtr ctxt, xmlNodePtr node,
-         xmlNodePtr insert, int literal)
-{
-    return(xsltCopyTreeInternal(ctxt, node, node, insert, literal, 0));
-
-}
-
-/************************************************************************
- *                                  *
- *      Error/fallback processing               *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltApplyFallbacks:
- * @ctxt:  a XSLT process context
- * @node:  the node in the source tree.
- * @inst:  the node generating the error
- *
- * Process possible xsl:fallback nodes present under @inst
- *
- * Returns the number of xsl:fallback element found and processed
- */
-static int
-xsltApplyFallbacks(xsltTransformContextPtr ctxt, xmlNodePtr node,
-               xmlNodePtr inst) {
-
-    xmlNodePtr child;
-    int ret = 0;
-
-    if ((ctxt == NULL) || (node == NULL) || (inst == NULL) ||
-    (inst->children == NULL))
-    return(0);
-
-    child = inst->children;
-    while (child != NULL) {
-        if ((IS_XSLT_ELEM(child)) &&
-            (xmlStrEqual(child->name, BAD_CAST "fallback"))) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-                 "applying xsl:fallback\n");
-#endif
-        ret++;
-        xsltApplySequenceConstructor(ctxt, node, child->children,
-        NULL);
-    }
-    child = child->next;
-    }
-    return(ret);
-}
-
-/************************************************************************
- *                                  *
- *          Default processing              *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltDefaultProcessOneNode:
- * @ctxt:  a XSLT process context
- * @node:  the node in the source tree.
- * @params: extra parameters passed to the template if any
- *
- * Process the source node with the default built-in template rule:
- * 
- *   
- * 
- *
- * and
- *
- * 
- *   
- * 
- *
- * Note also that namespace declarations are copied directly:
- *
- * the built-in template rule is the only template rule that is applied
- * for namespace nodes.
- */
-static void
-xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node,
-              xsltStackElemPtr params) {
-    xmlNodePtr copy;
-    xmlNodePtr delete = NULL, cur;
-    int nbchild = 0, oldSize;
-    int childno = 0, oldPos;
-    xsltTemplatePtr template;
-
-    CHECK_STOPPED;
-    /*
-     * Handling of leaves
-     */
-    switch (node->type) {
-    case XML_DOCUMENT_NODE:
-    case XML_HTML_DOCUMENT_NODE:
-    case XML_ELEMENT_NODE:
-        break;
-    case XML_CDATA_SECTION_NODE:
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltDefaultProcessOneNode: copy CDATA %s\n",
-        node->content));
-#endif
-        copy = xsltCopyText(ctxt, ctxt->insert, node, 0);
-        if (copy == NULL) {
-        xsltTransformError(ctxt, NULL, node,
-         "xsltDefaultProcessOneNode: cdata copy failed\n");
-        }
-        return;
-    case XML_TEXT_NODE:
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        if (node->content == NULL) {
-        XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltDefaultProcessOneNode: copy empty text\n"));
-        return;
-        } else {
-        XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltDefaultProcessOneNode: copy text %s\n",
-            node->content));
-            }
-#endif
-        copy = xsltCopyText(ctxt, ctxt->insert, node, 0);
-        if (copy == NULL) {
-        xsltTransformError(ctxt, NULL, node,
-         "xsltDefaultProcessOneNode: text copy failed\n");
-        }
-        return;
-    case XML_ATTRIBUTE_NODE:
-        cur = node->children;
-        while ((cur != NULL) && (cur->type != XML_TEXT_NODE))
-        cur = cur->next;
-        if (cur == NULL) {
-        xsltTransformError(ctxt, NULL, node,
-         "xsltDefaultProcessOneNode: no text for attribute\n");
-        } else {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        if (cur->content == NULL) {
-            XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltDefaultProcessOneNode: copy empty text\n"));
-        } else {
-            XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltDefaultProcessOneNode: copy text %s\n",
-            cur->content));
-                }
-#endif
-        copy = xsltCopyText(ctxt, ctxt->insert, cur, 0);
-        if (copy == NULL) {
-            xsltTransformError(ctxt, NULL, node,
-             "xsltDefaultProcessOneNode: text copy failed\n");
-        }
-        }
-        return;
-    default:
-        return;
-    }
-    /*
-     * Handling of Elements: first pass, cleanup and counting
-     */
-    cur = node->children;
-    while (cur != NULL) {
-    switch (cur->type) {
-        case XML_TEXT_NODE:
-        case XML_CDATA_SECTION_NODE:
-        case XML_DOCUMENT_NODE:
-        case XML_HTML_DOCUMENT_NODE:
-        case XML_ELEMENT_NODE:
-        case XML_PI_NODE:
-        case XML_COMMENT_NODE:
-        nbchild++;
-        break;
-            case XML_DTD_NODE:
-        /* Unlink the DTD, it's still reachable using doc->intSubset */
-        if (cur->next != NULL)
-            cur->next->prev = cur->prev;
-        if (cur->prev != NULL)
-            cur->prev->next = cur->next;
-        break;
-        default:
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltDefaultProcessOneNode: skipping node type %d\n",
-                         cur->type));
-#endif
-        delete = cur;
-    }
-    cur = cur->next;
-    if (delete != NULL) {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltDefaultProcessOneNode: removing ignorable blank node\n"));
-#endif
-        xmlUnlinkNode(delete);
-        xmlFreeNode(delete);
-        delete = NULL;
-    }
-    }
-    if (delete != NULL) {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltDefaultProcessOneNode: removing ignorable blank node\n"));
-#endif
-    xmlUnlinkNode(delete);
-    xmlFreeNode(delete);
-    delete = NULL;
-    }
-
-    /*
-     * Handling of Elements: second pass, actual processing
-     */
-    oldSize = ctxt->xpathCtxt->contextSize;
-    oldPos = ctxt->xpathCtxt->proximityPosition;
-    cur = node->children;
-    while (cur != NULL) {
-    childno++;
-    switch (cur->type) {
-        case XML_DOCUMENT_NODE:
-        case XML_HTML_DOCUMENT_NODE:
-        case XML_ELEMENT_NODE:
-        ctxt->xpathCtxt->contextSize = nbchild;
-        ctxt->xpathCtxt->proximityPosition = childno;
-        xsltProcessOneNode(ctxt, cur, params);
-        break;
-        case XML_CDATA_SECTION_NODE:
-        template = xsltGetTemplate(ctxt, cur, NULL);
-        if (template) {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltDefaultProcessOneNode: applying template for CDATA %s\n",
-                     cur->content));
-#endif
-            /*
-            * Instantiate the xsl:template.
-            */
-            xsltApplyXSLTTemplate(ctxt, cur, template->content,
-            template, params);
-        } else /* if (ctxt->mode == NULL) */ {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltDefaultProcessOneNode: copy CDATA %s\n",
-                     cur->content));
-#endif
-            copy = xsltCopyText(ctxt, ctxt->insert, cur, 0);
-            if (copy == NULL) {
-            xsltTransformError(ctxt, NULL, cur,
-                "xsltDefaultProcessOneNode: cdata copy failed\n");
-            }
-        }
-        break;
-        case XML_TEXT_NODE:
-        template = xsltGetTemplate(ctxt, cur, NULL);
-        if (template) {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltDefaultProcessOneNode: applying template for text %s\n",
-                     cur->content));
-#endif
-            ctxt->xpathCtxt->contextSize = nbchild;
-            ctxt->xpathCtxt->proximityPosition = childno;
-            /*
-            * Instantiate the xsl:template.
-            */
-            xsltApplyXSLTTemplate(ctxt, cur, template->content,
-            template, params);
-        } else /* if (ctxt->mode == NULL) */ {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            if (cur->content == NULL) {
-            XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltDefaultProcessOneNode: copy empty text\n"));
-            } else {
-            XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltDefaultProcessOneNode: copy text %s\n",
-                     cur->content));
-                    }
-#endif
-            copy = xsltCopyText(ctxt, ctxt->insert, cur, 0);
-            if (copy == NULL) {
-            xsltTransformError(ctxt, NULL, cur,
-                "xsltDefaultProcessOneNode: text copy failed\n");
-            }
-        }
-        break;
-        case XML_PI_NODE:
-        case XML_COMMENT_NODE:
-        template = xsltGetTemplate(ctxt, cur, NULL);
-        if (template) {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            if (cur->type == XML_PI_NODE) {
-            XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltDefaultProcessOneNode: template found for PI %s\n",
-                             cur->name));
-            } else if (cur->type == XML_COMMENT_NODE) {
-            XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltDefaultProcessOneNode: template found for comment\n"));
-                    }
-#endif
-            ctxt->xpathCtxt->contextSize = nbchild;
-            ctxt->xpathCtxt->proximityPosition = childno;
-            /*
-            * Instantiate the xsl:template.
-            */
-            xsltApplyXSLTTemplate(ctxt, cur, template->content,
-            template, params);
-        }
-        break;
-        default:
-        break;
-    }
-    cur = cur->next;
-    }
-    ctxt->xpathCtxt->contextSize = oldSize;
-    ctxt->xpathCtxt->proximityPosition = oldPos;
-}
-
-/**
- * xsltProcessOneNode:
- * @ctxt:  a XSLT process context
- * @contextNode:  the "current node" in the source tree
- * @withParams:  extra parameters (e.g. xsl:with-param) passed to the
- *               template if any
- *
- * Process the source node.
- */
-void
-xsltProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr contextNode,
-               xsltStackElemPtr withParams)
-{
-    xsltTemplatePtr templ;
-    xmlNodePtr oldNode;
-
-    templ = xsltGetTemplate(ctxt, contextNode, NULL);
-    /*
-     * If no template is found, apply the default rule.
-     */
-    if (templ == NULL) {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    if (contextNode->type == XML_DOCUMENT_NODE) {
-        XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltProcessOneNode: no template found for /\n"));
-    } else if (contextNode->type == XML_CDATA_SECTION_NODE) {
-        XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltProcessOneNode: no template found for CDATA\n"));
-    } else if (contextNode->type == XML_ATTRIBUTE_NODE) {
-        XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltProcessOneNode: no template found for attribute %s\n",
-                         ((xmlAttrPtr) contextNode)->name));
-    } else  {
-        XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltProcessOneNode: no template found for %s\n", contextNode->name));
-        }
-#endif
-    oldNode = ctxt->node;
-    ctxt->node = contextNode;
-    xsltDefaultProcessOneNode(ctxt, contextNode, withParams);
-    ctxt->node = oldNode;
-    return;
-    }
-
-    if (contextNode->type == XML_ATTRIBUTE_NODE) {
-    xsltTemplatePtr oldCurTempRule = ctxt->currentTemplateRule;
-    /*
-    * Set the "current template rule".
-    */
-    ctxt->currentTemplateRule = templ;
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltProcessOneNode: applying template '%s' for attribute %s\n",
-                     templ->match, contextNode->name));
-#endif
-    xsltApplyXSLTTemplate(ctxt, contextNode, templ->content, templ, withParams);
-
-    ctxt->currentTemplateRule = oldCurTempRule;
-    } else {
-    xsltTemplatePtr oldCurTempRule = ctxt->currentTemplateRule;
-    /*
-    * Set the "current template rule".
-    */
-    ctxt->currentTemplateRule = templ;
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    if (contextNode->type == XML_DOCUMENT_NODE) {
-        XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltProcessOneNode: applying template '%s' for /\n",
-                         templ->match));
-    } else {
-        XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltProcessOneNode: applying template '%s' for %s\n",
-                         templ->match, contextNode->name));
-        }
-#endif
-    xsltApplyXSLTTemplate(ctxt, contextNode, templ->content, templ, withParams);
-
-    ctxt->currentTemplateRule = oldCurTempRule;
-    }
-}
-
-static xmlNodePtr
-xsltDebuggerStartSequenceConstructor(xsltTransformContextPtr ctxt,
-                     xmlNodePtr contextNode,
-                     xmlNodePtr list,
-                     xsltTemplatePtr templ,
-                     int *addCallResult)
-{
-    xmlNodePtr debugedNode = NULL;
-
-    if (ctxt->debugStatus != XSLT_DEBUG_NONE) {
-        if (templ) {
-            *addCallResult = xslAddCall(templ, templ->elem);
-        } else {
-            *addCallResult = xslAddCall(NULL, list);
-        }
-        switch (ctxt->debugStatus) {
-            case XSLT_DEBUG_RUN_RESTART:
-            case XSLT_DEBUG_QUIT:
-                if (*addCallResult)
-                    xslDropCall();
-                return(NULL);
-        }
-        if (templ) {
-            xslHandleDebugger(templ->elem, contextNode, templ, ctxt);
-            debugedNode = templ->elem;
-        } else if (list) {
-            xslHandleDebugger(list, contextNode, templ, ctxt);
-            debugedNode = list;
-        } else if (ctxt->inst) {
-            xslHandleDebugger(ctxt->inst, contextNode, templ, ctxt);
-            debugedNode = ctxt->inst;
-        }
-    }
-    return(debugedNode);
-}
-
-/**
- * xsltLocalVariablePush:
- * @ctxt: the transformation context
- * @variable: variable to be pushed to the variable stack
- * @level: new value for variable's level
- *
- * Places the variable onto the local variable stack
- *
- * Returns: 0 for success, -1 for any error
- * **NOTE:**
- * This is an internal routine and should not be called by users!
- */
-int
-xsltLocalVariablePush(xsltTransformContextPtr ctxt,
-              xsltStackElemPtr variable,
-              int level)
-{
-    if (ctxt->varsMax == 0) {
-    ctxt->varsMax = 10;
-    ctxt->varsTab =
-        (xsltStackElemPtr *) xmlMalloc(ctxt->varsMax *
-        sizeof(ctxt->varsTab[0]));
-    if (ctxt->varsTab == NULL) {
-        xmlGenericError(xmlGenericErrorContext, "malloc failed !\n");
-        return (-1);
-    }
-    }
-    if (ctxt->varsNr >= ctxt->varsMax) {
-    ctxt->varsMax *= 2;
-    ctxt->varsTab =
-        (xsltStackElemPtr *) xmlRealloc(ctxt->varsTab,
-        ctxt->varsMax *
-        sizeof(ctxt->varsTab[0]));
-    if (ctxt->varsTab == NULL) {
-        xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
-        return (-1);
-    }
-    }
-    ctxt->varsTab[ctxt->varsNr++] = variable;
-    ctxt->vars = variable;
-    variable->level = level;
-    return(0);
-}
-
-/**
- * xsltReleaseLocalRVTs:
- *
- * Fragments which are results of extension instructions
- * are preserved; all other fragments are freed/cached.
- */
-static void
-xsltReleaseLocalRVTs(xsltTransformContextPtr ctxt, xmlDocPtr base)
-{
-    xmlDocPtr cur = ctxt->localRVT, tmp;
-
-    while ((cur != NULL) && (cur != base)) {
-    if (cur->psvi == (void *) ((long) 1)) {
-        cur = (xmlDocPtr) cur->next;
-    } else {
-        tmp = cur;
-        cur = (xmlDocPtr) cur->next;
-
-        if (tmp == ctxt->localRVT)
-        ctxt->localRVT = cur;
-
-        /*
-        * We need ctxt->localRVTBase for extension instructions
-        * which return values (like EXSLT's function).
-        */
-        if (tmp == ctxt->localRVTBase)
-        ctxt->localRVTBase = cur;
-
-        if (tmp->prev)
-        tmp->prev->next = (xmlNodePtr) cur;
-        if (cur)
-        cur->prev = tmp->prev;
-        xsltReleaseRVT(ctxt, tmp);
-    }
-    }
-}
-
-/**
- * xsltApplySequenceConstructor:
- * @ctxt:  a XSLT process context
- * @contextNode:  the "current node" in the source tree
- * @list:  the nodes of a sequence constructor;
- *         (plus leading xsl:param elements)
- * @templ: the compiled xsl:template (optional)
- *
- * Processes a sequence constructor.
- *
- * NOTE: ctxt->currentTemplateRule was introduced to reflect the
- * semantics of "current template rule". I.e. the field ctxt->templ
- * is not intended to reflect this, thus always pushed onto the
- * template stack.
- */
-static void
-xsltApplySequenceConstructor(xsltTransformContextPtr ctxt,
-                 xmlNodePtr contextNode, xmlNodePtr list,
-                 xsltTemplatePtr templ)
-{
-    xmlNodePtr oldInsert, oldInst, oldCurInst, oldContextNode;
-    xmlNodePtr cur, insert, copy = NULL;
-    int level = 0, oldVarsNr;
-    xmlDocPtr oldLocalFragmentTop, oldLocalFragmentBase;
-
-#ifdef XSLT_REFACTORED
-    xsltStylePreCompPtr info;
-#endif
-
-#ifdef WITH_DEBUGGER
-    int addCallResult = 0;
-    xmlNodePtr debuggedNode = NULL;
-#endif
-
-    if (ctxt == NULL)
-    return;
-
-#ifdef WITH_DEBUGGER
-    if (ctxt->debugStatus != XSLT_DEBUG_NONE) {
-    debuggedNode =
-        xsltDebuggerStartSequenceConstructor(ctxt, contextNode,
-        list, templ, &addCallResult);
-    if (debuggedNode == NULL)
-        return;
-    }
-#endif
-
-    if (list == NULL)
-        return;
-    CHECK_STOPPED;
-
-    oldLocalFragmentTop = ctxt->localRVT;
-    oldInsert = insert = ctxt->insert;
-    oldInst = oldCurInst = ctxt->inst;
-    oldContextNode = ctxt->node;
-    /*
-    * Save current number of variables on the stack; new vars are popped when
-    * exiting.
-    */
-    oldVarsNr = ctxt->varsNr;
-    /*
-    * Process the sequence constructor.
-    */
-    cur = list;
-    while (cur != NULL) {
-        ctxt->inst = cur;
-
-#ifdef WITH_DEBUGGER
-        switch (ctxt->debugStatus) {
-            case XSLT_DEBUG_RUN_RESTART:
-            case XSLT_DEBUG_QUIT:
-                break;
-
-        }
-#endif
-        /*
-         * Test; we must have a valid insertion point.
-         */
-        if (insert == NULL) {
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATE,xsltGenericDebug(xsltGenericDebugContext,
-        "xsltApplySequenceConstructor: insert == NULL !\n"));
-#endif
-            goto error;
-        }
-
-#ifdef WITH_DEBUGGER
-        if ((ctxt->debugStatus != XSLT_DEBUG_NONE) && (debuggedNode != cur))
-            xslHandleDebugger(cur, contextNode, templ, ctxt);
-#endif
-
-#ifdef XSLT_REFACTORED
-    if (cur->type == XML_ELEMENT_NODE) {
-        info = (xsltStylePreCompPtr) cur->psvi;
-        /*
-        * We expect a compiled representation on:
-        * 1) XSLT instructions of this XSLT version (1.0)
-        *    (with a few exceptions)
-        * 2) Literal result elements
-        * 3) Extension instructions
-        * 4) XSLT instructions of future XSLT versions
-        *    (forwards-compatible mode).
-        */
-        if (info == NULL) {
-        /*
-        * Handle the rare cases where we don't expect a compiled
-        * representation on an XSLT element.
-        */
-        if (IS_XSLT_ELEM_FAST(cur) && IS_XSLT_NAME(cur, "message")) {
-            xsltMessage(ctxt, contextNode, cur);
-            goto skip_children;
-        }
-        /*
-        * Something really went wrong:
-        */
-        xsltTransformError(ctxt, NULL, cur,
-            "Internal error in xsltApplySequenceConstructor(): "
-            "The element '%s' in the stylesheet has no compiled "
-            "representation.\n",
-            cur->name);
-                goto skip_children;
-            }
-
-        if (info->type == XSLT_FUNC_LITERAL_RESULT_ELEMENT) {
-        xsltStyleItemLRElementInfoPtr lrInfo =
-            (xsltStyleItemLRElementInfoPtr) info;
-        /*
-        * Literal result elements
-        * --------------------------------------------------------
-        */
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt, XSLT_TRACE_APPLY_TEMPLATE,
-            xsltGenericDebug(xsltGenericDebugContext,
-            "xsltApplySequenceConstructor: copy literal result "
-            "element '%s'\n", cur->name));
-#endif
-        /*
-        * Copy the raw element-node.
-        * OLD: if ((copy = xsltShallowCopyElem(ctxt, cur, insert))
-        *     == NULL)
-        *   goto error;
-        */
-        copy = xmlDocCopyNode(cur, insert->doc, 0);
-        if (copy == NULL) {
-            xsltTransformError(ctxt, NULL, cur,
-            "Internal error in xsltApplySequenceConstructor(): "
-            "Failed to copy literal result element '%s'.\n",
-            cur->name);
-            goto error;
-        } else {
-            /*
-            * Add the element-node to the result tree.
-            */
-            copy->doc = ctxt->output;
-            copy = xsltAddChild(insert, copy);
-            /*
-            * Create effective namespaces declarations.
-            * OLD: xsltCopyNamespaceList(ctxt, copy, cur->nsDef);
-            */
-            if (lrInfo->effectiveNs != NULL) {
-            xsltEffectiveNsPtr effNs = lrInfo->effectiveNs;
-            xmlNsPtr ns, lastns = NULL;
-
-            while (effNs != NULL) {
-                /*
-                * Avoid generating redundant namespace
-                * declarations; thus lookup if there is already
-                * such a ns-decl in the result.
-                */
-                ns = xmlSearchNs(copy->doc, copy, effNs->prefix);
-                if ((ns != NULL) &&
-                (xmlStrEqual(ns->href, effNs->nsName)))
-                {
-                effNs = effNs->next;
-                continue;
-                }
-                ns = xmlNewNs(copy, effNs->nsName, effNs->prefix);
-                if (ns == NULL) {
-                xsltTransformError(ctxt, NULL, cur,
-                    "Internal error in "
-                    "xsltApplySequenceConstructor(): "
-                    "Failed to copy a namespace "
-                    "declaration.\n");
-                goto error;
-                }
-
-                if (lastns == NULL)
-                copy->nsDef = ns;
-                else
-                lastns->next =ns;
-                lastns = ns;
-
-                effNs = effNs->next;
-            }
-
-            }
-            /*
-            * NOTE that we don't need to apply ns-alising: this was
-            *  already done at compile-time.
-            */
-            if (cur->ns != NULL) {
-            /*
-            * If there's no such ns-decl in the result tree,
-            * then xsltGetSpecialNamespace() will
-            * create a ns-decl on the copied node.
-            */
-            copy->ns = xsltGetSpecialNamespace(ctxt, cur,
-                cur->ns->href, cur->ns->prefix, copy);
-            } else {
-            /*
-            * Undeclare the default namespace if needed.
-            * This can be skipped, if the result element has
-            *  no ns-decls, in which case the result element
-            *  obviously does not declare a default namespace;
-            *  AND there's either no parent, or the parent
-            *  element is in no namespace; this means there's no
-            *  default namespace is scope to care about.
-            *
-            * REVISIT: This might result in massive
-            *  generation of ns-decls if nodes in a default
-            *  namespaces are mixed with nodes in no namespace.
-            *
-            */
-            if (copy->nsDef ||
-                ((insert != NULL) &&
-                 (insert->type == XML_ELEMENT_NODE) &&
-                 (insert->ns != NULL)))
-            {
-                xsltGetSpecialNamespace(ctxt, cur,
-                NULL, NULL, copy);
-            }
-            }
-        }
-        /*
-        * SPEC XSLT 2.0 "Each attribute of the literal result
-        *  element, other than an attribute in the XSLT namespace,
-        *  is processed to produce an attribute for the element in
-        *  the result tree."
-        * NOTE: See bug #341325.
-        */
-        if (cur->properties != NULL) {
-            xsltAttrListTemplateProcess(ctxt, copy, cur->properties);
-        }
-        } else if (IS_XSLT_ELEM_FAST(cur)) {
-        /*
-        * XSLT instructions
-        * --------------------------------------------------------
-        */
-        if (info->type == XSLT_FUNC_UNKOWN_FORWARDS_COMPAT) {
-            /*
-            * We hit an unknown XSLT element.
-            * Try to apply one of the fallback cases.
-            */
-            ctxt->insert = insert;
-            if (!xsltApplyFallbacks(ctxt, contextNode, cur)) {
-            xsltTransformError(ctxt, NULL, cur,
-                "The is no fallback behaviour defined for "
-                "the unknown XSLT element '%s'.\n",
-                cur->name);
-            }
-            ctxt->insert = oldInsert;
-        } else if (info->func != NULL) {
-            /*
-            * Execute the XSLT instruction.
-            */
-            ctxt->insert = insert;
-
-            info->func(ctxt, contextNode, cur,
-            (xsltElemPreCompPtr) info);
-
-            /*
-            * Cleanup temporary tree fragments.
-            */
-            if (oldLocalFragmentTop != ctxt->localRVT)
-            xsltReleaseLocalRVTs(ctxt, oldLocalFragmentTop);
-
-            ctxt->insert = oldInsert;
-        } else if (info->type == XSLT_FUNC_VARIABLE) {
-            xsltStackElemPtr tmpvar = ctxt->vars;
-
-            xsltParseStylesheetVariable(ctxt, cur);
-
-            if (tmpvar != ctxt->vars) {
-            /*
-            * TODO: Using a @tmpvar is an annoying workaround, but
-            *  the current mechanisms do not provide any other way
-            *  of knowing if the var was really pushed onto the
-            *  stack.
-            */
-            ctxt->vars->level = level;
-            }
-        } else if (info->type == XSLT_FUNC_MESSAGE) {
-            /*
-            * TODO: Won't be hit, since we don't compile xsl:message.
-            */
-            xsltMessage(ctxt, contextNode, cur);
-        } else {
-            xsltTransformError(ctxt, NULL, cur,
-            "Unexpected XSLT element '%s'.\n", cur->name);
-        }
-        goto skip_children;
-
-        } else {
-        xsltTransformFunction func;
-        /*
-        * Extension intructions (elements)
-        * --------------------------------------------------------
-        */
-        if (cur->psvi == xsltExtMarker) {
-            /*
-            * The xsltExtMarker was set during the compilation
-            * of extension instructions if there was no registered
-            * handler for this specific extension function at
-            * compile-time.
-            * Libxslt will now lookup if a handler is
-            * registered in the context of this transformation.
-            */
-            func = (xsltTransformFunction)
-            xsltExtElementLookup(ctxt, cur->name, cur->ns->href);
-        } else
-            func = ((xsltElemPreCompPtr) cur->psvi)->func;
-
-        if (func == NULL) {
-            /*
-            * No handler available.
-            * Try to execute fallback behaviour via xsl:fallback.
-            */
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            XSLT_TRACE(ctxt, XSLT_TRACE_APPLY_TEMPLATE,
-            xsltGenericDebug(xsltGenericDebugContext,
-                "xsltApplySequenceConstructor: unknown extension %s\n",
-                cur->name));
-#endif
-            ctxt->insert = insert;
-            if (!xsltApplyFallbacks(ctxt, contextNode, cur)) {
-            xsltTransformError(ctxt, NULL, cur,
-                "Unknown extension instruction '{%s}%s'.\n",
-                cur->ns->href, cur->name);
-            }
-            ctxt->insert = oldInsert;
-        } else {
-            /*
-            * Execute the handler-callback.
-            */
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATE,xsltGenericDebug(xsltGenericDebugContext,
-            "xsltApplySequenceConstructor: extension construct %s\n",
-            cur->name));
-#endif
-            ctxt->insert = insert;
-            /*
-            * We need the fragment base for extension instructions
-            * which return values (like EXSLT's function).
-            */
-            oldLocalFragmentBase = ctxt->localRVTBase;
-            ctxt->localRVTBase = NULL;
-
-            func(ctxt, contextNode, cur, cur->psvi);
-
-            ctxt->localRVTBase = oldLocalFragmentBase;
-            /*
-            * Cleanup temporary tree fragments.
-            */
-            if (oldLocalFragmentTop != ctxt->localRVT)
-            xsltReleaseLocalRVTs(ctxt, oldLocalFragmentTop);
-
-            ctxt->insert = oldInsert;
-        }
-        goto skip_children;
-        }
-
-    } else if (XSLT_IS_TEXT_NODE(cur)) {
-        /*
-        * Text
-        * ------------------------------------------------------------
-        */
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            if (cur->name == xmlStringTextNoenc) {
-                XSLT_TRACE(ctxt, XSLT_TRACE_APPLY_TEMPLATE,
-            xsltGenericDebug(xsltGenericDebugContext,
-            "xsltApplySequenceConstructor: copy unescaped text '%s'\n",
-            cur->content));
-            } else {
-                XSLT_TRACE(ctxt, XSLT_TRACE_APPLY_TEMPLATE,
-            xsltGenericDebug(xsltGenericDebugContext,
-            "xsltApplySequenceConstructor: copy text '%s'\n",
-            cur->content));
-            }
-#endif
-            if (xsltCopyText(ctxt, insert, cur, ctxt->internalized) == NULL)
-        goto error;
-    }
-
-#else /* XSLT_REFACTORED */
-
-        if (IS_XSLT_ELEM(cur)) {
-            /*
-             * This is an XSLT node
-             */
-            xsltStylePreCompPtr info = (xsltStylePreCompPtr) cur->psvi;
-
-            if (info == NULL) {
-                if (IS_XSLT_NAME(cur, "message")) {
-                    xsltMessage(ctxt, contextNode, cur);
-                } else {
-                    /*
-                     * That's an error try to apply one of the fallback cases
-                     */
-                    ctxt->insert = insert;
-                    if (!xsltApplyFallbacks(ctxt, contextNode, cur)) {
-                        xsltGenericError(xsltGenericErrorContext,
-                "xsltApplySequenceConstructor: %s was not compiled\n",
-                cur->name);
-                    }
-                    ctxt->insert = oldInsert;
-                }
-                goto skip_children;
-            }
-
-            if (info->func != NULL) {
-        oldCurInst = ctxt->inst;
-        ctxt->inst = cur;
-                ctxt->insert = insert;
-        oldLocalFragmentBase = ctxt->localRVTBase;
-        ctxt->localRVTBase = NULL;
-
-                info->func(ctxt, contextNode, cur, (xsltElemPreCompPtr) info);
-
-        ctxt->localRVTBase = oldLocalFragmentBase;
-        /*
-        * Cleanup temporary tree fragments.
-        */
-        if (oldLocalFragmentTop != ctxt->localRVT)
-            xsltReleaseLocalRVTs(ctxt, oldLocalFragmentTop);
-
-                ctxt->insert = oldInsert;
-        ctxt->inst = oldCurInst;
-                goto skip_children;
-            }
-
-            if (IS_XSLT_NAME(cur, "variable")) {
-        xsltStackElemPtr tmpvar = ctxt->vars;
-
-        oldCurInst = ctxt->inst;
-        ctxt->inst = cur;
-
-        xsltParseStylesheetVariable(ctxt, cur);
-
-        ctxt->inst = oldCurInst;
-
-        if (tmpvar != ctxt->vars) {
-            /*
-            * TODO: Using a @tmpvar is an annoying workaround, but
-            *  the current mechanisms do not provide any other way
-            *  of knowing if the var was really pushed onto the
-            *  stack.
-            */
-            ctxt->vars->level = level;
-        }
-            } else if (IS_XSLT_NAME(cur, "message")) {
-                xsltMessage(ctxt, contextNode, cur);
-            } else {
-        xsltTransformError(ctxt, NULL, cur,
-            "Unexpected XSLT element '%s'.\n", cur->name);
-            }
-            goto skip_children;
-        } else if ((cur->type == XML_TEXT_NODE) ||
-                   (cur->type == XML_CDATA_SECTION_NODE)) {
-
-            /*
-             * This text comes from the stylesheet
-             * For stylesheets, the set of whitespace-preserving
-             * element names consists of just xsl:text.
-             */
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            if (cur->type == XML_CDATA_SECTION_NODE) {
-                XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATE,xsltGenericDebug(xsltGenericDebugContext,
-                                 "xsltApplySequenceConstructor: copy CDATA text %s\n",
-                                 cur->content));
-            } else if (cur->name == xmlStringTextNoenc) {
-                XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATE,xsltGenericDebug(xsltGenericDebugContext,
-                                 "xsltApplySequenceConstructor: copy unescaped text %s\n",
-                                 cur->content));
-            } else {
-                XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATE,xsltGenericDebug(xsltGenericDebugContext,
-                                 "xsltApplySequenceConstructor: copy text %s\n",
-                                 cur->content));
-            }
-#endif
-            if (xsltCopyText(ctxt, insert, cur, ctxt->internalized) == NULL)
-        goto error;
-        } else if ((cur->type == XML_ELEMENT_NODE) &&
-                   (cur->ns != NULL) && (cur->psvi != NULL)) {
-            xsltTransformFunction function;
-
-        oldCurInst = ctxt->inst;
-        ctxt->inst = cur;
-            /*
-             * Flagged as an extension element
-             */
-            if (cur->psvi == xsltExtMarker)
-                function = (xsltTransformFunction)
-                    xsltExtElementLookup(ctxt, cur->name, cur->ns->href);
-            else
-                function = ((xsltElemPreCompPtr) cur->psvi)->func;
-
-            if (function == NULL) {
-                xmlNodePtr child;
-                int found = 0;
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-                XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATE,xsltGenericDebug(xsltGenericDebugContext,
-            "xsltApplySequenceConstructor: unknown extension %s\n",
-                    cur->name));
-#endif
-                /*
-                 * Search if there are fallbacks
-                 */
-                child = cur->children;
-                while (child != NULL) {
-                    if ((IS_XSLT_ELEM(child)) &&
-                        (IS_XSLT_NAME(child, "fallback")))
-            {
-                        found = 1;
-                        xsltApplySequenceConstructor(ctxt, contextNode,
-                child->children, NULL);
-                    }
-                    child = child->next;
-                }
-
-                if (!found) {
-                    xsltTransformError(ctxt, NULL, cur,
-            "xsltApplySequenceConstructor: failed to find extension %s\n",
-            cur->name);
-                }
-            } else {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-                XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATE,xsltGenericDebug(xsltGenericDebugContext,
-            "xsltApplySequenceConstructor: extension construct %s\n",
-                    cur->name));
-#endif
-
-                ctxt->insert = insert;
-        /*
-        * We need the fragment base for extension instructions
-        * which return values (like EXSLT's function).
-        */
-        oldLocalFragmentBase = ctxt->localRVTBase;
-        ctxt->localRVTBase = NULL;
-
-                function(ctxt, contextNode, cur, cur->psvi);
-        /*
-        * Cleanup temporary tree fragments.
-        */
-        if (oldLocalFragmentTop != ctxt->localRVT)
-            xsltReleaseLocalRVTs(ctxt, oldLocalFragmentTop);
-
-        ctxt->localRVTBase = oldLocalFragmentBase;
-                ctxt->insert = oldInsert;
-
-            }
-        ctxt->inst = oldCurInst;
-            goto skip_children;
-        } else if (cur->type == XML_ELEMENT_NODE) {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATE,xsltGenericDebug(xsltGenericDebugContext,
-        "xsltApplySequenceConstructor: copy node %s\n",
-                cur->name));
-#endif
-        oldCurInst = ctxt->inst;
-        ctxt->inst = cur;
-
-            if ((copy = xsltShallowCopyElem(ctxt, cur, insert, 1)) == NULL)
-        goto error;
-            /*
-             * Add extra namespaces inherited from the current template
-             * if we are in the first level children and this is a
-         * "real" template.
-             */
-            if ((templ != NULL) && (oldInsert == insert) &&
-                (ctxt->templ != NULL) && (ctxt->templ->inheritedNs != NULL)) {
-                int i;
-                xmlNsPtr ns, ret;
-
-                for (i = 0; i < ctxt->templ->inheritedNsNr; i++) {
-            const xmlChar *URI = NULL;
-            xsltStylesheetPtr style;
-                    ns = ctxt->templ->inheritedNs[i];
-
-            /* Note that the XSLT namespace was already excluded
-            * in xsltGetInheritedNsList().
-            */
-#if 0
-            if (xmlStrEqual(ns->href, XSLT_NAMESPACE))
-            continue;
-#endif
-            style = ctxt->style;
-            while (style != NULL) {
-            if (style->nsAliases != NULL)
-                URI = (const xmlChar *)
-                xmlHashLookup(style->nsAliases, ns->href);
-            if (URI != NULL)
-                break;
-
-            style = xsltNextImport(style);
-            }
-            if (URI == UNDEFINED_DEFAULT_NS)
-            continue;
-            if (URI == NULL)
-            URI = ns->href;
-            /*
-            * TODO: The following will still be buggy for the
-            * non-refactored code.
-            */
-            ret = xmlSearchNs(copy->doc, copy, ns->prefix);
-            if ((ret == NULL) || (!xmlStrEqual(ret->href, URI)))
-            {
-            xmlNewNs(copy, URI, ns->prefix);
-            }
-                }
-        if (copy->ns != NULL) {
-            /*
-             * Fix the node namespace if needed
-             */
-            copy->ns = xsltGetNamespace(ctxt, cur, copy->ns, copy);
-        }
-            }
-        /*
-             * all the attributes are directly inherited
-             */
-            if (cur->properties != NULL) {
-                xsltAttrListTemplateProcess(ctxt, copy, cur->properties);
-            }
-        ctxt->inst = oldCurInst;
-        }
-#endif /* else of XSLT_REFACTORED */
-
-        /*
-         * Descend into content in document order.
-         */
-        if (cur->children != NULL) {
-            if (cur->children->type != XML_ENTITY_DECL) {
-                cur = cur->children;
-        level++;
-                if (copy != NULL)
-                    insert = copy;
-                continue;
-            }
-        }
-
-skip_children:
-    /*
-    * If xslt:message was just processed, we might have hit a
-    * terminate='yes'; if so, then break the loop and clean up.
-    * TODO: Do we need to check this also before trying to descend
-    *  into the content?
-    */
-    if (ctxt->state == XSLT_STATE_STOPPED)
-        break;
-        if (cur->next != NULL) {
-            cur = cur->next;
-            continue;
-        }
-
-        do {
-            cur = cur->parent;
-        level--;
-        /*
-        * Pop variables/params (xsl:variable and xsl:param).
-        */
-        if ((ctxt->varsNr > oldVarsNr) && (ctxt->vars->level > level)) {
-        xsltLocalVariablePop(ctxt, oldVarsNr, level);
-        }
-
-            insert = insert->parent;
-            if (cur == NULL)
-                break;
-            if (cur == list->parent) {
-                cur = NULL;
-                break;
-            }
-            if (cur->next != NULL) {
-                cur = cur->next;
-                break;
-            }
-        } while (cur != NULL);
-    }
-
-error:
-    /*
-    * In case of errors: pop remaining variables.
-    */
-    if (ctxt->varsNr > oldVarsNr)
-    xsltLocalVariablePop(ctxt, oldVarsNr, -1);
-
-    ctxt->node = oldContextNode;
-    ctxt->inst = oldInst;
-    ctxt->insert = oldInsert;
-
-#ifdef WITH_DEBUGGER
-    if ((ctxt->debugStatus != XSLT_DEBUG_NONE) && (addCallResult)) {
-        xslDropCall();
-    }
-#endif
-}
-
-/*
-* xsltApplyXSLTTemplate:
-* @ctxt:  a XSLT transformation context
-* @contextNode:  the node in the source tree.
-* @list:  the nodes of a sequence constructor;
-*         (plus leading xsl:param elements)
-* @templ: the compiled xsl:template declaration;
-*         NULL if a sequence constructor
-* @withParams:  a set of caller-parameters (xsl:with-param) or NULL
-*
-* Called by:
-* - xsltApplyImports()
-* - xsltCallTemplate()
-* - xsltDefaultProcessOneNode()
-* - xsltProcessOneNode()
-*/
-static void
-xsltApplyXSLTTemplate(xsltTransformContextPtr ctxt,
-              xmlNodePtr contextNode,
-              xmlNodePtr list,
-              xsltTemplatePtr templ,
-              xsltStackElemPtr withParams)
-{
-    int oldVarsBase = 0;
-    long start = 0;
-    xmlNodePtr cur;
-    xsltStackElemPtr tmpParam = NULL;
-    xmlDocPtr oldUserFragmentTop, oldLocalFragmentTop;
-
-#ifdef XSLT_REFACTORED
-    xsltStyleItemParamPtr iparam;
-#else
-    xsltStylePreCompPtr iparam;
-#endif
-
-#ifdef WITH_DEBUGGER
-    int addCallResult = 0;
-#endif
-
-    if (ctxt == NULL)
-    return;
-    if (templ == NULL) {
-    xsltTransformError(ctxt, NULL, list,
-        "xsltApplyXSLTTemplate: Bad arguments; @templ is mandatory.\n");
-    return;
-    }
-
-#ifdef WITH_DEBUGGER
-    if (ctxt->debugStatus != XSLT_DEBUG_NONE) {
-    if (xsltDebuggerStartSequenceConstructor(ctxt, contextNode,
-        list, templ, &addCallResult) == NULL)
-        return;
-    }
-#endif
-
-    if (list == NULL)
-        return;
-    CHECK_STOPPED;
-
-    /*
-    * Check for infinite recursion: stop if the maximum of nested templates
-    * is excceeded. Adjust xsltMaxDepth if you need more.
-    */
-    if (ctxt->templNr >= ctxt->maxTemplateDepth)
-    {
-        xsltTransformError(ctxt, NULL, list,
-        "xsltApplyXSLTTemplate: A potential infinite template recursion "
-        "was detected.\n"
-        "You can adjust xsltMaxDepth (--maxdepth) in order to "
-        "raise the maximum number of nested template calls and "
-        "variables/params (currently set to %d).\n",
-        ctxt->maxTemplateDepth);
-        xsltDebug(ctxt, contextNode, list, NULL);
-        return;
-    }
-
-    if (ctxt->varsNr >= ctxt->maxTemplateVars)
-    {
-        xsltTransformError(ctxt, NULL, list,
-        "xsltApplyXSLTTemplate: A potential infinite template recursion "
-        "was detected.\n"
-        "You can adjust maxTemplateVars (--maxvars) in order to "
-        "raise the maximum number of variables/params (currently set to %d).\n",
-        ctxt->maxTemplateVars);
-        xsltDebug(ctxt, contextNode, list, NULL);
-        return;
-    }
-
-    oldUserFragmentTop = ctxt->tmpRVT;
-    ctxt->tmpRVT = NULL;
-    oldLocalFragmentTop = ctxt->localRVT;
-
-    /*
-    * Initiate a distinct scope of local params/variables.
-    */
-    oldVarsBase = ctxt->varsBase;
-    ctxt->varsBase = ctxt->varsNr;
-
-    ctxt->node = contextNode;
-    if (ctxt->profile) {
-    templ->nbCalls++;
-    start = xsltTimestamp();
-    profPush(ctxt, 0);
-    profCallgraphAdd(templ, ctxt->templ);
-    }
-    /*
-    * Push the xsl:template declaration onto the stack.
-    */
-    templPush(ctxt, templ);
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    if (templ->name != NULL)
-    XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATE,xsltGenericDebug(xsltGenericDebugContext,
-    "applying xsl:template '%s'\n", templ->name));
-#endif
-    /*
-    * Process xsl:param instructions and skip those elements for
-    * further processing.
-    */
-    cur = list;
-    do {
-    if (cur->type == XML_TEXT_NODE) {
-        cur = cur->next;
-        continue;
-    }
-    if ((cur->type != XML_ELEMENT_NODE) ||
-        (cur->name[0] != 'p') ||
-        (cur->psvi == NULL) ||
-        (! xmlStrEqual(cur->name, BAD_CAST "param")) ||
-        (! IS_XSLT_ELEM(cur)))
-    {
-        break;
-    }
-
-    list = cur->next;
-
-#ifdef XSLT_REFACTORED
-    iparam = (xsltStyleItemParamPtr) cur->psvi;
-#else
-    iparam = (xsltStylePreCompPtr) cur->psvi;
-#endif
-
-    /*
-    * Substitute xsl:param for a given xsl:with-param.
-    * Since the XPath expression will reference the params/vars
-    * by index, we need to slot the xsl:with-params in the
-    * order of encountered xsl:params to keep the sequence of
-    * params/variables in the stack exactly as it was at
-    * compile time,
-    */
-    tmpParam = NULL;
-    if (withParams) {
-        tmpParam = withParams;
-        do {
-        if ((tmpParam->name == (iparam->name)) &&
-            (tmpParam->nameURI == (iparam->ns)))
-        {
-            /*
-            * Push the caller-parameter.
-            */
-            xsltLocalVariablePush(ctxt, tmpParam, -1);
-            break;
-        }
-        tmpParam = tmpParam->next;
-        } while (tmpParam != NULL);
-    }
-    /*
-    * Push the xsl:param.
-    */
-    if (tmpParam == NULL) {
-        /*
-        * Note that we must assume that the added parameter
-        * has a @depth of 0.
-        */
-        xsltParseStylesheetParam(ctxt, cur);
-    }
-    cur = cur->next;
-    } while (cur != NULL);
-    /*
-    * Process the sequence constructor.
-    */
-    xsltApplySequenceConstructor(ctxt, contextNode, list, templ);
-
-    /*
-    * Remove remaining xsl:param and xsl:with-param items from
-    * the stack. Don't free xsl:with-param items.
-    */
-    if (ctxt->varsNr > ctxt->varsBase)
-    xsltTemplateParamsCleanup(ctxt);
-    ctxt->varsBase = oldVarsBase;
-
-    /*
-    * Clean up remaining local tree fragments.
-    * This also frees fragments which are the result of
-    * extension instructions. Should normally not be hit; but
-    * just for the case xsltExtensionInstructionResultFinalize()
-    * was not called by the extension author.
-    */
-    if (oldLocalFragmentTop != ctxt->localRVT) {
-    xmlDocPtr curdoc = ctxt->localRVT, tmp;
-
-    do {
-        tmp = curdoc;
-        curdoc = (xmlDocPtr) curdoc->next;
-        /* Need to housekeep localRVTBase */
-        if (tmp == ctxt->localRVTBase)
-            ctxt->localRVTBase = curdoc;
-        if (tmp->prev)
-        tmp->prev->next = (xmlNodePtr) curdoc;
-        if (curdoc)
-        curdoc->prev = tmp->prev;
-        xsltReleaseRVT(ctxt, tmp);
-    } while (curdoc != oldLocalFragmentTop);
-    }
-    ctxt->localRVT = oldLocalFragmentTop;
-
-    /*
-    * Release user-created fragments stored in the scope
-    * of xsl:template. Note that this mechanism is deprecated:
-    * user code should now use xsltRegisterLocalRVT() instead
-    * of the obsolete xsltRegisterTmpRVT().
-    */
-    if (ctxt->tmpRVT) {
-    xmlDocPtr curdoc = ctxt->tmpRVT, tmp;
-
-    while (curdoc != NULL) {
-        tmp = curdoc;
-        curdoc = (xmlDocPtr) curdoc->next;
-        xsltReleaseRVT(ctxt, tmp);
-    }
-    }
-    ctxt->tmpRVT = oldUserFragmentTop;
-
-    /*
-    * Pop the xsl:template declaration from the stack.
-    */
-    templPop(ctxt);
-    if (ctxt->profile) {
-    long spent, child, total, end;
-
-    end = xsltTimestamp();
-    child = profPop(ctxt);
-    total = end - start;
-    spent = total - child;
-    if (spent <= 0) {
-        /*
-        * Not possible unless the original calibration failed
-        * we can try to correct it on the fly.
-        */
-        xsltCalibrateAdjust(spent);
-        spent = 0;
-    }
-
-    templ->time += spent;
-    if (ctxt->profNr > 0)
-        ctxt->profTab[ctxt->profNr - 1] += total;
-    }
-
-#ifdef WITH_DEBUGGER
-    if ((ctxt->debugStatus != XSLT_DEBUG_NONE) && (addCallResult)) {
-        xslDropCall();
-    }
-#endif
-}
-
-
-/**
- * xsltApplyOneTemplate:
- * @ctxt:  a XSLT process context
- * @contextNode:  the node in the source tree.
- * @list:  the nodes of a sequence constructor
- * @templ: not used
- * @params:  a set of parameters (xsl:param) or NULL
- *
- * Processes a sequence constructor on the current node in the source tree.
- *
- * @params are the already computed variable stack items; this function
- * pushes them on the variable stack, and pops them before exiting; it's
- * left to the caller to free or reuse @params afterwards. The initial
- * states of the variable stack will always be restored before this
- * function exits.
- * NOTE that this does *not* initiate a new distinct variable scope; i.e.
- * variables already on the stack are visible to the process. The caller's
- * side needs to start a new variable scope if needed (e.g. in exsl:function).
- *
- * @templ is obsolete and not used anymore (e.g.  does not
- * provide a @templ); a non-NULL @templ might raise an error in the future.
- *
- * BIG NOTE: This function is not intended to process the content of an
- * xsl:template; it does not expect xsl:param instructions in @list and
- * will report errors if found.
- *
- * Called by:
- *  - xsltEvalVariable() (variables.c)
- *  - exsltFuncFunctionFunction() (libexsl/functions.c)
- */
-void
-xsltApplyOneTemplate(xsltTransformContextPtr ctxt,
-             xmlNodePtr contextNode,
-                     xmlNodePtr list,
-             xsltTemplatePtr templ ATTRIBUTE_UNUSED,
-                     xsltStackElemPtr params)
-{
-    if ((ctxt == NULL) || (list == NULL))
-    return;
-    CHECK_STOPPED;
-
-    if (params) {
-    /*
-     * This code should be obsolete - was previously used
-     * by libexslt/functions.c, but due to bug 381319 the
-     * logic there was changed.
-     */
-    int oldVarsNr = ctxt->varsNr;
-
-    /*
-    * Push the given xsl:param(s) onto the variable stack.
-    */
-    while (params != NULL) {
-        xsltLocalVariablePush(ctxt, params, -1);
-        params = params->next;
-    }
-    xsltApplySequenceConstructor(ctxt, contextNode, list, templ);
-    /*
-    * Pop the given xsl:param(s) from the stack but don't free them.
-    */
-    xsltLocalVariablePop(ctxt, oldVarsNr, -2);
-    } else
-    xsltApplySequenceConstructor(ctxt, contextNode, list, templ);
-}
-
-/************************************************************************
- *                                  *
- *          XSLT-1.1 extensions                 *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltDocumentElem:
- * @ctxt:  an XSLT processing context
- * @node:  The current node
- * @inst:  the instruction in the stylesheet
- * @castedComp:  precomputed information
- *
- * Process an EXSLT/XSLT-1.1 document element
- */
-void
-xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node,
-                 xmlNodePtr inst, xsltStylePreCompPtr castedComp)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleItemDocumentPtr comp = (xsltStyleItemDocumentPtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-#endif
-    xsltStylesheetPtr style = NULL;
-    int ret;
-    xmlChar *filename = NULL, *prop, *elements;
-    xmlChar *element, *end;
-    xmlDocPtr res = NULL;
-    xmlDocPtr oldOutput;
-    xmlNodePtr oldInsert, root;
-    const char *oldOutputFile;
-    xsltOutputType oldType;
-    xmlChar *URL = NULL;
-    const xmlChar *method;
-    const xmlChar *doctypePublic;
-    const xmlChar *doctypeSystem;
-    const xmlChar *version;
-    const xmlChar *encoding;
-    int redirect_write_append = 0;
-
-    if ((ctxt == NULL) || (node == NULL) || (inst == NULL) || (comp == NULL))
-        return;
-
-    if (comp->filename == NULL) {
-
-        if (xmlStrEqual(inst->name, (const xmlChar *) "output")) {
-        /*
-        * The element "output" is in the namespace XSLT_SAXON_NAMESPACE
-        *   (http://icl.com/saxon)
-        * The @file is in no namespace.
-        */
-#ifdef WITH_XSLT_DEBUG_EXTRA
-            xsltGenericDebug(xsltGenericDebugContext,
-                             "Found saxon:output extension\n");
-#endif
-            URL = xsltEvalAttrValueTemplate(ctxt, inst,
-                                                 (const xmlChar *) "file",
-                                                 XSLT_SAXON_NAMESPACE);
-
-        if (URL == NULL)
-        URL = xsltEvalAttrValueTemplate(ctxt, inst,
-                                                 (const xmlChar *) "href",
-                                                 XSLT_SAXON_NAMESPACE);
-        } else if (xmlStrEqual(inst->name, (const xmlChar *) "write")) {
-#ifdef WITH_XSLT_DEBUG_EXTRA
-            xsltGenericDebug(xsltGenericDebugContext,
-                             "Found xalan:write extension\n");
-#endif
-            URL = xsltEvalAttrValueTemplate(ctxt, inst,
-                                                 (const xmlChar *)
-                                                 "select",
-                                                 XSLT_XALAN_NAMESPACE);
-        if (URL != NULL) {
-        xmlXPathCompExprPtr cmp;
-        xmlChar *val;
-
-        /*
-         * Trying to handle bug #59212
-         * The value of the "select" attribute is an
-         * XPath expression.
-         * (see http://xml.apache.org/xalan-j/extensionslib.html#redirect)
-         */
-        cmp = xmlXPathCompile(URL);
-                val = xsltEvalXPathString(ctxt, cmp);
-        xmlXPathFreeCompExpr(cmp);
-        xmlFree(URL);
-        URL = val;
-        }
-        if (URL == NULL)
-        URL = xsltEvalAttrValueTemplate(ctxt, inst,
-                             (const xmlChar *)
-                             "file",
-                             XSLT_XALAN_NAMESPACE);
-        if (URL == NULL)
-        URL = xsltEvalAttrValueTemplate(ctxt, inst,
-                             (const xmlChar *)
-                             "href",
-                             XSLT_XALAN_NAMESPACE);
-        } else if (xmlStrEqual(inst->name, (const xmlChar *) "document")) {
-            URL = xsltEvalAttrValueTemplate(ctxt, inst,
-                                                 (const xmlChar *) "href",
-                                                 NULL);
-        }
-
-    } else {
-        URL = xmlStrdup(comp->filename);
-    }
-
-    if (URL == NULL) {
-    xsltTransformError(ctxt, NULL, inst,
-                 "xsltDocumentElem: href/URI-Reference not found\n");
-    return;
-    }
-
-    /*
-     * If the computation failed, it's likely that the URL wasn't escaped
-     */
-    filename = xmlBuildURI(URL, (const xmlChar *) ctxt->outputFile);
-    if (filename == NULL) {
-    xmlChar *escURL;
-
-    escURL=xmlURIEscapeStr(URL, BAD_CAST ":/.?,");
-    if (escURL != NULL) {
-        filename = xmlBuildURI(escURL, (const xmlChar *) ctxt->outputFile);
-        xmlFree(escURL);
-    }
-    }
-
-    if (filename == NULL) {
-    xsltTransformError(ctxt, NULL, inst,
-                 "xsltDocumentElem: URL computation failed for %s\n",
-             URL);
-    xmlFree(URL);
-    return;
-    }
-
-    /*
-     * Security checking: can we write to this resource
-     */
-    if (ctxt->sec != NULL) {
-    ret = xsltCheckWrite(ctxt->sec, ctxt, filename);
-    if (ret == 0) {
-        xsltTransformError(ctxt, NULL, inst,
-         "xsltDocumentElem: write rights for %s denied\n",
-                 filename);
-        xmlFree(URL);
-        xmlFree(filename);
-        return;
-    }
-    }
-
-    oldOutputFile = ctxt->outputFile;
-    oldOutput = ctxt->output;
-    oldInsert = ctxt->insert;
-    oldType = ctxt->type;
-    ctxt->outputFile = (const char *) filename;
-
-    style = xsltNewStylesheet();
-    if (style == NULL) {
-    xsltTransformError(ctxt, NULL, inst,
-                         "xsltDocumentElem: out of memory\n");
-        goto error;
-    }
-
-    /*
-     * Version described in 1.1 draft allows full parameterization
-     * of the output.
-     */
-    prop = xsltEvalAttrValueTemplate(ctxt, inst,
-                     (const xmlChar *) "version",
-                     NULL);
-    if (prop != NULL) {
-    if (style->version != NULL)
-        xmlFree(style->version);
-    style->version = prop;
-    }
-    prop = xsltEvalAttrValueTemplate(ctxt, inst,
-                     (const xmlChar *) "encoding",
-                     NULL);
-    if (prop != NULL) {
-    if (style->encoding != NULL)
-        xmlFree(style->encoding);
-    style->encoding = prop;
-    }
-    prop = xsltEvalAttrValueTemplate(ctxt, inst,
-                     (const xmlChar *) "method",
-                     NULL);
-    if (prop != NULL) {
-    const xmlChar *URI;
-
-    if (style->method != NULL)
-        xmlFree(style->method);
-    style->method = NULL;
-    if (style->methodURI != NULL)
-        xmlFree(style->methodURI);
-    style->methodURI = NULL;
-
-    URI = xsltGetQNameURI(inst, &prop);
-    if (prop == NULL) {
-        if (style != NULL) style->errors++;
-    } else if (URI == NULL) {
-        if ((xmlStrEqual(prop, (const xmlChar *) "xml")) ||
-        (xmlStrEqual(prop, (const xmlChar *) "html")) ||
-        (xmlStrEqual(prop, (const xmlChar *) "text"))) {
-        style->method = prop;
-        } else {
-        xsltTransformError(ctxt, NULL, inst,
-                 "invalid value for method: %s\n", prop);
-        if (style != NULL) style->warnings++;
-        }
-    } else {
-        style->method = prop;
-        style->methodURI = xmlStrdup(URI);
-    }
-    }
-    prop = xsltEvalAttrValueTemplate(ctxt, inst,
-                     (const xmlChar *)
-                     "doctype-system", NULL);
-    if (prop != NULL) {
-    if (style->doctypeSystem != NULL)
-        xmlFree(style->doctypeSystem);
-    style->doctypeSystem = prop;
-    }
-    prop = xsltEvalAttrValueTemplate(ctxt, inst,
-                     (const xmlChar *)
-                     "doctype-public", NULL);
-    if (prop != NULL) {
-    if (style->doctypePublic != NULL)
-        xmlFree(style->doctypePublic);
-    style->doctypePublic = prop;
-    }
-    prop = xsltEvalAttrValueTemplate(ctxt, inst,
-                     (const xmlChar *) "standalone",
-                     NULL);
-    if (prop != NULL) {
-    if (xmlStrEqual(prop, (const xmlChar *) "yes")) {
-        style->standalone = 1;
-    } else if (xmlStrEqual(prop, (const xmlChar *) "no")) {
-        style->standalone = 0;
-    } else {
-        xsltTransformError(ctxt, NULL, inst,
-                 "invalid value for standalone: %s\n",
-                 prop);
-        if (style != NULL) style->warnings++;
-    }
-    xmlFree(prop);
-    }
-
-    prop = xsltEvalAttrValueTemplate(ctxt, inst,
-                     (const xmlChar *) "indent",
-                     NULL);
-    if (prop != NULL) {
-    if (xmlStrEqual(prop, (const xmlChar *) "yes")) {
-        style->indent = 1;
-    } else if (xmlStrEqual(prop, (const xmlChar *) "no")) {
-        style->indent = 0;
-    } else {
-        xsltTransformError(ctxt, NULL, inst,
-                 "invalid value for indent: %s\n", prop);
-        if (style != NULL) style->warnings++;
-    }
-    xmlFree(prop);
-    }
-
-    prop = xsltEvalAttrValueTemplate(ctxt, inst,
-                     (const xmlChar *)
-                     "omit-xml-declaration",
-                     NULL);
-    if (prop != NULL) {
-    if (xmlStrEqual(prop, (const xmlChar *) "yes")) {
-        style->omitXmlDeclaration = 1;
-    } else if (xmlStrEqual(prop, (const xmlChar *) "no")) {
-        style->omitXmlDeclaration = 0;
-    } else {
-        xsltTransformError(ctxt, NULL, inst,
-                 "invalid value for omit-xml-declaration: %s\n",
-                 prop);
-        if (style != NULL) style->warnings++;
-    }
-    xmlFree(prop);
-    }
-
-    elements = xsltEvalAttrValueTemplate(ctxt, inst,
-                     (const xmlChar *)
-                     "cdata-section-elements",
-                     NULL);
-    if (elements != NULL) {
-    if (style->stripSpaces == NULL)
-        style->stripSpaces = xmlHashCreate(10);
-    if (style->stripSpaces == NULL)
-        return;
-
-    element = elements;
-    while (*element != 0) {
-        while (IS_BLANK_CH(*element))
-        element++;
-        if (*element == 0)
-        break;
-        end = element;
-        while ((*end != 0) && (!IS_BLANK_CH(*end)))
-        end++;
-        element = xmlStrndup(element, end - element);
-        if (element) {
-        const xmlChar *URI;
-
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-                 "add cdata section output element %s\n",
-                 element);
-#endif
-                URI = xsltGetQNameURI(inst, &element);
-
-        xmlHashAddEntry2(style->stripSpaces, element, URI,
-                    (xmlChar *) "cdata");
-        xmlFree(element);
-        }
-        element = end;
-    }
-    xmlFree(elements);
-    }
-
-    /*
-     * Create a new document tree and process the element template
-     */
-    XSLT_GET_IMPORT_PTR(method, style, method)
-    XSLT_GET_IMPORT_PTR(doctypePublic, style, doctypePublic)
-    XSLT_GET_IMPORT_PTR(doctypeSystem, style, doctypeSystem)
-    XSLT_GET_IMPORT_PTR(version, style, version)
-    XSLT_GET_IMPORT_PTR(encoding, style, encoding)
-
-    if ((method != NULL) &&
-    (!xmlStrEqual(method, (const xmlChar *) "xml"))) {
-    if (xmlStrEqual(method, (const xmlChar *) "html")) {
-        ctxt->type = XSLT_OUTPUT_HTML;
-        if (((doctypePublic != NULL) || (doctypeSystem != NULL)))
-        res = htmlNewDoc(doctypeSystem, doctypePublic);
-        else {
-        if (version != NULL) {
-#ifdef XSLT_GENERATE_HTML_DOCTYPE
-            xsltGetHTMLIDs(version, &doctypePublic, &doctypeSystem);
-#endif
-                }
-        res = htmlNewDocNoDtD(doctypeSystem, doctypePublic);
-        }
-        if (res == NULL)
-        goto error;
-        res->dict = ctxt->dict;
-        xmlDictReference(res->dict);
-    } else if (xmlStrEqual(method, (const xmlChar *) "xhtml")) {
-        xsltTransformError(ctxt, NULL, inst,
-         "xsltDocumentElem: unsupported method xhtml\n",
-                     style->method);
-        ctxt->type = XSLT_OUTPUT_HTML;
-        res = htmlNewDocNoDtD(doctypeSystem, doctypePublic);
-        if (res == NULL)
-        goto error;
-        res->dict = ctxt->dict;
-        xmlDictReference(res->dict);
-    } else if (xmlStrEqual(method, (const xmlChar *) "text")) {
-        ctxt->type = XSLT_OUTPUT_TEXT;
-        res = xmlNewDoc(style->version);
-        if (res == NULL)
-        goto error;
-        res->dict = ctxt->dict;
-        xmlDictReference(res->dict);
-#ifdef WITH_XSLT_DEBUG
-        xsltGenericDebug(xsltGenericDebugContext,
-                     "reusing transformation dict for output\n");
-#endif
-    } else {
-        xsltTransformError(ctxt, NULL, inst,
-                 "xsltDocumentElem: unsupported method %s\n",
-                     style->method);
-        goto error;
-    }
-    } else {
-    ctxt->type = XSLT_OUTPUT_XML;
-    res = xmlNewDoc(style->version);
-    if (res == NULL)
-        goto error;
-    res->dict = ctxt->dict;
-    xmlDictReference(res->dict);
-#ifdef WITH_XSLT_DEBUG
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "reusing transformation dict for output\n");
-#endif
-    }
-    res->charset = XML_CHAR_ENCODING_UTF8;
-    if (encoding != NULL)
-    res->encoding = xmlStrdup(encoding);
-    ctxt->output = res;
-    ctxt->insert = (xmlNodePtr) res;
-    xsltApplySequenceConstructor(ctxt, node, inst->children, NULL);
-
-    /*
-     * Do some post processing work depending on the generated output
-     */
-    root = xmlDocGetRootElement(res);
-    if (root != NULL) {
-        const xmlChar *doctype = NULL;
-
-        if ((root->ns != NULL) && (root->ns->prefix != NULL))
-        doctype = xmlDictQLookup(ctxt->dict, root->ns->prefix, root->name);
-    if (doctype == NULL)
-        doctype = root->name;
-
-        /*
-         * Apply the default selection of the method
-         */
-        if ((method == NULL) &&
-            (root->ns == NULL) &&
-            (!xmlStrcasecmp(root->name, (const xmlChar *) "html"))) {
-            xmlNodePtr tmp;
-
-            tmp = res->children;
-            while ((tmp != NULL) && (tmp != root)) {
-                if (tmp->type == XML_ELEMENT_NODE)
-                    break;
-                if ((tmp->type == XML_TEXT_NODE) && (!xmlIsBlankNode(tmp)))
-                    break;
-        tmp = tmp->next;
-            }
-            if (tmp == root) {
-                ctxt->type = XSLT_OUTPUT_HTML;
-                res->type = XML_HTML_DOCUMENT_NODE;
-                if (((doctypePublic != NULL) || (doctypeSystem != NULL))) {
-                    res->intSubset = xmlCreateIntSubset(res, doctype,
-                                                        doctypePublic,
-                                                        doctypeSystem);
-#ifdef XSLT_GENERATE_HTML_DOCTYPE
-        } else if (version != NULL) {
-                    xsltGetHTMLIDs(version, &doctypePublic,
-                                   &doctypeSystem);
-                    if (((doctypePublic != NULL) || (doctypeSystem != NULL)))
-                        res->intSubset =
-                            xmlCreateIntSubset(res, doctype,
-                                               doctypePublic,
-                                               doctypeSystem);
-#endif
-                }
-            }
-
-        }
-        if (ctxt->type == XSLT_OUTPUT_XML) {
-            XSLT_GET_IMPORT_PTR(doctypePublic, style, doctypePublic)
-                XSLT_GET_IMPORT_PTR(doctypeSystem, style, doctypeSystem)
-                if (((doctypePublic != NULL) || (doctypeSystem != NULL)))
-                res->intSubset = xmlCreateIntSubset(res, doctype,
-                                                    doctypePublic,
-                                                    doctypeSystem);
-        }
-    }
-
-    /*
-     * Calls to redirect:write also take an optional attribute append.
-     * Attribute append="true|yes" which will attempt to simply append
-     * to an existing file instead of always opening a new file. The
-     * default behavior of always overwriting the file still happens
-     * if we do not specify append.
-     * Note that append use will forbid use of remote URI target.
-     */
-    prop = xsltEvalAttrValueTemplate(ctxt, inst, (const xmlChar *)"append",
-                     NULL);
-    if (prop != NULL) {
-    if (xmlStrEqual(prop, (const xmlChar *) "true") ||
-        xmlStrEqual(prop, (const xmlChar *) "yes")) {
-        style->omitXmlDeclaration = 1;
-        redirect_write_append = 1;
-    } else
-        style->omitXmlDeclaration = 0;
-    xmlFree(prop);
-    }
-
-    if (redirect_write_append) {
-        FILE *f;
-
-    f = fopen((const char *) filename, "ab");
-    if (f == NULL) {
-        ret = -1;
-    } else {
-        ret = xsltSaveResultToFile(f, res, style);
-        fclose(f);
-    }
-    } else {
-    ret = xsltSaveResultToFilename((const char *) filename, res, style, 0);
-    }
-    if (ret < 0) {
-    xsltTransformError(ctxt, NULL, inst,
-                         "xsltDocumentElem: unable to save to %s\n",
-                         filename);
-    ctxt->state = XSLT_STATE_ERROR;
-#ifdef WITH_XSLT_DEBUG_EXTRA
-    } else {
-        xsltGenericDebug(xsltGenericDebugContext,
-                         "Wrote %d bytes to %s\n", ret, filename);
-#endif
-    }
-
-  error:
-    ctxt->output = oldOutput;
-    ctxt->insert = oldInsert;
-    ctxt->type = oldType;
-    ctxt->outputFile = oldOutputFile;
-    if (URL != NULL)
-        xmlFree(URL);
-    if (filename != NULL)
-        xmlFree(filename);
-    if (style != NULL)
-        xsltFreeStylesheet(style);
-    if (res != NULL)
-        xmlFreeDoc(res);
-}
-
-/************************************************************************
- *                                  *
- *      Most of the XSLT-1.0 transformations            *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltSort:
- * @ctxt:  a XSLT process context
- * @node:  the node in the source tree.
- * @inst:  the xslt sort node
- * @comp:  precomputed information
- *
- * function attached to xsl:sort nodes, but this should not be
- * called directly
- */
-void
-xsltSort(xsltTransformContextPtr ctxt,
-    xmlNodePtr node ATTRIBUTE_UNUSED, xmlNodePtr inst,
-    xsltStylePreCompPtr comp) {
-    if (comp == NULL) {
-    xsltTransformError(ctxt, NULL, inst,
-         "xsl:sort : compilation failed\n");
-    return;
-    }
-    xsltTransformError(ctxt, NULL, inst,
-     "xsl:sort : improper use this should not be reached\n");
-}
-
-/**
- * xsltCopy:
- * @ctxt:  an XSLT process context
- * @node:  the node in the source tree
- * @inst:  the element node of the XSLT-copy instruction
- * @castedComp:  computed information of the XSLT-copy instruction
- *
- * Execute the XSLT-copy instruction on the source node.
- */
-void
-xsltCopy(xsltTransformContextPtr ctxt, xmlNodePtr node,
-     xmlNodePtr inst, xsltStylePreCompPtr castedComp)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleItemCopyPtr comp = (xsltStyleItemCopyPtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-#endif
-    xmlNodePtr copy, oldInsert;
-
-    oldInsert = ctxt->insert;
-    if (ctxt->insert != NULL) {
-    switch (node->type) {
-        case XML_TEXT_NODE:
-        case XML_CDATA_SECTION_NODE:
-        /*
-         * This text comes from the stylesheet
-         * For stylesheets, the set of whitespace-preserving
-         * element names consists of just xsl:text.
-         */
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        if (node->type == XML_CDATA_SECTION_NODE) {
-            XSLT_TRACE(ctxt,XSLT_TRACE_COPY,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltCopy: CDATA text %s\n", node->content));
-        } else {
-            XSLT_TRACE(ctxt,XSLT_TRACE_COPY,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltCopy: text %s\n", node->content));
-                }
-#endif
-        xsltCopyText(ctxt, ctxt->insert, node, 0);
-        break;
-        case XML_DOCUMENT_NODE:
-        case XML_HTML_DOCUMENT_NODE:
-        break;
-        case XML_ELEMENT_NODE:
-        /*
-        * REVISIT NOTE: The "fake" is a doc-node, not an element node.
-        * REMOVED:
-        *   if (xmlStrEqual(node->name, BAD_CAST " fake node libxslt"))
-        *    return;
-        */
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_COPY,xsltGenericDebug(xsltGenericDebugContext,
-                 "xsltCopy: node %s\n", node->name));
-#endif
-        copy = xsltShallowCopyElem(ctxt, node, ctxt->insert, 0);
-        ctxt->insert = copy;
-        if (comp->use != NULL) {
-            xsltApplyAttributeSet(ctxt, node, inst, comp->use);
-        }
-        break;
-        case XML_ATTRIBUTE_NODE: {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_COPY,xsltGenericDebug(xsltGenericDebugContext,
-                 "xsltCopy: attribute %s\n", node->name));
-#endif
-        /*
-        * REVISIT: We could also raise an error if the parent is not
-        * an element node.
-        * OPTIMIZE TODO: Can we set the value/children of the
-        * attribute without an intermediate copy of the string value?
-        */
-        xsltShallowCopyAttr(ctxt, inst, ctxt->insert, (xmlAttrPtr) node);
-        break;
-        }
-        case XML_PI_NODE:
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_COPY,xsltGenericDebug(xsltGenericDebugContext,
-                 "xsltCopy: PI %s\n", node->name));
-#endif
-        copy = xmlNewDocPI(ctxt->insert->doc, node->name,
-                           node->content);
-        copy = xsltAddChild(ctxt->insert, copy);
-        break;
-        case XML_COMMENT_NODE:
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_COPY,xsltGenericDebug(xsltGenericDebugContext,
-                 "xsltCopy: comment\n"));
-#endif
-        copy = xmlNewComment(node->content);
-        copy = xsltAddChild(ctxt->insert, copy);
-        break;
-        case XML_NAMESPACE_DECL:
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_COPY,xsltGenericDebug(xsltGenericDebugContext,
-                 "xsltCopy: namespace declaration\n"));
-#endif
-        xsltShallowCopyNsNode(ctxt, inst, ctxt->insert, (xmlNsPtr)node);
-        break;
-        default:
-        break;
-
-    }
-    }
-
-    switch (node->type) {
-    case XML_DOCUMENT_NODE:
-    case XML_HTML_DOCUMENT_NODE:
-    case XML_ELEMENT_NODE:
-        xsltApplySequenceConstructor(ctxt, ctxt->node, inst->children,
-        NULL);
-        break;
-    default:
-        break;
-    }
-    ctxt->insert = oldInsert;
-}
-
-/**
- * xsltText:
- * @ctxt:  a XSLT process context
- * @node:  the node in the source tree.
- * @inst:  the xslt text node
- * @comp:  precomputed information
- *
- * Process the xslt text node on the source node
- */
-void
-xsltText(xsltTransformContextPtr ctxt, xmlNodePtr node ATTRIBUTE_UNUSED,
-        xmlNodePtr inst, xsltStylePreCompPtr comp ATTRIBUTE_UNUSED) {
-    if ((inst->children != NULL) && (comp != NULL)) {
-    xmlNodePtr text = inst->children;
-    xmlNodePtr copy;
-
-    while (text != NULL) {
-        if ((text->type != XML_TEXT_NODE) &&
-             (text->type != XML_CDATA_SECTION_NODE)) {
-        xsltTransformError(ctxt, NULL, inst,
-                 "xsl:text content problem\n");
-        break;
-        }
-        copy = xmlNewDocText(ctxt->output, text->content);
-        if (text->type != XML_CDATA_SECTION_NODE) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-             "Disable escaping: %s\n", text->content);
-#endif
-        copy->name = xmlStringTextNoenc;
-        }
-        copy = xsltAddChild(ctxt->insert, copy);
-        text = text->next;
-    }
-    }
-}
-
-/**
- * xsltElement:
- * @ctxt:  a XSLT process context
- * @node:  the node in the source tree.
- * @inst:  the xslt element node
- * @castedComp:  precomputed information
- *
- * Process the xslt element node on the source node
- */
-void
-xsltElement(xsltTransformContextPtr ctxt, xmlNodePtr node,
-        xmlNodePtr inst, xsltStylePreCompPtr castedComp) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemElementPtr comp = (xsltStyleItemElementPtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-#endif
-    xmlChar *prop = NULL;
-    const xmlChar *name, *prefix = NULL, *nsName = NULL;
-    xmlNodePtr copy;
-    xmlNodePtr oldInsert;
-
-    if (ctxt->insert == NULL)
-    return;
-
-    /*
-    * A comp->has_name == 0 indicates that we need to skip this instruction,
-    * since it was evaluated to be invalid already during compilation.
-    */
-    if (!comp->has_name)
-        return;
-
-    /*
-     * stack and saves
-     */
-    oldInsert = ctxt->insert;
-
-    if (comp->name == NULL) {
-    /* TODO: fix attr acquisition wrt to the XSLT namespace */
-        prop = xsltEvalAttrValueTemplate(ctxt, inst,
-        (const xmlChar *) "name", XSLT_NAMESPACE);
-        if (prop == NULL) {
-            xsltTransformError(ctxt, NULL, inst,
-        "xsl:element: The attribute 'name' is missing.\n");
-            goto error;
-        }
-    if (xmlValidateQName(prop, 0)) {
-        xsltTransformError(ctxt, NULL, inst,
-        "xsl:element: The effective name '%s' is not a "
-        "valid QName.\n", prop);
-        /* we fall through to catch any further errors, if possible */
-    }
-    name = xsltSplitQName(ctxt->dict, prop, &prefix);
-    xmlFree(prop);
-    } else {
-    /*
-    * The "name" value was static.
-    */
-#ifdef XSLT_REFACTORED
-    prefix = comp->nsPrefix;
-    name = comp->name;
-#else
-    name = xsltSplitQName(ctxt->dict, comp->name, &prefix);
-#endif
-    }
-
-    /*
-     * Create the new element
-     */
-    if (ctxt->output->dict == ctxt->dict) {
-    copy = xmlNewDocNodeEatName(ctxt->output, NULL, (xmlChar *)name, NULL);
-    } else {
-    copy = xmlNewDocNode(ctxt->output, NULL, (xmlChar *)name, NULL);
-    }
-    if (copy == NULL) {
-    xsltTransformError(ctxt, NULL, inst,
-        "xsl:element : creation of %s failed\n", name);
-    return;
-    }
-    copy = xsltAddChild(ctxt->insert, copy);
-
-    /*
-    * Namespace
-    * ---------
-    */
-    if (comp->has_ns) {
-    if (comp->ns != NULL) {
-        /*
-        * No AVT; just plain text for the namespace name.
-        */
-        if (comp->ns[0] != 0)
-        nsName = comp->ns;
-    } else {
-        xmlChar *tmpNsName;
-        /*
-        * Eval the AVT.
-        */
-        /* TODO: check attr acquisition wrt to the XSLT namespace */
-        tmpNsName = xsltEvalAttrValueTemplate(ctxt, inst,
-        (const xmlChar *) "namespace", XSLT_NAMESPACE);
-        /*
-        * SPEC XSLT 1.0:
-        *  "If the string is empty, then the expanded-name of the
-        *  attribute has a null namespace URI."
-        */
-        if ((tmpNsName != NULL) && (tmpNsName[0] != 0))
-        nsName = xmlDictLookup(ctxt->dict, BAD_CAST tmpNsName, -1);
-        xmlFree(tmpNsName);
-    }
-
-        if (xmlStrEqual(nsName, BAD_CAST "http://www.w3.org/2000/xmlns/")) {
-            xsltTransformError(ctxt, NULL, inst,
-                "xsl:attribute: Namespace http://www.w3.org/2000/xmlns/ "
-                "forbidden.\n");
-            goto error;
-        }
-        if (xmlStrEqual(nsName, XML_XML_NAMESPACE)) {
-            prefix = BAD_CAST "xml";
-        } else if (xmlStrEqual(prefix, BAD_CAST "xml")) {
-            prefix = NULL;
-        }
-    } else {
-    xmlNsPtr ns;
-    /*
-    * SPEC XSLT 1.0:
-    *  "If the namespace attribute is not present, then the QName is
-    *  expanded into an expanded-name using the namespace declarations
-    *  in effect for the xsl:element element, including any default
-    *  namespace declaration.
-    */
-    ns = xmlSearchNs(inst->doc, inst, prefix);
-    if (ns == NULL) {
-        /*
-        * TODO: Check this in the compilation layer in case it's a
-        * static value.
-        */
-            if (prefix != NULL) {
-                xsltTransformError(ctxt, NULL, inst,
-                    "xsl:element: The QName '%s:%s' has no "
-                    "namespace binding in scope in the stylesheet; "
-                    "this is an error, since the namespace was not "
-                    "specified by the instruction itself.\n", prefix, name);
-            }
-    } else
-        nsName = ns->href;
-    }
-    /*
-    * Find/create a matching ns-decl in the result tree.
-    */
-    if (nsName != NULL) {
-    if (xmlStrEqual(prefix, BAD_CAST "xmlns")) {
-            /* Don't use a prefix of "xmlns" */
-        xmlChar *pref = xmlStrdup(BAD_CAST "ns_1");
-
-        copy->ns = xsltGetSpecialNamespace(ctxt, inst, nsName, pref, copy);
-
-        xmlFree(pref);
-    } else {
-        copy->ns = xsltGetSpecialNamespace(ctxt, inst, nsName, prefix,
-        copy);
-    }
-    } else if ((copy->parent != NULL) &&
-    (copy->parent->type == XML_ELEMENT_NODE) &&
-    (copy->parent->ns != NULL))
-    {
-    /*
-    * "Undeclare" the default namespace.
-    */
-    xsltGetSpecialNamespace(ctxt, inst, NULL, NULL, copy);
-    }
-
-    ctxt->insert = copy;
-
-    if (comp->has_use) {
-    if (comp->use != NULL) {
-        xsltApplyAttributeSet(ctxt, node, inst, comp->use);
-    } else {
-        xmlChar *attrSets = NULL;
-        /*
-        * BUG TODO: use-attribute-sets is not a value template.
-        *  use-attribute-sets = qnames
-        */
-        attrSets = xsltEvalAttrValueTemplate(ctxt, inst,
-        (const xmlChar *)"use-attribute-sets", NULL);
-        if (attrSets != NULL) {
-        xsltApplyAttributeSet(ctxt, node, inst, attrSets);
-        xmlFree(attrSets);
-        }
-    }
-    }
-    /*
-    * Instantiate the sequence constructor.
-    */
-    if (inst->children != NULL)
-    xsltApplySequenceConstructor(ctxt, ctxt->node, inst->children,
-        NULL);
-
-error:
-    ctxt->insert = oldInsert;
-    return;
-}
-
-
-/**
- * xsltComment:
- * @ctxt:  a XSLT process context
- * @node:  the node in the source tree.
- * @inst:  the xslt comment node
- * @comp:  precomputed information
- *
- * Process the xslt comment node on the source node
- */
-void
-xsltComment(xsltTransformContextPtr ctxt, xmlNodePtr node,
-               xmlNodePtr inst, xsltStylePreCompPtr comp ATTRIBUTE_UNUSED) {
-    xmlChar *value = NULL;
-    xmlNodePtr commentNode;
-    int len;
-
-    value = xsltEvalTemplateString(ctxt, node, inst);
-    /* TODO: use or generate the compiled form */
-    len = xmlStrlen(value);
-    if (len > 0) {
-        if ((value[len-1] == '-') ||
-        (xmlStrstr(value, BAD_CAST "--"))) {
-        xsltTransformError(ctxt, NULL, inst,
-            "xsl:comment : '--' or ending '-' not allowed in comment\n");
-        /* fall through to try to catch further errors */
-    }
-    }
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    if (value == NULL) {
-    XSLT_TRACE(ctxt,XSLT_TRACE_COMMENT,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltComment: empty\n"));
-    } else {
-    XSLT_TRACE(ctxt,XSLT_TRACE_COMMENT,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltComment: content %s\n", value));
-    }
-#endif
-
-    commentNode = xmlNewComment(value);
-    commentNode = xsltAddChild(ctxt->insert, commentNode);
-
-    if (value != NULL)
-    xmlFree(value);
-}
-
-/**
- * xsltProcessingInstruction:
- * @ctxt:  a XSLT process context
- * @node:  the node in the source tree.
- * @inst:  the xslt processing-instruction node
- * @castedComp:  precomputed information
- *
- * Process the xslt processing-instruction node on the source node
- */
-void
-xsltProcessingInstruction(xsltTransformContextPtr ctxt, xmlNodePtr node,
-               xmlNodePtr inst, xsltStylePreCompPtr castedComp) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemPIPtr comp = (xsltStyleItemPIPtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-#endif
-    const xmlChar *name;
-    xmlChar *value = NULL;
-    xmlNodePtr pi;
-
-
-    if (ctxt->insert == NULL)
-    return;
-    if (comp->has_name == 0)
-    return;
-    if (comp->name == NULL) {
-    name = xsltEvalAttrValueTemplate(ctxt, inst,
-                (const xmlChar *)"name", NULL);
-    if (name == NULL) {
-        xsltTransformError(ctxt, NULL, inst,
-         "xsl:processing-instruction : name is missing\n");
-        goto error;
-    }
-    } else {
-    name = comp->name;
-    }
-    /* TODO: check that it's both an an NCName and a PITarget. */
-
-
-    value = xsltEvalTemplateString(ctxt, node, inst);
-    if (xmlStrstr(value, BAD_CAST "?>") != NULL) {
-    xsltTransformError(ctxt, NULL, inst,
-         "xsl:processing-instruction: '?>' not allowed within PI content\n");
-    goto error;
-    }
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    if (value == NULL) {
-    XSLT_TRACE(ctxt,XSLT_TRACE_PI,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltProcessingInstruction: %s empty\n", name));
-    } else {
-    XSLT_TRACE(ctxt,XSLT_TRACE_PI,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltProcessingInstruction: %s content %s\n", name, value));
-    }
-#endif
-
-    pi = xmlNewDocPI(ctxt->insert->doc, name, value);
-    pi = xsltAddChild(ctxt->insert, pi);
-
-error:
-    if ((name != NULL) && (name != comp->name))
-        xmlFree((xmlChar *) name);
-    if (value != NULL)
-    xmlFree(value);
-}
-
-/**
- * xsltCopyOf:
- * @ctxt:  an XSLT transformation context
- * @node:  the current node in the source tree
- * @inst:  the element node of the XSLT copy-of instruction
- * @castedComp:  precomputed information of the XSLT copy-of instruction
- *
- * Process the XSLT copy-of instruction.
- */
-void
-xsltCopyOf(xsltTransformContextPtr ctxt, xmlNodePtr node,
-               xmlNodePtr inst, xsltStylePreCompPtr castedComp) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemCopyOfPtr comp = (xsltStyleItemCopyOfPtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-#endif
-    xmlXPathObjectPtr res = NULL;
-    xmlNodeSetPtr list = NULL;
-    int i;
-    xmlDocPtr oldXPContextDoc;
-    xmlNsPtr *oldXPNamespaces;
-    xmlNodePtr oldXPContextNode;
-    int oldXPProximityPosition, oldXPContextSize, oldXPNsNr;
-    xmlXPathContextPtr xpctxt;
-
-    if ((ctxt == NULL) || (node == NULL) || (inst == NULL))
-    return;
-    if ((comp == NULL) || (comp->select == NULL) || (comp->comp == NULL)) {
-    xsltTransformError(ctxt, NULL, inst,
-         "xsl:copy-of : compilation failed\n");
-    return;
-    }
-
-     /*
-    * SPEC XSLT 1.0:
-    *  "The xsl:copy-of element can be used to insert a result tree
-    *  fragment into the result tree, without first converting it to
-    *  a string as xsl:value-of does (see [7.6.1 Generating Text with
-    *  xsl:value-of]). The required select attribute contains an
-    *  expression. When the result of evaluating the expression is a
-    *  result tree fragment, the complete fragment is copied into the
-    *  result tree. When the result is a node-set, all the nodes in the
-    *  set are copied in document order into the result tree; copying
-    *  an element node copies the attribute nodes, namespace nodes and
-    *  children of the element node as well as the element node itself;
-    *  a root node is copied by copying its children. When the result
-    *  is neither a node-set nor a result tree fragment, the result is
-    *  converted to a string and then inserted into the result tree,
-    *  as with xsl:value-of.
-    */
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    XSLT_TRACE(ctxt,XSLT_TRACE_COPY_OF,xsltGenericDebug(xsltGenericDebugContext,
-     "xsltCopyOf: select %s\n", comp->select));
-#endif
-
-    /*
-    * Evaluate the "select" expression.
-    */
-    xpctxt = ctxt->xpathCtxt;
-    oldXPContextDoc = xpctxt->doc;
-    oldXPContextNode = xpctxt->node;
-    oldXPProximityPosition = xpctxt->proximityPosition;
-    oldXPContextSize = xpctxt->contextSize;
-    oldXPNsNr = xpctxt->nsNr;
-    oldXPNamespaces = xpctxt->namespaces;
-
-    xpctxt->node = node;
-    if (comp != NULL) {
-
-#ifdef XSLT_REFACTORED
-    if (comp->inScopeNs != NULL) {
-        xpctxt->namespaces = comp->inScopeNs->list;
-        xpctxt->nsNr = comp->inScopeNs->xpathNumber;
-    } else {
-        xpctxt->namespaces = NULL;
-        xpctxt->nsNr = 0;
-    }
-#else
-    xpctxt->namespaces = comp->nsList;
-    xpctxt->nsNr = comp->nsNr;
-#endif
-    } else {
-    xpctxt->namespaces = NULL;
-    xpctxt->nsNr = 0;
-    }
-
-    res = xmlXPathCompiledEval(comp->comp, xpctxt);
-
-    xpctxt->doc = oldXPContextDoc;
-    xpctxt->node = oldXPContextNode;
-    xpctxt->contextSize = oldXPContextSize;
-    xpctxt->proximityPosition = oldXPProximityPosition;
-    xpctxt->nsNr = oldXPNsNr;
-    xpctxt->namespaces = oldXPNamespaces;
-
-    if (res != NULL) {
-    if (res->type == XPATH_NODESET) {
-        /*
-        * Node-set
-        * --------
-        */
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_COPY_OF,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltCopyOf: result is a node set\n"));
-#endif
-        list = res->nodesetval;
-        if (list != NULL) {
-        xmlNodePtr cur;
-        /*
-        * The list is already sorted in document order by XPath.
-        * Append everything in this order under ctxt->insert.
-        */
-        for (i = 0;i < list->nodeNr;i++) {
-            cur = list->nodeTab[i];
-            if (cur == NULL)
-            continue;
-            if ((cur->type == XML_DOCUMENT_NODE) ||
-            (cur->type == XML_HTML_DOCUMENT_NODE))
-            {
-            xsltCopyTreeList(ctxt, inst,
-                cur->children, ctxt->insert, 0, 0);
-            } else if (cur->type == XML_ATTRIBUTE_NODE) {
-            xsltShallowCopyAttr(ctxt, inst,
-                ctxt->insert, (xmlAttrPtr) cur);
-            } else {
-            xsltCopyTreeInternal(ctxt, inst,
-                cur, ctxt->insert, 0, 0);
-            }
-        }
-        }
-    } else if (res->type == XPATH_XSLT_TREE) {
-        /*
-        * Result tree fragment
-        * --------------------
-        * E.g. via 
-        * Note that the root node of such trees is an xmlDocPtr in Libxslt.
-        */
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_COPY_OF,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltCopyOf: result is a result tree fragment\n"));
-#endif
-        list = res->nodesetval;
-        if ((list != NULL) && (list->nodeTab != NULL) &&
-        (list->nodeTab[0] != NULL) &&
-        (IS_XSLT_REAL_NODE(list->nodeTab[0])))
-        {
-        xsltCopyTreeList(ctxt, inst,
-            list->nodeTab[0]->children, ctxt->insert, 0, 0);
-        }
-    } else {
-        xmlChar *value = NULL;
-        /*
-        * Convert to a string.
-        */
-        value = xmlXPathCastToString(res);
-        if (value == NULL) {
-        xsltTransformError(ctxt, NULL, inst,
-            "Internal error in xsltCopyOf(): "
-            "failed to cast an XPath object to string.\n");
-        ctxt->state = XSLT_STATE_STOPPED;
-        } else {
-        if (value[0] != 0) {
-            /*
-            * Append content as text node.
-            */
-            xsltCopyTextString(ctxt, ctxt->insert, value, 0);
-        }
-        xmlFree(value);
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_COPY_OF,xsltGenericDebug(xsltGenericDebugContext,
-            "xsltCopyOf: result %s\n", res->stringval));
-#endif
-        }
-    }
-    } else {
-    ctxt->state = XSLT_STATE_STOPPED;
-    }
-
-    if (res != NULL)
-    xmlXPathFreeObject(res);
-}
-
-/**
- * xsltValueOf:
- * @ctxt:  a XSLT process context
- * @node:  the node in the source tree.
- * @inst:  the xslt value-of node
- * @castedComp:  precomputed information
- *
- * Process the xslt value-of node on the source node
- */
-void
-xsltValueOf(xsltTransformContextPtr ctxt, xmlNodePtr node,
-               xmlNodePtr inst, xsltStylePreCompPtr castedComp)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleItemValueOfPtr comp = (xsltStyleItemValueOfPtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-#endif
-    xmlXPathObjectPtr res = NULL;
-    xmlChar *value = NULL;
-    xmlDocPtr oldXPContextDoc;
-    xmlNsPtr *oldXPNamespaces;
-    xmlNodePtr oldXPContextNode;
-    int oldXPProximityPosition, oldXPContextSize, oldXPNsNr;
-    xmlXPathContextPtr xpctxt;
-
-    if ((ctxt == NULL) || (node == NULL) || (inst == NULL))
-    return;
-
-    if ((comp == NULL) || (comp->select == NULL) || (comp->comp == NULL)) {
-    xsltTransformError(ctxt, NULL, inst,
-        "Internal error in xsltValueOf(): "
-        "The XSLT 'value-of' instruction was not compiled.\n");
-    return;
-    }
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    XSLT_TRACE(ctxt,XSLT_TRACE_VALUE_OF,xsltGenericDebug(xsltGenericDebugContext,
-     "xsltValueOf: select %s\n", comp->select));
-#endif
-
-    xpctxt = ctxt->xpathCtxt;
-    oldXPContextDoc = xpctxt->doc;
-    oldXPContextNode = xpctxt->node;
-    oldXPProximityPosition = xpctxt->proximityPosition;
-    oldXPContextSize = xpctxt->contextSize;
-    oldXPNsNr = xpctxt->nsNr;
-    oldXPNamespaces = xpctxt->namespaces;
-
-    xpctxt->node = node;
-    if (comp != NULL) {
-
-#ifdef XSLT_REFACTORED
-    if (comp->inScopeNs != NULL) {
-        xpctxt->namespaces = comp->inScopeNs->list;
-        xpctxt->nsNr = comp->inScopeNs->xpathNumber;
-    } else {
-        xpctxt->namespaces = NULL;
-        xpctxt->nsNr = 0;
-    }
-#else
-    xpctxt->namespaces = comp->nsList;
-    xpctxt->nsNr = comp->nsNr;
-#endif
-    } else {
-    xpctxt->namespaces = NULL;
-    xpctxt->nsNr = 0;
-    }
-
-    res = xmlXPathCompiledEval(comp->comp, xpctxt);
-
-    xpctxt->doc = oldXPContextDoc;
-    xpctxt->node = oldXPContextNode;
-    xpctxt->contextSize = oldXPContextSize;
-    xpctxt->proximityPosition = oldXPProximityPosition;
-    xpctxt->nsNr = oldXPNsNr;
-    xpctxt->namespaces = oldXPNamespaces;
-
-    /*
-    * Cast the XPath object to string.
-    */
-    if (res != NULL) {
-    value = xmlXPathCastToString(res);
-    if (value == NULL) {
-        xsltTransformError(ctxt, NULL, inst,
-        "Internal error in xsltValueOf(): "
-        "failed to cast an XPath object to string.\n");
-        ctxt->state = XSLT_STATE_STOPPED;
-        goto error;
-    }
-    if (value[0] != 0) {
-        xsltCopyTextString(ctxt, ctxt->insert, value, comp->noescape);
-    }
-    } else {
-    xsltTransformError(ctxt, NULL, inst,
-        "XPath evaluation returned no result.\n");
-    ctxt->state = XSLT_STATE_STOPPED;
-    goto error;
-    }
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    if (value) {
-    XSLT_TRACE(ctxt,XSLT_TRACE_VALUE_OF,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltValueOf: result '%s'\n", value));
-    }
-#endif
-
-error:
-    if (value != NULL)
-    xmlFree(value);
-    if (res != NULL)
-    xmlXPathFreeObject(res);
-}
-
-/**
- * xsltNumber:
- * @ctxt:  a XSLT process context
- * @node:  the node in the source tree.
- * @inst:  the xslt number node
- * @castedComp:  precomputed information
- *
- * Process the xslt number node on the source node
- */
-void
-xsltNumber(xsltTransformContextPtr ctxt, xmlNodePtr node,
-       xmlNodePtr inst, xsltStylePreCompPtr castedComp)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleItemNumberPtr comp = (xsltStyleItemNumberPtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-#endif
-    if (comp == NULL) {
-    xsltTransformError(ctxt, NULL, inst,
-         "xsl:number : compilation failed\n");
-    return;
-    }
-
-    if ((ctxt == NULL) || (node == NULL) || (inst == NULL) || (comp == NULL))
-    return;
-
-    comp->numdata.doc = inst->doc;
-    comp->numdata.node = inst;
-
-    xsltNumberFormat(ctxt, &comp->numdata, node);
-}
-
-/**
- * xsltApplyImports:
- * @ctxt:  an XSLT transformation context
- * @contextNode:  the current node in the source tree.
- * @inst:  the element node of the XSLT 'apply-imports' instruction
- * @comp:  the compiled instruction
- *
- * Process the XSLT apply-imports element.
- */
-void
-xsltApplyImports(xsltTransformContextPtr ctxt, xmlNodePtr contextNode,
-             xmlNodePtr inst,
-         xsltStylePreCompPtr comp ATTRIBUTE_UNUSED)
-{
-    xsltTemplatePtr templ;
-
-    if ((ctxt == NULL) || (inst == NULL))
-    return;
-
-    if (comp == NULL) {
-    xsltTransformError(ctxt, NULL, inst,
-        "Internal error in xsltApplyImports(): "
-        "The XSLT 'apply-imports' instruction was not compiled.\n");
-    return;
-    }
-    /*
-    * NOTE that ctxt->currentTemplateRule and ctxt->templ is not the
-    * same; the former is the "Current Template Rule" as defined by the
-    * XSLT spec, the latter is simply the template struct being
-    * currently processed.
-    */
-    if (ctxt->currentTemplateRule == NULL) {
-    /*
-    * SPEC XSLT 2.0:
-    * "[ERR XTDE0560] It is a non-recoverable dynamic error if
-    *  xsl:apply-imports or xsl:next-match is evaluated when the
-    *  current template rule is null."
-    */
-    xsltTransformError(ctxt, NULL, inst,
-         "It is an error to call 'apply-imports' "
-         "when there's no current template rule.\n");
-    return;
-    }
-    /*
-    * TODO: Check if this is correct.
-    */
-    templ = xsltGetTemplate(ctxt, contextNode,
-    ctxt->currentTemplateRule->style);
-
-    if (templ != NULL) {
-    xsltTemplatePtr oldCurTemplRule = ctxt->currentTemplateRule;
-    /*
-    * Set the current template rule.
-    */
-    ctxt->currentTemplateRule = templ;
-    /*
-    * URGENT TODO: Need xsl:with-param be handled somehow here?
-    */
-    xsltApplyXSLTTemplate(ctxt, contextNode, templ->content,
-        templ, NULL);
-
-    ctxt->currentTemplateRule = oldCurTemplRule;
-    }
-}
-
-/**
- * xsltCallTemplate:
- * @ctxt:  a XSLT transformation context
- * @node:  the "current node" in the source tree
- * @inst:  the XSLT 'call-template' instruction
- * @castedComp:  the compiled information of the instruction
- *
- * Processes the XSLT call-template instruction on the source node.
- */
-void
-xsltCallTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node,
-               xmlNodePtr inst, xsltStylePreCompPtr castedComp)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleItemCallTemplatePtr comp =
-    (xsltStyleItemCallTemplatePtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-#endif
-    xsltStackElemPtr withParams = NULL;
-
-    if (ctxt->insert == NULL)
-    return;
-    if (comp == NULL) {
-    xsltTransformError(ctxt, NULL, inst,
-         "The XSLT 'call-template' instruction was not compiled.\n");
-    return;
-    }
-
-    /*
-     * The template must have been precomputed
-     */
-    if (comp->templ == NULL) {
-    comp->templ = xsltFindTemplate(ctxt, comp->name, comp->ns);
-    if (comp->templ == NULL) {
-        if (comp->ns != NULL) {
-            xsltTransformError(ctxt, NULL, inst,
-            "The called template '{%s}%s' was not found.\n",
-            comp->ns, comp->name);
-        } else {
-            xsltTransformError(ctxt, NULL, inst,
-            "The called template '%s' was not found.\n",
-            comp->name);
-        }
-        return;
-    }
-    }
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    if ((comp != NULL) && (comp->name != NULL))
-    XSLT_TRACE(ctxt,XSLT_TRACE_CALL_TEMPLATE,xsltGenericDebug(xsltGenericDebugContext,
-             "call-template: name %s\n", comp->name));
-#endif
-
-    if (inst->children) {
-    xmlNodePtr cur;
-    xsltStackElemPtr param;
-
-    cur = inst->children;
-    while (cur != NULL) {
-#ifdef WITH_DEBUGGER
-        if (ctxt->debugStatus != XSLT_DEBUG_NONE)
-        xslHandleDebugger(cur, node, comp->templ, ctxt);
-#endif
-        if (ctxt->state == XSLT_STATE_STOPPED) break;
-        /*
-        * TODO: The "with-param"s could be part of the "call-template"
-        *   structure. Avoid to "search" for params dynamically
-        *   in the XML tree every time.
-        */
-        if (IS_XSLT_ELEM(cur)) {
-        if (IS_XSLT_NAME(cur, "with-param")) {
-            param = xsltParseStylesheetCallerParam(ctxt, cur);
-            if (param != NULL) {
-            param->next = withParams;
-            withParams = param;
-            }
-        } else {
-            xsltGenericError(xsltGenericErrorContext,
-            "xsl:call-template: misplaced xsl:%s\n", cur->name);
-        }
-        } else {
-        xsltGenericError(xsltGenericErrorContext,
-            "xsl:call-template: misplaced %s element\n", cur->name);
-        }
-        cur = cur->next;
-    }
-    }
-    /*
-     * Create a new frame using the params first
-     */
-    xsltApplyXSLTTemplate(ctxt, node, comp->templ->content, comp->templ,
-    withParams);
-    if (withParams != NULL)
-    xsltFreeStackElemList(withParams);
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    if ((comp != NULL) && (comp->name != NULL))
-    XSLT_TRACE(ctxt,XSLT_TRACE_CALL_TEMPLATE,xsltGenericDebug(xsltGenericDebugContext,
-             "call-template returned: name %s\n", comp->name));
-#endif
-}
-
-/**
- * xsltApplyTemplates:
- * @ctxt:  a XSLT transformation context
- * @node:  the 'current node' in the source tree
- * @inst:  the element node of an XSLT 'apply-templates' instruction
- * @castedComp:  the compiled instruction
- *
- * Processes the XSLT 'apply-templates' instruction on the current node.
- */
-void
-xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
-               xmlNodePtr inst, xsltStylePreCompPtr castedComp)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleItemApplyTemplatesPtr comp =
-    (xsltStyleItemApplyTemplatesPtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-#endif
-    int i;
-    xmlNodePtr cur, delNode = NULL, oldContextNode;
-    xmlNodeSetPtr list = NULL, oldList;
-    xsltStackElemPtr withParams = NULL;
-    int oldXPProximityPosition, oldXPContextSize, oldXPNsNr;
-    const xmlChar *oldMode, *oldModeURI;
-    xmlDocPtr oldXPDoc;
-    xsltDocumentPtr oldDocInfo;
-    xmlXPathContextPtr xpctxt;
-    xmlNsPtr *oldXPNamespaces;
-
-    if (comp == NULL) {
-    xsltTransformError(ctxt, NULL, inst,
-         "xsl:apply-templates : compilation failed\n");
-    return;
-    }
-    if ((ctxt == NULL) || (node == NULL) || (inst == NULL) || (comp == NULL))
-    return;
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    if ((node != NULL) && (node->name != NULL))
-    XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltApplyTemplates: node: '%s'\n", node->name));
-#endif
-
-    xpctxt = ctxt->xpathCtxt;
-    /*
-    * Save context states.
-    */
-    oldContextNode = ctxt->node;
-    oldMode = ctxt->mode;
-    oldModeURI = ctxt->modeURI;
-    oldDocInfo = ctxt->document;
-    oldList = ctxt->nodeList;
-
-    /*
-     * The xpath context size and proximity position, as
-     * well as the xpath and context documents, may be changed
-     * so we save their initial state and will restore on exit
-     */
-    oldXPContextSize = xpctxt->contextSize;
-    oldXPProximityPosition = xpctxt->proximityPosition;
-    oldXPDoc = xpctxt->doc;
-    oldXPNsNr = xpctxt->nsNr;
-    oldXPNamespaces = xpctxt->namespaces;
-
-    /*
-    * Set up contexts.
-    */
-    ctxt->mode = comp->mode;
-    ctxt->modeURI = comp->modeURI;
-
-    if (comp->select != NULL) {
-    xmlXPathObjectPtr res = NULL;
-
-    if (comp->comp == NULL) {
-        xsltTransformError(ctxt, NULL, inst,
-         "xsl:apply-templates : compilation failed\n");
-        goto error;
-    }
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltApplyTemplates: select %s\n", comp->select));
-#endif
-
-    /*
-    * Set up XPath.
-    */
-    xpctxt->node = node; /* Set the "context node" */
-#ifdef XSLT_REFACTORED
-    if (comp->inScopeNs != NULL) {
-        xpctxt->namespaces = comp->inScopeNs->list;
-        xpctxt->nsNr = comp->inScopeNs->xpathNumber;
-    } else {
-        xpctxt->namespaces = NULL;
-        xpctxt->nsNr = 0;
-    }
-#else
-    xpctxt->namespaces = comp->nsList;
-    xpctxt->nsNr = comp->nsNr;
-#endif
-    res = xmlXPathCompiledEval(comp->comp, xpctxt);
-
-    xpctxt->contextSize = oldXPContextSize;
-    xpctxt->proximityPosition = oldXPProximityPosition;
-    if (res != NULL) {
-        if (res->type == XPATH_NODESET) {
-        list = res->nodesetval; /* consume the node set */
-        res->nodesetval = NULL;
-        } else {
-        xsltTransformError(ctxt, NULL, inst,
-            "The 'select' expression did not evaluate to a "
-            "node set.\n");
-        ctxt->state = XSLT_STATE_STOPPED;
-        xmlXPathFreeObject(res);
-        goto error;
-        }
-        xmlXPathFreeObject(res);
-        /*
-        * Note: An xsl:apply-templates with a 'select' attribute,
-        * can change the current source doc.
-        */
-    } else {
-        xsltTransformError(ctxt, NULL, inst,
-        "Failed to evaluate the 'select' expression.\n");
-        ctxt->state = XSLT_STATE_STOPPED;
-        goto error;
-    }
-    if (list == NULL) {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
-        "xsltApplyTemplates: select didn't evaluate to a node list\n"));
-#endif
-        goto exit;
-    }
-    /*
-    *
-    * NOTE: Previously a document info (xsltDocument) was
-    * created and attached to the Result Tree Fragment.
-    * But such a document info is created on demand in
-    * xsltKeyFunction() (functions.c), so we need to create
-    * it here beforehand.
-    * In order to take care of potential keys we need to
-    * do some extra work for the case when a Result Tree Fragment
-    * is converted into a nodeset (e.g. exslt:node-set()) :
-    * We attach a "pseudo-doc" (xsltDocument) to _private.
-    * This xsltDocument, together with the keyset, will be freed
-    * when the Result Tree Fragment is freed.
-    *
-    */
-#if 0
-    if ((ctxt->nbKeys > 0) &&
-        (list->nodeNr != 0) &&
-        (list->nodeTab[0]->doc != NULL) &&
-        XSLT_IS_RES_TREE_FRAG(list->nodeTab[0]->doc))
-    {
-        /*
-        * NOTE that it's also OK if @effectiveDocInfo will be
-        * set to NULL.
-        */
-        isRTF = 1;
-        effectiveDocInfo = list->nodeTab[0]->doc->_private;
-    }
-#endif
-    } else {
-    /*
-     * Build an XPath node set with the children
-     */
-    list = xmlXPathNodeSetCreate(NULL);
-    if (list == NULL)
-        goto error;
-    if (node->type != XML_NAMESPACE_DECL)
-        cur = node->children;
-    else
-        cur = NULL;
-    while (cur != NULL) {
-        switch (cur->type) {
-        case XML_TEXT_NODE:
-            if ((IS_BLANK_NODE(cur)) &&
-            (cur->parent != NULL) &&
-            (cur->parent->type == XML_ELEMENT_NODE) &&
-            (ctxt->style->stripSpaces != NULL)) {
-            const xmlChar *val;
-
-            if (cur->parent->ns != NULL) {
-                val = (const xmlChar *)
-                  xmlHashLookup2(ctxt->style->stripSpaces,
-                         cur->parent->name,
-                         cur->parent->ns->href);
-                if (val == NULL) {
-                val = (const xmlChar *)
-                  xmlHashLookup2(ctxt->style->stripSpaces,
-                         BAD_CAST "*",
-                         cur->parent->ns->href);
-                }
-            } else {
-                val = (const xmlChar *)
-                  xmlHashLookup2(ctxt->style->stripSpaces,
-                         cur->parent->name, NULL);
-            }
-            if ((val != NULL) &&
-                (xmlStrEqual(val, (xmlChar *) "strip"))) {
-                delNode = cur;
-                break;
-            }
-            }
-            /* no break on purpose */
-        case XML_ELEMENT_NODE:
-        case XML_DOCUMENT_NODE:
-        case XML_HTML_DOCUMENT_NODE:
-        case XML_CDATA_SECTION_NODE:
-        case XML_PI_NODE:
-        case XML_COMMENT_NODE:
-            xmlXPathNodeSetAddUnique(list, cur);
-            break;
-        case XML_DTD_NODE:
-            /* Unlink the DTD, it's still reachable
-             * using doc->intSubset */
-            if (cur->next != NULL)
-            cur->next->prev = cur->prev;
-            if (cur->prev != NULL)
-            cur->prev->next = cur->next;
-            break;
-        case XML_NAMESPACE_DECL:
-            break;
-        default:
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltApplyTemplates: skipping cur type %d\n",
-                     cur->type));
-#endif
-            delNode = cur;
-        }
-        cur = cur->next;
-        if (delNode != NULL) {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
-             "xsltApplyTemplates: removing ignorable blank cur\n"));
-#endif
-        xmlUnlinkNode(delNode);
-        xmlFreeNode(delNode);
-        delNode = NULL;
-        }
-    }
-    }
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    if (list != NULL)
-    XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
-    "xsltApplyTemplates: list of %d nodes\n", list->nodeNr));
-#endif
-
-    if ((list == NULL) || (list->nodeNr == 0))
-    goto exit;
-
-    /*
-    * Set the context's node set and size; this is also needed for
-    * for xsltDoSortFunction().
-    */
-    ctxt->nodeList = list;
-    /*
-    * Process xsl:with-param and xsl:sort instructions.
-    * (The code became so verbose just to avoid the
-    *  xmlNodePtr sorts[XSLT_MAX_SORT] if there's no xsl:sort)
-    * BUG TODO: We are not using namespaced potentially defined on the
-    * xsl:sort or xsl:with-param elements; XPath expression might fail.
-    */
-    if (inst->children) {
-    xsltStackElemPtr param;
-
-    cur = inst->children;
-    while (cur) {
-
-#ifdef WITH_DEBUGGER
-        if (ctxt->debugStatus != XSLT_DEBUG_NONE)
-        xslHandleDebugger(cur, node, NULL, ctxt);
-#endif
-        if (ctxt->state == XSLT_STATE_STOPPED)
-        break;
-        if (cur->type == XML_TEXT_NODE) {
-        cur = cur->next;
-        continue;
-        }
-        if (! IS_XSLT_ELEM(cur))
-        break;
-        if (IS_XSLT_NAME(cur, "with-param")) {
-        param = xsltParseStylesheetCallerParam(ctxt, cur);
-        if (param != NULL) {
-            param->next = withParams;
-            withParams = param;
-        }
-        }
-        if (IS_XSLT_NAME(cur, "sort")) {
-        xsltTemplatePtr oldCurTempRule =
-            ctxt->currentTemplateRule;
-        int nbsorts = 0;
-        xmlNodePtr sorts[XSLT_MAX_SORT];
-
-        sorts[nbsorts++] = cur;
-
-        while (cur) {
-
-#ifdef WITH_DEBUGGER
-            if (ctxt->debugStatus != XSLT_DEBUG_NONE)
-            xslHandleDebugger(cur, node, NULL, ctxt);
-#endif
-            if (ctxt->state == XSLT_STATE_STOPPED)
-            break;
-
-            if (cur->type == XML_TEXT_NODE) {
-            cur = cur->next;
-            continue;
-            }
-
-            if (! IS_XSLT_ELEM(cur))
-            break;
-            if (IS_XSLT_NAME(cur, "with-param")) {
-            param = xsltParseStylesheetCallerParam(ctxt, cur);
-            if (param != NULL) {
-                param->next = withParams;
-                withParams = param;
-            }
-            }
-            if (IS_XSLT_NAME(cur, "sort")) {
-            if (nbsorts >= XSLT_MAX_SORT) {
-                xsltTransformError(ctxt, NULL, cur,
-                "The number (%d) of xsl:sort instructions exceeds the "
-                "maximum allowed by this processor's settings.\n",
-                nbsorts);
-                ctxt->state = XSLT_STATE_STOPPED;
-                break;
-            } else {
-                sorts[nbsorts++] = cur;
-            }
-            }
-            cur = cur->next;
-        }
-        /*
-        * The "current template rule" is cleared for xsl:sort.
-        */
-        ctxt->currentTemplateRule = NULL;
-        /*
-        * Sort.
-        */
-        xsltDoSortFunction(ctxt, sorts, nbsorts);
-        ctxt->currentTemplateRule = oldCurTempRule;
-        break;
-        }
-        cur = cur->next;
-    }
-    }
-    xpctxt->contextSize = list->nodeNr;
-    /*
-    * Apply templates for all selected source nodes.
-    */
-    for (i = 0; i < list->nodeNr; i++) {
-    cur = list->nodeTab[i];
-    /*
-    * The node becomes the "current node".
-    */
-    ctxt->node = cur;
-    /*
-    * An xsl:apply-templates can change the current context doc.
-    * OPTIMIZE TODO: Get rid of the need to set the context doc.
-    */
-    if ((cur->type != XML_NAMESPACE_DECL) && (cur->doc != NULL))
-        xpctxt->doc = cur->doc;
-
-    xpctxt->proximityPosition = i + 1;
-    /*
-    * Find and apply a template for this node.
-    */
-    xsltProcessOneNode(ctxt, cur, withParams);
-    }
-
-exit:
-error:
-    /*
-    * Free the parameter list.
-    */
-    if (withParams != NULL)
-    xsltFreeStackElemList(withParams);
-    if (list != NULL)
-    xmlXPathFreeNodeSet(list);
-    /*
-    * Restore context states.
-    */
-    xpctxt->nsNr = oldXPNsNr;
-    xpctxt->namespaces = oldXPNamespaces;
-    xpctxt->doc = oldXPDoc;
-    xpctxt->contextSize = oldXPContextSize;
-    xpctxt->proximityPosition = oldXPProximityPosition;
-
-    ctxt->document = oldDocInfo;
-    ctxt->nodeList = oldList;
-    ctxt->node = oldContextNode;
-    ctxt->mode = oldMode;
-    ctxt->modeURI = oldModeURI;
-}
-
-
-/**
- * xsltChoose:
- * @ctxt:  a XSLT process context
- * @contextNode:  the current node in the source tree
- * @inst:  the xsl:choose instruction
- * @comp:  compiled information of the instruction
- *
- * Processes the xsl:choose instruction on the source node.
- */
-void
-xsltChoose(xsltTransformContextPtr ctxt, xmlNodePtr contextNode,
-       xmlNodePtr inst, xsltStylePreCompPtr comp ATTRIBUTE_UNUSED)
-{
-    xmlNodePtr cur;
-
-    if ((ctxt == NULL) || (contextNode == NULL) || (inst == NULL))
-    return;
-
-    /*
-    * TODO: Content model checks should be done only at compilation
-    * time.
-    */
-    cur = inst->children;
-    if (cur == NULL) {
-    xsltTransformError(ctxt, NULL, inst,
-        "xsl:choose: The instruction has no content.\n");
-    return;
-    }
-
-#ifdef XSLT_REFACTORED
-    /*
-    * We don't check the content model during transformation.
-    */
-#else
-    if ((! IS_XSLT_ELEM(cur)) || (! IS_XSLT_NAME(cur, "when"))) {
-    xsltTransformError(ctxt, NULL, inst,
-         "xsl:choose: xsl:when expected first\n");
-    return;
-    }
-#endif
-
-    {
-    int testRes = 0, res = 0;
-    xmlXPathContextPtr xpctxt = ctxt->xpathCtxt;
-    xmlDocPtr oldXPContextDoc = xpctxt->doc;
-    int oldXPProximityPosition = xpctxt->proximityPosition;
-    int oldXPContextSize = xpctxt->contextSize;
-    xmlNsPtr *oldXPNamespaces = xpctxt->namespaces;
-    int oldXPNsNr = xpctxt->nsNr;
-
-#ifdef XSLT_REFACTORED
-    xsltStyleItemWhenPtr wcomp = NULL;
-#else
-    xsltStylePreCompPtr wcomp = NULL;
-#endif
-
-    /*
-    * Process xsl:when ---------------------------------------------------
-    */
-    while (IS_XSLT_ELEM(cur) && IS_XSLT_NAME(cur, "when")) {
-        wcomp = cur->psvi;
-
-        if ((wcomp == NULL) || (wcomp->test == NULL) ||
-        (wcomp->comp == NULL))
-        {
-        xsltTransformError(ctxt, NULL, cur,
-            "Internal error in xsltChoose(): "
-            "The XSLT 'when' instruction was not compiled.\n");
-        goto error;
-        }
-
-
-#ifdef WITH_DEBUGGER
-        if (xslDebugStatus != XSLT_DEBUG_NONE) {
-        /*
-        * TODO: Isn't comp->templ always NULL for xsl:choose?
-        */
-        xslHandleDebugger(cur, contextNode, NULL, ctxt);
-        }
-#endif
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_CHOOSE,xsltGenericDebug(xsltGenericDebugContext,
-        "xsltChoose: test %s\n", wcomp->test));
-#endif
-
-        xpctxt->node = contextNode;
-        xpctxt->doc = oldXPContextDoc;
-        xpctxt->proximityPosition = oldXPProximityPosition;
-        xpctxt->contextSize = oldXPContextSize;
-
-#ifdef XSLT_REFACTORED
-        if (wcomp->inScopeNs != NULL) {
-        xpctxt->namespaces = wcomp->inScopeNs->list;
-        xpctxt->nsNr = wcomp->inScopeNs->xpathNumber;
-        } else {
-        xpctxt->namespaces = NULL;
-        xpctxt->nsNr = 0;
-        }
-#else
-        xpctxt->namespaces = wcomp->nsList;
-        xpctxt->nsNr = wcomp->nsNr;
-#endif
-
-
-#ifdef XSLT_FAST_IF
-        res = xmlXPathCompiledEvalToBoolean(wcomp->comp, xpctxt);
-
-        if (res == -1) {
-        ctxt->state = XSLT_STATE_STOPPED;
-        goto error;
-        }
-        testRes = (res == 1) ? 1 : 0;
-
-#else /* XSLT_FAST_IF */
-
-        res = xmlXPathCompiledEval(wcomp->comp, xpctxt);
-
-        if (res != NULL) {
-        if (res->type != XPATH_BOOLEAN)
-            res = xmlXPathConvertBoolean(res);
-        if (res->type == XPATH_BOOLEAN)
-            testRes = res->boolval;
-        else {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            XSLT_TRACE(ctxt,XSLT_TRACE_CHOOSE,xsltGenericDebug(xsltGenericDebugContext,
-            "xsltChoose: test didn't evaluate to a boolean\n"));
-#endif
-            goto error;
-        }
-        xmlXPathFreeObject(res);
-        res = NULL;
-        } else {
-        ctxt->state = XSLT_STATE_STOPPED;
-        goto error;
-        }
-
-#endif /* else of XSLT_FAST_IF */
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_CHOOSE,xsltGenericDebug(xsltGenericDebugContext,
-        "xsltChoose: test evaluate to %d\n", testRes));
-#endif
-        if (testRes)
-        goto test_is_true;
-
-        cur = cur->next;
-    }
-
-    /*
-    * Process xsl:otherwise ----------------------------------------------
-    */
-    if (IS_XSLT_ELEM(cur) && IS_XSLT_NAME(cur, "otherwise")) {
-
-#ifdef WITH_DEBUGGER
-        if (xslDebugStatus != XSLT_DEBUG_NONE)
-        xslHandleDebugger(cur, contextNode, NULL, ctxt);
-#endif
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_CHOOSE,xsltGenericDebug(xsltGenericDebugContext,
-        "evaluating xsl:otherwise\n"));
-#endif
-        goto test_is_true;
-    }
-    xpctxt->node = contextNode;
-    xpctxt->doc = oldXPContextDoc;
-    xpctxt->proximityPosition = oldXPProximityPosition;
-    xpctxt->contextSize = oldXPContextSize;
-    xpctxt->namespaces = oldXPNamespaces;
-    xpctxt->nsNr = oldXPNsNr;
-    goto exit;
-
-test_is_true:
-
-    xpctxt->node = contextNode;
-    xpctxt->doc = oldXPContextDoc;
-    xpctxt->proximityPosition = oldXPProximityPosition;
-    xpctxt->contextSize = oldXPContextSize;
-    xpctxt->namespaces = oldXPNamespaces;
-    xpctxt->nsNr = oldXPNsNr;
-    goto process_sequence;
-    }
-
-process_sequence:
-
-    /*
-    * Instantiate the sequence constructor.
-    */
-    xsltApplySequenceConstructor(ctxt, ctxt->node, cur->children,
-    NULL);
-
-exit:
-error:
-    return;
-}
-
-/**
- * xsltIf:
- * @ctxt:  a XSLT process context
- * @contextNode:  the current node in the source tree
- * @inst:  the xsl:if instruction
- * @castedComp:  compiled information of the instruction
- *
- * Processes the xsl:if instruction on the source node.
- */
-void
-xsltIf(xsltTransformContextPtr ctxt, xmlNodePtr contextNode,
-               xmlNodePtr inst, xsltStylePreCompPtr castedComp)
-{
-    int res = 0;
-
-#ifdef XSLT_REFACTORED
-    xsltStyleItemIfPtr comp = (xsltStyleItemIfPtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-#endif
-
-    if ((ctxt == NULL) || (contextNode == NULL) || (inst == NULL))
-    return;
-    if ((comp == NULL) || (comp->test == NULL) || (comp->comp == NULL)) {
-    xsltTransformError(ctxt, NULL, inst,
-        "Internal error in xsltIf(): "
-        "The XSLT 'if' instruction was not compiled.\n");
-    return;
-    }
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    XSLT_TRACE(ctxt,XSLT_TRACE_IF,xsltGenericDebug(xsltGenericDebugContext,
-     "xsltIf: test %s\n", comp->test));
-#endif
-
-#ifdef XSLT_FAST_IF
-    {
-    xmlXPathContextPtr xpctxt = ctxt->xpathCtxt;
-    xmlDocPtr oldXPContextDoc = xpctxt->doc;
-    xmlNsPtr *oldXPNamespaces = xpctxt->namespaces;
-    xmlNodePtr oldXPContextNode = xpctxt->node;
-    int oldXPProximityPosition = xpctxt->proximityPosition;
-    int oldXPContextSize = xpctxt->contextSize;
-    int oldXPNsNr = xpctxt->nsNr;
-    xmlDocPtr oldLocalFragmentTop = ctxt->localRVT;
-
-    xpctxt->node = contextNode;
-    if (comp != NULL) {
-
-#ifdef XSLT_REFACTORED
-        if (comp->inScopeNs != NULL) {
-        xpctxt->namespaces = comp->inScopeNs->list;
-        xpctxt->nsNr = comp->inScopeNs->xpathNumber;
-        } else {
-        xpctxt->namespaces = NULL;
-        xpctxt->nsNr = 0;
-        }
-#else
-        xpctxt->namespaces = comp->nsList;
-        xpctxt->nsNr = comp->nsNr;
-#endif
-    } else {
-        xpctxt->namespaces = NULL;
-        xpctxt->nsNr = 0;
-    }
-    /*
-    * This XPath function is optimized for boolean results.
-    */
-    res = xmlXPathCompiledEvalToBoolean(comp->comp, xpctxt);
-
-    /*
-    * Cleanup fragments created during evaluation of the
-    * "select" expression.
-    */
-    if (oldLocalFragmentTop != ctxt->localRVT)
-        xsltReleaseLocalRVTs(ctxt, oldLocalFragmentTop);
-
-    xpctxt->doc = oldXPContextDoc;
-    xpctxt->node = oldXPContextNode;
-    xpctxt->contextSize = oldXPContextSize;
-    xpctxt->proximityPosition = oldXPProximityPosition;
-    xpctxt->nsNr = oldXPNsNr;
-    xpctxt->namespaces = oldXPNamespaces;
-    }
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    XSLT_TRACE(ctxt,XSLT_TRACE_IF,xsltGenericDebug(xsltGenericDebugContext,
-    "xsltIf: test evaluate to %d\n", res));
-#endif
-
-    if (res == -1) {
-    ctxt->state = XSLT_STATE_STOPPED;
-    goto error;
-    }
-    if (res == 1) {
-    /*
-    * Instantiate the sequence constructor of xsl:if.
-    */
-    xsltApplySequenceConstructor(ctxt,
-        contextNode, inst->children, NULL);
-    }
-
-#else /* XSLT_FAST_IF */
-    {
-    xmlXPathObjectPtr xpobj = NULL;
-    /*
-    * OLD CODE:
-    */
-    {
-        xmlXPathContextPtr xpctxt = ctxt->xpathCtxt;
-        xmlDocPtr oldXPContextDoc = xpctxt->doc;
-        xmlNsPtr *oldXPNamespaces = xpctxt->namespaces;
-        xmlNodePtr oldXPContextNode = xpctxt->node;
-        int oldXPProximityPosition = xpctxt->proximityPosition;
-        int oldXPContextSize = xpctxt->contextSize;
-        int oldXPNsNr = xpctxt->nsNr;
-
-        xpctxt->node = contextNode;
-        if (comp != NULL) {
-
-#ifdef XSLT_REFACTORED
-        if (comp->inScopeNs != NULL) {
-            xpctxt->namespaces = comp->inScopeNs->list;
-            xpctxt->nsNr = comp->inScopeNs->xpathNumber;
-        } else {
-            xpctxt->namespaces = NULL;
-            xpctxt->nsNr = 0;
-        }
-#else
-        xpctxt->namespaces = comp->nsList;
-        xpctxt->nsNr = comp->nsNr;
-#endif
-        } else {
-        xpctxt->namespaces = NULL;
-        xpctxt->nsNr = 0;
-        }
-
-        /*
-        * This XPath function is optimized for boolean results.
-        */
-        xpobj = xmlXPathCompiledEval(comp->comp, xpctxt);
-
-        xpctxt->doc = oldXPContextDoc;
-        xpctxt->node = oldXPContextNode;
-        xpctxt->contextSize = oldXPContextSize;
-        xpctxt->proximityPosition = oldXPProximityPosition;
-        xpctxt->nsNr = oldXPNsNr;
-        xpctxt->namespaces = oldXPNamespaces;
-    }
-    if (xpobj != NULL) {
-        if (xpobj->type != XPATH_BOOLEAN)
-        xpobj = xmlXPathConvertBoolean(xpobj);
-        if (xpobj->type == XPATH_BOOLEAN) {
-        res = xpobj->boolval;
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_IF,xsltGenericDebug(xsltGenericDebugContext,
-            "xsltIf: test evaluate to %d\n", res));
-#endif
-        if (res) {
-            xsltApplySequenceConstructor(ctxt,
-            contextNode, inst->children, NULL);
-        }
-        } else {
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt, XSLT_TRACE_IF,
-            xsltGenericDebug(xsltGenericDebugContext,
-            "xsltIf: test didn't evaluate to a boolean\n"));
-#endif
-        ctxt->state = XSLT_STATE_STOPPED;
-        }
-        xmlXPathFreeObject(xpobj);
-    } else {
-        ctxt->state = XSLT_STATE_STOPPED;
-    }
-    }
-#endif /* else of XSLT_FAST_IF */
-
-error:
-    return;
-}
-
-/**
- * xsltForEach:
- * @ctxt:  an XSLT transformation context
- * @contextNode:  the "current node" in the source tree
- * @inst:  the element node of the xsl:for-each instruction
- * @castedComp:  the compiled information of the instruction
- *
- * Process the xslt for-each node on the source node
- */
-void
-xsltForEach(xsltTransformContextPtr ctxt, xmlNodePtr contextNode,
-        xmlNodePtr inst, xsltStylePreCompPtr castedComp)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleItemForEachPtr comp = (xsltStyleItemForEachPtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-#endif
-    int i;
-    xmlXPathObjectPtr res = NULL;
-    xmlNodePtr cur, curInst;
-    xmlNodeSetPtr list = NULL;
-    xmlNodeSetPtr oldList;
-    int oldXPProximityPosition, oldXPContextSize;
-    xmlNodePtr oldContextNode;
-    xsltTemplatePtr oldCurTemplRule;
-    xmlDocPtr oldXPDoc;
-    xsltDocumentPtr oldDocInfo;
-    xmlXPathContextPtr xpctxt;
-
-    if ((ctxt == NULL) || (contextNode == NULL) || (inst == NULL)) {
-    xsltGenericError(xsltGenericErrorContext,
-        "xsltForEach(): Bad arguments.\n");
-    return;
-    }
-
-    if (comp == NULL) {
-        xsltTransformError(ctxt, NULL, inst,
-        "Internal error in xsltForEach(): "
-        "The XSLT 'for-each' instruction was not compiled.\n");
-        return;
-    }
-    if ((comp->select == NULL) || (comp->comp == NULL)) {
-    xsltTransformError(ctxt, NULL, inst,
-        "Internal error in xsltForEach(): "
-        "The selecting expression of the XSLT 'for-each' "
-        "instruction was not compiled correctly.\n");
-    return;
-    }
-    xpctxt = ctxt->xpathCtxt;
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    XSLT_TRACE(ctxt,XSLT_TRACE_FOR_EACH,xsltGenericDebug(xsltGenericDebugContext,
-     "xsltForEach: select %s\n", comp->select));
-#endif
-
-    /*
-    * Save context states.
-    */
-    oldDocInfo = ctxt->document;
-    oldList = ctxt->nodeList;
-    oldContextNode = ctxt->node;
-    /*
-    * The "current template rule" is cleared for the instantiation of
-    * xsl:for-each.
-    */
-    oldCurTemplRule = ctxt->currentTemplateRule;
-    ctxt->currentTemplateRule = NULL;
-
-    oldXPDoc = xpctxt->doc;
-    oldXPProximityPosition = xpctxt->proximityPosition;
-    oldXPContextSize = xpctxt->contextSize;
-    /*
-    * Set up XPath.
-    */
-    xpctxt->node = contextNode;
-#ifdef XSLT_REFACTORED
-    if (comp->inScopeNs != NULL) {
-    xpctxt->namespaces = comp->inScopeNs->list;
-    xpctxt->nsNr = comp->inScopeNs->xpathNumber;
-    } else {
-    xpctxt->namespaces = NULL;
-    xpctxt->nsNr = 0;
-    }
-#else
-    xpctxt->namespaces = comp->nsList;
-    xpctxt->nsNr = comp->nsNr;
-#endif
-
-    /*
-    * Evaluate the 'select' expression.
-    */
-    res = xmlXPathCompiledEval(comp->comp, ctxt->xpathCtxt);
-
-    if (res != NULL) {
-    if (res->type == XPATH_NODESET)
-        list = res->nodesetval;
-    else {
-        xsltTransformError(ctxt, NULL, inst,
-        "The 'select' expression does not evaluate to a node set.\n");
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-        XSLT_TRACE(ctxt,XSLT_TRACE_FOR_EACH,xsltGenericDebug(xsltGenericDebugContext,
-        "xsltForEach: select didn't evaluate to a node list\n"));
-#endif
-        goto error;
-    }
-    } else {
-    xsltTransformError(ctxt, NULL, inst,
-        "Failed to evaluate the 'select' expression.\n");
-    ctxt->state = XSLT_STATE_STOPPED;
-    goto error;
-    }
-
-    if ((list == NULL) || (list->nodeNr <= 0))
-    goto exit;
-
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    XSLT_TRACE(ctxt,XSLT_TRACE_FOR_EACH,xsltGenericDebug(xsltGenericDebugContext,
-    "xsltForEach: select evaluates to %d nodes\n", list->nodeNr));
-#endif
-
-    /*
-    * Restore XPath states for the "current node".
-    */
-    xpctxt->contextSize = oldXPContextSize;
-    xpctxt->proximityPosition = oldXPProximityPosition;
-    xpctxt->node = contextNode;
-
-    /*
-    * Set the list; this has to be done already here for xsltDoSortFunction().
-    */
-    ctxt->nodeList = list;
-    /*
-    * Handle xsl:sort instructions and skip them for further processing.
-    * BUG TODO: We are not using namespaced potentially defined on the
-    * xsl:sort element; XPath expression might fail.
-    */
-    curInst = inst->children;
-    if (IS_XSLT_ELEM(curInst) && IS_XSLT_NAME(curInst, "sort")) {
-    int nbsorts = 0;
-    xmlNodePtr sorts[XSLT_MAX_SORT];
-
-    sorts[nbsorts++] = curInst;
-
-#ifdef WITH_DEBUGGER
-    if (xslDebugStatus != XSLT_DEBUG_NONE)
-        xslHandleDebugger(curInst, contextNode, NULL, ctxt);
-#endif
-
-    curInst = curInst->next;
-    while (IS_XSLT_ELEM(curInst) && IS_XSLT_NAME(curInst, "sort")) {
-        if (nbsorts >= XSLT_MAX_SORT) {
-        xsltTransformError(ctxt, NULL, curInst,
-            "The number of xsl:sort instructions exceeds the "
-            "maximum (%d) allowed by this processor.\n",
-            XSLT_MAX_SORT);
-        goto error;
-        } else {
-        sorts[nbsorts++] = curInst;
-        }
-
-#ifdef WITH_DEBUGGER
-        if (xslDebugStatus != XSLT_DEBUG_NONE)
-        xslHandleDebugger(curInst, contextNode, NULL, ctxt);
-#endif
-        curInst = curInst->next;
-    }
-    xsltDoSortFunction(ctxt, sorts, nbsorts);
-    }
-    xpctxt->contextSize = list->nodeNr;
-    /*
-    * Instantiate the sequence constructor for each selected node.
-    */
-    for (i = 0; i < list->nodeNr; i++) {
-    cur = list->nodeTab[i];
-    /*
-    * The selected node becomes the "current node".
-    */
-    ctxt->node = cur;
-    /*
-    * An xsl:for-each can change the current context doc.
-    * OPTIMIZE TODO: Get rid of the need to set the context doc.
-    */
-    if ((cur->type != XML_NAMESPACE_DECL) && (cur->doc != NULL))
-        xpctxt->doc = cur->doc;
-
-    xpctxt->proximityPosition = i + 1;
-
-    xsltApplySequenceConstructor(ctxt, cur, curInst, NULL);
-    }
-
-exit:
-error:
-    if (res != NULL)
-    xmlXPathFreeObject(res);
-    /*
-    * Restore old states.
-    */
-    ctxt->document = oldDocInfo;
-    ctxt->nodeList = oldList;
-    ctxt->node = oldContextNode;
-    ctxt->currentTemplateRule = oldCurTemplRule;
-
-    xpctxt->doc = oldXPDoc;
-    xpctxt->contextSize = oldXPContextSize;
-    xpctxt->proximityPosition = oldXPProximityPosition;
-}
-
-/************************************************************************
- *                                  *
- *          Generic interface               *
- *                                  *
- ************************************************************************/
-
-#ifdef XSLT_GENERATE_HTML_DOCTYPE
-typedef struct xsltHTMLVersion {
-    const char *version;
-    const char *public;
-    const char *system;
-} xsltHTMLVersion;
-
-static xsltHTMLVersion xsltHTMLVersions[] = {
-    { "4.01frame", "-//W3C//DTD HTML 4.01 Frameset//EN",
-      "http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd"},
-    { "4.01strict", "-//W3C//DTD HTML 4.01//EN",
-      "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd"},
-    { "4.01trans", "-//W3C//DTD HTML 4.01 Transitional//EN",
-      "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"},
-    { "4.01", "-//W3C//DTD HTML 4.01 Transitional//EN",
-      "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"},
-    { "4.0strict", "-//W3C//DTD HTML 4.01//EN",
-      "http://www.w3.org/TR/html4/strict.dtd"},
-    { "4.0trans", "-//W3C//DTD HTML 4.01 Transitional//EN",
-      "http://www.w3.org/TR/html4/loose.dtd"},
-    { "4.0frame", "-//W3C//DTD HTML 4.01 Frameset//EN",
-      "http://www.w3.org/TR/html4/frameset.dtd"},
-    { "4.0", "-//W3C//DTD HTML 4.01 Transitional//EN",
-      "http://www.w3.org/TR/html4/loose.dtd"},
-    { "3.2", "-//W3C//DTD HTML 3.2//EN", NULL }
-};
-
-/**
- * xsltGetHTMLIDs:
- * @version:  the version string
- * @publicID:  used to return the public ID
- * @systemID:  used to return the system ID
- *
- * Returns -1 if not found, 0 otherwise and the system and public
- *         Identifier for this given verion of HTML
- */
-static int
-xsltGetHTMLIDs(const xmlChar *version, const xmlChar **publicID,
-                const xmlChar **systemID) {
-    unsigned int i;
-    if (version == NULL)
-    return(-1);
-    for (i = 0;i < (sizeof(xsltHTMLVersions)/sizeof(xsltHTMLVersions[1]));
-     i++) {
-    if (!xmlStrcasecmp(version,
-                   (const xmlChar *) xsltHTMLVersions[i].version)) {
-        if (publicID != NULL)
-        *publicID = (const xmlChar *) xsltHTMLVersions[i].public;
-        if (systemID != NULL)
-        *systemID = (const xmlChar *) xsltHTMLVersions[i].system;
-        return(0);
-    }
-    }
-    return(-1);
-}
-#endif
-
-/**
- * xsltApplyStripSpaces:
- * @ctxt:  a XSLT process context
- * @node:  the root of the XML tree
- *
- * Strip the unwanted ignorable spaces from the input tree
- */
-void
-xsltApplyStripSpaces(xsltTransformContextPtr ctxt, xmlNodePtr node) {
-    xmlNodePtr current;
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    int nb = 0;
-#endif
-
-
-    current = node;
-    while (current != NULL) {
-    /*
-     * Cleanup children empty nodes if asked for
-     */
-    if ((IS_XSLT_REAL_NODE(current)) &&
-        (current->children != NULL) &&
-        (xsltFindElemSpaceHandling(ctxt, current))) {
-        xmlNodePtr delete = NULL, cur = current->children;
-
-        while (cur != NULL) {
-        if (IS_BLANK_NODE(cur))
-            delete = cur;
-
-        cur = cur->next;
-        if (delete != NULL) {
-            xmlUnlinkNode(delete);
-            xmlFreeNode(delete);
-            delete = NULL;
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            nb++;
-#endif
-        }
-        }
-    }
-
-    /*
-     * Skip to next node in document order.
-     */
-    if (node->type == XML_ENTITY_REF_NODE) {
-        /* process deep in entities */
-        xsltApplyStripSpaces(ctxt, node->children);
-    }
-    if ((current->children != NULL) &&
-            (current->type != XML_ENTITY_REF_NODE)) {
-        current = current->children;
-    } else if (current->next != NULL) {
-        current = current->next;
-    } else {
-        do {
-        current = current->parent;
-        if (current == NULL)
-            break;
-        if (current == node)
-            goto done;
-        if (current->next != NULL) {
-            current = current->next;
-            break;
-        }
-        } while (current != NULL);
-    }
-    }
-
-done:
-#ifdef WITH_XSLT_DEBUG_PROCESS
-    XSLT_TRACE(ctxt,XSLT_TRACE_STRIP_SPACES,xsltGenericDebug(xsltGenericDebugContext,
-         "xsltApplyStripSpaces: removed %d ignorable blank node\n", nb));
-#endif
-    return;
-}
-
-static int
-xsltCountKeys(xsltTransformContextPtr ctxt)
-{
-    xsltStylesheetPtr style;
-    xsltKeyDefPtr keyd;
-
-    if (ctxt == NULL)
-    return(-1);
-
-    /*
-    * Do we have those nastly templates with a key() in the match pattern?
-    */
-    ctxt->hasTemplKeyPatterns = 0;
-    style = ctxt->style;
-    while (style != NULL) {
-    if (style->keyMatch != NULL) {
-        ctxt->hasTemplKeyPatterns = 1;
-        break;
-    }
-    style = xsltNextImport(style);
-    }
-    /*
-    * Count number of key declarations.
-    */
-    ctxt->nbKeys = 0;
-    style = ctxt->style;
-    while (style != NULL) {
-    keyd = style->keys;
-    while (keyd) {
-        ctxt->nbKeys++;
-        keyd = keyd->next;
-    }
-    style = xsltNextImport(style);
-    }
-    return(ctxt->nbKeys);
-}
-
-/**
- * xsltApplyStylesheetInternal:
- * @style:  a parsed XSLT stylesheet
- * @doc:  a parsed XML document
- * @params:  a NULL terminated array of parameters names/values tuples
- * @output:  the targetted output
- * @profile:  profile FILE * output or NULL
- * @user:  user provided parameter
- *
- * Apply the stylesheet to the document
- * NOTE: This may lead to a non-wellformed output XML wise !
- *
- * Returns the result document or NULL in case of error
- */
-static xmlDocPtr
-xsltApplyStylesheetInternal(xsltStylesheetPtr style, xmlDocPtr doc,
-                            const char **params, const char *output,
-                            FILE * profile, xsltTransformContextPtr userCtxt)
-{
-    xmlDocPtr res = NULL;
-    xsltTransformContextPtr ctxt = NULL;
-    xmlNodePtr root, node;
-    const xmlChar *method;
-    const xmlChar *doctypePublic;
-    const xmlChar *doctypeSystem;
-    const xmlChar *version;
-    const xmlChar *encoding;
-    xsltStackElemPtr variables;
-    xsltStackElemPtr vptr;
-
-    xsltInitGlobals();
-
-    if ((style == NULL) || (doc == NULL))
-        return (NULL);
-
-    if (style->internalized == 0) {
-#ifdef WITH_XSLT_DEBUG
-    xsltGenericDebug(xsltGenericDebugContext,
-             "Stylesheet was not fully internalized !\n");
-#endif
-    }
-    if (doc->intSubset != NULL) {
-    /*
-     * Avoid hitting the DTD when scanning nodes
-     * but keep it linked as doc->intSubset
-     */
-    xmlNodePtr cur = (xmlNodePtr) doc->intSubset;
-    if (cur->next != NULL)
-        cur->next->prev = cur->prev;
-    if (cur->prev != NULL)
-        cur->prev->next = cur->next;
-    if (doc->children == cur)
-        doc->children = cur->next;
-    if (doc->last == cur)
-        doc->last = cur->prev;
-    cur->prev = cur->next = NULL;
-    }
-
-    /*
-     * Check for XPath document order availability
-     */
-    root = xmlDocGetRootElement(doc);
-    if (root != NULL) {
-    if (((long) root->content) >= 0 && (xslDebugStatus == XSLT_DEBUG_NONE))
-        xmlXPathOrderDocElems(doc);
-    }
-
-    if (userCtxt != NULL)
-    ctxt = userCtxt;
-    else
-    ctxt = xsltNewTransformContext(style, doc);
-
-    if (ctxt == NULL)
-        return (NULL);
-
-    ctxt->initialContextDoc = doc;
-    ctxt->initialContextNode = (xmlNodePtr) doc;
-
-    if (profile != NULL)
-        ctxt->profile = 1;
-
-    if (output != NULL)
-        ctxt->outputFile = output;
-    else
-        ctxt->outputFile = NULL;
-
-    /*
-     * internalize the modes if needed
-     */
-    if (ctxt->dict != NULL) {
-        if (ctxt->mode != NULL)
-        ctxt->mode = xmlDictLookup(ctxt->dict, ctxt->mode, -1);
-        if (ctxt->modeURI != NULL)
-        ctxt->modeURI = xmlDictLookup(ctxt->dict, ctxt->modeURI, -1);
-    }
-
-    XSLT_GET_IMPORT_PTR(method, style, method)
-    XSLT_GET_IMPORT_PTR(doctypePublic, style, doctypePublic)
-    XSLT_GET_IMPORT_PTR(doctypeSystem, style, doctypeSystem)
-    XSLT_GET_IMPORT_PTR(version, style, version)
-    XSLT_GET_IMPORT_PTR(encoding, style, encoding)
-
-    if ((method != NULL) &&
-    (!xmlStrEqual(method, (const xmlChar *) "xml")))
-    {
-        if (xmlStrEqual(method, (const xmlChar *) "html")) {
-            ctxt->type = XSLT_OUTPUT_HTML;
-            if (((doctypePublic != NULL) || (doctypeSystem != NULL))) {
-                res = htmlNewDoc(doctypeSystem, doctypePublic);
-        } else {
-                if (version == NULL) {
-            xmlDtdPtr dtd;
-
-            res = htmlNewDoc(NULL, NULL);
-            /*
-            * Make sure no DTD node is generated in this case
-            */
-            if (res != NULL) {
-            dtd = xmlGetIntSubset(res);
-            if (dtd != NULL) {
-                xmlUnlinkNode((xmlNodePtr) dtd);
-                xmlFreeDtd(dtd);
-            }
-            res->intSubset = NULL;
-            res->extSubset = NULL;
-            }
-        } else {
-
-#ifdef XSLT_GENERATE_HTML_DOCTYPE
-            xsltGetHTMLIDs(version, &doctypePublic, &doctypeSystem);
-#endif
-            res = htmlNewDoc(doctypeSystem, doctypePublic);
-        }
-            }
-            if (res == NULL)
-                goto error;
-        res->dict = ctxt->dict;
-        xmlDictReference(res->dict);
-
-#ifdef WITH_XSLT_DEBUG
-        xsltGenericDebug(xsltGenericDebugContext,
-        "reusing transformation dict for output\n");
-#endif
-        } else if (xmlStrEqual(method, (const xmlChar *) "xhtml")) {
-        xsltTransformError(ctxt, NULL, (xmlNodePtr) doc,
-        "xsltApplyStylesheetInternal: unsupported method xhtml, using html\n",
-        style->method);
-            ctxt->type = XSLT_OUTPUT_HTML;
-            res = htmlNewDoc(doctypeSystem, doctypePublic);
-            if (res == NULL)
-                goto error;
-        res->dict = ctxt->dict;
-        xmlDictReference(res->dict);
-
-#ifdef WITH_XSLT_DEBUG
-        xsltGenericDebug(xsltGenericDebugContext,
-        "reusing transformation dict for output\n");
-#endif
-        } else if (xmlStrEqual(method, (const xmlChar *) "text")) {
-            ctxt->type = XSLT_OUTPUT_TEXT;
-            res = xmlNewDoc(style->version);
-            if (res == NULL)
-                goto error;
-        res->dict = ctxt->dict;
-        xmlDictReference(res->dict);
-
-#ifdef WITH_XSLT_DEBUG
-        xsltGenericDebug(xsltGenericDebugContext,
-        "reusing transformation dict for output\n");
-#endif
-        } else {
-        xsltTransformError(ctxt, NULL, (xmlNodePtr) doc,
-        "xsltApplyStylesheetInternal: unsupported method %s\n",
-        style->method);
-            goto error;
-        }
-    } else {
-        ctxt->type = XSLT_OUTPUT_XML;
-        res = xmlNewDoc(style->version);
-        if (res == NULL)
-            goto error;
-    res->dict = ctxt->dict;
-    xmlDictReference(ctxt->dict);
-#ifdef WITH_XSLT_DEBUG
-    xsltGenericDebug(xsltGenericDebugContext,
-             "reusing transformation dict for output\n");
-#endif
-    }
-    res->charset = XML_CHAR_ENCODING_UTF8;
-    if (encoding != NULL)
-        res->encoding = xmlStrdup(encoding);
-    variables = style->variables;
-
-    /*
-     * Start the evaluation, evaluate the params, the stylesheets globals
-     * and start by processing the top node.
-     */
-    if (xsltNeedElemSpaceHandling(ctxt))
-    xsltApplyStripSpaces(ctxt, xmlDocGetRootElement(doc));
-    /*
-    * Evaluate global params and user-provided params.
-    */
-    ctxt->node = (xmlNodePtr) doc;
-    if (ctxt->globalVars == NULL)
-    ctxt->globalVars = xmlHashCreate(20);
-    if (params != NULL) {
-        xsltEvalUserParams(ctxt, params);
-    }
-
-    /* need to be called before evaluating global variables */
-    xsltCountKeys(ctxt);
-
-    xsltEvalGlobalVariables(ctxt);
-
-    ctxt->node = (xmlNodePtr) doc;
-    ctxt->output = res;
-    ctxt->insert = (xmlNodePtr) res;
-    ctxt->varsBase = ctxt->varsNr - 1;
-
-    ctxt->xpathCtxt->contextSize = 1;
-    ctxt->xpathCtxt->proximityPosition = 1;
-    ctxt->xpathCtxt->node = NULL; /* TODO: Set the context node here? */
-    /*
-    * Start processing the source tree -----------------------------------
-    */
-    xsltProcessOneNode(ctxt, ctxt->node, NULL);
-    /*
-    * Remove all remaining vars from the stack.
-    */
-    xsltLocalVariablePop(ctxt, 0, -2);
-    xsltShutdownCtxtExts(ctxt);
-
-    xsltCleanupTemplates(style); /* TODO: <- style should be read only */
-
-    /*
-     * Now cleanup our variables so stylesheet can be re-used
-     *
-     * TODO: this is not needed anymore global variables are copied
-     *       and not evaluated directly anymore, keep this as a check
-     */
-    if (style->variables != variables) {
-        vptr = style->variables;
-        while (vptr->next != variables)
-            vptr = vptr->next;
-        vptr->next = NULL;
-        xsltFreeStackElemList(style->variables);
-        style->variables = variables;
-    }
-    vptr = style->variables;
-    while (vptr != NULL) {
-        if (vptr->computed) {
-            if (vptr->value != NULL) {
-                xmlXPathFreeObject(vptr->value);
-                vptr->value = NULL;
-                vptr->computed = 0;
-            }
-        }
-        vptr = vptr->next;
-    }
-#if 0
-    /*
-     * code disabled by wmb; awaiting kb's review
-     * problem is that global variable(s) may contain xpath objects
-     * from doc associated with RVT, so can't be freed at this point.
-     * xsltFreeTransformContext includes a call to xsltFreeRVTs, so
-     * I assume this shouldn't be required at this point.
-     */
-    /*
-    * Free all remaining tree fragments.
-    */
-    xsltFreeRVTs(ctxt);
-#endif
-    /*
-     * Do some post processing work depending on the generated output
-     */
-    root = xmlDocGetRootElement(res);
-    if (root != NULL) {
-        const xmlChar *doctype = NULL;
-
-        if ((root->ns != NULL) && (root->ns->prefix != NULL))
-        doctype = xmlDictQLookup(ctxt->dict, root->ns->prefix, root->name);
-    if (doctype == NULL)
-        doctype = root->name;
-
-        /*
-         * Apply the default selection of the method
-         */
-        if ((method == NULL) &&
-            (root->ns == NULL) &&
-            (!xmlStrcasecmp(root->name, (const xmlChar *) "html"))) {
-            xmlNodePtr tmp;
-
-            tmp = res->children;
-            while ((tmp != NULL) && (tmp != root)) {
-                if (tmp->type == XML_ELEMENT_NODE)
-                    break;
-                if ((tmp->type == XML_TEXT_NODE) && (!xmlIsBlankNode(tmp)))
-                    break;
-        tmp = tmp->next;
-            }
-            if (tmp == root) {
-                ctxt->type = XSLT_OUTPUT_HTML;
-        /*
-        * REVISIT TODO: XML_HTML_DOCUMENT_NODE is set after the
-        *  transformation on the doc, but functions like
-        */
-                res->type = XML_HTML_DOCUMENT_NODE;
-                if (((doctypePublic != NULL) || (doctypeSystem != NULL))) {
-                    res->intSubset = xmlCreateIntSubset(res, doctype,
-                                                        doctypePublic,
-                                                        doctypeSystem);
-#ifdef XSLT_GENERATE_HTML_DOCTYPE
-        } else if (version != NULL) {
-                    xsltGetHTMLIDs(version, &doctypePublic,
-                                   &doctypeSystem);
-                    if (((doctypePublic != NULL) || (doctypeSystem != NULL)))
-                        res->intSubset =
-                            xmlCreateIntSubset(res, doctype,
-                                               doctypePublic,
-                                               doctypeSystem);
-#endif
-                }
-            }
-
-        }
-        if (ctxt->type == XSLT_OUTPUT_XML) {
-            XSLT_GET_IMPORT_PTR(doctypePublic, style, doctypePublic)
-            XSLT_GET_IMPORT_PTR(doctypeSystem, style, doctypeSystem)
-            if (((doctypePublic != NULL) || (doctypeSystem != NULL))) {
-            xmlNodePtr last;
-        /* Need a small "hack" here to assure DTD comes before
-           possible comment nodes */
-        node = res->children;
-        last = res->last;
-        res->children = NULL;
-        res->last = NULL;
-                res->intSubset = xmlCreateIntSubset(res, doctype,
-                                                    doctypePublic,
-                                                    doctypeSystem);
-        if (res->children != NULL) {
-            res->children->next = node;
-            node->prev = res->children;
-            res->last = last;
-        } else {
-            res->children = node;
-            res->last = last;
-        }
-        }
-        }
-    }
-    xmlXPathFreeNodeSet(ctxt->nodeList);
-    if (profile != NULL) {
-        xsltSaveProfiling(ctxt, profile);
-    }
-
-    /*
-     * Be pedantic.
-     */
-    if ((ctxt != NULL) && (ctxt->state == XSLT_STATE_ERROR)) {
-    xmlFreeDoc(res);
-    res = NULL;
-    }
-    if ((res != NULL) && (ctxt != NULL) && (output != NULL)) {
-    int ret;
-
-    ret = xsltCheckWrite(ctxt->sec, ctxt, (const xmlChar *) output);
-    if (ret == 0) {
-        xsltTransformError(ctxt, NULL, NULL,
-             "xsltApplyStylesheet: forbidden to save to %s\n",
-                   output);
-    } else if (ret < 0) {
-        xsltTransformError(ctxt, NULL, NULL,
-             "xsltApplyStylesheet: saving to %s may not be possible\n",
-                   output);
-    }
-    }
-
-#ifdef XSLT_DEBUG_PROFILE_CACHE
-    printf("# Cache:\n");
-    printf("# Reused tree fragments: %d\n", ctxt->cache->dbgReusedRVTs);
-    printf("# Reused variables     : %d\n", ctxt->cache->dbgReusedVars);
-#endif
-
-    if ((ctxt != NULL) && (userCtxt == NULL))
-    xsltFreeTransformContext(ctxt);
-
-    return (res);
-
-error:
-    if (res != NULL)
-        xmlFreeDoc(res);
-
-#ifdef XSLT_DEBUG_PROFILE_CACHE
-    printf("# Cache:\n");
-    printf("# Reused tree fragments: %d\n", ctxt->cache->dbgReusedRVTs);
-    printf("# Reused variables     : %d\n", ctxt->cache->dbgReusedVars);
-#endif
-
-    if ((ctxt != NULL) && (userCtxt == NULL))
-        xsltFreeTransformContext(ctxt);
-    return (NULL);
-}
-
-/**
- * xsltApplyStylesheet:
- * @style:  a parsed XSLT stylesheet
- * @doc:  a parsed XML document
- * @params:  a NULL terminated arry of parameters names/values tuples
- *
- * Apply the stylesheet to the document
- * NOTE: This may lead to a non-wellformed output XML wise !
- *
- * Returns the result document or NULL in case of error
- */
-xmlDocPtr
-xsltApplyStylesheet(xsltStylesheetPtr style, xmlDocPtr doc,
-                    const char **params)
-{
-    return (xsltApplyStylesheetInternal(style, doc, params, NULL, NULL, NULL));
-}
-
-/**
- * xsltProfileStylesheet:
- * @style:  a parsed XSLT stylesheet
- * @doc:  a parsed XML document
- * @params:  a NULL terminated arry of parameters names/values tuples
- * @output:  a FILE * for the profiling output
- *
- * Apply the stylesheet to the document and dump the profiling to
- * the given output.
- *
- * Returns the result document or NULL in case of error
- */
-xmlDocPtr
-xsltProfileStylesheet(xsltStylesheetPtr style, xmlDocPtr doc,
-                      const char **params, FILE * output)
-{
-    xmlDocPtr res;
-
-    res = xsltApplyStylesheetInternal(style, doc, params, NULL, output, NULL);
-    return (res);
-}
-
-/**
- * xsltApplyStylesheetUser:
- * @style:  a parsed XSLT stylesheet
- * @doc:  a parsed XML document
- * @params:  a NULL terminated array of parameters names/values tuples
- * @output:  the targetted output
- * @profile:  profile FILE * output or NULL
- * @userCtxt:  user provided transform context
- *
- * Apply the stylesheet to the document and allow the user to provide
- * its own transformation context.
- *
- * Returns the result document or NULL in case of error
- */
-xmlDocPtr
-xsltApplyStylesheetUser(xsltStylesheetPtr style, xmlDocPtr doc,
-                            const char **params, const char *output,
-                            FILE * profile, xsltTransformContextPtr userCtxt)
-{
-    xmlDocPtr res;
-
-    res = xsltApplyStylesheetInternal(style, doc, params, output,
-                                  profile, userCtxt);
-    return (res);
-}
-
-/**
- * xsltRunStylesheetUser:
- * @style:  a parsed XSLT stylesheet
- * @doc:  a parsed XML document
- * @params:  a NULL terminated array of parameters names/values tuples
- * @output:  the URL/filename ot the generated resource if available
- * @SAX:  a SAX handler for progressive callback output (not implemented yet)
- * @IObuf:  an output buffer for progressive output (not implemented yet)
- * @profile:  profile FILE * output or NULL
- * @userCtxt:  user provided transform context
- *
- * Apply the stylesheet to the document and generate the output according
- * to @output @SAX and @IObuf. It's an error to specify both @SAX and @IObuf.
- *
- * NOTE: This may lead to a non-wellformed output XML wise !
- * NOTE: This may also result in multiple files being generated
- * NOTE: using IObuf, the result encoding used will be the one used for
- *       creating the output buffer, use the following macro to read it
- *       from the stylesheet
- *       XSLT_GET_IMPORT_PTR(encoding, style, encoding)
- * NOTE: using SAX, any encoding specified in the stylesheet will be lost
- *       since the interface uses only UTF8
- *
- * Returns the number of by written to the main resource or -1 in case of
- *         error.
- */
-int
-xsltRunStylesheetUser(xsltStylesheetPtr style, xmlDocPtr doc,
-                  const char **params, const char *output,
-                  xmlSAXHandlerPtr SAX, xmlOutputBufferPtr IObuf,
-          FILE * profile, xsltTransformContextPtr userCtxt)
-{
-    xmlDocPtr tmp;
-    int ret;
-
-    if ((output == NULL) && (SAX == NULL) && (IObuf == NULL))
-        return (-1);
-    if ((SAX != NULL) && (IObuf != NULL))
-        return (-1);
-
-    /* unsupported yet */
-    if (SAX != NULL) {
-        XSLT_TODO   /* xsltRunStylesheet xmlSAXHandlerPtr SAX */
-    return (-1);
-    }
-
-    tmp = xsltApplyStylesheetInternal(style, doc, params, output, profile,
-                                  userCtxt);
-    if (tmp == NULL) {
-    xsltTransformError(NULL, NULL, (xmlNodePtr) doc,
-                         "xsltRunStylesheet : run failed\n");
-        return (-1);
-    }
-    if (IObuf != NULL) {
-        /* TODO: incomplete, IObuf output not progressive */
-        ret = xsltSaveResultTo(IObuf, tmp, style);
-    } else {
-        ret = xsltSaveResultToFilename(output, tmp, style, 0);
-    }
-    xmlFreeDoc(tmp);
-    return (ret);
-}
-
-/**
- * xsltRunStylesheet:
- * @style:  a parsed XSLT stylesheet
- * @doc:  a parsed XML document
- * @params:  a NULL terminated array of parameters names/values tuples
- * @output:  the URL/filename ot the generated resource if available
- * @SAX:  a SAX handler for progressive callback output (not implemented yet)
- * @IObuf:  an output buffer for progressive output (not implemented yet)
- *
- * Apply the stylesheet to the document and generate the output according
- * to @output @SAX and @IObuf. It's an error to specify both @SAX and @IObuf.
- *
- * NOTE: This may lead to a non-wellformed output XML wise !
- * NOTE: This may also result in multiple files being generated
- * NOTE: using IObuf, the result encoding used will be the one used for
- *       creating the output buffer, use the following macro to read it
- *       from the stylesheet
- *       XSLT_GET_IMPORT_PTR(encoding, style, encoding)
- * NOTE: using SAX, any encoding specified in the stylesheet will be lost
- *       since the interface uses only UTF8
- *
- * Returns the number of bytes written to the main resource or -1 in case of
- *         error.
- */
-int
-xsltRunStylesheet(xsltStylesheetPtr style, xmlDocPtr doc,
-                  const char **params, const char *output,
-                  xmlSAXHandlerPtr SAX, xmlOutputBufferPtr IObuf)
-{
-    return(xsltRunStylesheetUser(style, doc, params, output, SAX, IObuf,
-                         NULL, NULL));
-}
-
-/**
- * xsltRegisterAllElement:
- * @ctxt:  the XPath context
- *
- * Registers all default XSLT elements in this context
- */
-void
-xsltRegisterAllElement(xsltTransformContextPtr ctxt)
-{
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "apply-templates",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltApplyTemplates);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "apply-imports",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltApplyImports);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "call-template",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltCallTemplate);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "element",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltElement);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "attribute",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltAttribute);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "text",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltText);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "processing-instruction",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltProcessingInstruction);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "comment",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltComment);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "copy",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltCopy);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "value-of",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltValueOf);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "number",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltNumber);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "for-each",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltForEach);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "if",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltIf);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "choose",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltChoose);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "sort",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltSort);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "copy-of",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltCopyOf);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "message",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltMessage);
-
-    /*
-     * Those don't have callable entry points but are registered anyway
-     */
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "variable",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltDebug);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "param",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltDebug);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "with-param",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltDebug);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "decimal-format",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltDebug);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "when",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltDebug);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "otherwise",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltDebug);
-    xsltRegisterExtElement(ctxt, (const xmlChar *) "fallback",
-                           XSLT_NAMESPACE,
-               (xsltTransformFunction) xsltDebug);
-
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/transform.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/transform.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/transform.h
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Summary: the XSLT engine transformation part.
- * Description: This module implements the bulk of the actual
- *              transformation processing. Most of the xsl: element
- *              constructs are implemented in this module.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_TRANSFORM_H__
-#define __XML_XSLT_TRANSFORM_H__
-
-#include 
-#include 
-#include "xsltexports.h"
-#include 
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * XInclude default processing.
- */
-XSLTPUBFUN void XSLTCALL
-        xsltSetXIncludeDefault  (int xinclude);
-XSLTPUBFUN int XSLTCALL
-        xsltGetXIncludeDefault  (void);
-
-/**
- * Export context to users.
- */
-XSLTPUBFUN xsltTransformContextPtr XSLTCALL
-        xsltNewTransformContext (xsltStylesheetPtr style,
-                     xmlDocPtr doc);
-
-XSLTPUBFUN void XSLTCALL
-        xsltFreeTransformContext(xsltTransformContextPtr ctxt);
-
-XSLTPUBFUN xmlDocPtr XSLTCALL
-        xsltApplyStylesheetUser (xsltStylesheetPtr style,
-                     xmlDocPtr doc,
-                     const char **params,
-                     const char *output,
-                     FILE * profile,
-                     xsltTransformContextPtr userCtxt);
-XSLTPUBFUN void XSLTCALL
-                xsltProcessOneNode      (xsltTransformContextPtr ctxt,
-                                         xmlNodePtr node,
-                                         xsltStackElemPtr params);
-/**
- * Private Interfaces.
- */
-XSLTPUBFUN void XSLTCALL
-        xsltApplyStripSpaces    (xsltTransformContextPtr ctxt,
-                     xmlNodePtr node);
-XSLTPUBFUN xmlDocPtr XSLTCALL
-        xsltApplyStylesheet (xsltStylesheetPtr style,
-                     xmlDocPtr doc,
-                     const char **params);
-XSLTPUBFUN xmlDocPtr XSLTCALL
-        xsltProfileStylesheet   (xsltStylesheetPtr style,
-                     xmlDocPtr doc,
-                     const char **params,
-                     FILE * output);
-XSLTPUBFUN int XSLTCALL
-        xsltRunStylesheet   (xsltStylesheetPtr style,
-                     xmlDocPtr doc,
-                     const char **params,
-                     const char *output,
-                     xmlSAXHandlerPtr SAX,
-                     xmlOutputBufferPtr IObuf);
-XSLTPUBFUN int XSLTCALL
-        xsltRunStylesheetUser   (xsltStylesheetPtr style,
-                     xmlDocPtr doc,
-                     const char **params,
-                     const char *output,
-                     xmlSAXHandlerPtr SAX,
-                     xmlOutputBufferPtr IObuf,
-                     FILE * profile,
-                     xsltTransformContextPtr userCtxt);
-XSLTPUBFUN void XSLTCALL
-        xsltApplyOneTemplate    (xsltTransformContextPtr ctxt,
-                     xmlNodePtr node,
-                     xmlNodePtr list,
-                     xsltTemplatePtr templ,
-                     xsltStackElemPtr params);
-XSLTPUBFUN void XSLTCALL
-        xsltDocumentElem    (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltSort        (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltCopy        (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltText        (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltElement     (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltComment     (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltAttribute       (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltProcessingInstruction(xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltCopyOf      (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltValueOf     (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltNumber      (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltApplyImports    (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltCallTemplate    (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltApplyTemplates  (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltChoose      (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltIf          (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltForEach     (xsltTransformContextPtr ctxt,
-                                     xmlNodePtr node,
-                     xmlNodePtr inst,
-                     xsltStylePreCompPtr comp);
-XSLTPUBFUN void XSLTCALL
-        xsltRegisterAllElement  (xsltTransformContextPtr ctxt);
-
-XSLTPUBFUN xmlNodePtr XSLTCALL
-        xsltCopyTextString  (xsltTransformContextPtr ctxt,
-                     xmlNodePtr target,
-                     const xmlChar *string,
-                     int noescape);
-
-/* Following 2 functions needed for libexslt/functions.c */
-XSLTPUBFUN void XSLTCALL
-        xsltLocalVariablePop    (xsltTransformContextPtr ctxt,
-                     int limitNr,
-                     int level);
-XSLTPUBFUN int XSLTCALL
-        xsltLocalVariablePush   (xsltTransformContextPtr ctxt,
-                     xsltStackElemPtr variable,
-                     int level);
-/*
- * Hook for the debugger if activated.
- */
-XSLTPUBFUN void XSLTCALL
-        xslHandleDebugger   (xmlNodePtr cur,
-                     xmlNodePtr node,
-                     xsltTemplatePtr templ,
-                     xsltTransformContextPtr ctxt);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_TRANSFORM_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/trio.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/trio.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/trio.h
+++ /dev/null
@@ -1,216 +0,0 @@
-/*************************************************************************
- *
- * $Id$
- *
- * Copyright (C) 1998 Bjorn Reese and Daniel Stenberg.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
- * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
- * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
- *
- *************************************************************************
- *
- * http://ctrio.sourceforge.net/
- *
- ************************************************************************/
-
-#ifndef TRIO_TRIO_H
-#define TRIO_TRIO_H
-
-#if !defined(WITHOUT_TRIO)
-
-/*
- * Use autoconf defines if present. Packages using trio must define
- * HAVE_CONFIG_H as a compiler option themselves.
- */
-#if defined(HAVE_CONFIG_H)
-# include 
-#endif
-
-#include "triodef.h"
-
-#include 
-#include 
-#if defined(TRIO_COMPILER_ANCIENT)
-# include 
-#else
-# include 
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Error codes.
- *
- * Remember to add a textual description to trio_strerror.
- */
-enum {
-  TRIO_EOF      = 1,
-  TRIO_EINVAL   = 2,
-  TRIO_ETOOMANY = 3,
-  TRIO_EDBLREF  = 4,
-  TRIO_EGAP     = 5,
-  TRIO_ENOMEM   = 6,
-  TRIO_ERANGE   = 7,
-  TRIO_ERRNO    = 8,
-  TRIO_ECUSTOM  = 9
-};
-
-/* Error macros */
-#define TRIO_ERROR_CODE(x) ((-(x)) & 0x00FF)
-#define TRIO_ERROR_POSITION(x) ((-(x)) >> 8)
-#define TRIO_ERROR_NAME(x) trio_strerror(x)
-
-typedef int (*trio_outstream_t) TRIO_PROTO((trio_pointer_t, int));
-typedef int (*trio_instream_t) TRIO_PROTO((trio_pointer_t));
-
-TRIO_CONST char *trio_strerror TRIO_PROTO((int));
-
-/*************************************************************************
- * Print Functions
- */
-
-int trio_printf TRIO_PROTO((TRIO_CONST char *format, ...));
-int trio_vprintf TRIO_PROTO((TRIO_CONST char *format, va_list args));
-int trio_printfv TRIO_PROTO((TRIO_CONST char *format, void **args));
-
-int trio_fprintf TRIO_PROTO((FILE *file, TRIO_CONST char *format, ...));
-int trio_vfprintf TRIO_PROTO((FILE *file, TRIO_CONST char *format, va_list args));
-int trio_fprintfv TRIO_PROTO((FILE *file, TRIO_CONST char *format, void **args));
-
-int trio_dprintf TRIO_PROTO((int fd, TRIO_CONST char *format, ...));
-int trio_vdprintf TRIO_PROTO((int fd, TRIO_CONST char *format, va_list args));
-int trio_dprintfv TRIO_PROTO((int fd, TRIO_CONST char *format, void **args));
-
-int trio_cprintf TRIO_PROTO((trio_outstream_t stream, trio_pointer_t closure,
-                 TRIO_CONST char *format, ...));
-int trio_vcprintf TRIO_PROTO((trio_outstream_t stream, trio_pointer_t closure,
-                  TRIO_CONST char *format, va_list args));
-int trio_cprintfv TRIO_PROTO((trio_outstream_t stream, trio_pointer_t closure,
-                  TRIO_CONST char *format, void **args));
-
-int trio_sprintf TRIO_PROTO((char *buffer, TRIO_CONST char *format, ...));
-int trio_vsprintf TRIO_PROTO((char *buffer, TRIO_CONST char *format, va_list args));
-int trio_sprintfv TRIO_PROTO((char *buffer, TRIO_CONST char *format, void **args));
-
-int trio_snprintf TRIO_PROTO((char *buffer, size_t max, TRIO_CONST char *format, ...));
-int trio_vsnprintf TRIO_PROTO((char *buffer, size_t bufferSize, TRIO_CONST char *format,
-           va_list args));
-int trio_snprintfv TRIO_PROTO((char *buffer, size_t bufferSize, TRIO_CONST char *format,
-           void **args));
-
-int trio_snprintfcat TRIO_PROTO((char *buffer, size_t max, TRIO_CONST char *format, ...));
-int trio_vsnprintfcat TRIO_PROTO((char *buffer, size_t bufferSize, TRIO_CONST char *format,
-                      va_list args));
-
-char *trio_aprintf TRIO_PROTO((TRIO_CONST char *format, ...));
-char *trio_vaprintf TRIO_PROTO((TRIO_CONST char *format, va_list args));
-
-int trio_asprintf TRIO_PROTO((char **ret, TRIO_CONST char *format, ...));
-int trio_vasprintf TRIO_PROTO((char **ret, TRIO_CONST char *format, va_list args));
-
-/*************************************************************************
- * Scan Functions
- */
-int trio_scanf TRIO_PROTO((TRIO_CONST char *format, ...));
-int trio_vscanf TRIO_PROTO((TRIO_CONST char *format, va_list args));
-int trio_scanfv TRIO_PROTO((TRIO_CONST char *format, void **args));
-
-int trio_fscanf TRIO_PROTO((FILE *file, TRIO_CONST char *format, ...));
-int trio_vfscanf TRIO_PROTO((FILE *file, TRIO_CONST char *format, va_list args));
-int trio_fscanfv TRIO_PROTO((FILE *file, TRIO_CONST char *format, void **args));
-
-int trio_dscanf TRIO_PROTO((int fd, TRIO_CONST char *format, ...));
-int trio_vdscanf TRIO_PROTO((int fd, TRIO_CONST char *format, va_list args));
-int trio_dscanfv TRIO_PROTO((int fd, TRIO_CONST char *format, void **args));
-
-int trio_cscanf TRIO_PROTO((trio_instream_t stream, trio_pointer_t closure,
-                TRIO_CONST char *format, ...));
-int trio_vcscanf TRIO_PROTO((trio_instream_t stream, trio_pointer_t closure,
-                 TRIO_CONST char *format, va_list args));
-int trio_cscanfv TRIO_PROTO((trio_instream_t stream, trio_pointer_t closure,
-                 TRIO_CONST char *format, void **args));
-
-int trio_sscanf TRIO_PROTO((TRIO_CONST char *buffer, TRIO_CONST char *format, ...));
-int trio_vsscanf TRIO_PROTO((TRIO_CONST char *buffer, TRIO_CONST char *format, va_list args));
-int trio_sscanfv TRIO_PROTO((TRIO_CONST char *buffer, TRIO_CONST char *format, void **args));
-
-/*************************************************************************
- * Locale Functions
- */
-void trio_locale_set_decimal_point TRIO_PROTO((char *decimalPoint));
-void trio_locale_set_thousand_separator TRIO_PROTO((char *thousandSeparator));
-void trio_locale_set_grouping TRIO_PROTO((char *grouping));
-
-/*************************************************************************
- * Renaming
- */
-#ifdef TRIO_REPLACE_STDIO
-/* Replace the  functions */
-#ifndef HAVE_PRINTF
-# define printf trio_printf
-#endif
-#ifndef HAVE_VPRINTF
-# define vprintf trio_vprintf
-#endif
-#ifndef HAVE_FPRINTF
-# define fprintf trio_fprintf
-#endif
-#ifndef HAVE_VFPRINTF
-# define vfprintf trio_vfprintf
-#endif
-#ifndef HAVE_SPRINTF
-# define sprintf trio_sprintf
-#endif
-#ifndef HAVE_VSPRINTF
-# define vsprintf trio_vsprintf
-#endif
-#ifndef HAVE_SNPRINTF
-# define snprintf trio_snprintf
-#endif
-#ifndef HAVE_VSNPRINTF
-# define vsnprintf trio_vsnprintf
-#endif
-#ifndef HAVE_SCANF
-# define scanf trio_scanf
-#endif
-#ifndef HAVE_VSCANF
-# define vscanf trio_vscanf
-#endif
-#ifndef HAVE_FSCANF
-# define fscanf trio_fscanf
-#endif
-#ifndef HAVE_VFSCANF
-# define vfscanf trio_vfscanf
-#endif
-#ifndef HAVE_SSCANF
-# define sscanf trio_sscanf
-#endif
-#ifndef HAVE_VSSCANF
-# define vsscanf trio_vsscanf
-#endif
-/* These aren't stdio functions, but we make them look similar */
-#define dprintf trio_dprintf
-#define vdprintf trio_vdprintf
-#define aprintf trio_aprintf
-#define vaprintf trio_vaprintf
-#define asprintf trio_asprintf
-#define vasprintf trio_vasprintf
-#define dscanf trio_dscanf
-#define vdscanf trio_vdscanf
-#endif
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* WITHOUT_TRIO */
-
-#endif /* TRIO_TRIO_H */
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/triodef.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/triodef.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/triodef.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/*************************************************************************
- *
- * $Id$
- *
- * Copyright (C) 2001 Bjorn Reese 
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
- * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
- * CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
- *
- ************************************************************************/
-
-#ifndef TRIO_TRIODEF_H
-#define TRIO_TRIODEF_H
-
-/*************************************************************************
- * Platform and compiler support detection
- */
-#if defined(__GNUC__)
-# define TRIO_COMPILER_GCC
-#elif defined(__SUNPRO_C)
-# define TRIO_COMPILER_SUNPRO
-#elif defined(__SUNPRO_CC)
-# define TRIO_COMPILER_SUNPRO
-# define __SUNPRO_C __SUNPRO_CC
-#elif defined(__xlC__) || defined(__IBMC__) || defined(__IBMCPP__)
-# define TRIO_COMPILER_XLC
-#elif defined(_AIX) && !defined(__GNUC__)
-# define TRIO_COMPILER_XLC /* Workaround for old xlc */
-#elif defined(__DECC) || defined(__DECCXX)
-# define TRIO_COMPILER_DECC
-#elif defined(__osf__) && defined(__LANGUAGE_C__)
-# define TRIO_COMPILER_DECC /* Workaround for old DEC C compilers */
-#elif defined(_MSC_VER)
-# define TRIO_COMPILER_MSVC
-#elif defined(__BORLANDC__)
-# define TRIO_COMPILER_BCB
-#endif
-
-#if defined(VMS) || defined(__VMS)
-/*
- * VMS is placed first to avoid identifying the platform as Unix
- * based on the DECC compiler later on.
- */
-# define TRIO_PLATFORM_VMS
-#elif defined(unix) || defined(__unix) || defined(__unix__)
-# define TRIO_PLATFORM_UNIX
-#elif defined(TRIO_COMPILER_XLC) || defined(_AIX)
-# define TRIO_PLATFORM_UNIX
-#elif defined(TRIO_COMPILER_DECC) || defined(__osf___)
-# define TRIO_PLATFORM_UNIX
-#elif defined(__NetBSD__)
-# define TRIO_PLATFORM_UNIX
-#elif defined(__QNX__)
-# define TRIO_PLATFORM_UNIX
-# define TRIO_PLATFORM_QNX
-#elif defined(__CYGWIN__)
-# define TRIO_PLATFORM_UNIX
-#elif defined(AMIGA) && defined(TRIO_COMPILER_GCC)
-# define TRIO_PLATFORM_UNIX
-#elif defined(TRIO_COMPILER_MSVC) || defined(WIN32) || defined(_WIN32)
-# define TRIO_PLATFORM_WIN32
-#elif defined(mpeix) || defined(__mpexl)
-# define TRIO_PLATFORM_MPEIX
-#endif
-
-#if defined(_AIX)
-# define TRIO_PLATFORM_AIX
-#elif defined(__hpux)
-# define TRIO_PLATFORM_HPUX
-#elif defined(sun) || defined(__sun__)
-# if defined(__SVR4) || defined(__svr4__)
-#  define TRIO_PLATFORM_SOLARIS
-# else
-#  define TRIO_PLATFORM_SUNOS
-# endif
-#endif
-
-#if defined(__STDC__) || defined(TRIO_COMPILER_MSVC) || defined(TRIO_COMPILER_BCB)
-# define TRIO_COMPILER_SUPPORTS_C89
-# if defined(__STDC_VERSION__)
-#  define TRIO_COMPILER_SUPPORTS_C90
-#  if (__STDC_VERSION__ >= 199409L)
-#   define TRIO_COMPILER_SUPPORTS_C94
-#  endif
-#  if (__STDC_VERSION__ >= 199901L)
-#   define TRIO_COMPILER_SUPPORTS_C99
-#  endif
-# elif defined(TRIO_COMPILER_SUNPRO)
-#  if (__SUNPRO_C >= 0x420)
-#   define TRIO_COMPILER_SUPPORTS_C94
-#  endif
-# endif
-#endif
-
-#if defined(_XOPEN_SOURCE)
-# if defined(_XOPEN_SOURCE_EXTENDED)
-#  define TRIO_COMPILER_SUPPORTS_UNIX95
-# endif
-# if (_XOPEN_VERSION >= 500)
-#  define TRIO_COMPILER_SUPPORTS_UNIX98
-# endif
-# if (_XOPEN_VERSION >= 600)
-#  define TRIO_COMPILER_SUPPORTS_UNIX01
-# endif
-#endif
-
-/*************************************************************************
- * Generic defines
- */
-
-#if !defined(TRIO_PUBLIC)
-# define TRIO_PUBLIC
-#endif
-#if !defined(TRIO_PRIVATE)
-# define TRIO_PRIVATE static
-#endif
-
-#if !(defined(TRIO_COMPILER_SUPPORTS_C89) || defined(__cplusplus))
-# define TRIO_COMPILER_ANCIENT
-#endif
-
-#if defined(TRIO_COMPILER_ANCIENT)
-# define TRIO_CONST
-# define TRIO_VOLATILE
-# define TRIO_SIGNED
-typedef double trio_long_double_t;
-typedef char * trio_pointer_t;
-# define TRIO_SUFFIX_LONG(x) x
-# define TRIO_PROTO(x) ()
-# define TRIO_NOARGS
-# define TRIO_ARGS1(list,a1) list a1;
-# define TRIO_ARGS2(list,a1,a2) list a1; a2;
-# define TRIO_ARGS3(list,a1,a2,a3) list a1; a2; a3;
-# define TRIO_ARGS4(list,a1,a2,a3,a4) list a1; a2; a3; a4;
-# define TRIO_ARGS5(list,a1,a2,a3,a4,a5) list a1; a2; a3; a4; a5;
-# define TRIO_ARGS6(list,a1,a2,a3,a4,a5,a6) list a1; a2; a3; a4; a5; a6;
-# define TRIO_VARGS2(list,a1,a2) list a1; a2
-# define TRIO_VARGS3(list,a1,a2,a3) list a1; a2; a3
-# define TRIO_VARGS4(list,a1,a2,a3,a4) list a1; a2; a3; a4
-# define TRIO_VARGS5(list,a1,a2,a3,a4,a5) list a1; a2; a3; a4; a5
-# define TRIO_VA_DECL va_dcl
-# define TRIO_VA_START(x,y) va_start(x)
-# define TRIO_VA_END(x) va_end(x)
-#else /* ANSI C */
-# define TRIO_CONST const
-# define TRIO_VOLATILE volatile
-# define TRIO_SIGNED signed
-typedef long double trio_long_double_t;
-typedef void * trio_pointer_t;
-# define TRIO_SUFFIX_LONG(x) x ## L
-# define TRIO_PROTO(x) x
-# define TRIO_NOARGS void
-# define TRIO_ARGS1(list,a1) (a1)
-# define TRIO_ARGS2(list,a1,a2) (a1,a2)
-# define TRIO_ARGS3(list,a1,a2,a3) (a1,a2,a3)
-# define TRIO_ARGS4(list,a1,a2,a3,a4) (a1,a2,a3,a4)
-# define TRIO_ARGS5(list,a1,a2,a3,a4,a5) (a1,a2,a3,a4,a5)
-# define TRIO_ARGS6(list,a1,a2,a3,a4,a5,a6) (a1,a2,a3,a4,a5,a6)
-# define TRIO_VARGS2 TRIO_ARGS2
-# define TRIO_VARGS3 TRIO_ARGS3
-# define TRIO_VARGS4 TRIO_ARGS4
-# define TRIO_VARGS5 TRIO_ARGS5
-# define TRIO_VA_DECL ...
-# define TRIO_VA_START(x,y) va_start(x,y)
-# define TRIO_VA_END(x) va_end(x)
-#endif
-
-#if defined(TRIO_COMPILER_SUPPORTS_C99) || defined(__cplusplus)
-# define TRIO_INLINE inline
-#elif defined(TRIO_COMPILER_GCC)
-# define TRIO_INLINE __inline__
-#elif defined(TRIO_COMPILER_MSVC)
-# define TRIO_INLINE _inline
-#elif defined(TRIO_COMPILER_BCB)
-# define TRIO_INLINE __inline
-#else
-# define TRIO_INLINE
-#endif
-
-/*************************************************************************
- * Workarounds
- */
-
-#if defined(TRIO_PLATFORM_VMS)
-/*
- * Computations done with constants at compile time can trigger these
- * even when compiling with IEEE enabled.
- */
-# pragma message disable (UNDERFLOW, FLOATOVERFL)
-
-# if (__CRTL_VER < 80000000)
-/*
- * Although the compiler supports C99 language constructs, the C
- * run-time library does not contain all C99 functions.
- *
- * This was the case for 70300022. Update the 80000000 value when
- * it has been accurately determined what version of the library
- * supports C99.
- */
-#  if defined(TRIO_COMPILER_SUPPORTS_C99)
-#   undef TRIO_COMPILER_SUPPORTS_C99
-#  endif
-# endif
-#endif
-
-/*
- * Not all preprocessors supports the LL token.
- */
-#if defined(TRIO_COMPILER_BCB)
-#else
-# define TRIO_COMPILER_SUPPORTS_LL
-#endif
-
-#endif /* TRIO_TRIODEF_H */
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/variables.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/variables.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/variables.c
+++ /dev/null
@@ -1,2321 +0,0 @@
-/*
- * variables.c: Implementation of the variable storage and lookup
- *
- * Reference:
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltInternals.h"
-#include "xsltutils.h"
-#include "variables.h"
-#include "transform.h"
-#include "imports.h"
-#include "preproc.h"
-#include "keys.h"
-
-#ifdef WITH_XSLT_DEBUG
- #define WITH_XSLT_DEBUG_VARIABLE
-#endif
-
-#ifdef XSLT_REFACTORED
-const xmlChar *xsltDocFragFake = (const xmlChar *) " fake node libxslt";
-#endif
-
-const xmlChar *xsltComputingGlobalVarMarker =
- (const xmlChar *) " var/param being computed";
-
-#define XSLT_VAR_GLOBAL 1<<0
-#define XSLT_VAR_IN_SELECT 1<<1
-#define XSLT_TCTXT_VARIABLE(c) ((xsltStackElemPtr) (c)->contextVariable)
-
-/************************************************************************
- *                                  *
- *  Result Value Tree (Result Tree Fragment) interfaces         *
- *                                  *
- ************************************************************************/
-/**
- * xsltCreateRVT:
- * @ctxt:  an XSLT transformation context
- *
- * Creates a Result Value Tree
- * (the XSLT 1.0 term for this is "Result Tree Fragment")
- *
- * Returns the result value tree or NULL in case of API or internal errors.
- */
-xmlDocPtr
-xsltCreateRVT(xsltTransformContextPtr ctxt)
-{
-    xmlDocPtr container;
-
-    /*
-    * Question: Why is this function public?
-    * Answer: It is called by the EXSLT module.
-    */
-    if (ctxt == NULL)
-    return(NULL);
-
-    /*
-    * Reuse a RTF from the cache if available.
-    */
-    if (ctxt->cache->RVT) {
-    container = ctxt->cache->RVT;
-    ctxt->cache->RVT = (xmlDocPtr) container->next;
-    /* clear the internal pointers */
-    container->next = NULL;
-    container->prev = NULL;
-    if (ctxt->cache->nbRVT > 0)
-        ctxt->cache->nbRVT--;
-#ifdef XSLT_DEBUG_PROFILE_CACHE
-    ctxt->cache->dbgReusedRVTs++;
-#endif
-    return(container);
-    }
-
-    container = xmlNewDoc(NULL);
-    if (container == NULL)
-    return(NULL);
-    container->dict = ctxt->dict;
-    xmlDictReference(container->dict);
-    XSLT_MARK_RES_TREE_FRAG(container);
-    container->doc = container;
-    container->parent = NULL;
-    return(container);
-}
-
-/**
- * xsltRegisterTmpRVT:
- * @ctxt:  an XSLT transformation context
- * @RVT:  a result value tree (Result Tree Fragment)
- *
- * Registers the result value tree (XSLT 1.0 term: Result Tree Fragment)
- * in the garbage collector.
- * The fragment will be freed at the exit of the currently
- * instantiated xsl:template.
- * Obsolete; this function might produce massive memory overhead,
- * since the fragment is only freed when the current xsl:template
- * exits. Use xsltRegisterLocalRVT() instead.
- *
- * Returns 0 in case of success and -1 in case of API or internal errors.
- */
-int
-xsltRegisterTmpRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
-{
-    if ((ctxt == NULL) || (RVT == NULL))
-    return(-1);
-
-    /*
-    * We'll restrict the lifetime of user-created fragments
-    * insinde an xsl:variable and xsl:param to the lifetime of the
-    * var/param itself.
-    */
-    if (ctxt->contextVariable != NULL) {
-    RVT->next = (xmlNodePtr) XSLT_TCTXT_VARIABLE(ctxt)->fragment;
-    XSLT_TCTXT_VARIABLE(ctxt)->fragment = RVT;
-    return(0);
-    }
-
-    RVT->next = (xmlNodePtr) ctxt->tmpRVT;
-    if (ctxt->tmpRVT != NULL)
-    ctxt->tmpRVT->prev = (xmlNodePtr) RVT;
-    ctxt->tmpRVT = RVT;
-    return(0);
-}
-
-/**
- * xsltRegisterLocalRVT:
- * @ctxt:  an XSLT transformation context
- * @RVT:  a result value tree (Result Tree Fragment; xmlDocPtr)
- *
- * Registers a result value tree (XSLT 1.0 term: Result Tree Fragment)
- * in the RVT garbage collector.
- * The fragment will be freed when the instruction which created the
- * fragment exits.
- *
- * Returns 0 in case of success and -1 in case of API or internal errors.
- */
-int
-xsltRegisterLocalRVT(xsltTransformContextPtr ctxt,
-             xmlDocPtr RVT)
-{
-    if ((ctxt == NULL) || (RVT == NULL))
-    return(-1);
-
-    /*
-    * When evaluating "select" expressions of xsl:variable
-    * and xsl:param, we need to bind newly created tree fragments
-    * to the variable itself; otherwise the tragment will be
-    * freed before we leave the scope of a var.
-    */
-    if ((ctxt->contextVariable != NULL) &&
-    (XSLT_TCTXT_VARIABLE(ctxt)->flags & XSLT_VAR_IN_SELECT))
-    {
-    RVT->next = (xmlNodePtr) XSLT_TCTXT_VARIABLE(ctxt)->fragment;
-    XSLT_TCTXT_VARIABLE(ctxt)->fragment = RVT;
-    return(0);
-    }
-    /*
-    * Store the fragment in the scope of the current instruction.
-    * If not reference by a returning instruction (like EXSLT's function),
-    * then this fragment will be freed, when the instruction exits.
-    */
-    RVT->next = (xmlNodePtr) ctxt->localRVT;
-    if (ctxt->localRVT != NULL)
-    ctxt->localRVT->prev = (xmlNodePtr) RVT;
-    ctxt->localRVT = RVT;
-    /*
-    * We need to keep track of the first registered fragment
-    * for extension instructions which return fragments
-    * (e.g. EXSLT'S function), in order to let
-    * xsltExtensionInstructionResultFinalize() clear the
-    * preserving flag on the fragments.
-    */
-    if (ctxt->localRVTBase == NULL)
-    ctxt->localRVTBase = RVT;
-    return(0);
-}
-
-/**
- * xsltExtensionInstructionResultFinalize:
- * @ctxt:  an XSLT transformation context
- *
- * Finalizes the data (e.g. result tree fragments) created
- * within a value-returning process (e.g. EXSLT's function).
- * Tree fragments marked as being returned by a function are
- * set to normal state, which means that the fragment garbage
- * collector will free them after the function-calling process exits.
- *
- * Returns 0 in case of success and -1 in case of API or internal errors.
- */
-int
-xsltExtensionInstructionResultFinalize(xsltTransformContextPtr ctxt)
-{
-    xmlDocPtr cur;
-
-    if (ctxt == NULL)
-    return(-1);
-    if (ctxt->localRVTBase == NULL)
-    return(0);
-    /*
-    * Enable remaining local tree fragments to be freed
-    * by the fragment garbage collector.
-    */
-    cur = ctxt->localRVTBase;
-    do {
-    cur->psvi = NULL;
-    cur = (xmlDocPtr) cur->next;
-    } while (cur != NULL);
-    return(0);
-}
-
-/**
- * xsltExtensionInstructionResultRegister:
- * @ctxt: an XSLT transformation context
- * @obj: an XPath object to be inspected for result tree fragments
- *
- * Marks the result of a value-returning extension instruction
- * in order to avoid it being garbage collected before the
- * extension instruction exits.
- * Note that one still has to additionally register any newly created
- * tree fragments (via xsltCreateRVT()) with xsltRegisterLocalRVT().
- *
- * Returns 0 in case of success and -1 in case of error.
- */
-int
-xsltExtensionInstructionResultRegister(xsltTransformContextPtr ctxt,
-                       xmlXPathObjectPtr obj)
-{
-    int i;
-    xmlNodePtr cur;
-    xmlDocPtr doc;
-
-    if ((ctxt == NULL) || (obj == NULL))
-    return(-1);
-
-    /*
-    * OPTIMIZE TODO: If no local variables/params and no local tree
-    * fragments were created, then we don't need to analyse the XPath
-    * objects for tree fragments.
-    */
-
-    if ((obj->type != XPATH_NODESET) && (obj->type != XPATH_XSLT_TREE))
-    return(0);
-    if ((obj->nodesetval == NULL) || (obj->nodesetval->nodeNr == 0))
-    return(0);
-
-    for (i = 0; i < obj->nodesetval->nodeNr; i++) {
-    cur = obj->nodesetval->nodeTab[i];
-    if (cur->type == XML_NAMESPACE_DECL) {
-        /*
-        * The XPath module sets the owner element of a ns-node on
-        * the ns->next field.
-        */
-        if ((((xmlNsPtr) cur)->next != NULL) &&
-        (((xmlNsPtr) cur)->next->type == XML_ELEMENT_NODE))
-        {
-        cur = (xmlNodePtr) ((xmlNsPtr) cur)->next;
-        doc = cur->doc;
-        } else {
-        xsltTransformError(ctxt, NULL, ctxt->inst,
-            "Internal error in "
-            "xsltExtensionInstructionResultRegister(): "
-            "Cannot retrieve the doc of a namespace node.\n");
-        goto error;
-        }
-    } else {
-        doc = cur->doc;
-    }
-    if (doc == NULL) {
-        xsltTransformError(ctxt, NULL, ctxt->inst,
-        "Internal error in "
-        "xsltExtensionInstructionResultRegister(): "
-        "Cannot retrieve the doc of a node.\n");
-        goto error;
-    }
-    if (doc->name && (doc->name[0] == ' ')) {
-        /*
-        * This is a result tree fragment.
-        * We'll use the @psvi field for reference counting.
-        * TODO: How do we know if this is a value of a
-        *  global variable or a doc acquired via the
-        *  document() function?
-        */
-        doc->psvi = (void *) ((long) 1);
-    }
-    }
-
-    return(0);
-error:
-    return(-1);
-}
-
-/**
- * xsltReleaseRVT:
- * @ctxt:  an XSLT transformation context
- * @RVT:  a result value tree (Result Tree Fragment)
- *
- * Either frees the RVT (which is an xmlDoc) or stores
- * it in the context's cache for later reuse.
- */
-void
-xsltReleaseRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
-{
-    if (RVT == NULL)
-    return;
-
-    if (ctxt && (ctxt->cache->nbRVT < 40)) {
-    /*
-    * Store the Result Tree Fragment.
-    * Free the document info.
-    */
-    if (RVT->_private != NULL) {
-        xsltFreeDocumentKeys((xsltDocumentPtr) RVT->_private);
-        xmlFree(RVT->_private);
-        RVT->_private = NULL;
-    }
-    /*
-    * Clear the document tree.
-    * REVISIT TODO: Do we expect ID/IDREF tables to be existent?
-    */
-    if (RVT->children != NULL) {
-        xmlFreeNodeList(RVT->children);
-        RVT->children = NULL;
-        RVT->last = NULL;
-    }
-    if (RVT->ids != NULL) {
-        xmlFreeIDTable((xmlIDTablePtr) RVT->ids);
-        RVT->ids = NULL;
-    }
-    if (RVT->refs != NULL) {
-        xmlFreeRefTable((xmlRefTablePtr) RVT->refs);
-        RVT->refs = NULL;
-    }
-
-    /*
-    * Reset the reference counter.
-    */
-    RVT->psvi = 0;
-
-    RVT->next = (xmlNodePtr) ctxt->cache->RVT;
-    ctxt->cache->RVT = RVT;
-
-    ctxt->cache->nbRVT++;
-
-#ifdef XSLT_DEBUG_PROFILE_CACHE
-    ctxt->cache->dbgCachedRVTs++;
-#endif
-    return;
-    }
-    /*
-    * Free it.
-    */
-    if (RVT->_private != NULL) {
-    xsltFreeDocumentKeys((xsltDocumentPtr) RVT->_private);
-    xmlFree(RVT->_private);
-    }
-    xmlFreeDoc(RVT);
-}
-
-/**
- * xsltRegisterPersistRVT:
- * @ctxt:  an XSLT transformation context
- * @RVT:  a result value tree (Result Tree Fragment)
- *
- * Register the result value tree (XSLT 1.0 term: Result Tree Fragment)
- * in the fragment garbage collector.
- * The fragment will be freed when the transformation context is
- * freed.
- *
- * Returns 0 in case of success and -1 in case of error.
- */
-int
-xsltRegisterPersistRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
-{
-    if ((ctxt == NULL) || (RVT == NULL)) return(-1);
-
-    RVT->next = (xmlNodePtr) ctxt->persistRVT;
-    if (ctxt->persistRVT != NULL)
-    ctxt->persistRVT->prev = (xmlNodePtr) RVT;
-    ctxt->persistRVT = RVT;
-    return(0);
-}
-
-/**
- * xsltFreeRVTs:
- * @ctxt:  an XSLT transformation context
- *
- * Frees all registered result value trees (Result Tree Fragments)
- * of the transformation. Internal function; should not be called
- * by user-code.
- */
-void
-xsltFreeRVTs(xsltTransformContextPtr ctxt)
-{
-    xmlDocPtr cur, next;
-
-    if (ctxt == NULL)
-    return;
-    /*
-    * Local fragments.
-    */
-    cur = ctxt->localRVT;
-    while (cur != NULL) {
-        next = (xmlDocPtr) cur->next;
-    if (cur->_private != NULL) {
-        xsltFreeDocumentKeys(cur->_private);
-        xmlFree(cur->_private);
-    }
-    xmlFreeDoc(cur);
-    cur = next;
-    }
-    ctxt->localRVT = NULL;
-    /*
-    * User-created per-template fragments.
-    */
-    cur = ctxt->tmpRVT;
-    while (cur != NULL) {
-        next = (xmlDocPtr) cur->next;
-    if (cur->_private != NULL) {
-        xsltFreeDocumentKeys(cur->_private);
-        xmlFree(cur->_private);
-    }
-    xmlFreeDoc(cur);
-    cur = next;
-    }
-    ctxt->tmpRVT = NULL;
-    /*
-    * Global fragments.
-    */
-    cur = ctxt->persistRVT;
-    while (cur != NULL) {
-        next = (xmlDocPtr) cur->next;
-    if (cur->_private != NULL) {
-        xsltFreeDocumentKeys(cur->_private);
-        xmlFree(cur->_private);
-    }
-    xmlFreeDoc(cur);
-    cur = next;
-    }
-    ctxt->persistRVT = NULL;
-}
-
-/************************************************************************
- *                                  *
- *          Module interfaces               *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltNewStackElem:
- *
- * Create a new XSLT ParserContext
- *
- * Returns the newly allocated xsltParserStackElem or NULL in case of error
- */
-static xsltStackElemPtr
-xsltNewStackElem(xsltTransformContextPtr ctxt)
-{
-    xsltStackElemPtr ret;
-    /*
-    * Reuse a stack item from the cache if available.
-    */
-    if (ctxt && ctxt->cache->stackItems) {
-    ret = ctxt->cache->stackItems;
-    ctxt->cache->stackItems = ret->next;
-    ret->next = NULL;
-    ctxt->cache->nbStackItems--;
-#ifdef XSLT_DEBUG_PROFILE_CACHE
-    ctxt->cache->dbgReusedVars++;
-#endif
-    return(ret);
-    }
-    ret = (xsltStackElemPtr) xmlMalloc(sizeof(xsltStackElem));
-    if (ret == NULL) {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltNewStackElem : malloc failed\n");
-    return(NULL);
-    }
-    memset(ret, 0, sizeof(xsltStackElem));
-    ret->context = ctxt;
-    return(ret);
-}
-
-/**
- * xsltCopyStackElem:
- * @elem:  an XSLT stack element
- *
- * Makes a copy of the stack element
- *
- * Returns the copy of NULL
- */
-static xsltStackElemPtr
-xsltCopyStackElem(xsltStackElemPtr elem) {
-    xsltStackElemPtr cur;
-
-    cur = (xsltStackElemPtr) xmlMalloc(sizeof(xsltStackElem));
-    if (cur == NULL) {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltCopyStackElem : malloc failed\n");
-    return(NULL);
-    }
-    memset(cur, 0, sizeof(xsltStackElem));
-    cur->context = elem->context;
-    cur->name = elem->name;
-    cur->nameURI = elem->nameURI;
-    cur->select = elem->select;
-    cur->tree = elem->tree;
-    cur->comp = elem->comp;
-    return(cur);
-}
-
-/**
- * xsltFreeStackElem:
- * @elem:  an XSLT stack element
- *
- * Free up the memory allocated by @elem
- */
-static void
-xsltFreeStackElem(xsltStackElemPtr elem) {
-    if (elem == NULL)
-    return;
-    if (elem->value != NULL)
-    xmlXPathFreeObject(elem->value);
-    /*
-    * Release the list of temporary Result Tree Fragments.
-    */
-    if (elem->fragment) {
-    xmlDocPtr cur;
-
-    while (elem->fragment != NULL) {
-        cur = elem->fragment;
-        elem->fragment = (xmlDocPtr) cur->next;
-
-        if (elem->context &&
-        (cur->psvi == (void *) ((long) 1)))
-        {
-        /*
-        * This fragment is a result of an extension instruction
-        * (e.g. XSLT's function) and needs to be preserved until
-        * the instruction exits.
-        * Example: The fragment of the variable must not be freed
-        *  since it is returned by the EXSLT function:
-        *  
-        *   
-        *     
-        *   
-        *   
-        *  
-        *
-        */
-        xsltRegisterLocalRVT(elem->context, cur);
-        } else {
-        xsltReleaseRVT((xsltTransformContextPtr) elem->context,
-            cur);
-        }
-    }
-    }
-    /*
-    * Cache or free the variable structure.
-    */
-    if (elem->context && (elem->context->cache->nbStackItems < 50)) {
-    /*
-    * Store the item in the cache.
-    */
-    xsltTransformContextPtr ctxt = elem->context;
-    memset(elem, 0, sizeof(xsltStackElem));
-    elem->context = ctxt;
-    elem->next = ctxt->cache->stackItems;
-    ctxt->cache->stackItems = elem;
-    ctxt->cache->nbStackItems++;
-#ifdef XSLT_DEBUG_PROFILE_CACHE
-    ctxt->cache->dbgCachedVars++;
-#endif
-    return;
-    }
-    xmlFree(elem);
-}
-
-/**
- * xsltFreeStackElemList:
- * @elem:  an XSLT stack element
- *
- * Free up the memory allocated by @elem
- */
-void
-xsltFreeStackElemList(xsltStackElemPtr elem) {
-    xsltStackElemPtr next;
-
-    while (elem != NULL) {
-    next = elem->next;
-    xsltFreeStackElem(elem);
-    elem = next;
-    }
-}
-
-/**
- * xsltStackLookup:
- * @ctxt:  an XSLT transformation context
- * @name:  the local part of the name
- * @nameURI:  the URI part of the name
- *
- * Locate an element in the stack based on its name.
- */
-#if 0 /* TODO: Those seem to have been used for debugging. */
-static int stack_addr = 0;
-static int stack_cmp = 0;
-#endif
-
-static xsltStackElemPtr
-xsltStackLookup(xsltTransformContextPtr ctxt, const xmlChar *name,
-            const xmlChar *nameURI) {
-    int i;
-    xsltStackElemPtr cur;
-
-    if ((ctxt == NULL) || (name == NULL) || (ctxt->varsNr == 0))
-    return(NULL);
-
-    /*
-     * Do the lookup from the top of the stack, but
-     * don't use params being computed in a call-param
-     * First lookup expects the variable name and URI to
-     * come from the disctionnary and hence pointer comparison.
-     */
-    for (i = ctxt->varsNr; i > ctxt->varsBase; i--) {
-    cur = ctxt->varsTab[i-1];
-    while (cur != NULL) {
-        if ((cur->name == name) && (cur->nameURI == nameURI)) {
-#if 0
-        stack_addr++;
-#endif
-        return(cur);
-        }
-        cur = cur->next;
-    }
-    }
-
-    /*
-     * Redo the lookup with interned string compares
-     * to avoid string compares.
-     */
-    name = xmlDictLookup(ctxt->dict, name, -1);
-    if (nameURI != NULL)
-        nameURI = xmlDictLookup(ctxt->dict, nameURI, -1);
-
-    for (i = ctxt->varsNr; i > ctxt->varsBase; i--) {
-    cur = ctxt->varsTab[i-1];
-    while (cur != NULL) {
-        if ((cur->name == name) && (cur->nameURI == nameURI)) {
-#if 0
-        stack_cmp++;
-#endif
-        return(cur);
-        }
-        cur = cur->next;
-    }
-    }
-
-    return(NULL);
-}
-
-#ifdef XSLT_REFACTORED
-#else
-
-/**
- * xsltCheckStackElem:
- * @ctxt:  xn XSLT transformation context
- * @name:  the variable name
- * @nameURI:  the variable namespace URI
- *
- * Checks whether a variable or param is already defined.
- *
- * URGENT TODO: Checks for redefinition of vars/params should be
- *  done only at compilation time.
- *
- * Returns 1 if variable is present, 2 if param is present, 3 if this
- *         is an inherited param, 0 if not found, -1 in case of failure.
- */
-static int
-xsltCheckStackElem(xsltTransformContextPtr ctxt, const xmlChar *name,
-               const xmlChar *nameURI) {
-    xsltStackElemPtr cur;
-
-    if ((ctxt == NULL) || (name == NULL))
-    return(-1);
-
-    cur = xsltStackLookup(ctxt, name, nameURI);
-    if (cur == NULL)
-        return(0);
-    if (cur->comp != NULL) {
-        if (cur->comp->type == XSLT_FUNC_WITHPARAM)
-        return(3);
-    else if (cur->comp->type == XSLT_FUNC_PARAM)
-        return(2);
-    }
-
-    return(1);
-}
-
-#endif /* XSLT_REFACTORED */
-
-/**
- * xsltAddStackElem:
- * @ctxt:  xn XSLT transformation context
- * @elem:  a stack element
- *
- * Push an element (or list) onto the stack.
- * In case of a list, each member will be pushed into
- * a seperate slot; i.e. there's always 1 stack entry for
- * 1 stack element.
- *
- * Returns 0 in case of success, -1 in case of failure.
- */
-static int
-xsltAddStackElem(xsltTransformContextPtr ctxt, xsltStackElemPtr elem)
-{
-    if ((ctxt == NULL) || (elem == NULL))
-    return(-1);
-
-    do {
-    if (ctxt->varsMax == 0) {
-        ctxt->varsMax = 10;
-        ctxt->varsTab =
-        (xsltStackElemPtr *) xmlMalloc(ctxt->varsMax *
-        sizeof(ctxt->varsTab[0]));
-        if (ctxt->varsTab == NULL) {
-        xmlGenericError(xmlGenericErrorContext, "malloc failed !\n");
-        return (-1);
-        }
-    }
-    if (ctxt->varsNr >= ctxt->varsMax) {
-        ctxt->varsMax *= 2;
-        ctxt->varsTab =
-        (xsltStackElemPtr *) xmlRealloc(ctxt->varsTab,
-        ctxt->varsMax *
-        sizeof(ctxt->varsTab[0]));
-        if (ctxt->varsTab == NULL) {
-        xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
-        return (-1);
-        }
-    }
-    ctxt->varsTab[ctxt->varsNr++] = elem;
-    ctxt->vars = elem;
-
-    elem = elem->next;
-    } while (elem != NULL);
-
-    return(0);
-}
-
-/**
- * xsltAddStackElemList:
- * @ctxt:  xn XSLT transformation context
- * @elems:  a stack element list
- *
- * Push an element list onto the stack.
- *
- * Returns 0 in case of success, -1 in case of failure.
- */
-int
-xsltAddStackElemList(xsltTransformContextPtr ctxt, xsltStackElemPtr elems)
-{
-    return(xsltAddStackElem(ctxt, elems));
-}
-
-/************************************************************************
- *                                  *
- *          Module interfaces               *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltEvalVariable:
- * @ctxt:  the XSLT transformation context
- * @variable:  the variable or parameter item
- * @comp: the compiled XSLT instruction
- *
- * Evaluate a variable value.
- *
- * Returns the XPath Object value or NULL in case of error
- */
-static xmlXPathObjectPtr
-xsltEvalVariable(xsltTransformContextPtr ctxt, xsltStackElemPtr variable,
-             xsltStylePreCompPtr castedComp)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleItemVariablePtr comp =
-    (xsltStyleItemVariablePtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-#endif
-    xmlXPathObjectPtr result = NULL;
-    xmlNodePtr oldInst;
-
-    if ((ctxt == NULL) || (variable == NULL))
-    return(NULL);
-
-    /*
-    * A variable or parameter are evaluated on demand; thus the
-    * context (of XSLT and XPath) need to be temporarily adjusted and
-    * restored on exit.
-    */
-    oldInst = ctxt->inst;
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-    "Evaluating variable '%s'\n", variable->name));
-#endif
-    if (variable->select != NULL) {
-    xmlXPathCompExprPtr xpExpr = NULL;
-    xmlDocPtr oldXPDoc;
-    xmlNodePtr oldXPContextNode;
-    int oldXPProximityPosition, oldXPContextSize, oldXPNsNr;
-    xmlNsPtr *oldXPNamespaces;
-    xmlXPathContextPtr xpctxt = ctxt->xpathCtxt;
-    xsltStackElemPtr oldVar = ctxt->contextVariable;
-
-    if ((comp != NULL) && (comp->comp != NULL)) {
-        xpExpr = comp->comp;
-    } else {
-        xpExpr = xmlXPathCompile(variable->select);
-    }
-    if (xpExpr == NULL)
-        return(NULL);
-    /*
-    * Save context states.
-    */
-    oldXPDoc = xpctxt->doc;
-    oldXPContextNode = xpctxt->node;
-    oldXPProximityPosition = xpctxt->proximityPosition;
-    oldXPContextSize = xpctxt->contextSize;
-    oldXPNamespaces = xpctxt->namespaces;
-    oldXPNsNr = xpctxt->nsNr;
-
-    xpctxt->node = ctxt->node;
-    /*
-    * OPTIMIZE TODO: Lame try to set the context doc.
-    *   Get rid of this somehow in xpath.c.
-    */
-    if ((ctxt->node->type != XML_NAMESPACE_DECL) &&
-        ctxt->node->doc)
-        xpctxt->doc = ctxt->node->doc;
-    /*
-    * BUG TODO: The proximity position and the context size will
-    *  potentially be wrong.
-    *  Example:
-    *  
-    *    
-    *    
-    *      
-    *    
-    *  
-    *  Here the proximity position and context size are changed
-    *  to the context of , but
-    *  the variable needs to be evaluated in the context of
-    *  .
-    */
-    if (comp != NULL) {
-
-#ifdef XSLT_REFACTORED
-        if (comp->inScopeNs != NULL) {
-        xpctxt->namespaces = comp->inScopeNs->list;
-        xpctxt->nsNr = comp->inScopeNs->xpathNumber;
-        } else {
-        xpctxt->namespaces = NULL;
-        xpctxt->nsNr = 0;
-        }
-#else
-        xpctxt->namespaces = comp->nsList;
-        xpctxt->nsNr = comp->nsNr;
-#endif
-    } else {
-        xpctxt->namespaces = NULL;
-        xpctxt->nsNr = 0;
-    }
-
-    /*
-    * We need to mark that we are "selecting" a var's value;
-    * if any tree fragments are created inside the expression,
-    * then those need to be stored inside the variable; otherwise
-    * we'll eventually free still referenced fragments, before
-    * we leave the scope of the variable.
-    */
-    ctxt->contextVariable = variable;
-    variable->flags |= XSLT_VAR_IN_SELECT;
-
-    result = xmlXPathCompiledEval(xpExpr, xpctxt);
-
-    variable->flags ^= XSLT_VAR_IN_SELECT;
-    /*
-    * Restore Context states.
-    */
-    ctxt->contextVariable = oldVar;
-
-    xpctxt->doc = oldXPDoc;
-    xpctxt->node = oldXPContextNode;
-    xpctxt->contextSize = oldXPContextSize;
-    xpctxt->proximityPosition = oldXPProximityPosition;
-    xpctxt->namespaces = oldXPNamespaces;
-    xpctxt->nsNr = oldXPNsNr;
-
-    if ((comp == NULL) || (comp->comp == NULL))
-        xmlXPathFreeCompExpr(xpExpr);
-    if (result == NULL) {
-        xsltTransformError(ctxt, NULL,
-        (comp != NULL) ? comp->inst : NULL,
-        "Failed to evaluate the expression of variable '%s'.\n",
-        variable->name);
-        ctxt->state = XSLT_STATE_STOPPED;
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-#ifdef LIBXML_DEBUG_ENABLED
-    } else {
-        if ((xsltGenericDebugContext == stdout) ||
-        (xsltGenericDebugContext == stderr))
-        xmlXPathDebugDumpObject((FILE *)xsltGenericDebugContext,
-                    result, 0);
-#endif
-#endif
-    }
-    } else {
-    if (variable->tree == NULL) {
-        result = xmlXPathNewCString("");
-    } else {
-        if (variable->tree) {
-        xmlDocPtr container;
-        xmlNodePtr oldInsert;
-        xmlDocPtr  oldOutput;
-        xsltStackElemPtr oldVar = ctxt->contextVariable;
-
-        /*
-        * Generate a result tree fragment.
-        */
-        container = xsltCreateRVT(ctxt);
-        if (container == NULL)
-            goto error;
-        /*
-        * NOTE: Local Result Tree Fragments of params/variables
-        * are not registered globally anymore; the life-time
-        * is not directly dependant of the param/variable itself.
-        *
-        * OLD: xsltRegisterTmpRVT(ctxt, container);
-        */
-        /*
-        * Attach the Result Tree Fragment to the variable;
-        * when the variable is freed, it will also free
-        * the Result Tree Fragment.
-        */
-        variable->fragment = container;
-
-        oldOutput = ctxt->output;
-        oldInsert = ctxt->insert;
-
-        ctxt->output = container;
-        ctxt->insert = (xmlNodePtr) container;
-        ctxt->contextVariable = variable;
-        /*
-        * Process the sequence constructor (variable->tree).
-        * The resulting tree will be held by @container.
-        */
-        xsltApplyOneTemplate(ctxt, ctxt->node, variable->tree,
-            NULL, NULL);
-
-        ctxt->contextVariable = oldVar;
-        ctxt->insert = oldInsert;
-        ctxt->output = oldOutput;
-
-        result = xmlXPathNewValueTree((xmlNodePtr) container);
-        }
-        if (result == NULL) {
-        result = xmlXPathNewCString("");
-        } else {
-        /*
-        * Freeing is not handled there anymore.
-        * QUESTION TODO: What does the above comment mean?
-        */
-            result->boolval = 0;
-        }
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-#ifdef LIBXML_DEBUG_ENABLED
-
-        if ((xsltGenericDebugContext == stdout) ||
-        (xsltGenericDebugContext == stderr))
-        xmlXPathDebugDumpObject((FILE *)xsltGenericDebugContext,
-                    result, 0);
-#endif
-#endif
-    }
-    }
-
-error:
-    ctxt->inst = oldInst;
-    return(result);
-}
-
-/**
- * xsltEvalGlobalVariable:
- * @elem:  the variable or parameter
- * @ctxt:  the XSLT transformation context
- *
- * Evaluates a the value of a global xsl:variable or
- * xsl:param declaration.
- *
- * Returns the XPath Object value or NULL in case of error
- */
-static xmlXPathObjectPtr
-xsltEvalGlobalVariable(xsltStackElemPtr elem, xsltTransformContextPtr ctxt)
-{
-    xmlXPathObjectPtr result = NULL;
-    xmlNodePtr oldInst;
-    const xmlChar* oldVarName;
-
-#ifdef XSLT_REFACTORED
-    xsltStyleBasicItemVariablePtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((ctxt == NULL) || (elem == NULL))
-    return(NULL);
-    if (elem->computed)
-    return(elem->value);
-
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-    "Evaluating global variable %s\n", elem->name));
-#endif
-
-#ifdef WITH_DEBUGGER
-    if ((ctxt->debugStatus != XSLT_DEBUG_NONE) &&
-        elem->comp && elem->comp->inst)
-        xslHandleDebugger(elem->comp->inst, NULL, NULL, ctxt);
-#endif
-
-    oldInst = ctxt->inst;
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleBasicItemVariablePtr) elem->comp;
-#else
-    comp = elem->comp;
-#endif
-    oldVarName = elem->name;
-    elem->name = xsltComputingGlobalVarMarker;
-    /*
-    * OPTIMIZE TODO: We should consider instantiating global vars/params
-    *  on-demand. The vars/params don't need to be evaluated if never
-    *  called; and in the case of global params, if values for such params
-    *  are provided by the user.
-    */
-    if (elem->select != NULL) {
-    xmlXPathCompExprPtr xpExpr = NULL;
-    xmlDocPtr oldXPDoc;
-    xmlNodePtr oldXPContextNode;
-    int oldXPProximityPosition, oldXPContextSize, oldXPNsNr;
-    xmlNsPtr *oldXPNamespaces;
-    xmlXPathContextPtr xpctxt = ctxt->xpathCtxt;
-
-    if ((comp != NULL) && (comp->comp != NULL)) {
-        xpExpr = comp->comp;
-    } else {
-        xpExpr = xmlXPathCompile(elem->select);
-    }
-    if (xpExpr == NULL)
-        goto error;
-
-
-    if (comp != NULL)
-        ctxt->inst = comp->inst;
-    else
-        ctxt->inst = NULL;
-    /*
-    * SPEC XSLT 1.0:
-    * "At top-level, the expression or template specifying the
-    *  variable value is evaluated with the same context as that used
-    *  to process the root node of the source document: the current
-    *  node is the root node of the source document and the current
-    *  node list is a list containing just the root node of the source
-    *  document."
-    */
-    /*
-    * Save context states.
-    */
-    oldXPDoc = xpctxt->doc;
-    oldXPContextNode = xpctxt->node;
-    oldXPProximityPosition = xpctxt->proximityPosition;
-    oldXPContextSize = xpctxt->contextSize;
-    oldXPNamespaces = xpctxt->namespaces;
-    oldXPNsNr = xpctxt->nsNr;
-
-    xpctxt->node = ctxt->initialContextNode;
-    xpctxt->doc = ctxt->initialContextDoc;
-    xpctxt->contextSize = 1;
-    xpctxt->proximityPosition = 1;
-
-    if (comp != NULL) {
-
-#ifdef XSLT_REFACTORED
-        if (comp->inScopeNs != NULL) {
-        xpctxt->namespaces = comp->inScopeNs->list;
-        xpctxt->nsNr = comp->inScopeNs->xpathNumber;
-        } else {
-        xpctxt->namespaces = NULL;
-        xpctxt->nsNr = 0;
-        }
-#else
-        xpctxt->namespaces = comp->nsList;
-        xpctxt->nsNr = comp->nsNr;
-#endif
-    } else {
-        xpctxt->namespaces = NULL;
-        xpctxt->nsNr = 0;
-    }
-
-    result = xmlXPathCompiledEval(xpExpr, xpctxt);
-
-    /*
-    * Restore Context states.
-    */
-    xpctxt->doc = oldXPDoc;
-    xpctxt->node = oldXPContextNode;
-    xpctxt->contextSize = oldXPContextSize;
-    xpctxt->proximityPosition = oldXPProximityPosition;
-    xpctxt->namespaces = oldXPNamespaces;
-    xpctxt->nsNr = oldXPNsNr;
-
-    if ((comp == NULL) || (comp->comp == NULL))
-        xmlXPathFreeCompExpr(xpExpr);
-    if (result == NULL) {
-        if (comp == NULL)
-        xsltTransformError(ctxt, NULL, NULL,
-            "Evaluating global variable %s failed\n", elem->name);
-        else
-        xsltTransformError(ctxt, NULL, comp->inst,
-            "Evaluating global variable %s failed\n", elem->name);
-        ctxt->state = XSLT_STATE_STOPPED;
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-#ifdef LIBXML_DEBUG_ENABLED
-    } else {
-        if ((xsltGenericDebugContext == stdout) ||
-        (xsltGenericDebugContext == stderr))
-        xmlXPathDebugDumpObject((FILE *)xsltGenericDebugContext,
-                    result, 0);
-#endif
-#endif
-    }
-    } else {
-    if (elem->tree == NULL) {
-        result = xmlXPathNewCString("");
-    } else {
-        xmlDocPtr container;
-        xmlNodePtr oldInsert;
-        xmlDocPtr  oldOutput, oldXPDoc;
-        /*
-        * Generate a result tree fragment.
-        */
-        container = xsltCreateRVT(ctxt);
-        if (container == NULL)
-        goto error;
-        /*
-        * Let the lifetime of the tree fragment be handled by
-        * the Libxslt's garbage collector.
-        */
-        xsltRegisterPersistRVT(ctxt, container);
-
-        oldOutput = ctxt->output;
-        oldInsert = ctxt->insert;
-
-        oldXPDoc = ctxt->xpathCtxt->doc;
-
-        ctxt->output = container;
-        ctxt->insert = (xmlNodePtr) container;
-
-        ctxt->xpathCtxt->doc = ctxt->initialContextDoc;
-        /*
-        * Process the sequence constructor.
-        */
-        xsltApplyOneTemplate(ctxt, ctxt->node, elem->tree, NULL, NULL);
-
-        ctxt->xpathCtxt->doc = oldXPDoc;
-
-        ctxt->insert = oldInsert;
-        ctxt->output = oldOutput;
-
-        result = xmlXPathNewValueTree((xmlNodePtr) container);
-        if (result == NULL) {
-        result = xmlXPathNewCString("");
-        } else {
-            result->boolval = 0; /* Freeing is not handled there anymore */
-        }
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-#ifdef LIBXML_DEBUG_ENABLED
-        if ((xsltGenericDebugContext == stdout) ||
-        (xsltGenericDebugContext == stderr))
-        xmlXPathDebugDumpObject((FILE *)xsltGenericDebugContext,
-                    result, 0);
-#endif
-#endif
-    }
-    }
-
-error:
-    elem->name = oldVarName;
-    ctxt->inst = oldInst;
-    if (result != NULL) {
-    elem->value = result;
-    elem->computed = 1;
-    }
-    return(result);
-}
-
-/**
- * xsltEvalGlobalVariables:
- * @ctxt:  the XSLT transformation context
- *
- * Evaluates all global variables and parameters of a stylesheet.
- * For internal use only. This is called at start of a transformation.
- *
- * Returns 0 in case of success, -1 in case of error
- */
-int
-xsltEvalGlobalVariables(xsltTransformContextPtr ctxt) {
-    xsltStackElemPtr elem;
-    xsltStylesheetPtr style;
-
-    if ((ctxt == NULL) || (ctxt->document == NULL))
-    return(-1);
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-    "Registering global variables\n"));
-#endif
-    /*
-     * Walk the list from the stylesheets and populate the hash table
-     */
-    style = ctxt->style;
-    while (style != NULL) {
-    elem = style->variables;
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    if ((style->doc != NULL) && (style->doc->URL != NULL)) {
-        XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-                 "Registering global variables from %s\n",
-                     style->doc->URL));
-    }
-#endif
-
-    while (elem != NULL) {
-        xsltStackElemPtr def;
-
-        /*
-         * Global variables are stored in the variables pool.
-         */
-        def = (xsltStackElemPtr)
-            xmlHashLookup2(ctxt->globalVars,
-                         elem->name, elem->nameURI);
-        if (def == NULL) {
-
-        def = xsltCopyStackElem(elem);
-        xmlHashAddEntry2(ctxt->globalVars,
-                 elem->name, elem->nameURI, def);
-        } else if ((elem->comp != NULL) &&
-               (elem->comp->type == XSLT_FUNC_VARIABLE)) {
-        /*
-         * Redefinition of variables from a different stylesheet
-         * should not generate a message.
-         */
-        if ((elem->comp->inst != NULL) &&
-            (def->comp != NULL) && (def->comp->inst != NULL) &&
-            (elem->comp->inst->doc == def->comp->inst->doc))
-        {
-            xsltTransformError(ctxt, style, elem->comp->inst,
-            "Global variable %s already defined\n", elem->name);
-            if (style != NULL) style->errors++;
-        }
-        }
-        elem = elem->next;
-    }
-
-    style = xsltNextImport(style);
-    }
-
-    /*
-     * This part does the actual evaluation
-     */
-    xmlHashScan(ctxt->globalVars,
-            (xmlHashScanner) xsltEvalGlobalVariable, ctxt);
-
-    return(0);
-}
-
-/**
- * xsltRegisterGlobalVariable:
- * @style:  the XSLT transformation context
- * @name:  the variable name
- * @ns_uri:  the variable namespace URI
- * @sel:  the expression which need to be evaluated to generate a value
- * @tree:  the subtree if sel is NULL
- * @comp:  the precompiled value
- * @value:  the string value if available
- *
- * Register a new variable value. If @value is NULL it unregisters
- * the variable
- *
- * Returns 0 in case of success, -1 in case of error
- */
-static int
-xsltRegisterGlobalVariable(xsltStylesheetPtr style, const xmlChar *name,
-             const xmlChar *ns_uri, const xmlChar *sel,
-             xmlNodePtr tree, xsltStylePreCompPtr comp,
-             const xmlChar *value) {
-    xsltStackElemPtr elem, tmp;
-    if (style == NULL)
-    return(-1);
-    if (name == NULL)
-    return(-1);
-    if (comp == NULL)
-    return(-1);
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    if (comp->type == XSLT_FUNC_PARAM)
-    xsltGenericDebug(xsltGenericDebugContext,
-             "Defining global param %s\n", name);
-    else
-    xsltGenericDebug(xsltGenericDebugContext,
-             "Defining global variable %s\n", name);
-#endif
-
-    elem = xsltNewStackElem(NULL);
-    if (elem == NULL)
-    return(-1);
-    elem->comp = comp;
-    elem->name = xmlDictLookup(style->dict, name, -1);
-    elem->select = xmlDictLookup(style->dict, sel, -1);
-    if (ns_uri)
-    elem->nameURI = xmlDictLookup(style->dict, ns_uri, -1);
-    elem->tree = tree;
-    tmp = style->variables;
-    if (tmp == NULL) {
-    elem->next = NULL;
-    style->variables = elem;
-    } else {
-    while (tmp != NULL) {
-        if ((elem->comp->type == XSLT_FUNC_VARIABLE) &&
-        (tmp->comp->type == XSLT_FUNC_VARIABLE) &&
-        (xmlStrEqual(elem->name, tmp->name)) &&
-        ((elem->nameURI == tmp->nameURI) ||
-         (xmlStrEqual(elem->nameURI, tmp->nameURI))))
-        {
-        xsltTransformError(NULL, style, comp->inst,
-        "redefinition of global variable %s\n", elem->name);
-        style->errors++;
-        }
-        if (tmp->next == NULL)
-            break;
-        tmp = tmp->next;
-    }
-    elem->next = NULL;
-    tmp->next = elem;
-    }
-    if (value != NULL) {
-    elem->computed = 1;
-    elem->value = xmlXPathNewString(value);
-    }
-    return(0);
-}
-
-/**
- * xsltProcessUserParamInternal
- *
- * @ctxt:  the XSLT transformation context
- * @name:  a null terminated parameter name
- * @value: a null terminated value (may be an XPath expression)
- * @eval:  0 to treat the value literally, else evaluate as XPath expression
- *
- * If @eval is 0 then @value is treated literally and is stored in the global
- * parameter/variable table without any change.
- *
- * Uf @eval is 1 then @value is treated as an XPath expression and is
- * evaluated.  In this case, if you want to pass a string which will be
- * interpreted literally then it must be enclosed in single or double quotes.
- * If the string contains single quotes (double quotes) then it cannot be
- * enclosed single quotes (double quotes).  If the string which you want to
- * be treated literally contains both single and double quotes (e.g. Meet
- * at Joe's for "Twelfth Night" at 7 o'clock) then there is no suitable
- * quoting character.  You cannot use ' or " inside the string
- * because the replacement of character entities with their equivalents is
- * done at a different stage of processing.  The solution is to call
- * xsltQuoteUserParams or xsltQuoteOneUserParam.
- *
- * This needs to be done on parsed stylesheets before starting to apply
- * transformations.  Normally this will be called (directly or indirectly)
- * only from xsltEvalUserParams, xsltEvalOneUserParam, xsltQuoteUserParams,
- * or xsltQuoteOneUserParam.
- *
- * Returns 0 in case of success, -1 in case of error
- */
-
-static
-int
-xsltProcessUserParamInternal(xsltTransformContextPtr ctxt,
-                     const xmlChar * name,
-                 const xmlChar * value,
-                 int eval) {
-
-    xsltStylesheetPtr style;
-    const xmlChar *prefix;
-    const xmlChar *href;
-    xmlXPathCompExprPtr xpExpr;
-    xmlXPathObjectPtr result;
-
-    xsltStackElemPtr elem;
-    int res;
-    void *res_ptr;
-
-    if (ctxt == NULL)
-    return(-1);
-    if (name == NULL)
-    return(0);
-    if (value == NULL)
-    return(0);
-
-    style = ctxt->style;
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-        "Evaluating user parameter %s=%s\n", name, value));
-#endif
-
-    /*
-     * Name lookup
-     */
-
-    name = xsltSplitQName(ctxt->dict, name, &prefix);
-    href = NULL;
-    if (prefix != NULL) {
-    xmlNsPtr ns;
-
-    ns = xmlSearchNs(style->doc, xmlDocGetRootElement(style->doc),
-             prefix);
-    if (ns == NULL) {
-        xsltTransformError(ctxt, style, NULL,
-        "user param : no namespace bound to prefix %s\n", prefix);
-        href = NULL;
-    } else {
-        href = ns->href;
-    }
-    }
-
-    if (name == NULL)
-    return (-1);
-
-    res_ptr = xmlHashLookup2(ctxt->globalVars, name, href);
-    if (res_ptr != 0) {
-    xsltTransformError(ctxt, style, NULL,
-        "Global parameter %s already defined\n", name);
-    }
-    if (ctxt->globalVars == NULL)
-    ctxt->globalVars = xmlHashCreate(20);
-
-    /*
-     * do not overwrite variables with parameters from the command line
-     */
-    while (style != NULL) {
-        elem = ctxt->style->variables;
-    while (elem != NULL) {
-        if ((elem->comp != NULL) &&
-            (elem->comp->type == XSLT_FUNC_VARIABLE) &&
-        (xmlStrEqual(elem->name, name)) &&
-        (xmlStrEqual(elem->nameURI, href))) {
-        return(0);
-        }
-            elem = elem->next;
-    }
-        style = xsltNextImport(style);
-    }
-    style = ctxt->style;
-    elem = NULL;
-
-    /*
-     * Do the evaluation if @eval is non-zero.
-     */
-
-    result = NULL;
-    if (eval != 0) {
-        xpExpr = xmlXPathCompile(value);
-    if (xpExpr != NULL) {
-        xmlDocPtr oldXPDoc;
-        xmlNodePtr oldXPContextNode;
-        int oldXPProximityPosition, oldXPContextSize, oldXPNsNr;
-        xmlNsPtr *oldXPNamespaces;
-        xmlXPathContextPtr xpctxt = ctxt->xpathCtxt;
-
-        /*
-        * Save context states.
-        */
-        oldXPDoc = xpctxt->doc;
-        oldXPContextNode = xpctxt->node;
-        oldXPProximityPosition = xpctxt->proximityPosition;
-        oldXPContextSize = xpctxt->contextSize;
-        oldXPNamespaces = xpctxt->namespaces;
-        oldXPNsNr = xpctxt->nsNr;
-
-        /*
-        * SPEC XSLT 1.0:
-        * "At top-level, the expression or template specifying the
-        *  variable value is evaluated with the same context as that used
-        *  to process the root node of the source document: the current
-        *  node is the root node of the source document and the current
-        *  node list is a list containing just the root node of the source
-        *  document."
-        */
-        xpctxt->doc = ctxt->initialContextDoc;
-        xpctxt->node = ctxt->initialContextNode;
-        xpctxt->contextSize = 1;
-        xpctxt->proximityPosition = 1;
-        /*
-        * There is really no in scope namespace for parameters on the
-        * command line.
-        */
-        xpctxt->namespaces = NULL;
-        xpctxt->nsNr = 0;
-
-        result = xmlXPathCompiledEval(xpExpr, xpctxt);
-
-        /*
-        * Restore Context states.
-        */
-        xpctxt->doc = oldXPDoc;
-        xpctxt->node = oldXPContextNode;
-        xpctxt->contextSize = oldXPContextSize;
-        xpctxt->proximityPosition = oldXPProximityPosition;
-        xpctxt->namespaces = oldXPNamespaces;
-        xpctxt->nsNr = oldXPNsNr;
-
-        xmlXPathFreeCompExpr(xpExpr);
-    }
-    if (result == NULL) {
-        xsltTransformError(ctxt, style, NULL,
-        "Evaluating user parameter %s failed\n", name);
-        ctxt->state = XSLT_STATE_STOPPED;
-        return(-1);
-    }
-    }
-
-    /*
-     * If @eval is 0 then @value is to be taken literally and result is NULL
-     *
-     * If @eval is not 0, then @value is an XPath expression and has been
-     * successfully evaluated and result contains the resulting value and
-     * is not NULL.
-     *
-     * Now create an xsltStackElemPtr for insertion into the context's
-     * global variable/parameter hash table.
-     */
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-#ifdef LIBXML_DEBUG_ENABLED
-    if ((xsltGenericDebugContext == stdout) ||
-        (xsltGenericDebugContext == stderr))
-        xmlXPathDebugDumpObject((FILE *)xsltGenericDebugContext,
-                    result, 0);
-#endif
-#endif
-
-    elem = xsltNewStackElem(NULL);
-    if (elem != NULL) {
-    elem->name = name;
-    elem->select = xmlDictLookup(ctxt->dict, value, -1);
-    if (href != NULL)
-        elem->nameURI = xmlDictLookup(ctxt->dict, href, -1);
-    elem->tree = NULL;
-    elem->computed = 1;
-    if (eval == 0) {
-        elem->value = xmlXPathNewString(value);
-    }
-    else {
-        elem->value = result;
-    }
-    }
-
-    /*
-     * Global parameters are stored in the XPath context variables pool.
-     */
-
-    res = xmlHashAddEntry2(ctxt->globalVars, name, href, elem);
-    if (res != 0) {
-    xsltFreeStackElem(elem);
-    xsltTransformError(ctxt, style, NULL,
-        "Global parameter %s already defined\n", name);
-    }
-    return(0);
-}
-
-/**
- * xsltEvalUserParams:
- *
- * @ctxt:  the XSLT transformation context
- * @params:  a NULL terminated array of parameters name/value tuples
- *
- * Evaluate the global variables of a stylesheet. This needs to be
- * done on parsed stylesheets before starting to apply transformations.
- * Each of the parameters is evaluated as an XPath expression and stored
- * in the global variables/parameter hash table.  If you want your
- * parameter used literally, use xsltQuoteUserParams.
- *
- * Returns 0 in case of success, -1 in case of error
- */
-
-int
-xsltEvalUserParams(xsltTransformContextPtr ctxt, const char **params) {
-    int indx = 0;
-    const xmlChar *name;
-    const xmlChar *value;
-
-    if (params == NULL)
-    return(0);
-    while (params[indx] != NULL) {
-    name = (const xmlChar *) params[indx++];
-    value = (const xmlChar *) params[indx++];
-    if (xsltEvalOneUserParam(ctxt, name, value) != 0)
-        return(-1);
-    }
-    return 0;
-}
-
-/**
- * xsltQuoteUserParams:
- *
- * @ctxt:  the XSLT transformation context
- * @params:  a NULL terminated arry of parameters names/values tuples
- *
- * Similar to xsltEvalUserParams, but the values are treated literally and
- * are * *not* evaluated as XPath expressions. This should be done on parsed
- * stylesheets before starting to apply transformations.
- *
- * Returns 0 in case of success, -1 in case of error.
- */
-
-int
-xsltQuoteUserParams(xsltTransformContextPtr ctxt, const char **params) {
-    int indx = 0;
-    const xmlChar *name;
-    const xmlChar *value;
-
-    if (params == NULL)
-    return(0);
-    while (params[indx] != NULL) {
-    name = (const xmlChar *) params[indx++];
-    value = (const xmlChar *) params[indx++];
-    if (xsltQuoteOneUserParam(ctxt, name, value) != 0)
-        return(-1);
-    }
-    return 0;
-}
-
-/**
- * xsltEvalOneUserParam:
- * @ctxt:  the XSLT transformation context
- * @name:  a null terminated string giving the name of the parameter
- * @value:  a null terminated string giving the XPath expression to be evaluated
- *
- * This is normally called from xsltEvalUserParams to process a single
- * parameter from a list of parameters.  The @value is evaluated as an
- * XPath expression and the result is stored in the context's global
- * variable/parameter hash table.
- *
- * To have a parameter treated literally (not as an XPath expression)
- * use xsltQuoteUserParams (or xsltQuoteOneUserParam).  For more
- * details see description of xsltProcessOneUserParamInternal.
- *
- * Returns 0 in case of success, -1 in case of error.
- */
-
-int
-xsltEvalOneUserParam(xsltTransformContextPtr ctxt,
-             const xmlChar * name,
-             const xmlChar * value) {
-    return xsltProcessUserParamInternal(ctxt, name, value,
-                                1 /* xpath eval ? */);
-}
-
-/**
- * xsltQuoteOneUserParam:
- * @ctxt:  the XSLT transformation context
- * @name:  a null terminated string giving the name of the parameter
- * @value:  a null terminated string giving the parameter value
- *
- * This is normally called from xsltQuoteUserParams to process a single
- * parameter from a list of parameters.  The @value is stored in the
- * context's global variable/parameter hash table.
- *
- * Returns 0 in case of success, -1 in case of error.
- */
-
-int
-xsltQuoteOneUserParam(xsltTransformContextPtr ctxt,
-             const xmlChar * name,
-             const xmlChar * value) {
-    return xsltProcessUserParamInternal(ctxt, name, value,
-                    0 /* xpath eval ? */);
-}
-
-/**
- * xsltBuildVariable:
- * @ctxt:  the XSLT transformation context
- * @comp:  the precompiled form
- * @tree:  the tree if select is NULL
- *
- * Computes a new variable value.
- *
- * Returns the xsltStackElemPtr or NULL in case of error
- */
-static xsltStackElemPtr
-xsltBuildVariable(xsltTransformContextPtr ctxt,
-          xsltStylePreCompPtr castedComp,
-          xmlNodePtr tree)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleBasicItemVariablePtr comp =
-    (xsltStyleBasicItemVariablePtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-#endif
-    xsltStackElemPtr elem;
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-             "Building variable %s", comp->name));
-    if (comp->select != NULL)
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-             " select %s", comp->select));
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext, "\n"));
-#endif
-
-    elem = xsltNewStackElem(ctxt);
-    if (elem == NULL)
-    return(NULL);
-    elem->comp = (xsltStylePreCompPtr) comp;
-    elem->name = comp->name;
-    elem->select = comp->select;
-    elem->nameURI = comp->ns;
-    elem->tree = tree;
-    elem->value = xsltEvalVariable(ctxt, elem,
-    (xsltStylePreCompPtr) comp);
-    if (elem->value != NULL)
-    elem->computed = 1;
-    return(elem);
-}
-
-/**
- * xsltRegisterVariable:
- * @ctxt:  the XSLT transformation context
- * @comp: the compiled XSLT-variable (or param) instruction
- * @tree:  the tree if select is NULL
- * @isParam:  indicates if this is a parameter
- *
- * Computes and registers a new variable.
- *
- * Returns 0 in case of success, -1 in case of error
- */
-static int
-xsltRegisterVariable(xsltTransformContextPtr ctxt,
-             xsltStylePreCompPtr castedComp,
-             xmlNodePtr tree, int isParam)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleBasicItemVariablePtr comp =
-    (xsltStyleBasicItemVariablePtr) castedComp;
-#else
-    xsltStylePreCompPtr comp = castedComp;
-    int present;
-#endif
-    xsltStackElemPtr variable;
-
-#ifdef XSLT_REFACTORED
-    /*
-    * REFACTORED NOTE: Redefinitions of vars/params are checked
-    *  at compilation time in the refactored code.
-    * xsl:with-param parameters are checked in xsltApplyXSLTTemplate().
-    */
-#else
-    present = xsltCheckStackElem(ctxt, comp->name, comp->ns);
-    if (isParam == 0) {
-    if ((present != 0) && (present != 3)) {
-        /* TODO: report QName. */
-        xsltTransformError(ctxt, NULL, comp->inst,
-        "XSLT-variable: Redefinition of variable '%s'.\n", comp->name);
-        return(0);
-    }
-    } else if (present != 0) {
-    if ((present == 1) || (present == 2)) {
-        /* TODO: report QName. */
-        xsltTransformError(ctxt, NULL, comp->inst,
-        "XSLT-param: Redefinition of parameter '%s'.\n", comp->name);
-        return(0);
-    }
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-         "param %s defined by caller\n", comp->name));
-#endif
-    return(0);
-    }
-#endif /* else of XSLT_REFACTORED */
-
-    variable = xsltBuildVariable(ctxt, (xsltStylePreCompPtr) comp, tree);
-    xsltAddStackElem(ctxt, variable);
-    return(0);
-}
-
-/**
- * xsltGlobalVariableLookup:
- * @ctxt:  the XSLT transformation context
- * @name:  the variable name
- * @ns_uri:  the variable namespace URI
- *
- * Search in the Variable array of the context for the given
- * variable value.
- *
- * Returns the value or NULL if not found
- */
-static xmlXPathObjectPtr
-xsltGlobalVariableLookup(xsltTransformContextPtr ctxt, const xmlChar *name,
-                 const xmlChar *ns_uri) {
-    xsltStackElemPtr elem;
-    xmlXPathObjectPtr ret = NULL;
-
-    /*
-     * Lookup the global variables in XPath global variable hash table
-     */
-    if ((ctxt->xpathCtxt == NULL) || (ctxt->globalVars == NULL))
-    return(NULL);
-    elem = (xsltStackElemPtr)
-        xmlHashLookup2(ctxt->globalVars, name, ns_uri);
-    if (elem == NULL) {
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-             "global variable not found %s\n", name));
-#endif
-    return(NULL);
-    }
-    /*
-    * URGENT TODO: Move the detection of recursive definitions
-    * to compile-time.
-    */
-    if (elem->computed == 0) {
-    if (elem->name == xsltComputingGlobalVarMarker) {
-        xsltTransformError(ctxt, NULL, elem->comp->inst,
-        "Recursive definition of %s\n", name);
-        return(NULL);
-    }
-    ret = xsltEvalGlobalVariable(elem, ctxt);
-    } else
-    ret = elem->value;
-    return(xmlXPathObjectCopy(ret));
-}
-
-/**
- * xsltVariableLookup:
- * @ctxt:  the XSLT transformation context
- * @name:  the variable name
- * @ns_uri:  the variable namespace URI
- *
- * Search in the Variable array of the context for the given
- * variable value.
- *
- * Returns the value or NULL if not found
- */
-xmlXPathObjectPtr
-xsltVariableLookup(xsltTransformContextPtr ctxt, const xmlChar *name,
-           const xmlChar *ns_uri) {
-    xsltStackElemPtr elem;
-
-    if (ctxt == NULL)
-    return(NULL);
-
-    elem = xsltStackLookup(ctxt, name, ns_uri);
-    if (elem == NULL) {
-    return(xsltGlobalVariableLookup(ctxt, name, ns_uri));
-    }
-    if (elem->computed == 0) {
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-                 "uncomputed variable %s\n", name));
-#endif
-        elem->value = xsltEvalVariable(ctxt, elem, NULL);
-    elem->computed = 1;
-    }
-    if (elem->value != NULL)
-    return(xmlXPathObjectCopy(elem->value));
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-             "variable not found %s\n", name));
-#endif
-    return(NULL);
-}
-
-/**
- * xsltParseStylesheetCallerParam:
- * @ctxt:  the XSLT transformation context
- * @inst:  the xsl:with-param instruction element
- *
- * Processes an xsl:with-param instruction at transformation time.
- * The value is compute, but not recorded.
- * NOTE that this is also called with an *xsl:param* element
- * from exsltFuncFunctionFunction().
- *
- * Returns the new xsltStackElemPtr or NULL
- */
-
-xsltStackElemPtr
-xsltParseStylesheetCallerParam(xsltTransformContextPtr ctxt, xmlNodePtr inst)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleBasicItemVariablePtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-    xmlNodePtr tree = NULL; /* The first child node of the instruction or
-                               the instruction itself. */
-    xsltStackElemPtr param = NULL;
-
-    if ((ctxt == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return(NULL);
-
-#ifdef XSLT_REFACTORED
-    comp = (xsltStyleBasicItemVariablePtr) inst->psvi;
-#else
-    comp = (xsltStylePreCompPtr) inst->psvi;
-#endif
-
-    if (comp == NULL) {
-        xsltTransformError(ctxt, NULL, inst,
-        "Internal error in xsltParseStylesheetCallerParam(): "
-        "The XSLT 'with-param' instruction was not compiled.\n");
-        return(NULL);
-    }
-    if (comp->name == NULL) {
-    xsltTransformError(ctxt, NULL, inst,
-        "Internal error in xsltParseStylesheetCallerParam(): "
-        "XSLT 'with-param': The attribute 'name' was not compiled.\n");
-    return(NULL);
-    }
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-        "Handling xsl:with-param %s\n", comp->name));
-#endif
-
-    if (comp->select == NULL) {
-    tree = inst->children;
-    } else {
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-        "        select %s\n", comp->select));
-#endif
-    tree = inst;
-    }
-
-    param = xsltBuildVariable(ctxt, (xsltStylePreCompPtr) comp, tree);
-
-    return(param);
-}
-
-/**
- * xsltParseGlobalVariable:
- * @style:  the XSLT stylesheet
- * @cur:  the "variable" element
- *
- * Parses a global XSLT 'variable' declaration at compilation time
- * and registers it
- */
-void
-xsltParseGlobalVariable(xsltStylesheetPtr style, xmlNodePtr cur)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleItemVariablePtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((cur == NULL) || (style == NULL) || (cur->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    /*
-    * Note that xsltStylePreCompute() will be called from
-    * xslt.c only.
-    */
-    comp = (xsltStyleItemVariablePtr) cur->psvi;
-#else
-    xsltStylePreCompute(style, cur);
-    comp = (xsltStylePreCompPtr) cur->psvi;
-#endif
-    if (comp == NULL) {
-    xsltTransformError(NULL, style, cur,
-         "xsl:variable : compilation failed\n");
-    return;
-    }
-
-    if (comp->name == NULL) {
-    xsltTransformError(NULL, style, cur,
-        "xsl:variable : missing name attribute\n");
-    return;
-    }
-
-    /*
-    * Parse the content (a sequence constructor) of xsl:variable.
-    */
-    if (cur->children != NULL) {
-#ifdef XSLT_REFACTORED
-        xsltParseSequenceConstructor(XSLT_CCTXT(style), cur->children);
-#else
-        xsltParseTemplateContent(style, cur);
-#endif
-    }
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    xsltGenericDebug(xsltGenericDebugContext,
-    "Registering global variable %s\n", comp->name);
-#endif
-
-    xsltRegisterGlobalVariable(style, comp->name, comp->ns,
-    comp->select, cur->children, (xsltStylePreCompPtr) comp,
-    NULL);
-}
-
-/**
- * xsltParseGlobalParam:
- * @style:  the XSLT stylesheet
- * @cur:  the "param" element
- *
- * parse an XSLT transformation param declaration and record
- * its value.
- */
-
-void
-xsltParseGlobalParam(xsltStylesheetPtr style, xmlNodePtr cur) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemParamPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((cur == NULL) || (style == NULL) || (cur->type != XML_ELEMENT_NODE))
-    return;
-
-#ifdef XSLT_REFACTORED
-    /*
-    * Note that xsltStylePreCompute() will be called from
-    * xslt.c only.
-    */
-    comp = (xsltStyleItemParamPtr) cur->psvi;
-#else
-    xsltStylePreCompute(style, cur);
-    comp = (xsltStylePreCompPtr) cur->psvi;
-#endif
-    if (comp == NULL) {
-    xsltTransformError(NULL, style, cur,
-         "xsl:param : compilation failed\n");
-    return;
-    }
-
-    if (comp->name == NULL) {
-    xsltTransformError(NULL, style, cur,
-        "xsl:param : missing name attribute\n");
-    return;
-    }
-
-    /*
-    * Parse the content (a sequence constructor) of xsl:param.
-    */
-    if (cur->children != NULL) {
-#ifdef XSLT_REFACTORED
-        xsltParseSequenceConstructor(XSLT_CCTXT(style), cur->children);
-#else
-        xsltParseTemplateContent(style, cur);
-#endif
-    }
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    xsltGenericDebug(xsltGenericDebugContext,
-    "Registering global param %s\n", comp->name);
-#endif
-
-    xsltRegisterGlobalVariable(style, comp->name, comp->ns,
-    comp->select, cur->children, (xsltStylePreCompPtr) comp,
-    NULL);
-}
-
-/**
- * xsltParseStylesheetVariable:
- * @ctxt:  the XSLT transformation context
- * @inst:  the xsl:variable instruction element
- *
- * Registers a local XSLT 'variable' instruction at transformation time
- * and evaluates its value.
- */
-void
-xsltParseStylesheetVariable(xsltTransformContextPtr ctxt, xmlNodePtr inst)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleItemVariablePtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((inst == NULL) || (ctxt == NULL) || (inst->type != XML_ELEMENT_NODE))
-    return;
-
-    comp = inst->psvi;
-    if (comp == NULL) {
-        xsltTransformError(ctxt, NULL, inst,
-        "Internal error in xsltParseStylesheetVariable(): "
-        "The XSLT 'variable' instruction was not compiled.\n");
-        return;
-    }
-    if (comp->name == NULL) {
-    xsltTransformError(ctxt, NULL, inst,
-        "Internal error in xsltParseStylesheetVariable(): "
-        "The attribute 'name' was not compiled.\n");
-    return;
-    }
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-    "Registering variable '%s'\n", comp->name));
-#endif
-
-    xsltRegisterVariable(ctxt, (xsltStylePreCompPtr) comp, inst->children, 0);
-}
-
-/**
- * xsltParseStylesheetParam:
- * @ctxt:  the XSLT transformation context
- * @cur:  the XSLT 'param' element
- *
- * Registers a local XSLT 'param' declaration at transformation time and
- * evaluates its value.
- */
-void
-xsltParseStylesheetParam(xsltTransformContextPtr ctxt, xmlNodePtr cur)
-{
-#ifdef XSLT_REFACTORED
-    xsltStyleItemParamPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-
-    if ((cur == NULL) || (ctxt == NULL) || (cur->type != XML_ELEMENT_NODE))
-    return;
-
-    comp = cur->psvi;
-    if ((comp == NULL) || (comp->name == NULL)) {
-    xsltTransformError(ctxt, NULL, cur,
-        "Internal error in xsltParseStylesheetParam(): "
-        "The XSLT 'param' declaration was not compiled correctly.\n");
-    return;
-    }
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(ctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-    "Registering param %s\n", comp->name));
-#endif
-
-    xsltRegisterVariable(ctxt, (xsltStylePreCompPtr) comp, cur->children, 1);
-}
-
-/**
- * xsltFreeGlobalVariables:
- * @ctxt:  the XSLT transformation context
- *
- * Free up the data associated to the global variables
- * its value.
- */
-
-void
-xsltFreeGlobalVariables(xsltTransformContextPtr ctxt) {
-    xmlHashFree(ctxt->globalVars, (xmlHashDeallocator) xsltFreeStackElem);
-}
-
-/**
- * xsltXPathVariableLookup:
- * @ctxt:  a void * but the the XSLT transformation context actually
- * @name:  the variable name
- * @ns_uri:  the variable namespace URI
- *
- * This is the entry point when a varibale is needed by the XPath
- * interpretor.
- *
- * Returns the value or NULL if not found
- */
-xmlXPathObjectPtr
-xsltXPathVariableLookup(void *ctxt, const xmlChar *name,
-                    const xmlChar *ns_uri) {
-    xsltTransformContextPtr tctxt;
-    xmlXPathObjectPtr valueObj = NULL;
-
-    if ((ctxt == NULL) || (name == NULL))
-    return(NULL);
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(((xsltTransformContextPtr)ctxt),XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-        "Lookup variable '%s'\n", name));
-#endif
-
-    tctxt = (xsltTransformContextPtr) ctxt;
-    /*
-    * Local variables/params ---------------------------------------------
-    *
-    * Do the lookup from the top of the stack, but
-    * don't use params being computed in a call-param
-    * First lookup expects the variable name and URI to
-    * come from the disctionnary and hence pointer comparison.
-    */
-    if (tctxt->varsNr != 0) {
-    int i;
-    xsltStackElemPtr variable = NULL, cur;
-
-    for (i = tctxt->varsNr; i > tctxt->varsBase; i--) {
-        cur = tctxt->varsTab[i-1];
-        if ((cur->name == name) && (cur->nameURI == ns_uri)) {
-#if 0
-        stack_addr++;
-#endif
-        variable = cur;
-        goto local_variable_found;
-        }
-        cur = cur->next;
-    }
-    /*
-    * Redo the lookup with interned strings to avoid string comparison.
-    *
-    * OPTIMIZE TODO: The problem here is, that if we request a
-    *  global variable, then this will be also executed.
-    */
-    {
-        const xmlChar *tmpName = name, *tmpNsName = ns_uri;
-
-        name = xmlDictLookup(tctxt->dict, name, -1);
-        if (ns_uri)
-        ns_uri = xmlDictLookup(tctxt->dict, ns_uri, -1);
-        if ((tmpName != name) || (tmpNsName != ns_uri)) {
-        for (i = tctxt->varsNr; i > tctxt->varsBase; i--) {
-            cur = tctxt->varsTab[i-1];
-            if ((cur->name == name) && (cur->nameURI == ns_uri)) {
-#if 0
-            stack_cmp++;
-#endif
-            variable = cur;
-            goto local_variable_found;
-            }
-        }
-        }
-    }
-
-local_variable_found:
-
-    if (variable) {
-        if (variable->computed == 0) {
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-        XSLT_TRACE(tctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-            "uncomputed variable '%s'\n", name));
-#endif
-        variable->value = xsltEvalVariable(tctxt, variable, NULL);
-        variable->computed = 1;
-        }
-        if (variable->value != NULL) {
-        valueObj = xmlXPathObjectCopy(variable->value);
-        }
-        return(valueObj);
-    }
-    }
-    /*
-    * Global variables/params --------------------------------------------
-    */
-    if (tctxt->globalVars) {
-    valueObj = xsltGlobalVariableLookup(tctxt, name, ns_uri);
-    }
-
-    if (valueObj == NULL) {
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(tctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-             "variable not found '%s'\n", name));
-#endif
-
-    if (ns_uri) {
-        xsltTransformError(tctxt, NULL, tctxt->inst,
-        "Variable '{%s}%s' has not been declared.\n", ns_uri, name);
-    } else {
-        xsltTransformError(tctxt, NULL, tctxt->inst,
-        "Variable '%s' has not been declared.\n", name);
-    }
-    } else {
-
-#ifdef WITH_XSLT_DEBUG_VARIABLE
-    XSLT_TRACE(tctxt,XSLT_TRACE_VARIABLES,xsltGenericDebug(xsltGenericDebugContext,
-        "found variable '%s'\n", name));
-#endif
-    }
-
-    return(valueObj);
-}
-
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/variables.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/variables.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/variables.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Summary: interface for the variable matching and lookup.
- * Description: interface for the variable matching and lookup.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_VARIABLES_H__
-#define __XML_XSLT_VARIABLES_H__
-
-#include 
-#include 
-#include "xsltexports.h"
-#include "xsltInternals.h"
-#include "functions.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/**
- * XSLT_REGISTER_VARIABLE_LOOKUP:
- *
- * Registering macro, not general purpose at all but used in different modules.
- */
-
-#define XSLT_REGISTER_VARIABLE_LOOKUP(ctxt)         \
-    xmlXPathRegisterVariableLookup((ctxt)->xpathCtxt,       \
-           xsltXPathVariableLookup, (void *)(ctxt));    \
-    xsltRegisterAllFunctions((ctxt)->xpathCtxt);        \
-    xsltRegisterAllElement(ctxt);               \
-    (ctxt)->xpathCtxt->extra = ctxt
-
-/*
- * Interfaces for the variable module.
- */
-
-XSLTPUBFUN int XSLTCALL
-        xsltEvalGlobalVariables     (xsltTransformContextPtr ctxt);
-XSLTPUBFUN int XSLTCALL
-        xsltEvalUserParams      (xsltTransformContextPtr ctxt,
-                         const char **params);
-XSLTPUBFUN int XSLTCALL
-        xsltQuoteUserParams     (xsltTransformContextPtr ctxt,
-                         const char **params);
-XSLTPUBFUN int XSLTCALL
-        xsltEvalOneUserParam        (xsltTransformContextPtr ctxt,
-                         const xmlChar * name,
-                         const xmlChar * value);
-XSLTPUBFUN int XSLTCALL
-        xsltQuoteOneUserParam       (xsltTransformContextPtr ctxt,
-                         const xmlChar * name,
-                         const xmlChar * value);
-
-XSLTPUBFUN void XSLTCALL
-        xsltParseGlobalVariable     (xsltStylesheetPtr style,
-                         xmlNodePtr cur);
-XSLTPUBFUN void XSLTCALL
-        xsltParseGlobalParam        (xsltStylesheetPtr style,
-                         xmlNodePtr cur);
-XSLTPUBFUN void XSLTCALL
-        xsltParseStylesheetVariable (xsltTransformContextPtr ctxt,
-                         xmlNodePtr cur);
-XSLTPUBFUN void XSLTCALL
-        xsltParseStylesheetParam    (xsltTransformContextPtr ctxt,
-                         xmlNodePtr cur);
-XSLTPUBFUN xsltStackElemPtr XSLTCALL
-        xsltParseStylesheetCallerParam  (xsltTransformContextPtr ctxt,
-                         xmlNodePtr cur);
-XSLTPUBFUN int XSLTCALL
-        xsltAddStackElemList        (xsltTransformContextPtr ctxt,
-                         xsltStackElemPtr elems);
-XSLTPUBFUN void XSLTCALL
-        xsltFreeGlobalVariables     (xsltTransformContextPtr ctxt);
-XSLTPUBFUN xmlXPathObjectPtr XSLTCALL
-        xsltVariableLookup      (xsltTransformContextPtr ctxt,
-                         const xmlChar *name,
-                         const xmlChar *ns_uri);
-XSLTPUBFUN xmlXPathObjectPtr XSLTCALL
-        xsltXPathVariableLookup     (void *ctxt,
-                         const xmlChar *name,
-                         const xmlChar *ns_uri);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_VARIABLES_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/win32config.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/win32config.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/win32config.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Summary: Windows configuration header
- * Description: Windows configuration header
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Igor Zlatkovic
- */
-#ifndef __LIBXSLT_WIN32_CONFIG__
-#define __LIBXSLT_WIN32_CONFIG__
-
-#define HAVE_CTYPE_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STDARG_H 1
-#define HAVE_MALLOC_H 1
-#define HAVE_TIME_H 1
-#define HAVE_LOCALTIME 1
-#define HAVE_GMTIME 1
-#define HAVE_TIME 1
-#define HAVE_MATH_H 1
-#define HAVE_FCNTL_H 1
-
-#include 
-
-#define HAVE_ISINF
-#define HAVE_ISNAN
-
-#include 
-#if defined _MSC_VER || defined __MINGW32__
-/* MS C-runtime has functions which can be used in order to determine if
-   a given floating-point variable contains NaN, (+-)INF. These are
-   preferred, because floating-point technology is considered propriatary
-   by MS and we can assume that their functions know more about their
-   oddities than we do. */
-#include 
-/* Bjorn Reese figured a quite nice construct for isinf() using the
-   _fpclass() function. */
-#ifndef isinf
-#define isinf(d) ((_fpclass(d) == _FPCLASS_PINF) ? 1 \
-    : ((_fpclass(d) == _FPCLASS_NINF) ? -1 : 0))
-#endif
-/* _isnan(x) returns nonzero if (x == NaN) and zero otherwise. */
-#ifndef isnan
-#define isnan(d) (_isnan(d))
-#endif
-#else /* _MSC_VER */
-static int isinf (double d) {
-    int expon = 0;
-    double val = frexp (d, &expon);
-    if (expon == 1025) {
-        if (val == 0.5) {
-            return 1;
-        } else if (val == -0.5) {
-            return -1;
-        } else {
-            return 0;
-        }
-    } else {
-        return 0;
-    }
-}
-static int isnan (double d) {
-    int expon = 0;
-    double val = frexp (d, &expon);
-    if (expon == 1025) {
-        if (val == 0.5) {
-            return 0;
-        } else if (val == -0.5) {
-            return 0;
-        } else {
-            return 1;
-        }
-    } else {
-        return 0;
-    }
-}
-#endif /* _MSC_VER */
-
-#include 
-#if defined(_MSC_VER) || defined(__MINGW32__)
-#define mkdir(p,m) _mkdir(p)
-#if _MSC_VER < 1900
-#define snprintf _snprintf
-#endif
-#if _MSC_VER < 1500
-#define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a)
-#endif
-#endif
-
-#define HAVE_SYS_STAT_H
-#define HAVE__STAT
-#define HAVE_STRING_H
-
-#include 
-
-#ifndef ATTRIBUTE_UNUSED
-#define ATTRIBUTE_UNUSED
-#endif
-
-#define _WINSOCKAPI_
-
-#endif /* __LIBXSLT_WIN32_CONFIG__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xslt.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xslt.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xslt.c
+++ /dev/null
@@ -1,7011 +0,0 @@
-/*
- * xslt.c: Implemetation of an XSL Transformation 1.0 engine
- *
- * Reference:
- *   XSLT specification
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- *   Associating Style Sheets with XML documents
- *   http://www.w3.org/1999/06/REC-xml-stylesheet-19990629
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xslt.h"
-#include "xsltInternals.h"
-#include "pattern.h"
-#include "variables.h"
-#include "namespaces.h"
-#include "attributes.h"
-#include "xsltutils.h"
-#include "imports.h"
-#include "keys.h"
-#include "documents.h"
-#include "extensions.h"
-#include "preproc.h"
-#include "extra.h"
-#include "security.h"
-
-#ifdef WITH_XSLT_DEBUG
-#define WITH_XSLT_DEBUG_PARSING
-/* #define WITH_XSLT_DEBUG_BLANKS */
-#endif
-
-const char *xsltEngineVersion = LIBXSLT_VERSION_STRING LIBXSLT_VERSION_EXTRA;
-const int xsltLibxsltVersion = LIBXSLT_VERSION;
-const int xsltLibxmlVersion = LIBXML_VERSION;
-
-#ifdef XSLT_REFACTORED
-
-const xmlChar *xsltConstNamespaceNameXSLT = (const xmlChar *) XSLT_NAMESPACE;
-
-#define XSLT_ELEMENT_CATEGORY_XSLT 0
-#define XSLT_ELEMENT_CATEGORY_EXTENSION 1
-#define XSLT_ELEMENT_CATEGORY_LRE 2
-
-/*
-* xsltLiteralResultMarker:
-* Marker for Literal result elements, in order to avoid multiple attempts
-* to recognize such elements in the stylesheet's tree.
-* This marker is set on node->psvi during the initial traversal
-* of a stylesheet's node tree.
-*
-const xmlChar *xsltLiteralResultMarker =
-    (const xmlChar *) "Literal Result Element";
-*/
-
-/*
-* xsltXSLTTextMarker:
-* Marker for xsl:text elements. Used to recognize xsl:text elements
-* for post-processing of the stylesheet's tree, where those
-* elements are removed from the tree.
-*/
-const xmlChar *xsltXSLTTextMarker = (const xmlChar *) "XSLT Text Element";
-
-/*
-* xsltXSLTAttrMarker:
-* Marker for XSLT attribute on Literal Result Elements.
-*/
-const xmlChar *xsltXSLTAttrMarker = (const xmlChar *) "LRE XSLT Attr";
-
-#endif
-
-#ifdef XSLT_LOCALE_WINAPI
-extern xmlRMutexPtr xsltLocaleMutex;
-#endif
-/*
- * Harmless but avoiding a problem when compiling against a
- * libxml <= 2.3.11 without LIBXML_DEBUG_ENABLED
- */
-#ifndef LIBXML_DEBUG_ENABLED
-double xmlXPathStringEvalNumber(const xmlChar *str);
-#endif
-/*
- * Useful macros
- */
-
-#ifdef  IS_BLANK
-#undef  IS_BLANK
-#endif
-#define IS_BLANK(c) (((c) == 0x20) || ((c) == 0x09) || ((c) == 0xA) ||  \
-                     ((c) == 0x0D))
-
-#ifdef  IS_BLANK_NODE
-#undef  IS_BLANK_NODE
-#endif
-#define IS_BLANK_NODE(n)                        \
-    (((n)->type == XML_TEXT_NODE) && (xsltIsBlank((n)->content)))
-
-/**
- * xsltParseContentError:
- *
- * @style: the stylesheet
- * @node: the node where the error occured
- *
- * Compile-time error function.
- */
-static void
-xsltParseContentError(xsltStylesheetPtr style,
-               xmlNodePtr node)
-{
-    if ((style == NULL) || (node == NULL))
-    return;
-
-    if (IS_XSLT_ELEM(node))
-    xsltTransformError(NULL, style, node,
-        "The XSLT-element '%s' is not allowed at this position.\n",
-        node->name);
-    else
-    xsltTransformError(NULL, style, node,
-        "The element '%s' is not allowed at this position.\n",
-        node->name);
-    style->errors++;
-}
-
-#ifdef XSLT_REFACTORED
-#else
-/**
- * exclPrefixPush:
- * @style: the transformation stylesheet
- * @value:  the excluded namespace name to push on the stack
- *
- * Push an excluded namespace name on the stack
- *
- * Returns the new index in the stack or -1 if already present or
- * in case of error
- */
-static int
-exclPrefixPush(xsltStylesheetPtr style, xmlChar * value)
-{
-    int i;
-
-    if (style->exclPrefixMax == 0) {
-        style->exclPrefixMax = 4;
-        style->exclPrefixTab =
-            (xmlChar * *)xmlMalloc(style->exclPrefixMax *
-                                   sizeof(style->exclPrefixTab[0]));
-        if (style->exclPrefixTab == NULL) {
-            xmlGenericError(xmlGenericErrorContext, "malloc failed !\n");
-            return (-1);
-        }
-    }
-    /* do not push duplicates */
-    for (i = 0;i < style->exclPrefixNr;i++) {
-        if (xmlStrEqual(style->exclPrefixTab[i], value))
-        return(-1);
-    }
-    if (style->exclPrefixNr >= style->exclPrefixMax) {
-        style->exclPrefixMax *= 2;
-        style->exclPrefixTab =
-            (xmlChar * *)xmlRealloc(style->exclPrefixTab,
-                                    style->exclPrefixMax *
-                                    sizeof(style->exclPrefixTab[0]));
-        if (style->exclPrefixTab == NULL) {
-            xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
-            return (-1);
-        }
-    }
-    style->exclPrefixTab[style->exclPrefixNr] = value;
-    style->exclPrefix = value;
-    return (style->exclPrefixNr++);
-}
-/**
- * exclPrefixPop:
- * @style: the transformation stylesheet
- *
- * Pop an excluded prefix value from the stack
- *
- * Returns the stored excluded prefix value
- */
-static xmlChar *
-exclPrefixPop(xsltStylesheetPtr style)
-{
-    xmlChar *ret;
-
-    if (style->exclPrefixNr <= 0)
-        return (0);
-    style->exclPrefixNr--;
-    if (style->exclPrefixNr > 0)
-        style->exclPrefix = style->exclPrefixTab[style->exclPrefixNr - 1];
-    else
-        style->exclPrefix = NULL;
-    ret = style->exclPrefixTab[style->exclPrefixNr];
-    style->exclPrefixTab[style->exclPrefixNr] = 0;
-    return (ret);
-}
-#endif
-
-/************************************************************************
- *                                  *
- *          Helper functions                *
- *                                  *
- ************************************************************************/
-
-static int initialized = 0;
-/**
- * xsltInit:
- *
- * Initializes the processor (e.g. registers built-in extensions,
- * etc.)
- */
-void
-xsltInit (void) {
-    if (initialized == 0) {
-    initialized = 1;
-#ifdef XSLT_LOCALE_WINAPI
-    xsltLocaleMutex = xmlNewRMutex();
-#endif
-        xsltRegisterAllExtras();
-    }
-}
-
-/**
- * xsltUninit:
- *
- * Uninitializes the processor.
- */
-void
-xsltUninit (void) {
-#ifdef XSLT_LOCALE_WINAPI
-    xmlFreeRMutex(xsltLocaleMutex);
-    xsltLocaleMutex = NULL;
-#endif
-    initialized = 0;
-}
-
-/**
- * xsltIsBlank:
- * @str:  a string
- *
- * Check if a string is ignorable
- *
- * Returns 1 if the string is NULL or made of blanks chars, 0 otherwise
- */
-int
-xsltIsBlank(xmlChar *str) {
-    if (str == NULL)
-    return(1);
-    while (*str != 0) {
-    if (!(IS_BLANK(*str))) return(0);
-    str++;
-    }
-    return(1);
-}
-
-/************************************************************************
- *                                  *
- *      Routines to handle XSLT data structures         *
- *                                  *
- ************************************************************************/
-static xsltDecimalFormatPtr
-xsltNewDecimalFormat(xmlChar *name)
-{
-    xsltDecimalFormatPtr self;
-    /* UTF-8 for 0x2030 */
-    static const xmlChar permille[4] = {0xe2, 0x80, 0xb0, 0};
-
-    self = xmlMalloc(sizeof(xsltDecimalFormat));
-    if (self != NULL) {
-    self->next = NULL;
-    self->name = name;
-
-    /* Default values */
-    self->digit = xmlStrdup(BAD_CAST("#"));
-    self->patternSeparator = xmlStrdup(BAD_CAST(";"));
-    self->decimalPoint = xmlStrdup(BAD_CAST("."));
-    self->grouping = xmlStrdup(BAD_CAST(","));
-    self->percent = xmlStrdup(BAD_CAST("%"));
-    self->permille = xmlStrdup(BAD_CAST(permille));
-    self->zeroDigit = xmlStrdup(BAD_CAST("0"));
-    self->minusSign = xmlStrdup(BAD_CAST("-"));
-    self->infinity = xmlStrdup(BAD_CAST("Infinity"));
-    self->noNumber = xmlStrdup(BAD_CAST("NaN"));
-    }
-    return self;
-}
-
-static void
-xsltFreeDecimalFormat(xsltDecimalFormatPtr self)
-{
-    if (self != NULL) {
-    if (self->digit)
-        xmlFree(self->digit);
-    if (self->patternSeparator)
-        xmlFree(self->patternSeparator);
-    if (self->decimalPoint)
-        xmlFree(self->decimalPoint);
-    if (self->grouping)
-        xmlFree(self->grouping);
-    if (self->percent)
-        xmlFree(self->percent);
-    if (self->permille)
-        xmlFree(self->permille);
-    if (self->zeroDigit)
-        xmlFree(self->zeroDigit);
-    if (self->minusSign)
-        xmlFree(self->minusSign);
-    if (self->infinity)
-        xmlFree(self->infinity);
-    if (self->noNumber)
-        xmlFree(self->noNumber);
-    if (self->name)
-        xmlFree(self->name);
-    xmlFree(self);
-    }
-}
-
-static void
-xsltFreeDecimalFormatList(xsltStylesheetPtr self)
-{
-    xsltDecimalFormatPtr iter;
-    xsltDecimalFormatPtr tmp;
-
-    if (self == NULL)
-    return;
-
-    iter = self->decimalFormat;
-    while (iter != NULL) {
-    tmp = iter->next;
-    xsltFreeDecimalFormat(iter);
-    iter = tmp;
-    }
-}
-
-/**
- * xsltDecimalFormatGetByName:
- * @style: the XSLT stylesheet
- * @name: the decimal-format name to find
- *
- * Find decimal-format by name
- *
- * Returns the xsltDecimalFormatPtr
- */
-xsltDecimalFormatPtr
-xsltDecimalFormatGetByName(xsltStylesheetPtr style, xmlChar *name)
-{
-    xsltDecimalFormatPtr result = NULL;
-
-    if (name == NULL)
-    return style->decimalFormat;
-
-    while (style != NULL) {
-    for (result = style->decimalFormat->next;
-         result != NULL;
-         result = result->next) {
-        if (xmlStrEqual(name, result->name))
-        return result;
-    }
-    style = xsltNextImport(style);
-    }
-    return result;
-}
-
-
-/**
- * xsltNewTemplate:
- *
- * Create a new XSLT Template
- *
- * Returns the newly allocated xsltTemplatePtr or NULL in case of error
- */
-static xsltTemplatePtr
-xsltNewTemplate(void) {
-    xsltTemplatePtr cur;
-
-    cur = (xsltTemplatePtr) xmlMalloc(sizeof(xsltTemplate));
-    if (cur == NULL) {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltNewTemplate : malloc failed\n");
-    return(NULL);
-    }
-    memset(cur, 0, sizeof(xsltTemplate));
-    cur->priority = XSLT_PAT_NO_PRIORITY;
-    return(cur);
-}
-
-/**
- * xsltFreeTemplate:
- * @template:  an XSLT template
- *
- * Free up the memory allocated by @template
- */
-static void
-xsltFreeTemplate(xsltTemplatePtr template) {
-    if (template == NULL)
-    return;
-    if (template->match) xmlFree(template->match);
-/*
-*   NOTE: @name and @nameURI are put into the string dict now.
-*   if (template->name) xmlFree(template->name);
-*   if (template->nameURI) xmlFree(template->nameURI);
-*/
-/*
-    if (template->mode) xmlFree(template->mode);
-    if (template->modeURI) xmlFree(template->modeURI);
- */
-    if (template->inheritedNs) xmlFree(template->inheritedNs);
-
-    /* free profiling data */
-    if (template->templCalledTab) xmlFree(template->templCalledTab);
-    if (template->templCountTab) xmlFree(template->templCountTab);
-
-    memset(template, -1, sizeof(xsltTemplate));
-    xmlFree(template);
-}
-
-/**
- * xsltFreeTemplateList:
- * @template:  an XSLT template list
- *
- * Free up the memory allocated by all the elements of @template
- */
-static void
-xsltFreeTemplateList(xsltTemplatePtr template) {
-    xsltTemplatePtr cur;
-
-    while (template != NULL) {
-    cur = template;
-    template = template->next;
-    xsltFreeTemplate(cur);
-    }
-}
-
-#ifdef XSLT_REFACTORED
-
-static void
-xsltFreeNsAliasList(xsltNsAliasPtr item)
-{
-    xsltNsAliasPtr tmp;
-
-    while (item) {
-    tmp = item;
-    item = item->next;
-    xmlFree(tmp);
-    }
-    return;
-}
-
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-static void
-xsltFreeNamespaceMap(xsltNsMapPtr item)
-{
-    xsltNsMapPtr tmp;
-
-    while (item) {
-    tmp = item;
-    item = item->next;
-    xmlFree(tmp);
-    }
-    return;
-}
-
-static xsltNsMapPtr
-xsltNewNamespaceMapItem(xsltCompilerCtxtPtr cctxt,
-            xmlDocPtr doc,
-            xmlNsPtr ns,
-            xmlNodePtr elem)
-{
-    xsltNsMapPtr ret;
-
-    if ((cctxt == NULL) || (doc == NULL) || (ns == NULL))
-    return(NULL);
-
-    ret = (xsltNsMapPtr) xmlMalloc(sizeof(xsltNsMap));
-    if (ret == NULL) {
-    xsltTransformError(NULL, cctxt->style, elem,
-        "Internal error: (xsltNewNamespaceMapItem) "
-        "memory allocation failed.\n");
-    return(NULL);
-    }
-    memset(ret, 0, sizeof(xsltNsMap));
-    ret->doc = doc;
-    ret->ns = ns;
-    ret->origNsName = ns->href;
-    /*
-    * Store the item at current stylesheet-level.
-    */
-    if (cctxt->psData->nsMap != NULL)
-    ret->next = cctxt->psData->nsMap;
-    cctxt->psData->nsMap = ret;
-
-    return(ret);
-}
-#endif /* XSLT_REFACTORED_XSLT_NSCOMP */
-
-/**
- * xsltCompilerVarInfoFree:
- * @cctxt: the compilation context
- *
- * Frees the list of information for vars/params.
- */
-static void
-xsltCompilerVarInfoFree(xsltCompilerCtxtPtr cctxt)
-{
-    xsltVarInfoPtr ivar = cctxt->ivars, ivartmp;
-
-    while (ivar) {
-    ivartmp = ivar;
-    ivar = ivar->next;
-    xmlFree(ivartmp);
-    }
-}
-
-/**
- * xsltCompilerCtxtFree:
- *
- * Free an XSLT compiler context.
- */
-static void
-xsltCompilationCtxtFree(xsltCompilerCtxtPtr cctxt)
-{
-    if (cctxt == NULL)
-    return;
-#ifdef WITH_XSLT_DEBUG_PARSING
-    xsltGenericDebug(xsltGenericDebugContext,
-    "Freeing compilation context\n");
-    xsltGenericDebug(xsltGenericDebugContext,
-    "### Max inodes: %d\n", cctxt->maxNodeInfos);
-    xsltGenericDebug(xsltGenericDebugContext,
-    "### Max LREs  : %d\n", cctxt->maxLREs);
-#endif
-    /*
-    * Free node-infos.
-    */
-    if (cctxt->inodeList != NULL) {
-    xsltCompilerNodeInfoPtr tmp, cur = cctxt->inodeList;
-    while (cur != NULL) {
-        tmp = cur;
-        cur = cur->next;
-        xmlFree(tmp);
-    }
-    }
-    if (cctxt->tmpList != NULL)
-    xsltPointerListFree(cctxt->tmpList);
-#ifdef XSLT_REFACTORED_XPATHCOMP
-    if (cctxt->xpathCtxt != NULL)
-    xmlXPathFreeContext(cctxt->xpathCtxt);
-#endif
-    if (cctxt->nsAliases != NULL)
-    xsltFreeNsAliasList(cctxt->nsAliases);
-
-    if (cctxt->ivars)
-    xsltCompilerVarInfoFree(cctxt);
-
-    xmlFree(cctxt);
-}
-
-/**
- * xsltCompilerCreate:
- *
- * Creates an XSLT compiler context.
- *
- * Returns the pointer to the created xsltCompilerCtxt or
- *         NULL in case of an internal error.
- */
-static xsltCompilerCtxtPtr
-xsltCompilationCtxtCreate(xsltStylesheetPtr style) {
-    xsltCompilerCtxtPtr ret;
-
-    ret = (xsltCompilerCtxtPtr) xmlMalloc(sizeof(xsltCompilerCtxt));
-    if (ret == NULL) {
-    xsltTransformError(NULL, style, NULL,
-        "xsltCompilerCreate: allocation of compiler "
-        "context failed.\n");
-    return(NULL);
-    }
-    memset(ret, 0, sizeof(xsltCompilerCtxt));
-
-    ret->errSeverity = XSLT_ERROR_SEVERITY_ERROR;
-    ret->tmpList = xsltPointerListCreate(20);
-    if (ret->tmpList == NULL) {
-    goto internal_err;
-    }
-#ifdef XSLT_REFACTORED_XPATHCOMP
-    /*
-    * Create the XPath compilation context in order
-    * to speed up precompilation of XPath expressions.
-    */
-    ret->xpathCtxt = xmlXPathNewContext(NULL);
-    if (ret->xpathCtxt == NULL)
-    goto internal_err;
-#endif
-
-    return(ret);
-
-internal_err:
-    xsltCompilationCtxtFree(ret);
-    return(NULL);
-}
-
-static void
-xsltLREEffectiveNsNodesFree(xsltEffectiveNsPtr first)
-{
-    xsltEffectiveNsPtr tmp;
-
-    while (first != NULL) {
-    tmp = first;
-    first = first->nextInStore;
-    xmlFree(tmp);
-    }
-}
-
-static void
-xsltFreePrincipalStylesheetData(xsltPrincipalStylesheetDataPtr data)
-{
-    if (data == NULL)
-    return;
-
-    if (data->inScopeNamespaces != NULL) {
-    int i;
-    xsltNsListContainerPtr nsi;
-    xsltPointerListPtr list =
-        (xsltPointerListPtr) data->inScopeNamespaces;
-
-    for (i = 0; i < list->number; i++) {
-        /*
-        * REVISIT TODO: Free info of in-scope namespaces.
-        */
-        nsi = (xsltNsListContainerPtr) list->items[i];
-        if (nsi->list != NULL)
-        xmlFree(nsi->list);
-        xmlFree(nsi);
-    }
-    xsltPointerListFree(list);
-    data->inScopeNamespaces = NULL;
-    }
-
-    if (data->exclResultNamespaces != NULL) {
-    int i;
-    xsltPointerListPtr list = (xsltPointerListPtr)
-        data->exclResultNamespaces;
-
-    for (i = 0; i < list->number; i++)
-        xsltPointerListFree((xsltPointerListPtr) list->items[i]);
-
-    xsltPointerListFree(list);
-    data->exclResultNamespaces = NULL;
-    }
-
-    if (data->extElemNamespaces != NULL) {
-    xsltPointerListPtr list = (xsltPointerListPtr)
-        data->extElemNamespaces;
-    int i;
-
-    for (i = 0; i < list->number; i++)
-        xsltPointerListFree((xsltPointerListPtr) list->items[i]);
-
-    xsltPointerListFree(list);
-    data->extElemNamespaces = NULL;
-    }
-    if (data->effectiveNs) {
-    xsltLREEffectiveNsNodesFree(data->effectiveNs);
-    data->effectiveNs = NULL;
-    }
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-    xsltFreeNamespaceMap(data->nsMap);
-#endif
-    xmlFree(data);
-}
-
-static xsltPrincipalStylesheetDataPtr
-xsltNewPrincipalStylesheetData(void)
-{
-    xsltPrincipalStylesheetDataPtr ret;
-
-    ret = (xsltPrincipalStylesheetDataPtr)
-    xmlMalloc(sizeof(xsltPrincipalStylesheetData));
-    if (ret == NULL) {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltNewPrincipalStylesheetData: memory allocation failed.\n");
-    return(NULL);
-    }
-    memset(ret, 0, sizeof(xsltPrincipalStylesheetData));
-
-    /*
-    * Global list of in-scope namespaces.
-    */
-    ret->inScopeNamespaces = xsltPointerListCreate(-1);
-    if (ret->inScopeNamespaces == NULL)
-    goto internal_err;
-    /*
-    * Global list of excluded result ns-decls.
-    */
-    ret->exclResultNamespaces = xsltPointerListCreate(-1);
-    if (ret->exclResultNamespaces == NULL)
-    goto internal_err;
-    /*
-    * Global list of extension instruction namespace names.
-    */
-    ret->extElemNamespaces = xsltPointerListCreate(-1);
-    if (ret->extElemNamespaces == NULL)
-    goto internal_err;
-
-    return(ret);
-
-internal_err:
-
-    return(NULL);
-}
-
-#endif
-
-/**
- * xsltNewStylesheet:
- *
- * Create a new XSLT Stylesheet
- *
- * Returns the newly allocated xsltStylesheetPtr or NULL in case of error
- */
-xsltStylesheetPtr
-xsltNewStylesheet(void) {
-    xsltStylesheetPtr ret = NULL;
-
-    ret = (xsltStylesheetPtr) xmlMalloc(sizeof(xsltStylesheet));
-    if (ret == NULL) {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltNewStylesheet : malloc failed\n");
-    goto internal_err;
-    }
-    memset(ret, 0, sizeof(xsltStylesheet));
-
-    ret->omitXmlDeclaration = -1;
-    ret->standalone = -1;
-    ret->decimalFormat = xsltNewDecimalFormat(NULL);
-    ret->indent = -1;
-    ret->errors = 0;
-    ret->warnings = 0;
-    ret->exclPrefixNr = 0;
-    ret->exclPrefixMax = 0;
-    ret->exclPrefixTab = NULL;
-    ret->extInfos = NULL;
-    ret->extrasNr = 0;
-    ret->internalized = 1;
-    ret->literal_result = 0;
-    ret->forwards_compatible = 0;
-    ret->dict = xmlDictCreate();
-#ifdef WITH_XSLT_DEBUG
-    xsltGenericDebug(xsltGenericDebugContext,
-    "creating dictionary for stylesheet\n");
-#endif
-
-    xsltInit();
-
-    return(ret);
-
-internal_err:
-    if (ret != NULL)
-    xsltFreeStylesheet(ret);
-    return(NULL);
-}
-
-/**
- * xsltAllocateExtra:
- * @style:  an XSLT stylesheet
- *
- * Allocate an extra runtime information slot statically while compiling
- * the stylesheet and return its number
- *
- * Returns the number of the slot
- */
-int
-xsltAllocateExtra(xsltStylesheetPtr style)
-{
-    return(style->extrasNr++);
-}
-
-/**
- * xsltAllocateExtraCtxt:
- * @ctxt:  an XSLT transformation context
- *
- * Allocate an extra runtime information slot at run-time
- * and return its number
- * This make sure there is a slot ready in the transformation context
- *
- * Returns the number of the slot
- */
-int
-xsltAllocateExtraCtxt(xsltTransformContextPtr ctxt)
-{
-    if (ctxt->extrasNr >= ctxt->extrasMax) {
-    int i;
-    if (ctxt->extrasNr == 0) {
-        ctxt->extrasMax = 20;
-        ctxt->extras = (xsltRuntimeExtraPtr)
-        xmlMalloc(ctxt->extrasMax * sizeof(xsltRuntimeExtra));
-        if (ctxt->extras == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-            "xsltAllocateExtraCtxt: out of memory\n");
-        ctxt->state = XSLT_STATE_ERROR;
-        return(0);
-        }
-        for (i = 0;i < ctxt->extrasMax;i++) {
-        ctxt->extras[i].info = NULL;
-        ctxt->extras[i].deallocate = NULL;
-        ctxt->extras[i].val.ptr = NULL;
-        }
-
-    } else {
-        xsltRuntimeExtraPtr tmp;
-
-        ctxt->extrasMax += 100;
-        tmp = (xsltRuntimeExtraPtr) xmlRealloc(ctxt->extras,
-                    ctxt->extrasMax * sizeof(xsltRuntimeExtra));
-        if (tmp == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-            "xsltAllocateExtraCtxt: out of memory\n");
-        ctxt->state = XSLT_STATE_ERROR;
-        return(0);
-        }
-        ctxt->extras = tmp;
-        for (i = ctxt->extrasNr;i < ctxt->extrasMax;i++) {
-        ctxt->extras[i].info = NULL;
-        ctxt->extras[i].deallocate = NULL;
-        ctxt->extras[i].val.ptr = NULL;
-        }
-    }
-    }
-    return(ctxt->extrasNr++);
-}
-
-/**
- * xsltFreeStylesheetList:
- * @style:  an XSLT stylesheet list
- *
- * Free up the memory allocated by the list @style
- */
-static void
-xsltFreeStylesheetList(xsltStylesheetPtr style) {
-    xsltStylesheetPtr next;
-
-    while (style != NULL) {
-    next = style->next;
-    xsltFreeStylesheet(style);
-    style = next;
-    }
-}
-
-/**
- * xsltCleanupStylesheetTree:
- *
- * @doc: the document-node
- * @node: the element where the stylesheet is rooted at
- *
- * Actually @node need not be the document-element, but
- * currently Libxslt does not support embedded stylesheets.
- *
- * Returns 0 if OK, -1 on API or internal errors.
- */
-static int
-xsltCleanupStylesheetTree(xmlDocPtr doc ATTRIBUTE_UNUSED,
-              xmlNodePtr rootElem ATTRIBUTE_UNUSED)
-{
-#if 0 /* TODO: Currently disabled, since probably not needed. */
-    xmlNodePtr cur;
-
-    if ((doc == NULL) || (rootElem == NULL) ||
-    (rootElem->type != XML_ELEMENT_NODE) ||
-    (doc != rootElem->doc))
-    return(-1);
-
-    /*
-    * Cleanup was suggested by Aleksey Sanin:
-    * Clear the PSVI field to avoid problems if the
-    * node-tree of the stylesheet is intended to be used for
-    * further processing by the user (e.g. for compiling it
-    * once again - although not recommended).
-    */
-
-    cur = rootElem;
-    while (cur != NULL) {
-    if (cur->type == XML_ELEMENT_NODE) {
-        /*
-        * Clear the PSVI field.
-        */
-        cur->psvi = NULL;
-        if (cur->children) {
-        cur = cur->children;
-        continue;
-        }
-    }
-
-leave_node:
-    if (cur == rootElem)
-        break;
-    if (cur->next != NULL)
-        cur = cur->next;
-    else {
-        cur = cur->parent;
-        if (cur == NULL)
-        break;
-        goto leave_node;
-    }
-    }
-#endif /* #if 0 */
-    return(0);
-}
-
-/**
- * xsltFreeStylesheet:
- * @style:  an XSLT stylesheet
- *
- * Free up the memory allocated by @style
- */
-void
-xsltFreeStylesheet(xsltStylesheetPtr style)
-{
-    if (style == NULL)
-        return;
-
-#ifdef XSLT_REFACTORED
-    /*
-    * Start with a cleanup of the main stylesheet's doc.
-    */
-    if ((style->principal == style) && (style->doc))
-    xsltCleanupStylesheetTree(style->doc,
-        xmlDocGetRootElement(style->doc));
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-    /*
-    * Restore changed ns-decls before freeing the document.
-    */
-    if ((style->doc != NULL) &&
-    XSLT_HAS_INTERNAL_NSMAP(style))
-    {
-    xsltRestoreDocumentNamespaces(XSLT_GET_INTERNAL_NSMAP(style),
-        style->doc);
-    }
-#endif /* XSLT_REFACTORED_XSLT_NSCOMP */
-#else
-    /*
-    * Start with a cleanup of the main stylesheet's doc.
-    */
-    if ((style->parent == NULL) && (style->doc))
-    xsltCleanupStylesheetTree(style->doc,
-        xmlDocGetRootElement(style->doc));
-#endif /* XSLT_REFACTORED */
-
-    xsltFreeKeys(style);
-    xsltFreeExts(style);
-    xsltFreeTemplateHashes(style);
-    xsltFreeDecimalFormatList(style);
-    xsltFreeTemplateList(style->templates);
-    xsltFreeAttributeSetsHashes(style);
-    xsltFreeNamespaceAliasHashes(style);
-    xsltFreeStylePreComps(style);
-    /*
-    * Free documents of all included stylsheet modules of this
-    * stylesheet level.
-    */
-    xsltFreeStyleDocuments(style);
-    /*
-    * TODO: Best time to shutdown extension stuff?
-    */
-    xsltShutdownExts(style);
-
-    if (style->variables != NULL)
-        xsltFreeStackElemList(style->variables);
-    if (style->cdataSection != NULL)
-        xmlHashFree(style->cdataSection, NULL);
-    if (style->stripSpaces != NULL)
-        xmlHashFree(style->stripSpaces, NULL);
-    if (style->nsHash != NULL)
-        xmlHashFree(style->nsHash, NULL);
-    if (style->exclPrefixTab != NULL)
-        xmlFree(style->exclPrefixTab);
-    if (style->method != NULL)
-        xmlFree(style->method);
-    if (style->methodURI != NULL)
-        xmlFree(style->methodURI);
-    if (style->version != NULL)
-        xmlFree(style->version);
-    if (style->encoding != NULL)
-        xmlFree(style->encoding);
-    if (style->doctypePublic != NULL)
-        xmlFree(style->doctypePublic);
-    if (style->doctypeSystem != NULL)
-        xmlFree(style->doctypeSystem);
-    if (style->mediaType != NULL)
-        xmlFree(style->mediaType);
-    if (style->attVTs)
-        xsltFreeAVTList(style->attVTs);
-    if (style->imports != NULL)
-        xsltFreeStylesheetList(style->imports);
-
-#ifdef XSLT_REFACTORED
-    /*
-    * If this is the principal stylesheet, then
-    * free its internal data.
-    */
-    if (style->principal == style) {
-    if (style->principalData) {
-        xsltFreePrincipalStylesheetData(style->principalData);
-        style->principalData = NULL;
-    }
-    }
-#endif
-    /*
-    * Better to free the main document of this stylesheet level
-    * at the end - so here.
-    */
-    if (style->doc != NULL) {
-        xmlFreeDoc(style->doc);
-    }
-
-#ifdef WITH_XSLT_DEBUG
-    xsltGenericDebug(xsltGenericDebugContext,
-                     "freeing dictionary from stylesheet\n");
-#endif
-    xmlDictFree(style->dict);
-
-    memset(style, -1, sizeof(xsltStylesheet));
-    xmlFree(style);
-}
-
-/************************************************************************
- *                                  *
- *      Parsing of an XSLT Stylesheet               *
- *                                  *
- ************************************************************************/
-
-#ifdef XSLT_REFACTORED
-    /*
-    * This is now performed in an optimized way in xsltParseXSLTTemplate.
-    */
-#else
-/**
- * xsltGetInheritedNsList:
- * @style:  the stylesheet
- * @template: the template
- * @node:  the current node
- *
- * Search all the namespace applying to a given element except the ones
- * from excluded output prefixes currently in scope. Initialize the
- * template inheritedNs list with it.
- *
- * Returns the number of entries found
- */
-static int
-xsltGetInheritedNsList(xsltStylesheetPtr style,
-                   xsltTemplatePtr template,
-                   xmlNodePtr node)
-{
-    xmlNsPtr cur;
-    xmlNsPtr *ret = NULL;
-    int nbns = 0;
-    int maxns = 10;
-    int i;
-
-    if ((style == NULL) || (template == NULL) || (node == NULL) ||
-    (template->inheritedNsNr != 0) || (template->inheritedNs != NULL))
-    return(0);
-    while (node != NULL) {
-        if (node->type == XML_ELEMENT_NODE) {
-            cur = node->nsDef;
-            while (cur != NULL) {
-        if (xmlStrEqual(cur->href, XSLT_NAMESPACE))
-            goto skip_ns;
-
-        if ((cur->prefix != NULL) &&
-            (xsltCheckExtPrefix(style, cur->prefix)))
-            goto skip_ns;
-        /*
-        * Check if this namespace was excluded.
-        * Note that at this point only the exclusions defined
-        * on the topmost stylesheet element are in the exclusion-list.
-        */
-        for (i = 0;i < style->exclPrefixNr;i++) {
-            if (xmlStrEqual(cur->href, style->exclPrefixTab[i]))
-            goto skip_ns;
-        }
-                if (ret == NULL) {
-                    ret =
-                        (xmlNsPtr *) xmlMalloc((maxns + 1) *
-                                               sizeof(xmlNsPtr));
-                    if (ret == NULL) {
-                        xmlGenericError(xmlGenericErrorContext,
-                                        "xsltGetInheritedNsList : out of memory!\n");
-                        return(0);
-                    }
-                    ret[nbns] = NULL;
-                }
-        /*
-        * Skip shadowed namespace bindings.
-        */
-                for (i = 0; i < nbns; i++) {
-                    if ((cur->prefix == ret[i]->prefix) ||
-                        (xmlStrEqual(cur->prefix, ret[i]->prefix)))
-                        break;
-                }
-                if (i >= nbns) {
-                    if (nbns >= maxns) {
-                        maxns *= 2;
-                        ret = (xmlNsPtr *) xmlRealloc(ret,
-                                                      (maxns +
-                                                       1) *
-                                                      sizeof(xmlNsPtr));
-                        if (ret == NULL) {
-                            xmlGenericError(xmlGenericErrorContext,
-                                            "xsltGetInheritedNsList : realloc failed!\n");
-                            return(0);
-                        }
-                    }
-                    ret[nbns++] = cur;
-                    ret[nbns] = NULL;
-                }
-skip_ns:
-                cur = cur->next;
-            }
-        }
-        node = node->parent;
-    }
-    if (nbns != 0) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-                         "template has %d inherited namespaces\n", nbns);
-#endif
-    template->inheritedNsNr = nbns;
-    template->inheritedNs = ret;
-    }
-    return (nbns);
-}
-#endif /* else of XSLT_REFACTORED */
-
-/**
- * xsltParseStylesheetOutput:
- * @style:  the XSLT stylesheet
- * @cur:  the "output" element
- *
- * parse an XSLT stylesheet output element and record
- * information related to the stylesheet output
- */
-
-void
-xsltParseStylesheetOutput(xsltStylesheetPtr style, xmlNodePtr cur)
-{
-    xmlChar *elements,
-     *prop;
-    xmlChar *element,
-     *end;
-
-    if ((cur == NULL) || (style == NULL) || (cur->type != XML_ELEMENT_NODE))
-        return;
-
-    prop = xmlGetNsProp(cur, (const xmlChar *) "version", NULL);
-    if (prop != NULL) {
-        if (style->version != NULL)
-            xmlFree(style->version);
-        style->version = prop;
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *) "encoding", NULL);
-    if (prop != NULL) {
-        if (style->encoding != NULL)
-            xmlFree(style->encoding);
-        style->encoding = prop;
-    }
-
-    /* relaxed to support xt:document
-    * TODO KB: What does "relaxed to support xt:document" mean?
-    */
-    prop = xmlGetNsProp(cur, (const xmlChar *) "method", NULL);
-    if (prop != NULL) {
-        const xmlChar *URI;
-
-        if (style->method != NULL)
-            xmlFree(style->method);
-        style->method = NULL;
-        if (style->methodURI != NULL)
-            xmlFree(style->methodURI);
-        style->methodURI = NULL;
-
-    /*
-    * TODO: Don't use xsltGetQNameURI().
-    */
-    URI = xsltGetQNameURI(cur, &prop);
-    if (prop == NULL) {
-        if (style != NULL) style->errors++;
-    } else if (URI == NULL) {
-            if ((xmlStrEqual(prop, (const xmlChar *) "xml")) ||
-                (xmlStrEqual(prop, (const xmlChar *) "html")) ||
-                (xmlStrEqual(prop, (const xmlChar *) "text"))) {
-                style->method = prop;
-            } else {
-        xsltTransformError(NULL, style, cur,
-                                 "invalid value for method: %s\n", prop);
-                if (style != NULL) style->warnings++;
-            }
-    } else {
-        style->method = prop;
-        style->methodURI = xmlStrdup(URI);
-    }
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *) "doctype-system", NULL);
-    if (prop != NULL) {
-        if (style->doctypeSystem != NULL)
-            xmlFree(style->doctypeSystem);
-        style->doctypeSystem = prop;
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *) "doctype-public", NULL);
-    if (prop != NULL) {
-        if (style->doctypePublic != NULL)
-            xmlFree(style->doctypePublic);
-        style->doctypePublic = prop;
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *) "standalone", NULL);
-    if (prop != NULL) {
-        if (xmlStrEqual(prop, (const xmlChar *) "yes")) {
-            style->standalone = 1;
-        } else if (xmlStrEqual(prop, (const xmlChar *) "no")) {
-            style->standalone = 0;
-        } else {
-        xsltTransformError(NULL, style, cur,
-                             "invalid value for standalone: %s\n", prop);
-            style->errors++;
-        }
-        xmlFree(prop);
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *) "indent", NULL);
-    if (prop != NULL) {
-        if (xmlStrEqual(prop, (const xmlChar *) "yes")) {
-            style->indent = 1;
-        } else if (xmlStrEqual(prop, (const xmlChar *) "no")) {
-            style->indent = 0;
-        } else {
-        xsltTransformError(NULL, style, cur,
-                             "invalid value for indent: %s\n", prop);
-            style->errors++;
-        }
-        xmlFree(prop);
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *) "omit-xml-declaration", NULL);
-    if (prop != NULL) {
-        if (xmlStrEqual(prop, (const xmlChar *) "yes")) {
-            style->omitXmlDeclaration = 1;
-        } else if (xmlStrEqual(prop, (const xmlChar *) "no")) {
-            style->omitXmlDeclaration = 0;
-        } else {
-        xsltTransformError(NULL, style, cur,
-                             "invalid value for omit-xml-declaration: %s\n",
-                             prop);
-            style->errors++;
-        }
-        xmlFree(prop);
-    }
-
-    elements = xmlGetNsProp(cur, (const xmlChar *) "cdata-section-elements",
-    NULL);
-    if (elements != NULL) {
-        if (style->cdataSection == NULL)
-            style->cdataSection = xmlHashCreate(10);
-        if (style->cdataSection == NULL)
-            return;
-
-        element = elements;
-        while (*element != 0) {
-            while (IS_BLANK(*element))
-                element++;
-            if (*element == 0)
-                break;
-            end = element;
-            while ((*end != 0) && (!IS_BLANK(*end)))
-                end++;
-            element = xmlStrndup(element, end - element);
-            if (element) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-                xsltGenericDebug(xsltGenericDebugContext,
-                                 "add cdata section output element %s\n",
-                                 element);
-#endif
-        if (xmlValidateQName(BAD_CAST element, 0) != 0) {
-            xsltTransformError(NULL, style, cur,
-            "Attribute 'cdata-section-elements': The value "
-            "'%s' is not a valid QName.\n", element);
-            xmlFree(element);
-            style->errors++;
-        } else {
-            const xmlChar *URI;
-
-            /*
-            * TODO: Don't use xsltGetQNameURI().
-            */
-            URI = xsltGetQNameURI(cur, &element);
-            if (element == NULL) {
-            /*
-            * TODO: We'll report additionally an error
-            *  via the stylesheet's error handling.
-            */
-            xsltTransformError(NULL, style, cur,
-                "Attribute 'cdata-section-elements': The value "
-                "'%s' is not a valid QName.\n", element);
-            style->errors++;
-            } else {
-            xmlNsPtr ns;
-
-            /*
-            * XSLT-1.0 "Each QName is expanded into an
-            *  expanded-name using the namespace declarations in
-            *  effect on the xsl:output element in which the QName
-            *  occurs; if there is a default namespace, it is used
-            *  for QNames that do not have a prefix"
-            * NOTE: Fix of bug #339570.
-            */
-            if (URI == NULL) {
-                ns = xmlSearchNs(style->doc, cur, NULL);
-                if (ns != NULL)
-                URI = ns->href;
-            }
-            xmlHashAddEntry2(style->cdataSection, element, URI,
-                (void *) "cdata");
-            xmlFree(element);
-            }
-        }
-            }
-            element = end;
-        }
-        xmlFree(elements);
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *) "media-type", NULL);
-    if (prop != NULL) {
-    if (style->mediaType)
-        xmlFree(style->mediaType);
-    style->mediaType = prop;
-    }
-    if (cur->children != NULL) {
-    xsltParseContentError(style, cur->children);
-    }
-}
-
-/**
- * xsltParseStylesheetDecimalFormat:
- * @style:  the XSLT stylesheet
- * @cur:  the "decimal-format" element
- *
- * 
- * 
- *
- * parse an XSLT stylesheet decimal-format element and
- * and record the formatting characteristics
- */
-static void
-xsltParseStylesheetDecimalFormat(xsltStylesheetPtr style, xmlNodePtr cur)
-{
-    xmlChar *prop;
-    xsltDecimalFormatPtr format;
-    xsltDecimalFormatPtr iter;
-
-    if ((cur == NULL) || (style == NULL) || (cur->type != XML_ELEMENT_NODE))
-    return;
-
-    format = style->decimalFormat;
-
-    prop = xmlGetNsProp(cur, BAD_CAST("name"), NULL);
-    if (prop != NULL) {
-    format = xsltDecimalFormatGetByName(style, prop);
-    if (format != NULL) {
-        xsltTransformError(NULL, style, cur,
-     "xsltParseStylestyleDecimalFormat: %s already exists\n", prop);
-        if (style != NULL) style->warnings++;
-        return;
-    }
-    format = xsltNewDecimalFormat(prop);
-    if (format == NULL) {
-        xsltTransformError(NULL, style, cur,
-     "xsltParseStylestyleDecimalFormat: failed creating new decimal-format\n");
-        if (style != NULL) style->errors++;
-        return;
-    }
-    /* Append new decimal-format structure */
-    for (iter = style->decimalFormat; iter->next; iter = iter->next)
-        ;
-    if (iter)
-        iter->next = format;
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *)"decimal-separator", NULL);
-    if (prop != NULL) {
-    if (format->decimalPoint != NULL) xmlFree(format->decimalPoint);
-    format->decimalPoint  = prop;
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *)"grouping-separator", NULL);
-    if (prop != NULL) {
-    if (format->grouping != NULL) xmlFree(format->grouping);
-    format->grouping  = prop;
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *)"infinity", NULL);
-    if (prop != NULL) {
-    if (format->infinity != NULL) xmlFree(format->infinity);
-    format->infinity  = prop;
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *)"minus-sign", NULL);
-    if (prop != NULL) {
-    if (format->minusSign != NULL) xmlFree(format->minusSign);
-    format->minusSign  = prop;
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *)"NaN", NULL);
-    if (prop != NULL) {
-    if (format->noNumber != NULL) xmlFree(format->noNumber);
-    format->noNumber  = prop;
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *)"percent", NULL);
-    if (prop != NULL) {
-    if (format->percent != NULL) xmlFree(format->percent);
-    format->percent  = prop;
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *)"per-mille", NULL);
-    if (prop != NULL) {
-    if (format->permille != NULL) xmlFree(format->permille);
-    format->permille  = prop;
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *)"zero-digit", NULL);
-    if (prop != NULL) {
-    if (format->zeroDigit != NULL) xmlFree(format->zeroDigit);
-    format->zeroDigit  = prop;
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *)"digit", NULL);
-    if (prop != NULL) {
-    if (format->digit != NULL) xmlFree(format->digit);
-    format->digit  = prop;
-    }
-
-    prop = xmlGetNsProp(cur, (const xmlChar *)"pattern-separator", NULL);
-    if (prop != NULL) {
-    if (format->patternSeparator != NULL) xmlFree(format->patternSeparator);
-    format->patternSeparator  = prop;
-    }
-    if (cur->children != NULL) {
-    xsltParseContentError(style, cur->children);
-    }
-}
-
-/**
- * xsltParseStylesheetPreserveSpace:
- * @style:  the XSLT stylesheet
- * @cur:  the "preserve-space" element
- *
- * parse an XSLT stylesheet preserve-space element and record
- * elements needing preserving
- */
-
-static void
-xsltParseStylesheetPreserveSpace(xsltStylesheetPtr style, xmlNodePtr cur) {
-    xmlChar *elements;
-    xmlChar *element, *end;
-
-    if ((cur == NULL) || (style == NULL) || (cur->type != XML_ELEMENT_NODE))
-    return;
-
-    elements = xmlGetNsProp(cur, (const xmlChar *)"elements", NULL);
-    if (elements == NULL) {
-    xsltTransformError(NULL, style, cur,
-        "xsltParseStylesheetPreserveSpace: missing elements attribute\n");
-    if (style != NULL) style->warnings++;
-    return;
-    }
-
-    if (style->stripSpaces == NULL)
-    style->stripSpaces = xmlHashCreate(10);
-    if (style->stripSpaces == NULL)
-    return;
-
-    element = elements;
-    while (*element != 0) {
-    while (IS_BLANK(*element)) element++;
-    if (*element == 0)
-        break;
-        end = element;
-    while ((*end != 0) && (!IS_BLANK(*end))) end++;
-    element = xmlStrndup(element, end - element);
-    if (element) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-        "add preserved space element %s\n", element);
-#endif
-        if (xmlStrEqual(element, (const xmlChar *)"*")) {
-        style->stripAll = -1;
-        } else {
-        const xmlChar *URI;
-
-        /*
-        * TODO: Don't use xsltGetQNameURI().
-        */
-                URI = xsltGetQNameURI(cur, &element);
-
-        xmlHashAddEntry2(style->stripSpaces, element, URI,
-                (xmlChar *) "preserve");
-        }
-        xmlFree(element);
-    }
-    element = end;
-    }
-    xmlFree(elements);
-    if (cur->children != NULL) {
-    xsltParseContentError(style, cur->children);
-    }
-}
-
-#ifdef XSLT_REFACTORED
-#else
-/**
- * xsltParseStylesheetExtPrefix:
- * @style:  the XSLT stylesheet
- * @template:  the "extension-element-prefixes" prefix
- *
- * parse an XSLT stylesheet's "extension-element-prefix" attribute value
- * and register the namespaces of extension instruction.
- * SPEC "A namespace is designated as an extension namespace by using
- *   an extension-element-prefixes attribute on:
- *   1) an xsl:stylesheet element
- *   2) an xsl:extension-element-prefixes attribute on a
- *      literal result element
- *   3) an extension instruction."
- */
-static void
-xsltParseStylesheetExtPrefix(xsltStylesheetPtr style, xmlNodePtr cur,
-                 int isXsltElem) {
-    xmlChar *prefixes;
-    xmlChar *prefix, *end;
-
-    if ((cur == NULL) || (style == NULL) || (cur->type != XML_ELEMENT_NODE))
-    return;
-
-    if (isXsltElem) {
-    /* For xsl:stylesheet/xsl:transform. */
-    prefixes = xmlGetNsProp(cur,
-        (const xmlChar *)"extension-element-prefixes", NULL);
-    } else {
-    /* For literal result elements and extension instructions. */
-    prefixes = xmlGetNsProp(cur,
-        (const xmlChar *)"extension-element-prefixes", XSLT_NAMESPACE);
-    }
-    if (prefixes == NULL) {
-    return;
-    }
-
-    prefix = prefixes;
-    while (*prefix != 0) {
-    while (IS_BLANK(*prefix)) prefix++;
-    if (*prefix == 0)
-        break;
-        end = prefix;
-    while ((*end != 0) && (!IS_BLANK(*end))) end++;
-    prefix = xmlStrndup(prefix, end - prefix);
-    if (prefix) {
-        xmlNsPtr ns;
-
-        if (xmlStrEqual(prefix, (const xmlChar *)"#default"))
-        ns = xmlSearchNs(style->doc, cur, NULL);
-        else
-        ns = xmlSearchNs(style->doc, cur, prefix);
-        if (ns == NULL) {
-        xsltTransformError(NULL, style, cur,
-        "xsl:extension-element-prefix : undefined namespace %s\n",
-                             prefix);
-        if (style != NULL) style->warnings++;
-        } else {
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-            "add extension prefix %s\n", prefix);
-#endif
-        xsltRegisterExtPrefix(style, prefix, ns->href);
-        }
-        xmlFree(prefix);
-    }
-    prefix = end;
-    }
-    xmlFree(prefixes);
-}
-#endif /* else of XSLT_REFACTORED */
-
-/**
- * xsltParseStylesheetStripSpace:
- * @style:  the XSLT stylesheet
- * @cur:  the "strip-space" element
- *
- * parse an XSLT stylesheet's strip-space element and record
- * the elements needing stripping
- */
-
-static void
-xsltParseStylesheetStripSpace(xsltStylesheetPtr style, xmlNodePtr cur) {
-    xmlChar *elements;
-    xmlChar *element, *end;
-
-    if ((cur == NULL) || (style == NULL) || (cur->type != XML_ELEMENT_NODE))
-    return;
-
-    elements = xmlGetNsProp(cur, (const xmlChar *)"elements", NULL);
-    if (elements == NULL) {
-    xsltTransformError(NULL, style, cur,
-        "xsltParseStylesheetStripSpace: missing elements attribute\n");
-    if (style != NULL) style->warnings++;
-    return;
-    }
-
-    if (style->stripSpaces == NULL)
-    style->stripSpaces = xmlHashCreate(10);
-    if (style->stripSpaces == NULL)
-    return;
-
-    element = elements;
-    while (*element != 0) {
-    while (IS_BLANK(*element)) element++;
-    if (*element == 0)
-        break;
-        end = element;
-    while ((*end != 0) && (!IS_BLANK(*end))) end++;
-    element = xmlStrndup(element, end - element);
-    if (element) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-        "add stripped space element %s\n", element);
-#endif
-        if (xmlStrEqual(element, (const xmlChar *)"*")) {
-        style->stripAll = 1;
-        } else {
-        const xmlChar *URI;
-
-        /*
-        * TODO: Don't use xsltGetQNameURI().
-        */
-                URI = xsltGetQNameURI(cur, &element);
-
-        xmlHashAddEntry2(style->stripSpaces, element, URI,
-                    (xmlChar *) "strip");
-        }
-        xmlFree(element);
-    }
-    element = end;
-    }
-    xmlFree(elements);
-    if (cur->children != NULL) {
-    xsltParseContentError(style, cur->children);
-    }
-}
-
-#ifdef XSLT_REFACTORED
-#else
-/**
- * xsltParseStylesheetExcludePrefix:
- * @style:  the XSLT stylesheet
- * @cur:  the current point in the stylesheet
- *
- * parse an XSLT stylesheet exclude prefix and record
- * namespaces needing stripping
- *
- * Returns the number of Excluded prefixes added at that level
- */
-
-static int
-xsltParseStylesheetExcludePrefix(xsltStylesheetPtr style, xmlNodePtr cur,
-                 int isXsltElem)
-{
-    int nb = 0;
-    xmlChar *prefixes;
-    xmlChar *prefix, *end;
-
-    if ((cur == NULL) || (style == NULL) || (cur->type != XML_ELEMENT_NODE))
-    return(0);
-
-    if (isXsltElem)
-    prefixes = xmlGetNsProp(cur,
-        (const xmlChar *)"exclude-result-prefixes", NULL);
-    else
-    prefixes = xmlGetNsProp(cur,
-        (const xmlChar *)"exclude-result-prefixes", XSLT_NAMESPACE);
-
-    if (prefixes == NULL) {
-    return(0);
-    }
-
-    prefix = prefixes;
-    while (*prefix != 0) {
-    while (IS_BLANK(*prefix)) prefix++;
-    if (*prefix == 0)
-        break;
-        end = prefix;
-    while ((*end != 0) && (!IS_BLANK(*end))) end++;
-    prefix = xmlStrndup(prefix, end - prefix);
-    if (prefix) {
-        xmlNsPtr ns;
-
-        if (xmlStrEqual(prefix, (const xmlChar *)"#default"))
-        ns = xmlSearchNs(style->doc, cur, NULL);
-        else
-        ns = xmlSearchNs(style->doc, cur, prefix);
-        if (ns == NULL) {
-        xsltTransformError(NULL, style, cur,
-        "xsl:exclude-result-prefixes : undefined namespace %s\n",
-                             prefix);
-        if (style != NULL) style->warnings++;
-        } else {
-        if (exclPrefixPush(style, (xmlChar *) ns->href) >= 0) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-            xsltGenericDebug(xsltGenericDebugContext,
-            "exclude result prefix %s\n", prefix);
-#endif
-            nb++;
-        }
-        }
-        xmlFree(prefix);
-    }
-    prefix = end;
-    }
-    xmlFree(prefixes);
-    return(nb);
-}
-#endif /* else of XSLT_REFACTORED */
-
-#ifdef XSLT_REFACTORED
-
-/*
-* xsltTreeEnsureXMLDecl:
-* @doc: the doc
-*
-* BIG NOTE:
-*  This was copy&pasted from Libxml2's xmlTreeEnsureXMLDecl() in "tree.c".
-* Ensures that there is an XML namespace declaration on the doc.
-*
-* Returns the XML ns-struct or NULL on API and internal errors.
-*/
-static xmlNsPtr
-xsltTreeEnsureXMLDecl(xmlDocPtr doc)
-{
-    if (doc == NULL)
-    return (NULL);
-    if (doc->oldNs != NULL)
-    return (doc->oldNs);
-    {
-    xmlNsPtr ns;
-    ns = (xmlNsPtr) xmlMalloc(sizeof(xmlNs));
-    if (ns == NULL) {
-        xmlGenericError(xmlGenericErrorContext,
-        "xsltTreeEnsureXMLDecl: Failed to allocate "
-        "the XML namespace.\n");
-        return (NULL);
-    }
-    memset(ns, 0, sizeof(xmlNs));
-    ns->type = XML_LOCAL_NAMESPACE;
-    /*
-    * URGENT TODO: revisit this.
-    */
-#ifdef LIBXML_NAMESPACE_DICT
-    if (doc->dict)
-        ns->href = xmlDictLookup(doc->dict, XML_XML_NAMESPACE, -1);
-    else
-        ns->href = xmlStrdup(XML_XML_NAMESPACE);
-#else
-    ns->href = xmlStrdup(XML_XML_NAMESPACE);
-#endif
-    ns->prefix = xmlStrdup((const xmlChar *)"xml");
-    doc->oldNs = ns;
-    return (ns);
-    }
-}
-
-/*
-* xsltTreeAcquireStoredNs:
-* @doc: the doc
-* @nsName: the namespace name
-* @prefix: the prefix
-*
-* BIG NOTE:
-*  This was copy&pasted from Libxml2's xmlDOMWrapStoreNs() in "tree.c".
-* Creates or reuses an xmlNs struct on doc->oldNs with
-* the given prefix and namespace name.
-*
-* Returns the aquired ns struct or NULL in case of an API
-*         or internal error.
-*/
-static xmlNsPtr
-xsltTreeAcquireStoredNs(xmlDocPtr doc,
-            const xmlChar *nsName,
-            const xmlChar *prefix)
-{
-    xmlNsPtr ns;
-
-    if (doc == NULL)
-    return (NULL);
-    if (doc->oldNs != NULL)
-    ns = doc->oldNs;
-    else
-    ns = xsltTreeEnsureXMLDecl(doc);
-    if (ns == NULL)
-    return (NULL);
-    if (ns->next != NULL) {
-    /* Reuse. */
-    ns = ns->next;
-    while (ns != NULL) {
-        if ((ns->prefix == NULL) != (prefix == NULL)) {
-        /* NOP */
-        } else if (prefix == NULL) {
-        if (xmlStrEqual(ns->href, nsName))
-            return (ns);
-        } else {
-        if ((ns->prefix[0] == prefix[0]) &&
-             xmlStrEqual(ns->prefix, prefix) &&
-             xmlStrEqual(ns->href, nsName))
-            return (ns);
-
-        }
-        if (ns->next == NULL)
-        break;
-        ns = ns->next;
-    }
-    }
-    /* Create. */
-    ns->next = xmlNewNs(NULL, nsName, prefix);
-    return (ns->next);
-}
-
-/**
- * xsltLREBuildEffectiveNs:
- *
- * Apply ns-aliasing on the namespace of the given @elem and
- * its attributes.
- */
-static int
-xsltLREBuildEffectiveNs(xsltCompilerCtxtPtr cctxt,
-            xmlNodePtr elem)
-{
-    xmlNsPtr ns;
-    xsltNsAliasPtr alias;
-
-    if ((cctxt == NULL) || (elem == NULL))
-    return(-1);
-    if ((cctxt->nsAliases == NULL) || (! cctxt->hasNsAliases))
-    return(0);
-
-    alias = cctxt->nsAliases;
-    while (alias != NULL) {
-    if ( /* If both namespaces are NULL... */
-        ( (elem->ns == NULL) &&
-        ((alias->literalNs == NULL) ||
-        (alias->literalNs->href == NULL)) ) ||
-        /* ... or both namespace are equal */
-        ( (elem->ns != NULL) &&
-        (alias->literalNs != NULL) &&
-        xmlStrEqual(elem->ns->href, alias->literalNs->href) ) )
-    {
-        if ((alias->targetNs != NULL) &&
-        (alias->targetNs->href != NULL))
-        {
-        /*
-        * Convert namespace.
-        */
-        if (elem->doc == alias->docOfTargetNs) {
-            /*
-            * This is the nice case: same docs.
-            * This will eventually assign a ns-decl which
-            * is shadowed, but this has no negative effect on
-            * the generation of the result tree.
-            */
-            elem->ns = alias->targetNs;
-        } else {
-            /*
-            * This target xmlNs originates from a different
-            * stylesheet tree. Try to locate it in the
-            * in-scope namespaces.
-            * OPTIMIZE TODO: Use the compiler-node-info inScopeNs.
-            */
-            ns = xmlSearchNs(elem->doc, elem,
-            alias->targetNs->prefix);
-            /*
-            * If no matching ns-decl found, then assign a
-            * ns-decl stored in xmlDoc.
-            */
-            if ((ns == NULL) ||
-            (! xmlStrEqual(ns->href, alias->targetNs->href)))
-            {
-            /*
-            * BIG NOTE: The use of xsltTreeAcquireStoredNs()
-            *  is not very efficient, but currently I don't
-            *  see an other way of *safely* changing a node's
-            *  namespace, since the xmlNs struct in
-            *  alias->targetNs might come from an other
-            *  stylesheet tree. So we need to anchor it in the
-            *  current document, without adding it to the tree,
-            *  which would otherwise change the in-scope-ns
-            *  semantic of the tree.
-            */
-            ns = xsltTreeAcquireStoredNs(elem->doc,
-                alias->targetNs->href,
-                alias->targetNs->prefix);
-
-            if (ns == NULL) {
-                xsltTransformError(NULL, cctxt->style, elem,
-                "Internal error in "
-                "xsltLREBuildEffectiveNs(): "
-                "failed to acquire a stored "
-                "ns-declaration.\n");
-                cctxt->style->errors++;
-                return(-1);
-
-            }
-            }
-            elem->ns = ns;
-        }
-        } else {
-        /*
-        * Move into or leave in the NULL namespace.
-        */
-        elem->ns = NULL;
-        }
-        break;
-    }
-    alias = alias->next;
-    }
-    /*
-    * Same with attributes of literal result elements.
-    */
-    if (elem->properties != NULL) {
-    xmlAttrPtr attr = elem->properties;
-
-    while (attr != NULL) {
-        if (attr->ns == NULL) {
-        attr = attr->next;
-        continue;
-        }
-        alias = cctxt->nsAliases;
-        while (alias != NULL) {
-        if ( /* If both namespaces are NULL... */
-            ( (elem->ns == NULL) &&
-            ((alias->literalNs == NULL) ||
-            (alias->literalNs->href == NULL)) ) ||
-            /* ... or both namespace are equal */
-            ( (elem->ns != NULL) &&
-            (alias->literalNs != NULL) &&
-            xmlStrEqual(elem->ns->href, alias->literalNs->href) ) )
-        {
-            if ((alias->targetNs != NULL) &&
-            (alias->targetNs->href != NULL))
-            {
-            if (elem->doc == alias->docOfTargetNs) {
-                elem->ns = alias->targetNs;
-            } else {
-                ns = xmlSearchNs(elem->doc, elem,
-                alias->targetNs->prefix);
-                if ((ns == NULL) ||
-                (! xmlStrEqual(ns->href, alias->targetNs->href)))
-                {
-                ns = xsltTreeAcquireStoredNs(elem->doc,
-                    alias->targetNs->href,
-                    alias->targetNs->prefix);
-
-                if (ns == NULL) {
-                    xsltTransformError(NULL, cctxt->style, elem,
-                    "Internal error in "
-                    "xsltLREBuildEffectiveNs(): "
-                    "failed to acquire a stored "
-                    "ns-declaration.\n");
-                    cctxt->style->errors++;
-                    return(-1);
-
-                }
-                }
-                elem->ns = ns;
-            }
-            } else {
-            /*
-            * Move into or leave in the NULL namespace.
-            */
-            elem->ns = NULL;
-            }
-            break;
-        }
-        alias = alias->next;
-        }
-
-        attr = attr->next;
-    }
-    }
-    return(0);
-}
-
-/**
- * xsltLREBuildEffectiveNsNodes:
- *
- * Computes the effective namespaces nodes for a literal result
- * element.
- * @effectiveNs is the set of effective ns-nodes
- *  on the literal result element, which will be added to the result
- *  element if not already existing in the result tree.
- *  This means that excluded namespaces (via exclude-result-prefixes,
- *  extension-element-prefixes and the XSLT namespace) not added
- *  to the set.
- *  Namespace-aliasing was applied on the @effectiveNs.
- */
-static int
-xsltLREBuildEffectiveNsNodes(xsltCompilerCtxtPtr cctxt,
-                 xsltStyleItemLRElementInfoPtr item,
-                 xmlNodePtr elem,
-                 int isLRE)
-{
-    xmlNsPtr ns, tmpns;
-    xsltEffectiveNsPtr effNs, lastEffNs = NULL;
-    int i, j, holdByElem;
-    xsltPointerListPtr extElemNs = cctxt->inode->extElemNs;
-    xsltPointerListPtr exclResultNs = cctxt->inode->exclResultNs;
-
-    if ((cctxt == NULL) || (cctxt->inode == NULL) || (elem == NULL) ||
-    (item == NULL) || (item->effectiveNs != NULL))
-    return(-1);
-
-    if (item->inScopeNs == NULL)
-    return(0);
-
-    extElemNs = cctxt->inode->extElemNs;
-    exclResultNs = cctxt->inode->exclResultNs;
-
-    for (i = 0; i < item->inScopeNs->totalNumber; i++) {
-    ns = item->inScopeNs->list[i];
-    /*
-    * Skip namespaces designated as excluded namespaces
-    * -------------------------------------------------
-    *
-    * XSLT-20 TODO: In XSLT 2.0 we need to keep namespaces
-    *  which are target namespaces of namespace-aliases
-    *  regardless if designated as excluded.
-    *
-    * Exclude the XSLT namespace.
-    */
-    if (xmlStrEqual(ns->href, XSLT_NAMESPACE))
-        goto skip_ns;
-
-    /*
-    * Apply namespace aliasing
-    * ------------------------
-    *
-    * SPEC XSLT 2.0
-    *  "- A namespace node whose string value is a literal namespace
-    *     URI is not copied to the result tree.
-    *   - A namespace node whose string value is a target namespace URI
-    *     is copied to the result tree, whether or not the URI
-    *     identifies an excluded namespace."
-    *
-    * NOTE: The ns-aliasing machanism is non-cascading.
-    *  (checked with Saxon, Xalan and MSXML .NET).
-    * URGENT TODO: is style->nsAliases the effective list of
-    *  ns-aliases, or do we need to lookup the whole
-    *  import-tree?
-    * TODO: Get rid of import-tree lookup.
-    */
-    if (cctxt->hasNsAliases) {
-        xsltNsAliasPtr alias;
-        /*
-        * First check for being a target namespace.
-        */
-        alias = cctxt->nsAliases;
-        do {
-        /*
-        * TODO: Is xmlns="" handled already?
-        */
-        if ((alias->targetNs != NULL) &&
-            (xmlStrEqual(alias->targetNs->href, ns->href)))
-        {
-            /*
-            * Recognized as a target namespace; use it regardless
-            * if excluded otherwise.
-            */
-            goto add_effective_ns;
-        }
-        alias = alias->next;
-        } while (alias != NULL);
-
-        alias = cctxt->nsAliases;
-        do {
-        /*
-        * TODO: Is xmlns="" handled already?
-        */
-        if ((alias->literalNs != NULL) &&
-            (xmlStrEqual(alias->literalNs->href, ns->href)))
-        {
-            /*
-            * Recognized as an namespace alias; do not use it.
-            */
-            goto skip_ns;
-        }
-        alias = alias->next;
-        } while (alias != NULL);
-    }
-
-    /*
-    * Exclude excluded result namespaces.
-    */
-    if (exclResultNs) {
-        for (j = 0; j < exclResultNs->number; j++)
-        if (xmlStrEqual(ns->href, BAD_CAST exclResultNs->items[j]))
-            goto skip_ns;
-    }
-    /*
-    * Exclude extension-element namespaces.
-    */
-    if (extElemNs) {
-        for (j = 0; j < extElemNs->number; j++)
-        if (xmlStrEqual(ns->href, BAD_CAST extElemNs->items[j]))
-            goto skip_ns;
-    }
-
-add_effective_ns:
-    /*
-    * OPTIMIZE TODO: This information may not be needed.
-    */
-    if (isLRE && (elem->nsDef != NULL)) {
-        holdByElem = 0;
-        tmpns = elem->nsDef;
-        do {
-        if (tmpns == ns) {
-            holdByElem = 1;
-            break;
-        }
-        tmpns = tmpns->next;
-        } while (tmpns != NULL);
-    } else
-        holdByElem = 0;
-
-
-    /*
-    * Add the effective namespace declaration.
-    */
-    effNs = (xsltEffectiveNsPtr) xmlMalloc(sizeof(xsltEffectiveNs));
-    if (effNs == NULL) {
-        xsltTransformError(NULL, cctxt->style, elem,
-        "Internal error in xsltLREBuildEffectiveNs(): "
-        "failed to allocate memory.\n");
-        cctxt->style->errors++;
-        return(-1);
-    }
-    if (cctxt->psData->effectiveNs == NULL) {
-        cctxt->psData->effectiveNs = effNs;
-        effNs->nextInStore = NULL;
-    } else {
-        effNs->nextInStore = cctxt->psData->effectiveNs;
-        cctxt->psData->effectiveNs = effNs;
-    }
-
-    effNs->next = NULL;
-    effNs->prefix = ns->prefix;
-    effNs->nsName = ns->href;
-    effNs->holdByElem = holdByElem;
-
-    if (lastEffNs == NULL)
-        item->effectiveNs = effNs;
-    else
-        lastEffNs->next = effNs;
-    lastEffNs = effNs;
-
-skip_ns:
-    {}
-    }
-    return(0);
-}
-
-
-/**
- * xsltLREInfoCreate:
- *
- * @isLRE: indicates if the given @elem is a literal result element
- *
- * Creates a new info for a literal result element.
- */
-static int
-xsltLREInfoCreate(xsltCompilerCtxtPtr cctxt,
-          xmlNodePtr elem,
-          int isLRE)
-{
-    xsltStyleItemLRElementInfoPtr item;
-
-    if ((cctxt == NULL) || (cctxt->inode == NULL))
-    return(-1);
-
-    item = (xsltStyleItemLRElementInfoPtr)
-    xmlMalloc(sizeof(xsltStyleItemLRElementInfo));
-    if (item == NULL) {
-    xsltTransformError(NULL, cctxt->style, NULL,
-        "Internal error in xsltLREInfoCreate(): "
-        "memory allocation failed.\n");
-    cctxt->style->errors++;
-    return(-1);
-    }
-    memset(item, 0, sizeof(xsltStyleItemLRElementInfo));
-    item->type = XSLT_FUNC_LITERAL_RESULT_ELEMENT;
-    /*
-    * Store it in the stylesheet.
-    */
-    item->next = cctxt->style->preComps;
-    cctxt->style->preComps = (xsltElemPreCompPtr) item;
-    /*
-    * @inScopeNs are used for execution of XPath expressions
-    *  in AVTs.
-    */
-    item->inScopeNs = cctxt->inode->inScopeNs;
-
-    if (elem)
-    xsltLREBuildEffectiveNsNodes(cctxt, item, elem, isLRE);
-
-    cctxt->inode->litResElemInfo = item;
-    cctxt->inode->nsChanged = 0;
-    cctxt->maxLREs++;
-    return(0);
-}
-
-/**
- * xsltCompilerVarInfoPush:
- * @cctxt: the compilation context
- *
- * Pushes a new var/param info onto the stack.
- *
- * Returns the acquired variable info.
- */
-static xsltVarInfoPtr
-xsltCompilerVarInfoPush(xsltCompilerCtxtPtr cctxt,
-                  xmlNodePtr inst,
-                  const xmlChar *name,
-                  const xmlChar *nsName)
-{
-    xsltVarInfoPtr ivar;
-
-    if ((cctxt->ivar != NULL) && (cctxt->ivar->next != NULL)) {
-    ivar = cctxt->ivar->next;
-    } else if ((cctxt->ivar == NULL) && (cctxt->ivars != NULL)) {
-    ivar = cctxt->ivars;
-    } else {
-    ivar = (xsltVarInfoPtr) xmlMalloc(sizeof(xsltVarInfo));
-    if (ivar == NULL) {
-        xsltTransformError(NULL, cctxt->style, inst,
-        "xsltParseInScopeVarPush: xmlMalloc() failed!\n");
-        cctxt->style->errors++;
-        return(NULL);
-    }
-    /* memset(retVar, 0, sizeof(xsltInScopeVar)); */
-    if (cctxt->ivars == NULL) {
-        cctxt->ivars = ivar;
-        ivar->prev = NULL;
-    } else {
-        cctxt->ivar->next = ivar;
-        ivar->prev = cctxt->ivar;
-    }
-    cctxt->ivar = ivar;
-    ivar->next = NULL;
-    }
-    ivar->depth = cctxt->depth;
-    ivar->name = name;
-    ivar->nsName = nsName;
-    return(ivar);
-}
-
-/**
- * xsltCompilerVarInfoPop:
- * @cctxt: the compilation context
- *
- * Pops all var/param infos from the stack, which
- * have the current depth.
- */
-static void
-xsltCompilerVarInfoPop(xsltCompilerCtxtPtr cctxt)
-{
-
-    while ((cctxt->ivar != NULL) &&
-    (cctxt->ivar->depth > cctxt->depth))
-    {
-    cctxt->ivar = cctxt->ivar->prev;
-    }
-}
-
-/*
-* xsltCompilerNodePush:
-*
-* @cctxt: the compilation context
-* @node: the node to be pushed (this can also be the doc-node)
-*
-*
-*
-* Returns the current node info structure or
-*         NULL in case of an internal error.
-*/
-static xsltCompilerNodeInfoPtr
-xsltCompilerNodePush(xsltCompilerCtxtPtr cctxt, xmlNodePtr node)
-{
-    xsltCompilerNodeInfoPtr inode, iprev;
-
-    if ((cctxt->inode != NULL) && (cctxt->inode->next != NULL)) {
-    inode = cctxt->inode->next;
-    } else if ((cctxt->inode == NULL) && (cctxt->inodeList != NULL)) {
-    inode = cctxt->inodeList;
-    } else {
-    /*
-    * Create a new node-info.
-    */
-    inode = (xsltCompilerNodeInfoPtr)
-        xmlMalloc(sizeof(xsltCompilerNodeInfo));
-    if (inode == NULL) {
-        xsltTransformError(NULL, cctxt->style, NULL,
-        "xsltCompilerNodePush: malloc failed.\n");
-        return(NULL);
-    }
-    memset(inode, 0, sizeof(xsltCompilerNodeInfo));
-    if (cctxt->inodeList == NULL)
-        cctxt->inodeList = inode;
-    else {
-        cctxt->inodeLast->next = inode;
-        inode->prev = cctxt->inodeLast;
-    }
-    cctxt->inodeLast = inode;
-    cctxt->maxNodeInfos++;
-    if (cctxt->inode == NULL) {
-        cctxt->inode = inode;
-        /*
-        * Create an initial literal result element info for
-        * the root of the stylesheet.
-        */
-        xsltLREInfoCreate(cctxt, NULL, 0);
-    }
-    }
-    cctxt->depth++;
-    cctxt->inode = inode;
-    /*
-    * REVISIT TODO: Keep the reset always complete.
-    * NOTE: Be carefull with the @node, since it might be
-    *  a doc-node.
-    */
-    inode->node = node;
-    inode->depth = cctxt->depth;
-    inode->templ = NULL;
-    inode->category = XSLT_ELEMENT_CATEGORY_XSLT;
-    inode->type = 0;
-    inode->item = NULL;
-    inode->curChildType = 0;
-    inode->extContentHandled = 0;
-    inode->isRoot = 0;
-
-    if (inode->prev != NULL) {
-    iprev = inode->prev;
-    /*
-    * Inherit the following information:
-    * ---------------------------------
-    *
-    * In-scope namespaces
-    */
-    inode->inScopeNs = iprev->inScopeNs;
-    /*
-    * Info for literal result elements
-    */
-    inode->litResElemInfo = iprev->litResElemInfo;
-    inode->nsChanged = iprev->nsChanged;
-    /*
-    * Excluded result namespaces
-    */
-    inode->exclResultNs = iprev->exclResultNs;
-    /*
-    * Extension instruction namespaces
-    */
-    inode->extElemNs = iprev->extElemNs;
-    /*
-    * Whitespace preservation
-    */
-    inode->preserveWhitespace = iprev->preserveWhitespace;
-    /*
-    * Forwards-compatible mode
-    */
-    inode->forwardsCompat = iprev->forwardsCompat;
-    } else {
-    inode->inScopeNs = NULL;
-    inode->exclResultNs = NULL;
-    inode->extElemNs = NULL;
-    inode->preserveWhitespace = 0;
-    inode->forwardsCompat = 0;
-    }
-
-    return(inode);
-}
-
-/*
-* xsltCompilerNodePop:
-*
-* @cctxt: the compilation context
-* @node: the node to be pushed (this can also be the doc-node)
-*
-* Pops the current node info.
-*/
-static void
-xsltCompilerNodePop(xsltCompilerCtxtPtr cctxt, xmlNodePtr node)
-{
-    if (cctxt->inode == NULL) {
-    xmlGenericError(xmlGenericErrorContext,
-        "xsltCompilerNodePop: Top-node mismatch.\n");
-    return;
-    }
-    /*
-    * NOTE: Be carefull with the @node, since it might be
-    *  a doc-node.
-    */
-    if (cctxt->inode->node != node) {
-    xmlGenericError(xmlGenericErrorContext,
-    "xsltCompilerNodePop: Node mismatch.\n");
-    goto mismatch;
-    }
-    if (cctxt->inode->depth != cctxt->depth) {
-    xmlGenericError(xmlGenericErrorContext,
-    "xsltCompilerNodePop: Depth mismatch.\n");
-    goto mismatch;
-    }
-    cctxt->depth--;
-    /*
-    * Pop information of variables.
-    */
-    if ((cctxt->ivar) && (cctxt->ivar->depth > cctxt->depth))
-    xsltCompilerVarInfoPop(cctxt);
-
-    cctxt->inode = cctxt->inode->prev;
-    if (cctxt->inode != NULL)
-    cctxt->inode->curChildType = 0;
-    return;
-
-mismatch:
-    {
-    const xmlChar *nsName = NULL, *name = NULL;
-    const xmlChar *infnsName = NULL, *infname = NULL;
-
-    if (node) {
-        if (node->type == XML_ELEMENT_NODE) {
-        name = node->name;
-        if (node->ns != NULL)
-            nsName = node->ns->href;
-        else
-            nsName = BAD_CAST "";
-        } else {
-        name = BAD_CAST "#document";
-        nsName = BAD_CAST "";
-        }
-    } else
-        name = BAD_CAST "Not given";
-
-    if (cctxt->inode->node) {
-        if (node->type == XML_ELEMENT_NODE) {
-        infname = cctxt->inode->node->name;
-        if (cctxt->inode->node->ns != NULL)
-            infnsName = cctxt->inode->node->ns->href;
-        else
-            infnsName = BAD_CAST "";
-        } else {
-        infname = BAD_CAST "#document";
-        infnsName = BAD_CAST "";
-        }
-    } else
-        infname = BAD_CAST "Not given";
-
-
-    xmlGenericError(xmlGenericErrorContext,
-        "xsltCompilerNodePop: Given   : '%s' URI '%s'\n",
-        name, nsName);
-    xmlGenericError(xmlGenericErrorContext,
-        "xsltCompilerNodePop: Expected: '%s' URI '%s'\n",
-        infname, infnsName);
-    }
-}
-
-/*
-* xsltCompilerBuildInScopeNsList:
-*
-* Create and store the list of in-scope namespaces for the given
-* node in the stylesheet. If there are no changes in the in-scope
-* namespaces then the last ns-info of the ancestor axis will be returned.
-* Compilation-time only.
-*
-* Returns the ns-info or NULL if there are no namespaces in scope.
-*/
-static xsltNsListContainerPtr
-xsltCompilerBuildInScopeNsList(xsltCompilerCtxtPtr cctxt, xmlNodePtr node)
-{
-    xsltNsListContainerPtr nsi = NULL;
-    xmlNsPtr *list = NULL, ns;
-    int i, maxns = 5;
-    /*
-    * Create a new ns-list for this position in the node-tree.
-    * xmlGetNsList() will return NULL, if there are no ns-decls in the
-    * tree. Note that the ns-decl for the XML namespace is not added
-    * to the resulting list; the XPath module handles the XML namespace
-    * internally.
-    */
-    while (node != NULL) {
-        if (node->type == XML_ELEMENT_NODE) {
-            ns = node->nsDef;
-            while (ns != NULL) {
-                if (nsi == NULL) {
-            nsi = (xsltNsListContainerPtr)
-            xmlMalloc(sizeof(xsltNsListContainer));
-            if (nsi == NULL) {
-            xsltTransformError(NULL, cctxt->style, NULL,
-                "xsltCompilerBuildInScopeNsList: "
-                "malloc failed!\n");
-            goto internal_err;
-            }
-            memset(nsi, 0, sizeof(xsltNsListContainer));
-                    nsi->list =
-                        (xmlNsPtr *) xmlMalloc(maxns * sizeof(xmlNsPtr));
-                    if (nsi->list == NULL) {
-            xsltTransformError(NULL, cctxt->style, NULL,
-                "xsltCompilerBuildInScopeNsList: "
-                "malloc failed!\n");
-            goto internal_err;
-                    }
-                    nsi->list[0] = NULL;
-                }
-        /*
-        * Skip shadowed namespace bindings.
-        */
-                for (i = 0; i < nsi->totalNumber; i++) {
-                    if ((ns->prefix == nsi->list[i]->prefix) ||
-                        (xmlStrEqual(ns->prefix, nsi->list[i]->prefix)))
-            break;
-                }
-                if (i >= nsi->totalNumber) {
-                    if (nsi->totalNumber +1 >= maxns) {
-                        maxns *= 2;
-            nsi->list =
-                (xmlNsPtr *) xmlRealloc(nsi->list,
-                maxns * sizeof(xmlNsPtr));
-                        if (nsi->list == NULL) {
-                            xsltTransformError(NULL, cctxt->style, NULL,
-                "xsltCompilerBuildInScopeNsList: "
-                "realloc failed!\n");
-                goto internal_err;
-                        }
-                    }
-                    nsi->list[nsi->totalNumber++] = ns;
-                    nsi->list[nsi->totalNumber] = NULL;
-                }
-
-                ns = ns->next;
-            }
-        }
-        node = node->parent;
-    }
-    if (nsi == NULL)
-    return(NULL);
-    /*
-    * Move the default namespace to last position.
-    */
-    nsi->xpathNumber = nsi->totalNumber;
-    for (i = 0; i < nsi->totalNumber; i++) {
-    if (nsi->list[i]->prefix == NULL) {
-        ns = nsi->list[i];
-        nsi->list[i] = nsi->list[nsi->totalNumber-1];
-        nsi->list[nsi->totalNumber-1] = ns;
-        nsi->xpathNumber--;
-        break;
-    }
-    }
-    /*
-    * Store the ns-list in the stylesheet.
-    */
-    if (xsltPointerListAddSize(
-    (xsltPointerListPtr)cctxt->psData->inScopeNamespaces,
-    (void *) nsi, 5) == -1)
-    {
-    xmlFree(nsi);
-    nsi = NULL;
-    xsltTransformError(NULL, cctxt->style, NULL,
-        "xsltCompilerBuildInScopeNsList: failed to add ns-info.\n");
-    goto internal_err;
-    }
-    /*
-    * Notify of change in status wrt namespaces.
-    */
-    if (cctxt->inode != NULL)
-    cctxt->inode->nsChanged = 1;
-
-    return(nsi);
-
-internal_err:
-    if (list != NULL)
-    xmlFree(list);
-    cctxt->style->errors++;
-    return(NULL);
-}
-
-static int
-xsltParseNsPrefixList(xsltCompilerCtxtPtr cctxt,
-              xsltPointerListPtr list,
-              xmlNodePtr node,
-              const xmlChar *value)
-{
-    xmlChar *cur, *end;
-    xmlNsPtr ns;
-
-    if ((cctxt == NULL) || (value == NULL) || (list == NULL))
-    return(-1);
-
-    list->number = 0;
-
-    cur = (xmlChar *) value;
-    while (*cur != 0) {
-    while (IS_BLANK(*cur)) cur++;
-    if (*cur == 0)
-        break;
-    end = cur;
-    while ((*end != 0) && (!IS_BLANK(*end))) end++;
-    cur = xmlStrndup(cur, end - cur);
-    if (cur == NULL) {
-        cur = end;
-        continue;
-    }
-    /*
-    * TODO: Export and use xmlSearchNsByPrefixStrict()
-    *   in Libxml2, tree.c, since xmlSearchNs() is in most
-    *   cases not efficient and in some cases not correct.
-    *
-    * XSLT-2 TODO: XSLT 2.0 allows an additional "#all" value.
-    */
-    if ((cur[0] == '#') &&
-        xmlStrEqual(cur, (const xmlChar *)"#default"))
-        ns = xmlSearchNs(cctxt->style->doc, node, NULL);
-    else
-        ns = xmlSearchNs(cctxt->style->doc, node, cur);
-
-    if (ns == NULL) {
-        /*
-        * TODO: Better to report the attr-node, otherwise
-        *  the user won't know which attribute was invalid.
-        */
-        xsltTransformError(NULL, cctxt->style, node,
-        "No namespace binding in scope for prefix '%s'.\n", cur);
-        /*
-        * XSLT-1.0: "It is an error if there is no namespace
-        *  bound to the prefix on the element bearing the
-        *  exclude-result-prefixes or xsl:exclude-result-prefixes
-        *  attribute."
-        */
-        cctxt->style->errors++;
-    } else {
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-        "resolved prefix '%s'\n", cur);
-#endif
-        /*
-        * Note that we put the namespace name into the dict.
-        */
-        if (xsltPointerListAddSize(list,
-        (void *) xmlDictLookup(cctxt->style->dict,
-        ns->href, -1), 5) == -1)
-        {
-        xmlFree(cur);
-        goto internal_err;
-        }
-    }
-    xmlFree(cur);
-
-    cur = end;
-    }
-    return(0);
-
-internal_err:
-    cctxt->style->errors++;
-    return(-1);
-}
-
-/**
- * xsltCompilerUtilsCreateMergedList:
- * @dest: the destination list (optional)
- * @first: the first list
- * @second: the second list (optional)
- *
- * Appends the content of @second to @first into @destination.
- * If @destination is NULL a new list will be created.
- *
- * Returns the merged list of items or NULL if there's nothing to merge.
- */
-static xsltPointerListPtr
-xsltCompilerUtilsCreateMergedList(xsltPointerListPtr first,
-                xsltPointerListPtr second)
-{
-    xsltPointerListPtr ret;
-    size_t num;
-
-    if (first)
-    num = first->number;
-    else
-    num = 0;
-    if (second)
-    num += second->number;
-    if (num == 0)
-    return(NULL);
-    ret = xsltPointerListCreate(num);
-    if (ret == NULL)
-    return(NULL);
-    /*
-    * Copy contents.
-    */
-    if ((first != NULL) &&  (first->number != 0)) {
-    memcpy(ret->items, first->items,
-        first->number * sizeof(void *));
-    if ((second != NULL) && (second->number != 0))
-        memcpy(ret->items + first->number, second->items,
-        second->number * sizeof(void *));
-    } else if ((second != NULL) && (second->number != 0))
-    memcpy(ret->items, (void *) second->items,
-        second->number * sizeof(void *));
-    ret->number = num;
-    return(ret);
-}
-
-/*
-* xsltParseExclResultPrefixes:
-*
-* Create and store the list of in-scope namespaces for the given
-* node in the stylesheet. If there are no changes in the in-scope
-* namespaces then the last ns-info of the ancestor axis will be returned.
-* Compilation-time only.
-*
-* Returns the ns-info or NULL if there are no namespaces in scope.
-*/
-static xsltPointerListPtr
-xsltParseExclResultPrefixes(xsltCompilerCtxtPtr cctxt, xmlNodePtr node,
-                xsltPointerListPtr def,
-                int instrCategory)
-{
-    xsltPointerListPtr list = NULL;
-    xmlChar *value;
-    xmlAttrPtr attr;
-
-    if ((cctxt == NULL) || (node == NULL))
-    return(NULL);
-
-    if (instrCategory == XSLT_ELEMENT_CATEGORY_XSLT)
-    attr = xmlHasNsProp(node, BAD_CAST "exclude-result-prefixes", NULL);
-    else
-    attr = xmlHasNsProp(node, BAD_CAST "exclude-result-prefixes",
-        XSLT_NAMESPACE);
-    if (attr == NULL)
-    return(def);
-
-    if (attr && (instrCategory == XSLT_ELEMENT_CATEGORY_LRE)) {
-    /*
-    * Mark the XSLT attr.
-    */
-    attr->psvi = (void *) xsltXSLTAttrMarker;
-    }
-
-    if ((attr->children != NULL) &&
-    (attr->children->content != NULL))
-    value = attr->children->content;
-    else {
-    xsltTransformError(NULL, cctxt->style, node,
-        "Attribute 'exclude-result-prefixes': Invalid value.\n");
-    cctxt->style->errors++;
-    return(def);
-    }
-
-    if (xsltParseNsPrefixList(cctxt, cctxt->tmpList, node,
-    BAD_CAST value) != 0)
-    goto exit;
-    if (cctxt->tmpList->number == 0)
-    goto exit;
-    /*
-    * Merge the list with the inherited list.
-    */
-    list = xsltCompilerUtilsCreateMergedList(def, cctxt->tmpList);
-    if (list == NULL)
-    goto exit;
-    /*
-    * Store the list in the stylesheet/compiler context.
-    */
-    if (xsltPointerListAddSize(
-    cctxt->psData->exclResultNamespaces, list, 5) == -1)
-    {
-    xsltPointerListFree(list);
-    list = NULL;
-    goto exit;
-    }
-    /*
-    * Notify of change in status wrt namespaces.
-    */
-    if (cctxt->inode != NULL)
-    cctxt->inode->nsChanged = 1;
-
-exit:
-    if (list != NULL)
-    return(list);
-    else
-    return(def);
-}
-
-/*
-* xsltParseExtElemPrefixes:
-*
-* Create and store the list of in-scope namespaces for the given
-* node in the stylesheet. If there are no changes in the in-scope
-* namespaces then the last ns-info of the ancestor axis will be returned.
-* Compilation-time only.
-*
-* Returns the ns-info or NULL if there are no namespaces in scope.
-*/
-static xsltPointerListPtr
-xsltParseExtElemPrefixes(xsltCompilerCtxtPtr cctxt, xmlNodePtr node,
-             xsltPointerListPtr def,
-             int instrCategory)
-{
-    xsltPointerListPtr list = NULL;
-    xmlAttrPtr attr;
-    xmlChar *value;
-    int i;
-
-    if ((cctxt == NULL) || (node == NULL))
-    return(NULL);
-
-    if (instrCategory == XSLT_ELEMENT_CATEGORY_XSLT)
-    attr = xmlHasNsProp(node, BAD_CAST "extension-element-prefixes", NULL);
-    else
-    attr = xmlHasNsProp(node, BAD_CAST "extension-element-prefixes",
-        XSLT_NAMESPACE);
-    if (attr == NULL)
-    return(def);
-
-    if (attr && (instrCategory == XSLT_ELEMENT_CATEGORY_LRE)) {
-    /*
-    * Mark the XSLT attr.
-    */
-    attr->psvi = (void *) xsltXSLTAttrMarker;
-    }
-
-    if ((attr->children != NULL) &&
-    (attr->children->content != NULL))
-    value = attr->children->content;
-    else {
-    xsltTransformError(NULL, cctxt->style, node,
-        "Attribute 'extension-element-prefixes': Invalid value.\n");
-    cctxt->style->errors++;
-    return(def);
-    }
-
-
-    if (xsltParseNsPrefixList(cctxt, cctxt->tmpList, node,
-    BAD_CAST value) != 0)
-    goto exit;
-
-    if (cctxt->tmpList->number == 0)
-    goto exit;
-    /*
-    * REVISIT: Register the extension namespaces.
-    */
-    for (i = 0; i < cctxt->tmpList->number; i++)
-    xsltRegisterExtPrefix(cctxt->style, NULL,
-    BAD_CAST cctxt->tmpList->items[i]);
-    /*
-    * Merge the list with the inherited list.
-    */
-    list = xsltCompilerUtilsCreateMergedList(def, cctxt->tmpList);
-    if (list == NULL)
-    goto exit;
-    /*
-    * Store the list in the stylesheet.
-    */
-    if (xsltPointerListAddSize(
-    cctxt->psData->extElemNamespaces, list, 5) == -1)
-    {
-    xsltPointerListFree(list);
-    list = NULL;
-    goto exit;
-    }
-    /*
-    * Notify of change in status wrt namespaces.
-    */
-    if (cctxt->inode != NULL)
-    cctxt->inode->nsChanged = 1;
-
-exit:
-    if (list != NULL)
-    return(list);
-    else
-    return(def);
-}
-
-/*
-* xsltParseAttrXSLTVersion:
-*
-* @cctxt: the compilation context
-* @node: the element-node
-* @isXsltElem: whether this is an XSLT element
-*
-* Parses the attribute xsl:version.
-*
-* Returns 1 if there was such an attribute, 0 if not and
-*         -1 if an internal or API error occured.
-*/
-static int
-xsltParseAttrXSLTVersion(xsltCompilerCtxtPtr cctxt, xmlNodePtr node,
-             int instrCategory)
-{
-    xmlChar *value;
-    xmlAttrPtr attr;
-
-    if ((cctxt == NULL) || (node == NULL))
-    return(-1);
-
-    if (instrCategory == XSLT_ELEMENT_CATEGORY_XSLT)
-    attr = xmlHasNsProp(node, BAD_CAST "version", NULL);
-    else
-    attr = xmlHasNsProp(node, BAD_CAST "version", XSLT_NAMESPACE);
-
-    if (attr == NULL)
-    return(0);
-
-    attr->psvi = (void *) xsltXSLTAttrMarker;
-
-    if ((attr->children != NULL) &&
-    (attr->children->content != NULL))
-    value = attr->children->content;
-    else {
-    xsltTransformError(NULL, cctxt->style, node,
-        "Attribute 'version': Invalid value.\n");
-    cctxt->style->errors++;
-    return(1);
-    }
-
-    if (! xmlStrEqual(value, (const xmlChar *)"1.0")) {
-    cctxt->inode->forwardsCompat = 1;
-    /*
-    * TODO: To what extent do we support the
-    *  forwards-compatible mode?
-    */
-    /*
-    * Report this only once per compilation episode.
-    */
-    if (! cctxt->hasForwardsCompat) {
-        cctxt->hasForwardsCompat = 1;
-        cctxt->errSeverity = XSLT_ERROR_SEVERITY_WARNING;
-        xsltTransformError(NULL, cctxt->style, node,
-        "Warning: the attribute xsl:version specifies a value "
-        "different from '1.0'. Switching to forwards-compatible "
-        "mode. Only features of XSLT 1.0 are supported by this "
-        "processor.\n");
-        cctxt->style->warnings++;
-        cctxt->errSeverity = XSLT_ERROR_SEVERITY_ERROR;
-    }
-    } else {
-    cctxt->inode->forwardsCompat = 0;
-    }
-
-    if (attr && (instrCategory == XSLT_ELEMENT_CATEGORY_LRE)) {
-    /*
-    * Set a marker on XSLT attributes.
-    */
-    attr->psvi = (void *) xsltXSLTAttrMarker;
-    }
-    return(1);
-}
-
-static int
-xsltParsePreprocessStylesheetTree(xsltCompilerCtxtPtr cctxt, xmlNodePtr node)
-{
-    xmlNodePtr deleteNode, cur, txt, textNode = NULL;
-    xmlDocPtr doc;
-    xsltStylesheetPtr style;
-    int internalize = 0, findSpaceAttr;
-    int xsltStylesheetElemDepth;
-    xmlAttrPtr attr;
-    xmlChar *value;
-    const xmlChar *name, *nsNameXSLT = NULL;
-    int strictWhitespace, inXSLText = 0;
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-    xsltNsMapPtr nsMapItem;
-#endif
-
-    if ((cctxt == NULL) || (cctxt->style == NULL) ||
-    (node == NULL) || (node->type != XML_ELEMENT_NODE))
-        return(-1);
-
-    doc = node->doc;
-    if (doc == NULL)
-    goto internal_err;
-
-    style = cctxt->style;
-    if ((style->dict != NULL) && (doc->dict == style->dict))
-    internalize = 1;
-    else
-        style->internalized = 0;
-
-    /*
-    * Init value of xml:space. Since this might be an embedded
-    * stylesheet, this is needed to be performed on the element
-    * where the stylesheet is rooted at, taking xml:space of
-    * ancestors into account.
-    */
-    if (! cctxt->simplified)
-    xsltStylesheetElemDepth = cctxt->depth +1;
-    else
-    xsltStylesheetElemDepth = 0;
-
-    if (xmlNodeGetSpacePreserve(node) != 1)
-    cctxt->inode->preserveWhitespace = 0;
-    else
-    cctxt->inode->preserveWhitespace = 1;
-
-    /*
-    * Eval if we should keep the old incorrect behaviour.
-    */
-    strictWhitespace = (cctxt->strict != 0) ? 1 : 0;
-
-    nsNameXSLT = xsltConstNamespaceNameXSLT;
-
-    deleteNode = NULL;
-    cur = node;
-    while (cur != NULL) {
-    if (deleteNode != NULL) {
-
-#ifdef WITH_XSLT_DEBUG_BLANKS
-        xsltGenericDebug(xsltGenericDebugContext,
-         "xsltParsePreprocessStylesheetTree: removing node\n");
-#endif
-        xmlUnlinkNode(deleteNode);
-        xmlFreeNode(deleteNode);
-        deleteNode = NULL;
-    }
-    if (cur->type == XML_ELEMENT_NODE) {
-
-        /*
-        * Clear the PSVI field.
-        */
-        cur->psvi = NULL;
-
-        xsltCompilerNodePush(cctxt, cur);
-
-        inXSLText = 0;
-        textNode = NULL;
-        findSpaceAttr = 1;
-        cctxt->inode->stripWhitespace = 0;
-        /*
-        * TODO: I'd love to use a string pointer comparison here :-/
-        */
-        if (IS_XSLT_ELEM(cur)) {
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-        if (cur->ns->href != nsNameXSLT) {
-            nsMapItem = xsltNewNamespaceMapItem(cctxt,
-            doc, cur->ns, cur);
-            if (nsMapItem == NULL)
-            goto internal_err;
-            cur->ns->href = nsNameXSLT;
-        }
-#endif
-
-        if (cur->name == NULL)
-            goto process_attributes;
-        /*
-        * Mark the XSLT element for later recognition.
-        * TODO: Using the marker is still too dangerous, since if
-        *   the parsing mechanism leaves out an XSLT element, then
-        *   this might hit the transformation-mechanism, which
-        *   will break if it doesn't expect such a marker.
-        */
-        /* cur->psvi = (void *) xsltXSLTElemMarker; */
-
-        /*
-        * XSLT 2.0: "Any whitespace text node whose parent is
-        * one of the following elements is removed from the "
-        * tree, regardless of any xml:space attributes:..."
-        * xsl:apply-imports,
-        * xsl:apply-templates,
-        * xsl:attribute-set,
-        * xsl:call-template,
-        * xsl:choose,
-        * xsl:stylesheet, xsl:transform.
-        * XSLT 2.0: xsl:analyze-string,
-        *           xsl:character-map,
-        *           xsl:next-match
-        *
-        * TODO: I'd love to use a string pointer comparison here :-/
-        */
-        name = cur->name;
-        switch (*name) {
-            case 't':
-            if ((name[0] == 't') && (name[1] == 'e') &&
-                (name[2] == 'x') && (name[3] == 't') &&
-                (name[4] == 0))
-            {
-                /*
-                * Process the xsl:text element.
-                * ----------------------------
-                * Mark it for later recognition.
-                */
-                cur->psvi = (void *) xsltXSLTTextMarker;
-                /*
-                * For stylesheets, the set of
-                * whitespace-preserving element names
-                * consists of just xsl:text.
-                */
-                findSpaceAttr = 0;
-                cctxt->inode->preserveWhitespace = 1;
-                inXSLText = 1;
-            }
-            break;
-            case 'c':
-            if (xmlStrEqual(name, BAD_CAST "choose") ||
-                xmlStrEqual(name, BAD_CAST "call-template"))
-                cctxt->inode->stripWhitespace = 1;
-            break;
-            case 'a':
-            if (xmlStrEqual(name, BAD_CAST "apply-templates") ||
-                xmlStrEqual(name, BAD_CAST "apply-imports") ||
-                xmlStrEqual(name, BAD_CAST "attribute-set"))
-
-                cctxt->inode->stripWhitespace = 1;
-            break;
-            default:
-            if (xsltStylesheetElemDepth == cctxt->depth) {
-                /*
-                * This is a xsl:stylesheet/xsl:transform.
-                */
-                cctxt->inode->stripWhitespace = 1;
-                break;
-            }
-
-            if ((cur->prev != NULL) &&
-                (cur->prev->type == XML_TEXT_NODE))
-            {
-                /*
-                * XSLT 2.0 : "Any whitespace text node whose
-                *  following-sibling node is an xsl:param or
-                *  xsl:sort element is removed from the tree,
-                *  regardless of any xml:space attributes."
-                */
-                if (((*name == 'p') || (*name == 's')) &&
-                (xmlStrEqual(name, BAD_CAST "param") ||
-                 xmlStrEqual(name, BAD_CAST "sort")))
-                {
-                do {
-                    if (IS_BLANK_NODE(cur->prev)) {
-                    txt = cur->prev;
-                    xmlUnlinkNode(txt);
-                    xmlFreeNode(txt);
-                    } else {
-                    /*
-                    * This will result in a content
-                    * error, when hitting the parsing
-                    * functions.
-                    */
-                    break;
-                    }
-                } while (cur->prev);
-                }
-            }
-            break;
-        }
-        }
-
-process_attributes:
-        /*
-        * Process attributes.
-        * ------------------
-        */
-        if (cur->properties != NULL) {
-        if (cur->children == NULL)
-            findSpaceAttr = 0;
-        attr = cur->properties;
-        do {
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-            if ((attr->ns) && (attr->ns->href != nsNameXSLT) &&
-            xmlStrEqual(attr->ns->href, nsNameXSLT))
-            {
-            nsMapItem = xsltNewNamespaceMapItem(cctxt,
-                doc, attr->ns, cur);
-            if (nsMapItem == NULL)
-                goto internal_err;
-            attr->ns->href = nsNameXSLT;
-            }
-#endif
-            if (internalize) {
-            /*
-            * Internalize the attribute's value; the goal is to
-            * speed up operations and minimize used space by
-            * compiled stylesheets.
-            */
-            txt = attr->children;
-            /*
-            * NOTE that this assumes only one
-            *  text-node in the attribute's content.
-            */
-            if ((txt != NULL) && (txt->content != NULL) &&
-                (!xmlDictOwns(style->dict, txt->content)))
-            {
-                value = (xmlChar *) xmlDictLookup(style->dict,
-                txt->content, -1);
-                xmlNodeSetContent(txt, NULL);
-                txt->content = value;
-            }
-            }
-            /*
-            * Process xml:space attributes.
-            * ----------------------------
-            */
-            if ((findSpaceAttr != 0) &&
-            (attr->ns != NULL) &&
-            (attr->name != NULL) &&
-            (attr->name[0] == 's') &&
-            (attr->ns->prefix != NULL) &&
-            (attr->ns->prefix[0] == 'x') &&
-            (attr->ns->prefix[1] == 'm') &&
-            (attr->ns->prefix[2] == 'l') &&
-            (attr->ns->prefix[3] == 0))
-            {
-            value = xmlGetNsProp(cur, BAD_CAST "space",
-                XML_XML_NAMESPACE);
-            if (value != NULL) {
-                if (xmlStrEqual(value, BAD_CAST "preserve")) {
-                cctxt->inode->preserveWhitespace = 1;
-                } else if (xmlStrEqual(value, BAD_CAST "default")) {
-                cctxt->inode->preserveWhitespace = 0;
-                } else {
-                /* Invalid value for xml:space. */
-                xsltTransformError(NULL, style, cur,
-                    "Attribute xml:space: Invalid value.\n");
-                cctxt->style->warnings++;
-                }
-                findSpaceAttr = 0;
-                xmlFree(value);
-            }
-
-            }
-            attr = attr->next;
-        } while (attr != NULL);
-        }
-        /*
-        * We'll descend into the children of element nodes only.
-        */
-        if (cur->children != NULL) {
-        cur = cur->children;
-        continue;
-        }
-    } else if ((cur->type == XML_TEXT_NODE) ||
-        (cur->type == XML_CDATA_SECTION_NODE))
-    {
-        /*
-        * Merge adjacent text/CDATA-section-nodes
-        * ---------------------------------------
-        * In order to avoid breaking of existing stylesheets,
-        * if the old behaviour is wanted (strictWhitespace == 0),
-        * then we *won't* merge adjacent text-nodes
-        * (except in xsl:text); this will ensure that whitespace-only
-        * text nodes are (incorrectly) not stripped in some cases.
-        *
-        * Example:               :   zoo
-        * Corrent (strict) result:   zoo
-        * Incorrect (old) result : zoo
-        *
-        * NOTE that we *will* merge adjacent text-nodes if
-        * they are in xsl:text.
-        * Example, the following:
-        *   zoo
-        * will result in both cases in:
-        *   zoo
-        */
-        cur->type = XML_TEXT_NODE;
-        if ((strictWhitespace != 0) || (inXSLText != 0)) {
-        /*
-        * New behaviour; merge nodes.
-        */
-        if (textNode == NULL)
-            textNode = cur;
-        else {
-            if (cur->content != NULL)
-            xmlNodeAddContent(textNode, cur->content);
-            deleteNode = cur;
-        }
-        if ((cur->next == NULL) ||
-            (cur->next->type == XML_ELEMENT_NODE))
-            goto end_of_text;
-        else
-            goto next_sibling;
-        } else {
-        /*
-        * Old behaviour.
-        */
-        if (textNode == NULL)
-            textNode = cur;
-        goto end_of_text;
-        }
-    } else if ((cur->type == XML_COMMENT_NODE) ||
-        (cur->type == XML_PI_NODE))
-    {
-        /*
-        * Remove processing instructions and comments.
-        */
-        deleteNode = cur;
-        if ((cur->next == NULL) ||
-        (cur->next->type == XML_ELEMENT_NODE))
-        goto end_of_text;
-        else
-        goto next_sibling;
-    } else {
-        textNode = NULL;
-        /*
-        * Invalid node-type for this data-model.
-        */
-        xsltTransformError(NULL, style, cur,
-        "Invalid type of node for the XSLT data model.\n");
-        cctxt->style->errors++;
-        goto next_sibling;
-    }
-
-end_of_text:
-    if (textNode) {
-        value = textNode->content;
-        /*
-        * At this point all adjacent text/CDATA-section nodes
-        * have been merged.
-        *
-        * Strip whitespace-only text-nodes.
-        * (cctxt->inode->stripWhitespace)
-        */
-        if ((value == NULL) || (*value == 0) ||
-        (((cctxt->inode->stripWhitespace) ||
-          (! cctxt->inode->preserveWhitespace)) &&
-         IS_BLANK(*value) &&
-         xsltIsBlank(value)))
-        {
-        if (textNode != cur) {
-            xmlUnlinkNode(textNode);
-            xmlFreeNode(textNode);
-        } else
-            deleteNode = textNode;
-        textNode = NULL;
-        goto next_sibling;
-        }
-        /*
-        * Convert CDATA-section nodes to text-nodes.
-        * TODO: Can this produce problems?
-        */
-        if (textNode->type != XML_TEXT_NODE) {
-        textNode->type = XML_TEXT_NODE;
-        textNode->name = xmlStringText;
-        }
-        if (internalize &&
-        (textNode->content != NULL) &&
-        (!xmlDictOwns(style->dict, textNode->content)))
-        {
-        /*
-        * Internalize the string.
-        */
-        value = (xmlChar *) xmlDictLookup(style->dict,
-            textNode->content, -1);
-        xmlNodeSetContent(textNode, NULL);
-        textNode->content = value;
-        }
-        textNode = NULL;
-        /*
-        * Note that "disable-output-escaping" of the xsl:text
-        * element will be applied at a later level, when
-        * XSLT elements are processed.
-        */
-    }
-
-next_sibling:
-    if (cur->type == XML_ELEMENT_NODE) {
-        xsltCompilerNodePop(cctxt, cur);
-    }
-    if (cur == node)
-        break;
-    if (cur->next != NULL) {
-        cur = cur->next;
-    } else {
-        cur = cur->parent;
-        inXSLText = 0;
-        goto next_sibling;
-    };
-    }
-    if (deleteNode != NULL) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-    xsltGenericDebug(xsltGenericDebugContext,
-     "xsltParsePreprocessStylesheetTree: removing node\n");
-#endif
-    xmlUnlinkNode(deleteNode);
-    xmlFreeNode(deleteNode);
-    }
-    return(0);
-
-internal_err:
-    return(-1);
-}
-
-#endif /* XSLT_REFACTORED */
-
-#ifdef XSLT_REFACTORED
-#else
-static void
-xsltPrecomputeStylesheet(xsltStylesheetPtr style, xmlNodePtr cur)
-{
-    xmlNodePtr deleteNode, styleelem;
-    int internalize = 0;
-
-    if ((style == NULL) || (cur == NULL))
-        return;
-
-    if ((cur->doc != NULL) && (style->dict != NULL) &&
-        (cur->doc->dict == style->dict))
-    internalize = 1;
-    else
-        style->internalized = 0;
-
-    if ((cur != NULL) && (IS_XSLT_ELEM(cur)) &&
-        (IS_XSLT_NAME(cur, "stylesheet"))) {
-    styleelem = cur;
-    } else {
-        styleelem = NULL;
-    }
-
-    /*
-     * This content comes from the stylesheet
-     * For stylesheets, the set of whitespace-preserving
-     * element names consists of just xsl:text.
-     */
-    deleteNode = NULL;
-    while (cur != NULL) {
-    if (deleteNode != NULL) {
-#ifdef WITH_XSLT_DEBUG_BLANKS
-        xsltGenericDebug(xsltGenericDebugContext,
-         "xsltPrecomputeStylesheet: removing ignorable blank node\n");
-#endif
-        xmlUnlinkNode(deleteNode);
-        xmlFreeNode(deleteNode);
-        deleteNode = NULL;
-    }
-    if (cur->type == XML_ELEMENT_NODE) {
-        int exclPrefixes;
-        /*
-         * Internalize attributes values.
-         */
-        if ((internalize) && (cur->properties != NULL)) {
-            xmlAttrPtr attr = cur->properties;
-        xmlNodePtr txt;
-
-        while (attr != NULL) {
-            txt = attr->children;
-            if ((txt != NULL) && (txt->type == XML_TEXT_NODE) &&
-                (txt->content != NULL) &&
-            (!xmlDictOwns(style->dict, txt->content)))
-            {
-            xmlChar *tmp;
-
-            /*
-             * internalize the text string, goal is to speed
-             * up operations and minimize used space by compiled
-             * stylesheets.
-             */
-            tmp = (xmlChar *) xmlDictLookup(style->dict,
-                                            txt->content, -1);
-            if (tmp != txt->content) {
-                xmlNodeSetContent(txt, NULL);
-                txt->content = tmp;
-            }
-            }
-            attr = attr->next;
-        }
-        }
-        if (IS_XSLT_ELEM(cur)) {
-        exclPrefixes = 0;
-        xsltStylePreCompute(style, cur);
-        if (IS_XSLT_NAME(cur, "text")) {
-            for (;exclPrefixes > 0;exclPrefixes--)
-            exclPrefixPop(style);
-            goto skip_children;
-        }
-        } else {
-        exclPrefixes = xsltParseStylesheetExcludePrefix(style, cur, 0);
-        }
-
-        if ((cur->nsDef != NULL) && (style->exclPrefixNr > 0)) {
-        xmlNsPtr ns = cur->nsDef, prev = NULL, next;
-        xmlNodePtr root = NULL;
-        int i, moved;
-
-        root = xmlDocGetRootElement(cur->doc);
-        if ((root != NULL) && (root != cur)) {
-            while (ns != NULL) {
-            moved = 0;
-            next = ns->next;
-            for (i = 0;i < style->exclPrefixNr;i++) {
-                if ((ns->prefix != NULL) &&
-                    (xmlStrEqual(ns->href,
-                         style->exclPrefixTab[i]))) {
-                /*
-                 * Move the namespace definition on the root
-                 * element to avoid duplicating it without
-                 * loosing it.
-                 */
-                if (prev == NULL) {
-                    cur->nsDef = ns->next;
-                } else {
-                    prev->next = ns->next;
-                }
-                ns->next = root->nsDef;
-                root->nsDef = ns;
-                moved = 1;
-                break;
-                }
-            }
-            if (moved == 0)
-                prev = ns;
-            ns = next;
-            }
-        }
-        }
-        /*
-         * If we have prefixes locally, recurse and pop them up when
-         * going back
-         */
-        if (exclPrefixes > 0) {
-        xsltPrecomputeStylesheet(style, cur->children);
-        for (;exclPrefixes > 0;exclPrefixes--)
-            exclPrefixPop(style);
-        goto skip_children;
-        }
-    } else if (cur->type == XML_TEXT_NODE) {
-        if (IS_BLANK_NODE(cur)) {
-        if (xmlNodeGetSpacePreserve(cur) != 1) {
-            deleteNode = cur;
-        }
-        } else if ((cur->content != NULL) && (internalize) &&
-                   (!xmlDictOwns(style->dict, cur->content))) {
-        xmlChar *tmp;
-
-        /*
-         * internalize the text string, goal is to speed
-         * up operations and minimize used space by compiled
-         * stylesheets.
-         */
-        tmp = (xmlChar *) xmlDictLookup(style->dict, cur->content, -1);
-        xmlNodeSetContent(cur, NULL);
-        cur->content = tmp;
-        }
-    } else if ((cur->type != XML_ELEMENT_NODE) &&
-           (cur->type != XML_CDATA_SECTION_NODE)) {
-        deleteNode = cur;
-        goto skip_children;
-    }
-
-    /*
-     * Skip to next node. In case of a namespaced element children of
-     * the stylesheet and not in the XSLT namespace and not an extension
-     * element, ignore its content.
-     */
-    if ((cur->type == XML_ELEMENT_NODE) && (cur->ns != NULL) &&
-        (styleelem != NULL) && (cur->parent == styleelem) &&
-        (!xmlStrEqual(cur->ns->href, XSLT_NAMESPACE)) &&
-        (!xsltCheckExtURI(style, cur->ns->href))) {
-        goto skip_children;
-    } else if (cur->children != NULL) {
-        if ((cur->children->type != XML_ENTITY_DECL) &&
-        (cur->children->type != XML_ENTITY_REF_NODE) &&
-        (cur->children->type != XML_ENTITY_NODE)) {
-        cur = cur->children;
-        continue;
-        }
-    }
-
-skip_children:
-    if (cur->next != NULL) {
-        cur = cur->next;
-        continue;
-    }
-    do {
-
-        cur = cur->parent;
-        if (cur == NULL)
-        break;
-        if (cur == (xmlNodePtr) style->doc) {
-        cur = NULL;
-        break;
-        }
-        if (cur->next != NULL) {
-        cur = cur->next;
-        break;
-        }
-    } while (cur != NULL);
-    }
-    if (deleteNode != NULL) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-    xsltGenericDebug(xsltGenericDebugContext,
-     "xsltPrecomputeStylesheet: removing ignorable blank node\n");
-#endif
-    xmlUnlinkNode(deleteNode);
-    xmlFreeNode(deleteNode);
-    }
-}
-#endif /* end of else XSLT_REFACTORED */
-
-/**
- * xsltGatherNamespaces:
- * @style:  the XSLT stylesheet
- *
- * Browse the stylesheet and build the namspace hash table which
- * will be used for XPath interpretation. If needed do a bit of normalization
- */
-
-static void
-xsltGatherNamespaces(xsltStylesheetPtr style) {
-    xmlNodePtr cur;
-    const xmlChar *URI;
-
-    if (style == NULL)
-        return;
-    /*
-     * TODO: basically if the stylesheet uses the same prefix for different
-     *       patterns, well they may be in problem, hopefully they will get
-     *       a warning first.
-     */
-    /*
-    * TODO: Eliminate the use of the hash for XPath expressions.
-    *   An expression should be evaluated in the context of the in-scope
-    *   namespaces; eliminate the restriction of an XML document to contain
-    *   no duplicate prefixes for different namespace names.
-    *
-    */
-    cur = xmlDocGetRootElement(style->doc);
-    while (cur != NULL) {
-    if (cur->type == XML_ELEMENT_NODE) {
-        xmlNsPtr ns = cur->nsDef;
-        while (ns != NULL) {
-        if (ns->prefix != NULL) {
-            if (style->nsHash == NULL) {
-            style->nsHash = xmlHashCreate(10);
-            if (style->nsHash == NULL) {
-                xsltTransformError(NULL, style, cur,
-         "xsltGatherNamespaces: failed to create hash table\n");
-                style->errors++;
-                return;
-            }
-            }
-            URI = xmlHashLookup(style->nsHash, ns->prefix);
-            if ((URI != NULL) && (!xmlStrEqual(URI, ns->href))) {
-            xsltTransformError(NULL, style, cur,
-         "Namespaces prefix %s used for multiple namespaces\n",ns->prefix);
-            style->warnings++;
-            } else if (URI == NULL) {
-            xmlHashUpdateEntry(style->nsHash, ns->prefix,
-                (void *) ns->href, (xmlHashDeallocator)xmlFree);
-
-#ifdef WITH_XSLT_DEBUG_PARSING
-            xsltGenericDebug(xsltGenericDebugContext,
-         "Added namespace: %s mapped to %s\n", ns->prefix, ns->href);
-#endif
-            }
-        }
-        ns = ns->next;
-        }
-    }
-
-    /*
-     * Skip to next node
-     */
-    if (cur->children != NULL) {
-        if (cur->children->type != XML_ENTITY_DECL) {
-        cur = cur->children;
-        continue;
-        }
-    }
-    if (cur->next != NULL) {
-        cur = cur->next;
-        continue;
-    }
-
-    do {
-        cur = cur->parent;
-        if (cur == NULL)
-        break;
-        if (cur == (xmlNodePtr) style->doc) {
-        cur = NULL;
-        break;
-        }
-        if (cur->next != NULL) {
-        cur = cur->next;
-        break;
-        }
-    } while (cur != NULL);
-    }
-}
-
-#ifdef XSLT_REFACTORED
-
-static xsltStyleType
-xsltGetXSLTElementTypeByNode(xsltCompilerCtxtPtr cctxt,
-                 xmlNodePtr node)
-{
-    if ((node == NULL) || (node->type != XML_ELEMENT_NODE) ||
-    (node->name == NULL))
-    return(0);
-
-    if (node->name[0] == 'a') {
-    if (IS_XSLT_NAME(node, "apply-templates"))
-        return(XSLT_FUNC_APPLYTEMPLATES);
-    else if (IS_XSLT_NAME(node, "attribute"))
-        return(XSLT_FUNC_ATTRIBUTE);
-    else if (IS_XSLT_NAME(node, "apply-imports"))
-        return(XSLT_FUNC_APPLYIMPORTS);
-    else if (IS_XSLT_NAME(node, "attribute-set"))
-        return(0);
-
-    } else if (node->name[0] == 'c') {
-    if (IS_XSLT_NAME(node, "choose"))
-        return(XSLT_FUNC_CHOOSE);
-    else if (IS_XSLT_NAME(node, "copy"))
-        return(XSLT_FUNC_COPY);
-    else if (IS_XSLT_NAME(node, "copy-of"))
-        return(XSLT_FUNC_COPYOF);
-    else if (IS_XSLT_NAME(node, "call-template"))
-        return(XSLT_FUNC_CALLTEMPLATE);
-    else if (IS_XSLT_NAME(node, "comment"))
-        return(XSLT_FUNC_COMMENT);
-
-    } else if (node->name[0] == 'd') {
-    if (IS_XSLT_NAME(node, "document"))
-        return(XSLT_FUNC_DOCUMENT);
-    else if (IS_XSLT_NAME(node, "decimal-format"))
-        return(0);
-
-    } else if (node->name[0] == 'e') {
-    if (IS_XSLT_NAME(node, "element"))
-        return(XSLT_FUNC_ELEMENT);
-
-    } else if (node->name[0] == 'f') {
-    if (IS_XSLT_NAME(node, "for-each"))
-        return(XSLT_FUNC_FOREACH);
-    else if (IS_XSLT_NAME(node, "fallback"))
-        return(XSLT_FUNC_FALLBACK);
-
-    } else if (*(node->name) == 'i') {
-    if (IS_XSLT_NAME(node, "if"))
-        return(XSLT_FUNC_IF);
-    else if (IS_XSLT_NAME(node, "include"))
-        return(0);
-    else if (IS_XSLT_NAME(node, "import"))
-        return(0);
-
-    } else if (*(node->name) == 'k') {
-    if (IS_XSLT_NAME(node, "key"))
-        return(0);
-
-    } else if (*(node->name) == 'm') {
-    if (IS_XSLT_NAME(node, "message"))
-        return(XSLT_FUNC_MESSAGE);
-
-    } else if (*(node->name) == 'n') {
-    if (IS_XSLT_NAME(node, "number"))
-        return(XSLT_FUNC_NUMBER);
-    else if (IS_XSLT_NAME(node, "namespace-alias"))
-        return(0);
-
-    } else if (*(node->name) == 'o') {
-    if (IS_XSLT_NAME(node, "otherwise"))
-        return(XSLT_FUNC_OTHERWISE);
-    else if (IS_XSLT_NAME(node, "output"))
-        return(0);
-
-    } else if (*(node->name) == 'p') {
-    if (IS_XSLT_NAME(node, "param"))
-        return(XSLT_FUNC_PARAM);
-    else if (IS_XSLT_NAME(node, "processing-instruction"))
-        return(XSLT_FUNC_PI);
-    else if (IS_XSLT_NAME(node, "preserve-space"))
-        return(0);
-
-    } else if (*(node->name) == 's') {
-    if (IS_XSLT_NAME(node, "sort"))
-        return(XSLT_FUNC_SORT);
-    else if (IS_XSLT_NAME(node, "strip-space"))
-        return(0);
-    else if (IS_XSLT_NAME(node, "stylesheet"))
-        return(0);
-
-    } else if (node->name[0] == 't') {
-    if (IS_XSLT_NAME(node, "text"))
-        return(XSLT_FUNC_TEXT);
-    else if (IS_XSLT_NAME(node, "template"))
-        return(0);
-    else if (IS_XSLT_NAME(node, "transform"))
-        return(0);
-
-    } else if (*(node->name) == 'v') {
-    if (IS_XSLT_NAME(node, "value-of"))
-        return(XSLT_FUNC_VALUEOF);
-    else if (IS_XSLT_NAME(node, "variable"))
-        return(XSLT_FUNC_VARIABLE);
-
-    } else if (*(node->name) == 'w') {
-    if (IS_XSLT_NAME(node, "when"))
-        return(XSLT_FUNC_WHEN);
-    if (IS_XSLT_NAME(node, "with-param"))
-        return(XSLT_FUNC_WITHPARAM);
-    }
-    return(0);
-}
-
-/**
- * xsltParseAnyXSLTElem:
- *
- * @cctxt: the compilation context
- * @elem: the element node of the XSLT instruction
- *
- * Parses, validates the content models and compiles XSLT instructions.
- *
- * Returns 0 if everything's fine;
- *         -1 on API or internal errors.
- */
-int
-xsltParseAnyXSLTElem(xsltCompilerCtxtPtr cctxt, xmlNodePtr elem)
-{
-    if ((cctxt == NULL) || (elem == NULL) ||
-    (elem->type != XML_ELEMENT_NODE))
-    return(-1);
-
-    elem->psvi = NULL;
-
-    if (! (IS_XSLT_ELEM_FAST(elem)))
-    return(-1);
-    /*
-    * Detection of handled content of extension instructions.
-    */
-    if (cctxt->inode->category == XSLT_ELEMENT_CATEGORY_EXTENSION) {
-    cctxt->inode->extContentHandled = 1;
-    }
-
-    xsltCompilerNodePush(cctxt, elem);
-    /*
-    * URGENT TODO: Find a way to speed up this annoying redundant
-    *  textual node-name and namespace comparison.
-    */
-    if (cctxt->inode->prev->curChildType != 0)
-    cctxt->inode->type = cctxt->inode->prev->curChildType;
-    else
-    cctxt->inode->type = xsltGetXSLTElementTypeByNode(cctxt, elem);
-    /*
-    * Update the in-scope namespaces if needed.
-    */
-    if (elem->nsDef != NULL)
-    cctxt->inode->inScopeNs =
-        xsltCompilerBuildInScopeNsList(cctxt, elem);
-    /*
-    * xsltStylePreCompute():
-    *  This will compile the information found on the current
-    *  element's attributes. NOTE that this won't process the
-    *  children of the instruction.
-    */
-    xsltStylePreCompute(cctxt->style, elem);
-    /*
-    * TODO: How to react on errors in xsltStylePreCompute() ?
-    */
-
-    /*
-    * Validate the content model of the XSLT-element.
-    */
-    switch (cctxt->inode->type) {
-    case XSLT_FUNC_APPLYIMPORTS:
-        /* EMPTY */
-        goto empty_content;
-    case XSLT_FUNC_APPLYTEMPLATES:
-        /*  */
-        goto apply_templates;
-    case XSLT_FUNC_ATTRIBUTE:
-        /*  */
-        goto sequence_constructor;
-    case XSLT_FUNC_CALLTEMPLATE:
-        /*  */
-        goto call_template;
-    case XSLT_FUNC_CHOOSE:
-        /*  */
-        goto choose;
-    case XSLT_FUNC_COMMENT:
-        /*  */
-        goto sequence_constructor;
-    case XSLT_FUNC_COPY:
-        /*  */
-        goto sequence_constructor;
-    case XSLT_FUNC_COPYOF:
-        /* EMPTY */
-        goto empty_content;
-    case XSLT_FUNC_DOCUMENT: /* Extra one */
-        /* ?? template ?? */
-        goto sequence_constructor;
-    case XSLT_FUNC_ELEMENT:
-        /*  */
-        goto sequence_constructor;
-    case XSLT_FUNC_FALLBACK:
-        /*  */
-        goto sequence_constructor;
-    case XSLT_FUNC_FOREACH:
-        /*  */
-        goto for_each;
-    case XSLT_FUNC_IF:
-        /*  */
-        goto sequence_constructor;
-    case XSLT_FUNC_OTHERWISE:
-        /*  */
-        goto sequence_constructor;
-    case XSLT_FUNC_MESSAGE:
-        /*  */
-        goto sequence_constructor;
-    case XSLT_FUNC_NUMBER:
-        /* EMPTY */
-        goto empty_content;
-    case XSLT_FUNC_PARAM:
-        /*
-        * Check for redefinition.
-        */
-        if ((elem->psvi != NULL) && (cctxt->ivar != NULL)) {
-        xsltVarInfoPtr ivar = cctxt->ivar;
-
-        do {
-            if ((ivar->name ==
-             ((xsltStyleItemParamPtr) elem->psvi)->name) &&
-            (ivar->nsName ==
-             ((xsltStyleItemParamPtr) elem->psvi)->ns))
-            {
-            elem->psvi = NULL;
-            xsltTransformError(NULL, cctxt->style, elem,
-                "Redefinition of variable or parameter '%s'.\n",
-                ivar->name);
-            cctxt->style->errors++;
-            goto error;
-            }
-            ivar = ivar->prev;
-        } while (ivar != NULL);
-        }
-        /*   */
-        goto sequence_constructor;
-    case XSLT_FUNC_PI:
-        /*   */
-        goto sequence_constructor;
-    case XSLT_FUNC_SORT:
-        /* EMPTY */
-        goto empty_content;
-    case XSLT_FUNC_TEXT:
-        /*  */
-        goto text;
-    case XSLT_FUNC_VALUEOF:
-        /* EMPTY */
-        goto empty_content;
-    case XSLT_FUNC_VARIABLE:
-        /*
-        * Check for redefinition.
-        */
-        if ((elem->psvi != NULL) && (cctxt->ivar != NULL)) {
-        xsltVarInfoPtr ivar = cctxt->ivar;
-
-        do {
-            if ((ivar->name ==
-             ((xsltStyleItemVariablePtr) elem->psvi)->name) &&
-            (ivar->nsName ==
-             ((xsltStyleItemVariablePtr) elem->psvi)->ns))
-            {
-            elem->psvi = NULL;
-            xsltTransformError(NULL, cctxt->style, elem,
-                "Redefinition of variable or parameter '%s'.\n",
-                ivar->name);
-            cctxt->style->errors++;
-            goto error;
-            }
-            ivar = ivar->prev;
-        } while (ivar != NULL);
-        }
-        /*  */
-        goto sequence_constructor;
-    case XSLT_FUNC_WHEN:
-        /*  */
-        goto sequence_constructor;
-    case XSLT_FUNC_WITHPARAM:
-        /*  */
-        goto sequence_constructor;
-    default:
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-        "xsltParseXSLTNode: Unhandled XSLT element '%s'.\n",
-        elem->name);
-#endif
-        xsltTransformError(NULL, cctxt->style, elem,
-        "xsltParseXSLTNode: Internal error; "
-        "unhandled XSLT element '%s'.\n", elem->name);
-        cctxt->style->errors++;
-        goto internal_err;
-    }
-
-apply_templates:
-    /*  */
-    if (elem->children != NULL) {
-    xmlNodePtr child = elem->children;
-    do {
-        if (child->type == XML_ELEMENT_NODE) {
-        if (IS_XSLT_ELEM_FAST(child)) {
-            if (xmlStrEqual(child->name, BAD_CAST "with-param")) {
-            cctxt->inode->curChildType = XSLT_FUNC_WITHPARAM;
-            xsltParseAnyXSLTElem(cctxt, child);
-            } else if (xmlStrEqual(child->name, BAD_CAST "sort")) {
-            cctxt->inode->curChildType = XSLT_FUNC_SORT;
-            xsltParseAnyXSLTElem(cctxt, child);
-            } else
-            xsltParseContentError(cctxt->style, child);
-        } else
-            xsltParseContentError(cctxt->style, child);
-        }
-        child = child->next;
-    } while (child != NULL);
-    }
-    goto exit;
-
-call_template:
-    /*  */
-    if (elem->children != NULL) {
-    xmlNodePtr child = elem->children;
-    do {
-        if (child->type == XML_ELEMENT_NODE) {
-        if (IS_XSLT_ELEM_FAST(child)) {
-            xsltStyleType type;
-
-            type = xsltGetXSLTElementTypeByNode(cctxt, child);
-            if (type == XSLT_FUNC_WITHPARAM) {
-            cctxt->inode->curChildType = XSLT_FUNC_WITHPARAM;
-            xsltParseAnyXSLTElem(cctxt, child);
-            } else {
-            xsltParseContentError(cctxt->style, child);
-            }
-        } else
-            xsltParseContentError(cctxt->style, child);
-        }
-        child = child->next;
-    } while (child != NULL);
-    }
-    goto exit;
-
-text:
-    if (elem->children != NULL) {
-    xmlNodePtr child = elem->children;
-    do {
-        if ((child->type != XML_TEXT_NODE) &&
-        (child->type != XML_CDATA_SECTION_NODE))
-        {
-        xsltTransformError(NULL, cctxt->style, elem,
-            "The XSLT 'text' element must have only character "
-            "data as content.\n");
-        }
-        child = child->next;
-    } while (child != NULL);
-    }
-    goto exit;
-
-empty_content:
-    if (elem->children != NULL) {
-    xmlNodePtr child = elem->children;
-    /*
-    * Relaxed behaviour: we will allow whitespace-only text-nodes.
-    */
-    do {
-        if (((child->type != XML_TEXT_NODE) &&
-         (child->type != XML_CDATA_SECTION_NODE)) ||
-        (! IS_BLANK_NODE(child)))
-        {
-        xsltTransformError(NULL, cctxt->style, elem,
-            "This XSLT element must have no content.\n");
-        cctxt->style->errors++;
-        break;
-        }
-        child = child->next;
-    } while (child != NULL);
-    }
-    goto exit;
-
-choose:
-    /*  */
-    /*
-    * TODO: text-nodes in between are *not* allowed in XSLT 1.0.
-    *   The old behaviour did not check this.
-    * NOTE: In XSLT 2.0 they are stripped beforehand
-    *  if whitespace-only (regardless of xml:space).
-    */
-    if (elem->children != NULL) {
-    xmlNodePtr child = elem->children;
-    int nbWhen = 0, nbOtherwise = 0, err = 0;
-    do {
-        if (child->type == XML_ELEMENT_NODE) {
-        if (IS_XSLT_ELEM_FAST(child)) {
-            xsltStyleType type;
-
-            type = xsltGetXSLTElementTypeByNode(cctxt, child);
-            if (type == XSLT_FUNC_WHEN) {
-            nbWhen++;
-            if (nbOtherwise) {
-                xsltParseContentError(cctxt->style, child);
-                err = 1;
-                break;
-            }
-            cctxt->inode->curChildType = XSLT_FUNC_WHEN;
-            xsltParseAnyXSLTElem(cctxt, child);
-            } else if (type == XSLT_FUNC_OTHERWISE) {
-            if (! nbWhen) {
-                xsltParseContentError(cctxt->style, child);
-                err = 1;
-                break;
-            }
-            if (nbOtherwise) {
-                xsltTransformError(NULL, cctxt->style, elem,
-                "The XSLT 'choose' element must not contain "
-                "more than one XSLT 'otherwise' element.\n");
-                cctxt->style->errors++;
-                err = 1;
-                break;
-            }
-            nbOtherwise++;
-            cctxt->inode->curChildType = XSLT_FUNC_OTHERWISE;
-            xsltParseAnyXSLTElem(cctxt, child);
-            } else
-            xsltParseContentError(cctxt->style, child);
-        } else
-            xsltParseContentError(cctxt->style, child);
-        }
-        /*
-        else
-            xsltParseContentError(cctxt, child);
-        */
-        child = child->next;
-    } while (child != NULL);
-    if ((! err) && (! nbWhen)) {
-        xsltTransformError(NULL, cctxt->style, elem,
-        "The XSLT element 'choose' must contain at least one "
-        "XSLT element 'when'.\n");
-        cctxt->style->errors++;
-    }
-    }
-    goto exit;
-
-for_each:
-    /*  */
-    /*
-    * NOTE: Text-nodes before xsl:sort are *not* allowed in XSLT 1.0.
-    *   The old behaviour did not allow this, but it catched this
-    *   only at transformation-time.
-    *   In XSLT 2.0 they are stripped beforehand if whitespace-only
-    *   (regardless of xml:space).
-    */
-    if (elem->children != NULL) {
-    xmlNodePtr child = elem->children;
-    /*
-    * Parse xsl:sort first.
-    */
-    do {
-        if ((child->type == XML_ELEMENT_NODE) &&
-        IS_XSLT_ELEM_FAST(child))
-        {
-        if (xsltGetXSLTElementTypeByNode(cctxt, child) ==
-            XSLT_FUNC_SORT)
-        {
-            cctxt->inode->curChildType = XSLT_FUNC_SORT;
-            xsltParseAnyXSLTElem(cctxt, child);
-        } else
-            break;
-        } else
-        break;
-        child = child->next;
-    } while (child != NULL);
-    /*
-    * Parse the sequece constructor.
-    */
-    if (child != NULL)
-        xsltParseSequenceConstructor(cctxt, child);
-    }
-    goto exit;
-
-sequence_constructor:
-    /*
-    * Parse the sequence constructor.
-    */
-    if (elem->children != NULL)
-    xsltParseSequenceConstructor(cctxt, elem->children);
-
-    /*
-    * Register information for vars/params. Only needed if there
-    * are any following siblings.
-    */
-    if ((elem->next != NULL) &&
-    ((cctxt->inode->type == XSLT_FUNC_VARIABLE) ||
-     (cctxt->inode->type == XSLT_FUNC_PARAM)))
-    {
-    if ((elem->psvi != NULL) &&
-        (((xsltStyleBasicItemVariablePtr) elem->psvi)->name))
-    {
-        xsltCompilerVarInfoPush(cctxt, elem,
-        ((xsltStyleBasicItemVariablePtr) elem->psvi)->name,
-        ((xsltStyleBasicItemVariablePtr) elem->psvi)->ns);
-    }
-    }
-
-error:
-exit:
-    xsltCompilerNodePop(cctxt, elem);
-    return(0);
-
-internal_err:
-    xsltCompilerNodePop(cctxt, elem);
-    return(-1);
-}
-
-/**
- * xsltForwardsCompatUnkownItemCreate:
- *
- * @cctxt: the compilation context
- *
- * Creates a compiled representation of the unknown
- * XSLT instruction.
- *
- * Returns the compiled representation.
- */
-static xsltStyleItemUknownPtr
-xsltForwardsCompatUnkownItemCreate(xsltCompilerCtxtPtr cctxt)
-{
-    xsltStyleItemUknownPtr item;
-
-    item = (xsltStyleItemUknownPtr) xmlMalloc(sizeof(xsltStyleItemUknown));
-    if (item == NULL) {
-    xsltTransformError(NULL, cctxt->style, NULL,
-        "Internal error in xsltForwardsCompatUnkownItemCreate(): "
-        "Failed to allocate memory.\n");
-    cctxt->style->errors++;
-    return(NULL);
-    }
-    memset(item, 0, sizeof(xsltStyleItemUknown));
-    item->type = XSLT_FUNC_UNKOWN_FORWARDS_COMPAT;
-    /*
-    * Store it in the stylesheet.
-    */
-    item->next = cctxt->style->preComps;
-    cctxt->style->preComps = (xsltElemPreCompPtr) item;
-    return(item);
-}
-
-/**
- * xsltParseUnknownXSLTElem:
- *
- * @cctxt: the compilation context
- * @node: the element of the unknown XSLT instruction
- *
- * Parses an unknown XSLT element.
- * If forwards compatible mode is enabled this will allow
- * such an unknown XSLT and; otherwise it is rejected.
- *
- * Returns 1 in the unknown XSLT instruction is rejected,
- *         0 if everything's fine and
- *         -1 on API or internal errors.
- */
-static int
-xsltParseUnknownXSLTElem(xsltCompilerCtxtPtr cctxt,
-                xmlNodePtr node)
-{
-    if ((cctxt == NULL) || (node == NULL) || (node->type != XML_ELEMENT_NODE))
-    return(-1);
-
-    /*
-    * Detection of handled content of extension instructions.
-    */
-    if (cctxt->inode->category == XSLT_ELEMENT_CATEGORY_EXTENSION) {
-    cctxt->inode->extContentHandled = 1;
-    }
-    if (cctxt->inode->forwardsCompat == 0) {
-    /*
-    * We are not in forwards-compatible mode, so raise an error.
-    */
-    xsltTransformError(NULL, cctxt->style, node,
-        "Unknown XSLT element '%s'.\n", node->name);
-    cctxt->style->errors++;
-    return(1);
-    }
-    /*
-    * Forwards-compatible mode.
-    * ------------------------
-    *
-    * Parse/compile xsl:fallback elements.
-    *
-    * QUESTION: Do we have to raise an error if there's no xsl:fallback?
-    * ANSWER: No, since in the stylesheet the fallback behaviour might
-    *  also be provided by using the XSLT function "element-available".
-    */
-    if (cctxt->unknownItem == NULL) {
-    /*
-    * Create a singleton for all unknown XSLT instructions.
-    */
-    cctxt->unknownItem = xsltForwardsCompatUnkownItemCreate(cctxt);
-    if (cctxt->unknownItem == NULL) {
-        node->psvi = NULL;
-        return(-1);
-    }
-    }
-    node->psvi = cctxt->unknownItem;
-    if (node->children == NULL)
-    return(0);
-    else {
-    xmlNodePtr child = node->children;
-
-    xsltCompilerNodePush(cctxt, node);
-    /*
-    * Update the in-scope namespaces if needed.
-    */
-    if (node->nsDef != NULL)
-        cctxt->inode->inScopeNs =
-        xsltCompilerBuildInScopeNsList(cctxt, node);
-    /*
-    * Parse all xsl:fallback children.
-    */
-    do {
-        if ((child->type == XML_ELEMENT_NODE) &&
-        IS_XSLT_ELEM_FAST(child) &&
-        IS_XSLT_NAME(child, "fallback"))
-        {
-        cctxt->inode->curChildType = XSLT_FUNC_FALLBACK;
-        xsltParseAnyXSLTElem(cctxt, child);
-        }
-        child = child->next;
-    } while (child != NULL);
-
-    xsltCompilerNodePop(cctxt, node);
-    }
-    return(0);
-}
-
-/**
- * xsltParseSequenceConstructor:
- *
- * @cctxt: the compilation context
- * @cur: the start-node of the content to be parsed
- *
- * Parses a "template" content (or "sequence constructor" in XSLT 2.0 terms).
- * This will additionally remove xsl:text elements from the tree.
- */
-void
-xsltParseSequenceConstructor(xsltCompilerCtxtPtr cctxt, xmlNodePtr cur)
-{
-    xsltStyleType type;
-    xmlNodePtr deleteNode = NULL;
-
-    if (cctxt == NULL) {
-    xmlGenericError(xmlGenericErrorContext,
-        "xsltParseSequenceConstructor: Bad arguments\n");
-    cctxt->style->errors++;
-    return;
-    }
-    /*
-    * Detection of handled content of extension instructions.
-    */
-    if (cctxt->inode->category == XSLT_ELEMENT_CATEGORY_EXTENSION) {
-    cctxt->inode->extContentHandled = 1;
-    }
-    if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL))
-    return;
-    /*
-    * This is the content reffered to as a "template".
-    * E.g. an xsl:element has such content model:
-    * 
-    * 
-    *
-    * NOTE that in XSLT-2 the term "template" was abandoned due to
-    *  confusion with xsl:template and the term "sequence constructor"
-    *  was introduced instead.
-    *
-    * The following XSLT-instructions are allowed to appear:
-    *  xsl:apply-templates, xsl:call-template, xsl:apply-imports,
-    *  xsl:for-each, xsl:value-of, xsl:copy-of, xsl:number,
-    *  xsl:choose, xsl:if, xsl:text, xsl:copy, xsl:variable,
-    *  xsl:message, xsl:fallback,
-    *  xsl:processing-instruction, xsl:comment, xsl:element
-    *  xsl:attribute.
-    * Additional allowed content:
-    * 1) extension instructions
-    * 2) literal result elements
-    * 3) PCDATA
-    *
-    * NOTE that this content model does *not* allow xsl:param.
-    */
-    while (cur != NULL) {
-    if (deleteNode != NULL) {
-#ifdef WITH_XSLT_DEBUG_BLANKS
-        xsltGenericDebug(xsltGenericDebugContext,
-         "xsltParseSequenceConstructor: removing xsl:text element\n");
-#endif
-        xmlUnlinkNode(deleteNode);
-        xmlFreeNode(deleteNode);
-        deleteNode = NULL;
-    }
-    if (cur->type == XML_ELEMENT_NODE) {
-
-        if (cur->psvi == xsltXSLTTextMarker) {
-        /*
-        * xsl:text elements
-        * --------------------------------------------------------
-        */
-        xmlNodePtr tmp;
-
-        cur->psvi = NULL;
-        /*
-        * Mark the xsl:text element for later deletion.
-        */
-        deleteNode = cur;
-        /*
-        * Validate content.
-        */
-        tmp = cur->children;
-        if (tmp) {
-            /*
-            * We don't expect more than one text-node in the
-            * content, since we already merged adjacent
-            * text/CDATA-nodes and eliminated PI/comment-nodes.
-            */
-            if ((tmp->type == XML_TEXT_NODE) ||
-            (tmp->next == NULL))
-            {
-            /*
-            * Leave the contained text-node in the tree.
-            */
-            xmlUnlinkNode(tmp);
-            xmlAddPrevSibling(cur, tmp);
-            } else {
-            tmp = NULL;
-            xsltTransformError(NULL, cctxt->style, cur,
-                "Element 'xsl:text': Invalid type "
-                "of node found in content.\n");
-            cctxt->style->errors++;
-            }
-        }
-        if (cur->properties) {
-            xmlAttrPtr attr;
-            /*
-            * TODO: We need to report errors for
-            *  invalid attrs.
-            */
-            attr = cur->properties;
-            do {
-            if ((attr->ns == NULL) &&
-                (attr->name != NULL) &&
-                (attr->name[0] == 'd') &&
-                xmlStrEqual(attr->name,
-                BAD_CAST "disable-output-escaping"))
-            {
-                /*
-                * Attr "disable-output-escaping".
-                * XSLT-2: This attribute is deprecated.
-                */
-                if ((attr->children != NULL) &&
-                xmlStrEqual(attr->children->content,
-                BAD_CAST "yes"))
-                {
-                /*
-                * Disable output escaping for this
-                * text node.
-                */
-                if (tmp)
-                    tmp->name = xmlStringTextNoenc;
-                } else if ((attr->children == NULL) ||
-                (attr->children->content == NULL) ||
-                (!xmlStrEqual(attr->children->content,
-                BAD_CAST "no")))
-                {
-                xsltTransformError(NULL, cctxt->style,
-                    cur,
-                    "Attribute 'disable-output-escaping': "
-                    "Invalid value. Expected is "
-                    "'yes' or 'no'.\n");
-                cctxt->style->errors++;
-                }
-                break;
-            }
-            attr = attr->next;
-            } while (attr != NULL);
-        }
-        } else if (IS_XSLT_ELEM_FAST(cur)) {
-        /*
-        * TODO: Using the XSLT-marker is still not stable yet.
-        */
-        /* if (cur->psvi == xsltXSLTElemMarker) { */
-        /*
-        * XSLT instructions
-        * --------------------------------------------------------
-        */
-        cur->psvi = NULL;
-        type = xsltGetXSLTElementTypeByNode(cctxt, cur);
-        switch (type) {
-            case XSLT_FUNC_APPLYIMPORTS:
-            case XSLT_FUNC_APPLYTEMPLATES:
-            case XSLT_FUNC_ATTRIBUTE:
-            case XSLT_FUNC_CALLTEMPLATE:
-            case XSLT_FUNC_CHOOSE:
-            case XSLT_FUNC_COMMENT:
-            case XSLT_FUNC_COPY:
-            case XSLT_FUNC_COPYOF:
-            case XSLT_FUNC_DOCUMENT: /* Extra one */
-            case XSLT_FUNC_ELEMENT:
-            case XSLT_FUNC_FALLBACK:
-            case XSLT_FUNC_FOREACH:
-            case XSLT_FUNC_IF:
-            case XSLT_FUNC_MESSAGE:
-            case XSLT_FUNC_NUMBER:
-            case XSLT_FUNC_PI:
-            case XSLT_FUNC_TEXT:
-            case XSLT_FUNC_VALUEOF:
-            case XSLT_FUNC_VARIABLE:
-            /*
-            * Parse the XSLT element.
-            */
-            cctxt->inode->curChildType = type;
-            xsltParseAnyXSLTElem(cctxt, cur);
-            break;
-            default:
-            xsltParseUnknownXSLTElem(cctxt, cur);
-            cur = cur->next;
-            continue;
-        }
-        } else {
-        /*
-        * Non-XSLT elements
-        * -----------------
-        */
-        xsltCompilerNodePush(cctxt, cur);
-        /*
-        * Update the in-scope namespaces if needed.
-        */
-        if (cur->nsDef != NULL)
-            cctxt->inode->inScopeNs =
-            xsltCompilerBuildInScopeNsList(cctxt, cur);
-        /*
-        * The current element is either a literal result element
-        * or an extension instruction.
-        *
-        * Process attr "xsl:extension-element-prefixes".
-        * FUTURE TODO: IIRC in XSLT 2.0 this attribute must be
-        * processed by the implementor of the extension function;
-        * i.e., it won't be handled by the XSLT processor.
-        */
-        /* SPEC 1.0:
-        *   "exclude-result-prefixes" is only allowed on literal
-        *   result elements and "xsl:exclude-result-prefixes"
-        *   on xsl:stylesheet/xsl:transform.
-        * SPEC 2.0:
-        *   "There are a number of standard attributes
-        *   that may appear on any XSLT element: specifically
-        *   version, exclude-result-prefixes,
-        *   extension-element-prefixes, xpath-default-namespace,
-        *   default-collation, and use-when."
-        *
-        * SPEC 2.0:
-        *   For literal result elements:
-        *   "xsl:version, xsl:exclude-result-prefixes,
-        *    xsl:extension-element-prefixes,
-        *    xsl:xpath-default-namespace,
-        *    xsl:default-collation, or xsl:use-when."
-        */
-        if (cur->properties)
-            cctxt->inode->extElemNs =
-            xsltParseExtElemPrefixes(cctxt,
-                cur, cctxt->inode->extElemNs,
-                XSLT_ELEMENT_CATEGORY_LRE);
-        /*
-        * Eval if we have an extension instruction here.
-        */
-        if ((cur->ns != NULL) &&
-            (cctxt->inode->extElemNs != NULL) &&
-            (xsltCheckExtPrefix(cctxt->style, cur->ns->href) == 1))
-        {
-            /*
-            * Extension instructions
-            * ----------------------------------------------------
-            * Mark the node information.
-            */
-            cctxt->inode->category = XSLT_ELEMENT_CATEGORY_EXTENSION;
-            cctxt->inode->extContentHandled = 0;
-            if (cur->psvi != NULL) {
-            cur->psvi = NULL;
-            /*
-            * TODO: Temporary sanity check.
-            */
-            xsltTransformError(NULL, cctxt->style, cur,
-                "Internal error in xsltParseSequenceConstructor(): "
-                "Occupied PSVI field.\n");
-            cctxt->style->errors++;
-            cur = cur->next;
-            continue;
-            }
-            cur->psvi = (void *)
-            xsltPreComputeExtModuleElement(cctxt->style, cur);
-
-            if (cur->psvi == NULL) {
-            /*
-            * OLD COMMENT: "Unknown element, maybe registered
-            *  at the context level. Mark it for later
-            *  recognition."
-            * QUESTION: What does the xsltExtMarker mean?
-            *  ANSWER: It is used in
-            *   xsltApplySequenceConstructor() at
-            *   transformation-time to look out for extension
-            *   registered in the transformation context.
-            */
-            cur->psvi = (void *) xsltExtMarker;
-            }
-            /*
-            * BIG NOTE: Now the ugly part. In previous versions
-            *  of Libxslt (until 1.1.16), all the content of an
-            *  extension instruction was processed and compiled without
-            *  the need of the extension-author to explicitely call
-            *  such a processing;.We now need to mimic this old
-            *  behaviour in order to avoid breaking old code
-            *  on the extension-author's side.
-            * The mechanism:
-            *  1) If the author does *not* set the
-            *    compile-time-flag @extContentHandled, then we'll
-            *    parse the content assuming that it's a "template"
-            *    (or "sequence constructor in XSLT 2.0 terms).
-            *    NOTE: If the extension is registered at
-            *    transformation-time only, then there's no way of
-            *    knowing that content shall be valid, and we'll
-            *    process the content the same way.
-            *  2) If the author *does* set the flag, then we'll assume
-            *   that the author has handled the parsing him/herself
-            *   (e.g. called xsltParseSequenceConstructor(), etc.
-            *   explicitely in his/her code).
-            */
-            if ((cur->children != NULL) &&
-            (cctxt->inode->extContentHandled == 0))
-            {
-            /*
-            * Default parsing of the content using the
-            * sequence-constructor model.
-            */
-            xsltParseSequenceConstructor(cctxt, cur->children);
-            }
-        } else {
-            /*
-            * Literal result element
-            * ----------------------------------------------------
-            * Allowed XSLT attributes:
-            *  xsl:extension-element-prefixes CDATA #IMPLIED
-            *  xsl:exclude-result-prefixes CDATA #IMPLIED
-            *  TODO: xsl:use-attribute-sets %qnames; #IMPLIED
-            *  xsl:version NMTOKEN #IMPLIED
-            */
-            cur->psvi = NULL;
-            cctxt->inode->category = XSLT_ELEMENT_CATEGORY_LRE;
-            if (cur->properties != NULL) {
-            xmlAttrPtr attr = cur->properties;
-            /*
-            * Attribute "xsl:exclude-result-prefixes".
-            */
-            cctxt->inode->exclResultNs =
-                xsltParseExclResultPrefixes(cctxt, cur,
-                cctxt->inode->exclResultNs,
-                XSLT_ELEMENT_CATEGORY_LRE);
-            /*
-            * Attribute "xsl:version".
-            */
-            xsltParseAttrXSLTVersion(cctxt, cur,
-                XSLT_ELEMENT_CATEGORY_LRE);
-            /*
-            * Report invalid XSLT attributes.
-            * For XSLT 1.0 only xsl:use-attribute-sets is allowed
-            * next to xsl:version, xsl:exclude-result-prefixes and
-            * xsl:extension-element-prefixes.
-            *
-            * Mark all XSLT attributes, in order to skip such
-            * attributes when instantiating the LRE.
-            */
-            do {
-                if ((attr->psvi != xsltXSLTAttrMarker) &&
-                IS_XSLT_ATTR_FAST(attr))
-                {
-                if (! xmlStrEqual(attr->name,
-                    BAD_CAST "use-attribute-sets"))
-                {
-                    xsltTransformError(NULL, cctxt->style,
-                    cur,
-                    "Unknown XSLT attribute '%s'.\n",
-                    attr->name);
-                    cctxt->style->errors++;
-                } else {
-                    /*
-                    * XSLT attr marker.
-                    */
-                    attr->psvi = (void *) xsltXSLTAttrMarker;
-                }
-                }
-                attr = attr->next;
-            } while (attr != NULL);
-            }
-            /*
-            * Create/reuse info for the literal result element.
-            */
-            if (cctxt->inode->nsChanged)
-            xsltLREInfoCreate(cctxt, cur, 1);
-            cur->psvi = cctxt->inode->litResElemInfo;
-            /*
-            * Apply ns-aliasing on the element and on its attributes.
-            */
-            if (cctxt->hasNsAliases)
-            xsltLREBuildEffectiveNs(cctxt, cur);
-            /*
-            * Compile attribute value templates (AVT).
-            */
-            if (cur->properties) {
-            xmlAttrPtr attr = cur->properties;
-
-            while (attr != NULL) {
-                xsltCompileAttr(cctxt->style, attr);
-                attr = attr->next;
-            }
-            }
-            /*
-            * Parse the content, which is defined to be a "template"
-            * (or "sequence constructor" in XSLT 2.0 terms).
-            */
-            if (cur->children != NULL) {
-            xsltParseSequenceConstructor(cctxt, cur->children);
-            }
-        }
-        /*
-        * Leave the non-XSLT element.
-        */
-        xsltCompilerNodePop(cctxt, cur);
-        }
-    }
-    cur = cur->next;
-    }
-    if (deleteNode != NULL) {
-#ifdef WITH_XSLT_DEBUG_BLANKS
-    xsltGenericDebug(xsltGenericDebugContext,
-        "xsltParseSequenceConstructor: removing xsl:text element\n");
-#endif
-    xmlUnlinkNode(deleteNode);
-    xmlFreeNode(deleteNode);
-    deleteNode = NULL;
-    }
-}
-
-/**
- * xsltParseTemplateContent:
- * @style:  the XSLT stylesheet
- * @templ:  the node containing the content to be parsed
- *
- * Parses and compiles the content-model of an xsl:template element.
- * Note that this is *not* the "template" content model (or "sequence
- *  constructor" in XSLT 2.0); it it allows addional xsl:param
- *  elements as immediate children of @templ.
- *
- * Called by:
- *   exsltFuncFunctionComp() (EXSLT, functions.c)
- *   So this is intended to be called from extension functions.
- */
-void
-xsltParseTemplateContent(xsltStylesheetPtr style, xmlNodePtr templ) {
-    if ((style == NULL) || (templ == NULL) ||
-        (templ->type == XML_NAMESPACE_DECL))
-    return;
-
-    /*
-    * Detection of handled content of extension instructions.
-    */
-    if (XSLT_CCTXT(style)->inode->category == XSLT_ELEMENT_CATEGORY_EXTENSION) {
-    XSLT_CCTXT(style)->inode->extContentHandled = 1;
-    }
-
-    if (templ->children != NULL) {
-    xmlNodePtr child = templ->children;
-    /*
-    * Process xsl:param elements, which can only occur as the
-    * immediate children of xsl:template (well, and of any
-    * user-defined extension instruction if needed).
-    */
-    do {
-        if ((child->type == XML_ELEMENT_NODE) &&
-        IS_XSLT_ELEM_FAST(child) &&
-        IS_XSLT_NAME(child, "param"))
-        {
-        XSLT_CCTXT(style)->inode->curChildType = XSLT_FUNC_PARAM;
-        xsltParseAnyXSLTElem(XSLT_CCTXT(style), child);
-        } else
-        break;
-        child = child->next;
-    } while (child != NULL);
-    /*
-    * Parse the content and register the pattern.
-    */
-    xsltParseSequenceConstructor(XSLT_CCTXT(style), child);
-    }
-}
-
-#else /* XSLT_REFACTORED */
-
-/**
- * xsltParseTemplateContent:
- * @style:  the XSLT stylesheet
- * @templ:  the container node (can be a document for literal results)
- *
- * parse a template content-model
- * Clean-up the template content from unwanted ignorable blank nodes
- * and process xslt:text
- */
-void
-xsltParseTemplateContent(xsltStylesheetPtr style, xmlNodePtr templ) {
-    xmlNodePtr cur, delete;
-
-    if ((style == NULL) || (templ == NULL) ||
-        (templ->type == XML_NAMESPACE_DECL)) return;
-
-    /*
-     * This content comes from the stylesheet
-     * For stylesheets, the set of whitespace-preserving
-     * element names consists of just xsl:text.
-     */
-    cur = templ->children;
-    delete = NULL;
-    while (cur != NULL) {
-    if (delete != NULL) {
-#ifdef WITH_XSLT_DEBUG_BLANKS
-        xsltGenericDebug(xsltGenericDebugContext,
-         "xsltParseTemplateContent: removing text\n");
-#endif
-        xmlUnlinkNode(delete);
-        xmlFreeNode(delete);
-        delete = NULL;
-    }
-    if (IS_XSLT_ELEM(cur)) {
-        if (IS_XSLT_NAME(cur, "text")) {
-        /*
-        * TODO: Processing of xsl:text should be moved to
-        *   xsltPrecomputeStylesheet(), since otherwise this
-        *   will be performed for every multiply included
-        *   stylesheet; i.e. this here is not skipped with
-        *   the use of the style->nopreproc flag.
-        */
-        if (cur->children != NULL) {
-            xmlChar *prop;
-            xmlNodePtr text = cur->children, next;
-            int noesc = 0;
-
-            prop = xmlGetNsProp(cur,
-            (const xmlChar *)"disable-output-escaping",
-            NULL);
-            if (prop != NULL) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-            xsltGenericDebug(xsltGenericDebugContext,
-                 "Disable escaping: %s\n", text->content);
-#endif
-            if (xmlStrEqual(prop, (const xmlChar *)"yes")) {
-                noesc = 1;
-            } else if (!xmlStrEqual(prop,
-                        (const xmlChar *)"no")){
-                xsltTransformError(NULL, style, cur,
-         "xsl:text: disable-output-escaping allows only yes or no\n");
-                style->warnings++;
-
-            }
-            xmlFree(prop);
-            }
-
-            while (text != NULL) {
-            if (text->type == XML_COMMENT_NODE) {
-                text = text->next;
-                continue;
-            }
-            if ((text->type != XML_TEXT_NODE) &&
-                 (text->type != XML_CDATA_SECTION_NODE)) {
-                xsltTransformError(NULL, style, cur,
-         "xsltParseTemplateContent: xslt:text content problem\n");
-                style->errors++;
-                break;
-            }
-            if ((noesc) && (text->type != XML_CDATA_SECTION_NODE))
-                text->name = xmlStringTextNoenc;
-            text = text->next;
-            }
-
-            /*
-             * replace xsl:text by the list of childs
-             */
-            if (text == NULL) {
-            text = cur->children;
-            while (text != NULL) {
-                if ((style->internalized) &&
-                    (text->content != NULL) &&
-                    (!xmlDictOwns(style->dict, text->content))) {
-
-                /*
-                 * internalize the text string
-                 */
-                if (text->doc->dict != NULL) {
-                    const xmlChar *tmp;
-
-                    tmp = xmlDictLookup(text->doc->dict,
-                                        text->content, -1);
-                    if (tmp != text->content) {
-                        xmlNodeSetContent(text, NULL);
-                    text->content = (xmlChar *) tmp;
-                    }
-                }
-                }
-
-                next = text->next;
-                xmlUnlinkNode(text);
-                xmlAddPrevSibling(cur, text);
-                text = next;
-            }
-            }
-        }
-        delete = cur;
-        goto skip_children;
-        }
-    }
-    else if ((cur->ns != NULL) && (style->nsDefs != NULL) &&
-        (xsltCheckExtPrefix(style, cur->ns->prefix)))
-    {
-        /*
-         * okay this is an extension element compile it too
-         */
-        xsltStylePreCompute(style, cur);
-    }
-    else if (cur->type == XML_ELEMENT_NODE)
-    {
-        /*
-         * This is an element which will be output as part of the
-         * template exectution, precompile AVT if found.
-         */
-        if ((cur->ns == NULL) && (style->defaultAlias != NULL)) {
-        cur->ns = xmlSearchNsByHref(cur->doc, cur,
-            style->defaultAlias);
-        }
-        if (cur->properties != NULL) {
-            xmlAttrPtr attr = cur->properties;
-
-        while (attr != NULL) {
-            xsltCompileAttr(style, attr);
-            attr = attr->next;
-        }
-        }
-    }
-    /*
-     * Skip to next node
-     */
-    if (cur->children != NULL) {
-        if (cur->children->type != XML_ENTITY_DECL) {
-        cur = cur->children;
-        continue;
-        }
-    }
-skip_children:
-    if (cur->next != NULL) {
-        cur = cur->next;
-        continue;
-    }
-
-    do {
-        cur = cur->parent;
-        if (cur == NULL)
-        break;
-        if (cur == templ) {
-        cur = NULL;
-        break;
-        }
-        if (cur->next != NULL) {
-        cur = cur->next;
-        break;
-        }
-    } while (cur != NULL);
-    }
-    if (delete != NULL) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-    xsltGenericDebug(xsltGenericDebugContext,
-     "xsltParseTemplateContent: removing text\n");
-#endif
-    xmlUnlinkNode(delete);
-    xmlFreeNode(delete);
-    delete = NULL;
-    }
-
-    /*
-     * Skip the first params
-     */
-    cur = templ->children;
-    while (cur != NULL) {
-    if ((IS_XSLT_ELEM(cur)) && (!(IS_XSLT_NAME(cur, "param"))))
-        break;
-    cur = cur->next;
-    }
-
-    /*
-     * Browse the remainder of the template
-     */
-    while (cur != NULL) {
-    if ((IS_XSLT_ELEM(cur)) && (IS_XSLT_NAME(cur, "param"))) {
-        xmlNodePtr param = cur;
-
-        xsltTransformError(NULL, style, cur,
-        "xsltParseTemplateContent: ignoring misplaced param element\n");
-        if (style != NULL) style->warnings++;
-            cur = cur->next;
-        xmlUnlinkNode(param);
-        xmlFreeNode(param);
-    } else
-        break;
-    }
-}
-
-#endif /* else XSLT_REFACTORED */
-
-/**
- * xsltParseStylesheetKey:
- * @style:  the XSLT stylesheet
- * @key:  the "key" element
- *
- * 
- * 
- *
- * parse an XSLT stylesheet key definition and register it
- */
-
-static void
-xsltParseStylesheetKey(xsltStylesheetPtr style, xmlNodePtr key) {
-    xmlChar *prop = NULL;
-    xmlChar *use = NULL;
-    xmlChar *match = NULL;
-    xmlChar *name = NULL;
-    xmlChar *nameURI = NULL;
-
-    if ((style == NULL) || (key == NULL) || (key->type != XML_ELEMENT_NODE))
-    return;
-
-    /*
-     * Get arguments
-     */
-    prop = xmlGetNsProp(key, (const xmlChar *)"name", NULL);
-    if (prop != NULL) {
-        const xmlChar *URI;
-
-    /*
-    * TODO: Don't use xsltGetQNameURI().
-    */
-    URI = xsltGetQNameURI(key, &prop);
-    if (prop == NULL) {
-        if (style != NULL) style->errors++;
-        goto error;
-    } else {
-        name = prop;
-        if (URI != NULL)
-        nameURI = xmlStrdup(URI);
-    }
-#ifdef WITH_XSLT_DEBUG_PARSING
-    xsltGenericDebug(xsltGenericDebugContext,
-         "xsltParseStylesheetKey: name %s\n", name);
-#endif
-    } else {
-    xsltTransformError(NULL, style, key,
-        "xsl:key : error missing name\n");
-    if (style != NULL) style->errors++;
-    goto error;
-    }
-
-    match = xmlGetNsProp(key, (const xmlChar *)"match", NULL);
-    if (match == NULL) {
-    xsltTransformError(NULL, style, key,
-        "xsl:key : error missing match\n");
-    if (style != NULL) style->errors++;
-    goto error;
-    }
-
-    use = xmlGetNsProp(key, (const xmlChar *)"use", NULL);
-    if (use == NULL) {
-    xsltTransformError(NULL, style, key,
-        "xsl:key : error missing use\n");
-    if (style != NULL) style->errors++;
-    goto error;
-    }
-
-    /*
-     * register the keys
-     */
-    xsltAddKey(style, name, nameURI, match, use, key);
-
-
-error:
-    if (use != NULL)
-    xmlFree(use);
-    if (match != NULL)
-    xmlFree(match);
-    if (name != NULL)
-    xmlFree(name);
-    if (nameURI != NULL)
-    xmlFree(nameURI);
-
-    if (key->children != NULL) {
-    xsltParseContentError(style, key->children);
-    }
-}
-
-#ifdef XSLT_REFACTORED
-/**
- * xsltParseXSLTTemplate:
- * @style:  the XSLT stylesheet
- * @template:  the "template" element
- *
- * parse an XSLT stylesheet template building the associated structures
- * TODO: Is @style ever expected to be NULL?
- *
- * Called from:
- *   xsltParseXSLTStylesheet()
- *   xsltParseStylesheetTop()
- */
-
-static void
-xsltParseXSLTTemplate(xsltCompilerCtxtPtr cctxt, xmlNodePtr templNode) {
-    xsltTemplatePtr templ;
-    xmlChar *prop;
-    double  priority;
-
-    if ((cctxt == NULL) || (templNode == NULL) ||
-        (templNode->type != XML_ELEMENT_NODE))
-    return;
-
-    /*
-     * Create and link the structure
-     */
-    templ = xsltNewTemplate();
-    if (templ == NULL)
-    return;
-
-    xsltCompilerNodePush(cctxt, templNode);
-    if (templNode->nsDef != NULL)
-    cctxt->inode->inScopeNs =
-        xsltCompilerBuildInScopeNsList(cctxt, templNode);
-
-    templ->next = cctxt->style->templates;
-    cctxt->style->templates = templ;
-    templ->style = cctxt->style;
-
-    /*
-    * Attribute "mode".
-    */
-    prop = xmlGetNsProp(templNode, (const xmlChar *)"mode", NULL);
-    if (prop != NULL) {
-        const xmlChar *modeURI;
-
-    /*
-    * TODO: We need a standardized function for extraction
-    *  of namespace names and local names from QNames.
-    *  Don't use xsltGetQNameURI() as it cannot channe�
-    *  reports through the context.
-    */
-    modeURI = xsltGetQNameURI(templNode, &prop);
-    if (prop == NULL) {
-        cctxt->style->errors++;
-        goto error;
-    }
-    templ->mode = xmlDictLookup(cctxt->style->dict, prop, -1);
-    xmlFree(prop);
-    prop = NULL;
-    if (xmlValidateNCName(templ->mode, 0)) {
-        xsltTransformError(NULL, cctxt->style, templNode,
-        "xsl:template: Attribute 'mode': The local part '%s' "
-        "of the value is not a valid NCName.\n", templ->name);
-        cctxt->style->errors++;
-        goto error;
-    }
-    if (modeURI != NULL)
-        templ->modeURI = xmlDictLookup(cctxt->style->dict, modeURI, -1);
-#ifdef WITH_XSLT_DEBUG_PARSING
-    xsltGenericDebug(xsltGenericDebugContext,
-         "xsltParseXSLTTemplate: mode %s\n", templ->mode);
-#endif
-    }
-    /*
-    * Attribute "match".
-    */
-    prop = xmlGetNsProp(templNode, (const xmlChar *)"match", NULL);
-    if (prop != NULL) {
-    templ->match  = prop;
-    prop = NULL;
-    }
-    /*
-    * Attribute "priority".
-    */
-    prop = xmlGetNsProp(templNode, (const xmlChar *)"priority", NULL);
-    if (prop != NULL) {
-    priority = xmlXPathStringEvalNumber(prop);
-    templ->priority = (float) priority;
-    xmlFree(prop);
-    prop = NULL;
-    }
-    /*
-    * Attribute "name".
-    */
-    prop = xmlGetNsProp(templNode, (const xmlChar *)"name", NULL);
-    if (prop != NULL) {
-        const xmlChar *nameURI;
-    xsltTemplatePtr curTempl;
-
-    /*
-    * TODO: Don't use xsltGetQNameURI().
-    */
-    nameURI = xsltGetQNameURI(templNode, &prop);
-    if (prop == NULL) {
-        cctxt->style->errors++;
-        goto error;
-    }
-    templ->name = xmlDictLookup(cctxt->style->dict, prop, -1);
-    xmlFree(prop);
-    prop = NULL;
-    if (xmlValidateNCName(templ->name, 0)) {
-        xsltTransformError(NULL, cctxt->style, templNode,
-        "xsl:template: Attribute 'name': The local part '%s' of "
-        "the value is not a valid NCName.\n", templ->name);
-        cctxt->style->errors++;
-        goto error;
-    }
-    if (nameURI != NULL)
-        templ->nameURI = xmlDictLookup(cctxt->style->dict, nameURI, -1);
-    curTempl = templ->next;
-    while (curTempl != NULL) {
-        if ((nameURI != NULL && xmlStrEqual(curTempl->name, templ->name) &&
-        xmlStrEqual(curTempl->nameURI, nameURI) ) ||
-        (nameURI == NULL && curTempl->nameURI == NULL &&
-        xmlStrEqual(curTempl->name, templ->name)))
-        {
-        xsltTransformError(NULL, cctxt->style, templNode,
-            "xsl:template: error duplicate name '%s'\n", templ->name);
-        cctxt->style->errors++;
-        goto error;
-        }
-        curTempl = curTempl->next;
-    }
-    }
-    if (templNode->children != NULL) {
-    xsltParseTemplateContent(cctxt->style, templNode);
-    /*
-    * MAYBE TODO: Custom behaviour: In order to stay compatible with
-    * Xalan and MSXML(.NET), we could allow whitespace
-    * to appear before an xml:param element; this whitespace
-    * will additionally become part of the "template".
-    * NOTE that this is totally deviates from the spec, but
-    * is the de facto behaviour of Xalan and MSXML(.NET).
-    * Personally I wouldn't allow this, since if we have:
-    * 
-    *   
-    *   
-    *   
-    * ... the whitespace between every xsl:param would be
-    * added to the result tree.
-    */
-    }
-
-    templ->elem = templNode;
-    templ->content = templNode->children;
-    xsltAddTemplate(cctxt->style, templ, templ->mode, templ->modeURI);
-
-error:
-    xsltCompilerNodePop(cctxt, templNode);
-    return;
-}
-
-#else /* XSLT_REFACTORED */
-
-/**
- * xsltParseStylesheetTemplate:
- * @style:  the XSLT stylesheet
- * @template:  the "template" element
- *
- * parse an XSLT stylesheet template building the associated structures
- */
-
-static void
-xsltParseStylesheetTemplate(xsltStylesheetPtr style, xmlNodePtr template) {
-    xsltTemplatePtr ret;
-    xmlChar *prop;
-    xmlChar *mode = NULL;
-    xmlChar *modeURI = NULL;
-    double  priority;
-
-    if ((style == NULL) || (template == NULL) ||
-        (template->type != XML_ELEMENT_NODE))
-    return;
-
-    /*
-     * Create and link the structure
-     */
-    ret = xsltNewTemplate();
-    if (ret == NULL)
-    return;
-    ret->next = style->templates;
-    style->templates = ret;
-    ret->style = style;
-
-    /*
-     * Get inherited namespaces
-     */
-    /*
-    * TODO: Apply the optimized in-scope-namespace mechanism
-    *   as for the other XSLT instructions.
-    */
-    xsltGetInheritedNsList(style, ret, template);
-
-    /*
-     * Get arguments
-     */
-    prop = xmlGetNsProp(template, (const xmlChar *)"mode", NULL);
-    if (prop != NULL) {
-        const xmlChar *URI;
-
-    /*
-    * TODO: Don't use xsltGetQNameURI().
-    */
-    URI = xsltGetQNameURI(template, &prop);
-    if (prop == NULL) {
-        if (style != NULL) style->errors++;
-        goto error;
-    } else {
-        mode = prop;
-        if (URI != NULL)
-        modeURI = xmlStrdup(URI);
-    }
-    ret->mode = xmlDictLookup(style->dict, mode, -1);
-    ret->modeURI = xmlDictLookup(style->dict, modeURI, -1);
-#ifdef WITH_XSLT_DEBUG_PARSING
-    xsltGenericDebug(xsltGenericDebugContext,
-         "xsltParseStylesheetTemplate: mode %s\n", mode);
-#endif
-        if (mode != NULL) xmlFree(mode);
-    if (modeURI != NULL) xmlFree(modeURI);
-    }
-    prop = xmlGetNsProp(template, (const xmlChar *)"match", NULL);
-    if (prop != NULL) {
-    if (ret->match != NULL) xmlFree(ret->match);
-    ret->match  = prop;
-    }
-
-    prop = xmlGetNsProp(template, (const xmlChar *)"priority", NULL);
-    if (prop != NULL) {
-    priority = xmlXPathStringEvalNumber(prop);
-    ret->priority = (float) priority;
-    xmlFree(prop);
-    }
-
-    prop = xmlGetNsProp(template, (const xmlChar *)"name", NULL);
-    if (prop != NULL) {
-        const xmlChar *URI;
-    xsltTemplatePtr cur;
-
-    /*
-    * TODO: Don't use xsltGetQNameURI().
-    */
-    URI = xsltGetQNameURI(template, &prop);
-    if (prop == NULL) {
-        if (style != NULL) style->errors++;
-        goto error;
-    } else {
-        if (xmlValidateNCName(prop,0)) {
-            xsltTransformError(NULL, style, template,
-                "xsl:template : error invalid name '%s'\n", prop);
-        if (style != NULL) style->errors++;
-        goto error;
-        }
-        ret->name = xmlDictLookup(style->dict, BAD_CAST prop, -1);
-        xmlFree(prop);
-        prop = NULL;
-        if (URI != NULL)
-        ret->nameURI = xmlDictLookup(style->dict, BAD_CAST URI, -1);
-        else
-        ret->nameURI = NULL;
-        cur = ret->next;
-        while (cur != NULL) {
-            if ((URI != NULL && xmlStrEqual(cur->name, ret->name) &&
-                xmlStrEqual(cur->nameURI, URI) ) ||
-            (URI == NULL && cur->nameURI == NULL &&
-                xmlStrEqual(cur->name, ret->name))) {
-            xsltTransformError(NULL, style, template,
-                "xsl:template: error duplicate name '%s'\n", ret->name);
-            style->errors++;
-            goto error;
-        }
-        cur = cur->next;
-        }
-    }
-    }
-
-    /*
-     * parse the content and register the pattern
-     */
-    xsltParseTemplateContent(style, template);
-    ret->elem = template;
-    ret->content = template->children;
-    xsltAddTemplate(style, ret, ret->mode, ret->modeURI);
-
-error:
-    return;
-}
-
-#endif /* else XSLT_REFACTORED */
-
-#ifdef XSLT_REFACTORED
-
-/**
- * xsltIncludeComp:
- * @cctxt: the compilation contenxt
- * @node:  the xsl:include node
- *
- * Process the xslt include node on the source node
- */
-static xsltStyleItemIncludePtr
-xsltCompileXSLTIncludeElem(xsltCompilerCtxtPtr cctxt, xmlNodePtr node) {
-    xsltStyleItemIncludePtr item;
-
-    if ((cctxt == NULL) || (node == NULL) || (node->type != XML_ELEMENT_NODE))
-    return(NULL);
-
-    node->psvi = NULL;
-    item = (xsltStyleItemIncludePtr) xmlMalloc(sizeof(xsltStyleItemInclude));
-    if (item == NULL) {
-    xsltTransformError(NULL, cctxt->style, node,
-        "xsltIncludeComp : malloc failed\n");
-    cctxt->style->errors++;
-    return(NULL);
-    }
-    memset(item, 0, sizeof(xsltStyleItemInclude));
-
-    node->psvi = item;
-    item->inst = node;
-    item->type = XSLT_FUNC_INCLUDE;
-
-    item->next = cctxt->style->preComps;
-    cctxt->style->preComps = (xsltElemPreCompPtr) item;
-
-    return(item);
-}
-
-/**
- * xsltParseFindTopLevelElem:
- */
-static int
-xsltParseFindTopLevelElem(xsltCompilerCtxtPtr cctxt,
-                  xmlNodePtr cur,
-                  const xmlChar *name,
-                  const xmlChar *namespaceURI,
-                  int breakOnOtherElem,
-                  xmlNodePtr *resultNode)
-{
-    if (name == NULL)
-    return(-1);
-
-    *resultNode = NULL;
-    while (cur != NULL) {
-    if (cur->type == XML_ELEMENT_NODE) {
-        if ((cur->ns != NULL) && (cur->name != NULL)) {
-        if ((*(cur->name) == *name) &&
-            xmlStrEqual(cur->name, name) &&
-            xmlStrEqual(cur->ns->href, namespaceURI))
-        {
-            *resultNode = cur;
-            return(1);
-        }
-        }
-        if (breakOnOtherElem)
-        break;
-    }
-    cur = cur->next;
-    }
-    *resultNode = cur;
-    return(0);
-}
-
-static int
-xsltParseTopLevelXSLTElem(xsltCompilerCtxtPtr cctxt,
-              xmlNodePtr node,
-              xsltStyleType type)
-{
-    int ret = 0;
-
-    /*
-    * TODO: The reason why this function exists:
-    *  due to historical reasons some of the
-    *  top-level declarations are processed by functions
-    *  in other files. Since we need still to set
-    *  up the node-info and generate information like
-    *  in-scope namespaces, this is a wrapper around
-    *  those old parsing functions.
-    */
-    xsltCompilerNodePush(cctxt, node);
-    if (node->nsDef != NULL)
-    cctxt->inode->inScopeNs =
-        xsltCompilerBuildInScopeNsList(cctxt, node);
-    cctxt->inode->type = type;
-
-    switch (type) {
-    case XSLT_FUNC_INCLUDE:
-        {
-        int oldIsInclude;
-
-        if (xsltCompileXSLTIncludeElem(cctxt, node) == NULL)
-            goto exit;
-        /*
-        * Mark this stylesheet tree as being currently included.
-        */
-        oldIsInclude = cctxt->isInclude;
-        cctxt->isInclude = 1;
-
-        if (xsltParseStylesheetInclude(cctxt->style, node) != 0) {
-            cctxt->style->errors++;
-        }
-        cctxt->isInclude = oldIsInclude;
-        }
-        break;
-    case XSLT_FUNC_PARAM:
-        xsltStylePreCompute(cctxt->style, node);
-        xsltParseGlobalParam(cctxt->style, node);
-        break;
-    case XSLT_FUNC_VARIABLE:
-        xsltStylePreCompute(cctxt->style, node);
-        xsltParseGlobalVariable(cctxt->style, node);
-        break;
-    case XSLT_FUNC_ATTRSET:
-        xsltParseStylesheetAttributeSet(cctxt->style, node);
-        break;
-    default:
-        xsltTransformError(NULL, cctxt->style, node,
-        "Internal error: (xsltParseTopLevelXSLTElem) "
-        "Cannot handle this top-level declaration.\n");
-        cctxt->style->errors++;
-        ret = -1;
-    }
-
-exit:
-    xsltCompilerNodePop(cctxt, node);
-
-    return(ret);
-}
-
-#if 0
-static int
-xsltParseRemoveWhitespace(xmlNodePtr node)
-{
-    if ((node == NULL) || (node->children == NULL))
-    return(0);
-    else {
-    xmlNodePtr delNode = NULL, child = node->children;
-
-    do {
-        if (delNode) {
-        xmlUnlinkNode(delNode);
-        xmlFreeNode(delNode);
-        delNode = NULL;
-        }
-        if (((child->type == XML_TEXT_NODE) ||
-         (child->type == XML_CDATA_SECTION_NODE)) &&
-        (IS_BLANK_NODE(child)))
-        delNode = child;
-        child = child->next;
-    } while (child != NULL);
-    if (delNode) {
-        xmlUnlinkNode(delNode);
-        xmlFreeNode(delNode);
-        delNode = NULL;
-    }
-    }
-    return(0);
-}
-#endif
-
-static int
-xsltParseXSLTStylesheetElemCore(xsltCompilerCtxtPtr cctxt, xmlNodePtr node)
-{
-#ifdef WITH_XSLT_DEBUG_PARSING
-    int templates = 0;
-#endif
-    xmlNodePtr cur, start = NULL;
-    xsltStylesheetPtr style;
-
-    if ((cctxt == NULL) || (node == NULL) ||
-    (node->type != XML_ELEMENT_NODE))
-    return(-1);
-
-    style = cctxt->style;
-    /*
-    * At this stage all import declarations of all stylesheet modules
-    * with the same stylesheet level have been processed.
-    * Now we can safely parse the rest of the declarations.
-    */
-    if (IS_XSLT_ELEM_FAST(node) && IS_XSLT_NAME(node, "include"))
-    {
-    xsltDocumentPtr include;
-    /*
-    * URGENT TODO: Make this work with simplified stylesheets!
-    *   I.e., when we won't find an xsl:stylesheet element.
-    */
-    /*
-    * This is as include declaration.
-    */
-    include = ((xsltStyleItemIncludePtr) node->psvi)->include;
-    if (include == NULL) {
-        /* TODO: raise error? */
-        return(-1);
-    }
-    /*
-    * TODO: Actually an xsl:include should locate an embedded
-    *  stylesheet as well; so the document-element won't always
-    *  be the element where the actual stylesheet is rooted at.
-    *  But such embedded stylesheets are not supported by Libxslt yet.
-    */
-    node = xmlDocGetRootElement(include->doc);
-    if (node == NULL) {
-        return(-1);
-    }
-    }
-
-    if (node->children == NULL)
-    return(0);
-    /*
-    * Push the xsl:stylesheet/xsl:transform element.
-    */
-    xsltCompilerNodePush(cctxt, node);
-    cctxt->inode->isRoot = 1;
-    cctxt->inode->nsChanged = 0;
-    /*
-    * Start with the naked dummy info for literal result elements.
-    */
-    cctxt->inode->litResElemInfo = cctxt->inodeList->litResElemInfo;
-
-    /*
-    * In every case, we need to have
-    * the in-scope namespaces of the element, where the
-    * stylesheet is rooted at, regardless if it's an XSLT
-    * instruction or a literal result instruction (or if
-    * this is an embedded stylesheet).
-    */
-    cctxt->inode->inScopeNs =
-    xsltCompilerBuildInScopeNsList(cctxt, node);
-
-    /*
-    * Process attributes of xsl:stylesheet/xsl:transform.
-    * --------------------------------------------------
-    * Allowed are:
-    *  id = id
-    *  extension-element-prefixes = tokens
-    *  exclude-result-prefixes = tokens
-    *  version = number (mandatory)
-    */
-    if (xsltParseAttrXSLTVersion(cctxt, node,
-    XSLT_ELEMENT_CATEGORY_XSLT) == 0)
-    {
-    /*
-    * Attribute "version".
-    * XSLT 1.0: "An xsl:stylesheet element *must* have a version
-    *  attribute, indicating the version of XSLT that the
-    *  stylesheet requires".
-    * The root element of a simplified stylesheet must also have
-    * this attribute.
-    */
-#ifdef XSLT_REFACTORED_MANDATORY_VERSION
-    if (isXsltElem)
-        xsltTransformError(NULL, cctxt->style, node,
-        "The attribute 'version' is missing.\n");
-    cctxt->style->errors++;
-#else
-    /* OLD behaviour. */
-    xsltTransformError(NULL, cctxt->style, node,
-        "xsl:version is missing: document may not be a stylesheet\n");
-    cctxt->style->warnings++;
-#endif
-    }
-    /*
-    * The namespaces declared by the attributes
-    *  "extension-element-prefixes" and
-    *  "exclude-result-prefixes" are local to *this*
-    *  stylesheet tree; i.e., they are *not* visible to
-    *  other stylesheet-modules, whether imported or included.
-    *
-    * Attribute "extension-element-prefixes".
-    */
-    cctxt->inode->extElemNs =
-    xsltParseExtElemPrefixes(cctxt, node, NULL,
-        XSLT_ELEMENT_CATEGORY_XSLT);
-    /*
-    * Attribute "exclude-result-prefixes".
-    */
-    cctxt->inode->exclResultNs =
-    xsltParseExclResultPrefixes(cctxt, node, NULL,
-        XSLT_ELEMENT_CATEGORY_XSLT);
-    /*
-    * Create/reuse info for the literal result element.
-    */
-    if (cctxt->inode->nsChanged)
-    xsltLREInfoCreate(cctxt, node, 0);
-    /*
-    * Processed top-level elements:
-    * ----------------------------
-    *  xsl:variable, xsl:param (QName, in-scope ns,
-    *    expression (vars allowed))
-    *  xsl:attribute-set (QName, in-scope ns)
-    *  xsl:strip-space, xsl:preserve-space (XPath NameTests,
-    *    in-scope ns)
-    *    I *think* global scope, merge with includes
-    *  xsl:output (QName, in-scope ns)
-    *  xsl:key (QName, in-scope ns, pattern,
-    *    expression (vars *not* allowed))
-    *  xsl:decimal-format (QName, needs in-scope ns)
-    *  xsl:namespace-alias (in-scope ns)
-    *    global scope, merge with includes
-    *  xsl:template (last, QName, pattern)
-    *
-    * (whitespace-only text-nodes have *not* been removed
-    *  yet; this will be done in xsltParseSequenceConstructor)
-    *
-    * Report misplaced child-nodes first.
-    */
-    cur = node->children;
-    while (cur != NULL) {
-    if (cur->type == XML_TEXT_NODE) {
-        xsltTransformError(NULL, style, cur,
-        "Misplaced text node (content: '%s').\n",
-        (cur->content != NULL) ? cur->content : BAD_CAST "");
-        style->errors++;
-    } else if (cur->type != XML_ELEMENT_NODE) {
-        xsltTransformError(NULL, style, cur, "Misplaced node.\n");
-        style->errors++;
-    }
-    cur = cur->next;
-    }
-    /*
-    * Skip xsl:import elements; they have been processed
-    * already.
-    */
-    cur = node->children;
-    while ((cur != NULL) && xsltParseFindTopLevelElem(cctxt, cur,
-        BAD_CAST "import", XSLT_NAMESPACE, 1, &cur) == 1)
-    cur = cur->next;
-    if (cur == NULL)
-    goto exit;
-
-    start = cur;
-    /*
-    * Process all top-level xsl:param elements.
-    */
-    while ((cur != NULL) &&
-    xsltParseFindTopLevelElem(cctxt, cur,
-    BAD_CAST "param", XSLT_NAMESPACE, 0, &cur) == 1)
-    {
-    xsltParseTopLevelXSLTElem(cctxt, cur, XSLT_FUNC_PARAM);
-    cur = cur->next;
-    }
-    /*
-    * Process all top-level xsl:variable elements.
-    */
-    cur = start;
-    while ((cur != NULL) &&
-    xsltParseFindTopLevelElem(cctxt, cur,
-    BAD_CAST "variable", XSLT_NAMESPACE, 0, &cur) == 1)
-    {
-    xsltParseTopLevelXSLTElem(cctxt, cur, XSLT_FUNC_VARIABLE);
-    cur = cur->next;
-    }
-    /*
-    * Process all the rest of top-level elements.
-    */
-    cur = start;
-    while (cur != NULL) {
-    /*
-    * Process element nodes.
-    */
-    if (cur->type == XML_ELEMENT_NODE) {
-        if (cur->ns == NULL) {
-        xsltTransformError(NULL, style, cur,
-            "Unexpected top-level element in no namespace.\n");
-        style->errors++;
-        cur = cur->next;
-        continue;
-        }
-        /*
-        * Process all XSLT elements.
-        */
-        if (IS_XSLT_ELEM_FAST(cur)) {
-        /*
-        * xsl:import is only allowed at the beginning.
-        */
-        if (IS_XSLT_NAME(cur, "import")) {
-            xsltTransformError(NULL, style, cur,
-            "Misplaced xsl:import element.\n");
-            style->errors++;
-            cur = cur->next;
-            continue;
-        }
-        /*
-        * TODO: Change the return type of the parsing functions
-        *  to int.
-        */
-        if (IS_XSLT_NAME(cur, "template")) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-            templates++;
-#endif
-            /*
-            * TODO: Is the position of xsl:template in the
-            *  tree significant? If not it would be easier to
-            *  parse them at a later stage.
-            */
-            xsltParseXSLTTemplate(cctxt, cur);
-        } else if (IS_XSLT_NAME(cur, "variable")) {
-            /* NOP; done already */
-        } else if (IS_XSLT_NAME(cur, "param")) {
-            /* NOP; done already */
-        } else if (IS_XSLT_NAME(cur, "include")) {
-            if (cur->psvi != NULL)
-            xsltParseXSLTStylesheetElemCore(cctxt, cur);
-            else {
-            xsltTransformError(NULL, style, cur,
-                "Internal error: "
-                "(xsltParseXSLTStylesheetElemCore) "
-                "The xsl:include element was not compiled.\n");
-            style->errors++;
-            }
-        } else if (IS_XSLT_NAME(cur, "strip-space")) {
-            /* No node info needed. */
-            xsltParseStylesheetStripSpace(style, cur);
-        } else if (IS_XSLT_NAME(cur, "preserve-space")) {
-            /* No node info needed. */
-            xsltParseStylesheetPreserveSpace(style, cur);
-        } else if (IS_XSLT_NAME(cur, "output")) {
-            /* No node-info needed. */
-            xsltParseStylesheetOutput(style, cur);
-        } else if (IS_XSLT_NAME(cur, "key")) {
-            /* TODO: node-info needed for expressions ? */
-            xsltParseStylesheetKey(style, cur);
-        } else if (IS_XSLT_NAME(cur, "decimal-format")) {
-            /* No node-info needed. */
-            xsltParseStylesheetDecimalFormat(style, cur);
-        } else if (IS_XSLT_NAME(cur, "attribute-set")) {
-            xsltParseTopLevelXSLTElem(cctxt, cur,
-            XSLT_FUNC_ATTRSET);
-        } else if (IS_XSLT_NAME(cur, "namespace-alias")) {
-            /* NOP; done already */
-        } else {
-            if (cctxt->inode->forwardsCompat) {
-            /*
-            * Forwards-compatible mode:
-            *
-            * XSLT-1: "if it is a top-level element and
-            *  XSLT 1.0 does not allow such elements as top-level
-            *  elements, then the element must be ignored along
-            *  with its content;"
-            */
-            /*
-            * TODO: I don't think we should generate a warning.
-            */
-            xsltTransformError(NULL, style, cur,
-                "Forwards-compatible mode: Ignoring unknown XSLT "
-                "element '%s'.\n", cur->name);
-            style->warnings++;
-            } else {
-            xsltTransformError(NULL, style, cur,
-                "Unknown XSLT element '%s'.\n", cur->name);
-            style->errors++;
-            }
-        }
-        } else {
-        xsltTopLevelFunction function;
-
-        /*
-        * Process non-XSLT elements, which are in a
-        *  non-NULL namespace.
-        */
-        /*
-        * QUESTION: What does xsltExtModuleTopLevelLookup()
-        *  do exactly?
-        */
-        function = xsltExtModuleTopLevelLookup(cur->name,
-            cur->ns->href);
-        if (function != NULL)
-            function(style, cur);
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-            "xsltParseXSLTStylesheetElemCore : User-defined "
-            "data element '%s'.\n", cur->name);
-#endif
-        }
-    }
-    cur = cur->next;
-    }
-
-exit:
-
-#ifdef WITH_XSLT_DEBUG_PARSING
-    xsltGenericDebug(xsltGenericDebugContext,
-    "### END of parsing top-level elements of doc '%s'.\n",
-    node->doc->URL);
-    xsltGenericDebug(xsltGenericDebugContext,
-    "### Templates: %d\n", templates);
-#ifdef XSLT_REFACTORED
-    xsltGenericDebug(xsltGenericDebugContext,
-    "### Max inodes: %d\n", cctxt->maxNodeInfos);
-    xsltGenericDebug(xsltGenericDebugContext,
-    "### Max LREs  : %d\n", cctxt->maxLREs);
-#endif /* XSLT_REFACTORED */
-#endif /* WITH_XSLT_DEBUG_PARSING */
-
-    xsltCompilerNodePop(cctxt, node);
-    return(0);
-}
-
-/**
- * xsltParseXSLTStylesheet:
- * @cctxt: the compiler context
- * @node: the xsl:stylesheet/xsl:transform element-node
- *
- * Parses the xsl:stylesheet and xsl:transform element.
- *
- * 
- *  
- * 
- *
- * BIG TODO: The xsl:include stuff.
- *
- * Called by xsltParseStylesheetTree()
- *
- * Returns 0 on success, a positive result on errors and
- *         -1 on API or internal errors.
- */
-static int
-xsltParseXSLTStylesheetElem(xsltCompilerCtxtPtr cctxt, xmlNodePtr node)
-{
-    xmlNodePtr cur, start;
-
-    if ((cctxt == NULL) || (node == NULL) || (node->type != XML_ELEMENT_NODE))
-    return(-1);
-
-    if (node->children == NULL)
-    goto exit;
-
-    /*
-    * Process top-level elements:
-    *  xsl:import (must be first)
-    *  xsl:include (this is just a pre-processing)
-    */
-    cur = node->children;
-    /*
-    * Process xsl:import elements.
-    * XSLT 1.0: "The xsl:import element children must precede all
-    *  other element children of an xsl:stylesheet element,
-    *  including any xsl:include element children."
-    */
-    while ((cur != NULL) &&
-    xsltParseFindTopLevelElem(cctxt, cur,
-        BAD_CAST "import", XSLT_NAMESPACE, 1, &cur) == 1)
-    {
-    if (xsltParseStylesheetImport(cctxt->style, cur) != 0) {
-        cctxt->style->errors++;
-    }
-    cur = cur->next;
-    }
-    if (cur == NULL)
-    goto exit;
-    start = cur;
-    /*
-    * Pre-process all xsl:include elements.
-    */
-    cur = start;
-    while ((cur != NULL) &&
-    xsltParseFindTopLevelElem(cctxt, cur,
-        BAD_CAST "include", XSLT_NAMESPACE, 0, &cur) == 1)
-    {
-    xsltParseTopLevelXSLTElem(cctxt, cur, XSLT_FUNC_INCLUDE);
-    cur = cur->next;
-    }
-    /*
-    * Pre-process all xsl:namespace-alias elements.
-    * URGENT TODO: This won't work correctly: the order of included
-    *  aliases and aliases defined here is significant.
-    */
-    cur = start;
-    while ((cur != NULL) &&
-    xsltParseFindTopLevelElem(cctxt, cur,
-        BAD_CAST "namespace-alias", XSLT_NAMESPACE, 0, &cur) == 1)
-    {
-    xsltNamespaceAlias(cctxt->style, cur);
-    cur = cur->next;
-    }
-
-    if (cctxt->isInclude) {
-    /*
-    * If this stylesheet is intended for inclusion, then
-    * we will process only imports and includes.
-    */
-    goto exit;
-    }
-    /*
-    * Now parse the rest of the top-level elements.
-    */
-    xsltParseXSLTStylesheetElemCore(cctxt, node);
-exit:
-
-    return(0);
-}
-
-#else /* XSLT_REFACTORED */
-
-/**
- * xsltParseStylesheetTop:
- * @style:  the XSLT stylesheet
- * @top:  the top level "stylesheet" or "transform" element
- *
- * scan the top level elements of an XSL stylesheet
- */
-static void
-xsltParseStylesheetTop(xsltStylesheetPtr style, xmlNodePtr top) {
-    xmlNodePtr cur;
-    xmlChar *prop;
-#ifdef WITH_XSLT_DEBUG_PARSING
-    int templates = 0;
-#endif
-
-    if ((top == NULL) || (top->type != XML_ELEMENT_NODE))
-    return;
-
-    prop = xmlGetNsProp(top, (const xmlChar *)"version", NULL);
-    if (prop == NULL) {
-    xsltTransformError(NULL, style, top,
-        "xsl:version is missing: document may not be a stylesheet\n");
-    if (style != NULL) style->warnings++;
-    } else {
-    if ((!xmlStrEqual(prop, (const xmlChar *)"1.0")) &&
-            (!xmlStrEqual(prop, (const xmlChar *)"1.1"))) {
-        xsltTransformError(NULL, style, top,
-        "xsl:version: only 1.0 features are supported\n");
-        if (style != NULL) {
-                style->forwards_compatible = 1;
-                style->warnings++;
-            }
-    }
-    xmlFree(prop);
-    }
-
-    /*
-     * process xsl:import elements
-     */
-    cur = top->children;
-    while (cur != NULL) {
-        if (IS_BLANK_NODE(cur)) {
-            cur = cur->next;
-            continue;
-        }
-        if (IS_XSLT_ELEM(cur) && IS_XSLT_NAME(cur, "import")) {
-            if (xsltParseStylesheetImport(style, cur) != 0)
-                if (style != NULL) style->errors++;
-        } else
-            break;
-        cur = cur->next;
-    }
-
-    /*
-     * process other top-level elements
-     */
-    while (cur != NULL) {
-    if (IS_BLANK_NODE(cur)) {
-        cur = cur->next;
-        continue;
-    }
-    if (cur->type == XML_TEXT_NODE) {
-        if (cur->content != NULL) {
-        xsltTransformError(NULL, style, cur,
-            "misplaced text node: '%s'\n", cur->content);
-        }
-        if (style != NULL) style->errors++;
-            cur = cur->next;
-        continue;
-    }
-    if ((cur->type == XML_ELEMENT_NODE) && (cur->ns == NULL)) {
-        xsltGenericError(xsltGenericErrorContext,
-             "Found a top-level element %s with null namespace URI\n",
-             cur->name);
-        if (style != NULL) style->errors++;
-        cur = cur->next;
-        continue;
-    }
-    if ((cur->type == XML_ELEMENT_NODE) && (!(IS_XSLT_ELEM(cur)))) {
-        xsltTopLevelFunction function;
-
-        function = xsltExtModuleTopLevelLookup(cur->name,
-                           cur->ns->href);
-        if (function != NULL)
-        function(style, cur);
-
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-            "xsltParseStylesheetTop : found foreign element %s\n",
-            cur->name);
-#endif
-            cur = cur->next;
-        continue;
-    }
-    if (IS_XSLT_NAME(cur, "import")) {
-        xsltTransformError(NULL, style, cur,
-            "xsltParseStylesheetTop: ignoring misplaced import element\n");
-        if (style != NULL) style->errors++;
-    } else if (IS_XSLT_NAME(cur, "include")) {
-        if (xsltParseStylesheetInclude(style, cur) != 0)
-        if (style != NULL) style->errors++;
-    } else if (IS_XSLT_NAME(cur, "strip-space")) {
-        xsltParseStylesheetStripSpace(style, cur);
-    } else if (IS_XSLT_NAME(cur, "preserve-space")) {
-        xsltParseStylesheetPreserveSpace(style, cur);
-    } else if (IS_XSLT_NAME(cur, "output")) {
-        xsltParseStylesheetOutput(style, cur);
-    } else if (IS_XSLT_NAME(cur, "key")) {
-        xsltParseStylesheetKey(style, cur);
-    } else if (IS_XSLT_NAME(cur, "decimal-format")) {
-        xsltParseStylesheetDecimalFormat(style, cur);
-    } else if (IS_XSLT_NAME(cur, "attribute-set")) {
-        xsltParseStylesheetAttributeSet(style, cur);
-    } else if (IS_XSLT_NAME(cur, "variable")) {
-        xsltParseGlobalVariable(style, cur);
-    } else if (IS_XSLT_NAME(cur, "param")) {
-        xsltParseGlobalParam(style, cur);
-    } else if (IS_XSLT_NAME(cur, "template")) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-        templates++;
-#endif
-        xsltParseStylesheetTemplate(style, cur);
-    } else if (IS_XSLT_NAME(cur, "namespace-alias")) {
-        xsltNamespaceAlias(style, cur);
-    } else {
-            if ((style != NULL) && (style->forwards_compatible == 0)) {
-            xsltTransformError(NULL, style, cur,
-            "xsltParseStylesheetTop: unknown %s element\n",
-            cur->name);
-            if (style != NULL) style->errors++;
-        }
-        else {
-                /* do Forwards-Compatible Processing */
-            xsltTransformError(NULL, style, cur,
-            "xsltParseStylesheetTop: ignoring unknown %s element\n",
-            cur->name);
-            if (style != NULL) style->warnings++;
-            }
-    }
-    cur = cur->next;
-    }
-#ifdef WITH_XSLT_DEBUG_PARSING
-    xsltGenericDebug(xsltGenericDebugContext,
-            "parsed %d templates\n", templates);
-#endif
-}
-
-#endif /* else of XSLT_REFACTORED */
-
-#ifdef XSLT_REFACTORED
-/**
- * xsltParseSimplifiedStylesheetTree:
- *
- * @style: the stylesheet (TODO: Change this to the compiler context)
- * @doc: the document containing the stylesheet.
- * @node: the node where the stylesheet is rooted at
- *
- * Returns 0 in case of success, a positive result if an error occurred
- *         and -1 on API and internal errors.
- */
-static int
-xsltParseSimplifiedStylesheetTree(xsltCompilerCtxtPtr cctxt,
-                  xmlDocPtr doc,
-                  xmlNodePtr node)
-{
-    xsltTemplatePtr templ;
-
-    if ((cctxt == NULL) || (node == NULL))
-    return(-1);
-
-    if (xsltParseAttrXSLTVersion(cctxt, node, 0) == XSLT_ELEMENT_CATEGORY_LRE)
-    {
-    /*
-    * TODO: Adjust report, since this might be an
-    * embedded stylesheet.
-    */
-    xsltTransformError(NULL, cctxt->style, node,
-        "The attribute 'xsl:version' is missing; cannot identify "
-        "this document as an XSLT stylesheet document.\n");
-    cctxt->style->errors++;
-    return(1);
-    }
-
-#ifdef WITH_XSLT_DEBUG_PARSING
-    xsltGenericDebug(xsltGenericDebugContext,
-    "xsltParseSimplifiedStylesheetTree: document is stylesheet\n");
-#endif
-
-    /*
-    * Create and link the template
-    */
-    templ = xsltNewTemplate();
-    if (templ == NULL) {
-    return(-1);
-    }
-    templ->next = cctxt->style->templates;
-    cctxt->style->templates = templ;
-    templ->match = xmlStrdup(BAD_CAST "/");
-
-    /*
-    * Note that we push the document-node in this special case.
-    */
-    xsltCompilerNodePush(cctxt, (xmlNodePtr) doc);
-    /*
-    * In every case, we need to have
-    * the in-scope namespaces of the element, where the
-    * stylesheet is rooted at, regardless if it's an XSLT
-    * instruction or a literal result instruction (or if
-    * this is an embedded stylesheet).
-    */
-    cctxt->inode->inScopeNs =
-    xsltCompilerBuildInScopeNsList(cctxt, node);
-    /*
-    * Parse the content and register the match-pattern.
-    */
-    xsltParseSequenceConstructor(cctxt, node);
-    xsltCompilerNodePop(cctxt, (xmlNodePtr) doc);
-
-    templ->elem = (xmlNodePtr) doc;
-    templ->content = node;
-    xsltAddTemplate(cctxt->style, templ, NULL, NULL);
-    cctxt->style->literal_result = 1;
-    return(0);
-}
-
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-/**
- * xsltRestoreDocumentNamespaces:
- * @ns: map of namespaces
- * @doc: the document
- *
- * Restore the namespaces for the document
- *
- * Returns 0 in case of success, -1 in case of failure
- */
-int
-xsltRestoreDocumentNamespaces(xsltNsMapPtr ns, xmlDocPtr doc)
-{
-    if (doc == NULL)
-    return(-1);
-    /*
-    * Revert the changes we have applied to the namespace-URIs of
-    * ns-decls.
-    */
-    while (ns != NULL) {
-    if ((ns->doc == doc) && (ns->ns != NULL)) {
-        ns->ns->href = ns->origNsName;
-        ns->origNsName = NULL;
-        ns->ns = NULL;
-    }
-    ns = ns->next;
-    }
-    return(0);
-}
-#endif /* XSLT_REFACTORED_XSLT_NSCOMP */
-
-/**
- * xsltParseStylesheetProcess:
- * @style:  the XSLT stylesheet (the current stylesheet-level)
- * @doc:  and xmlDoc parsed XML
- *
- * Parses an XSLT stylesheet, adding the associated structures.
- * Called by:
- *  xsltParseStylesheetImportedDoc() (xslt.c)
- *  xsltParseStylesheetInclude() (imports.c)
- *
- * Returns the value of the @style parameter if everything
- * went right, NULL if something went amiss.
- */
-xsltStylesheetPtr
-xsltParseStylesheetProcess(xsltStylesheetPtr style, xmlDocPtr doc)
-{
-    xsltCompilerCtxtPtr cctxt;
-    xmlNodePtr cur;
-    int oldIsSimplifiedStylesheet;
-
-    xsltInitGlobals();
-
-    if ((style == NULL) || (doc == NULL))
-    return(NULL);
-
-    cctxt = XSLT_CCTXT(style);
-
-    cur = xmlDocGetRootElement(doc);
-    if (cur == NULL) {
-    xsltTransformError(NULL, style, (xmlNodePtr) doc,
-        "xsltParseStylesheetProcess : empty stylesheet\n");
-    return(NULL);
-    }
-    oldIsSimplifiedStylesheet = cctxt->simplified;
-
-    if ((IS_XSLT_ELEM(cur)) &&
-    ((IS_XSLT_NAME(cur, "stylesheet")) ||
-     (IS_XSLT_NAME(cur, "transform")))) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-    xsltGenericDebug(xsltGenericDebugContext,
-        "xsltParseStylesheetProcess : found stylesheet\n");
-#endif
-    cctxt->simplified = 0;
-    style->literal_result = 0;
-    } else {
-    cctxt->simplified = 1;
-    style->literal_result = 1;
-    }
-    /*
-    * Pre-process the stylesheet if not already done before.
-    *  This will remove PIs and comments, merge adjacent
-    *  text nodes, internalize strings, etc.
-    */
-    if (! style->nopreproc)
-    xsltParsePreprocessStylesheetTree(cctxt, cur);
-    /*
-    * Parse and compile the stylesheet.
-    */
-    if (style->literal_result == 0) {
-    if (xsltParseXSLTStylesheetElem(cctxt, cur) != 0)
-        return(NULL);
-    } else {
-    if (xsltParseSimplifiedStylesheetTree(cctxt, doc, cur) != 0)
-        return(NULL);
-    }
-
-    cctxt->simplified = oldIsSimplifiedStylesheet;
-
-    return(style);
-}
-
-#else /* XSLT_REFACTORED */
-
-/**
- * xsltParseStylesheetProcess:
- * @ret:  the XSLT stylesheet (the current stylesheet-level)
- * @doc:  and xmlDoc parsed XML
- *
- * Parses an XSLT stylesheet, adding the associated structures.
- * Called by:
- *  xsltParseStylesheetImportedDoc() (xslt.c)
- *  xsltParseStylesheetInclude() (imports.c)
- *
- * Returns the value of the @style parameter if everything
- * went right, NULL if something went amiss.
- */
-xsltStylesheetPtr
-xsltParseStylesheetProcess(xsltStylesheetPtr ret, xmlDocPtr doc) {
-    xmlNodePtr cur;
-
-    xsltInitGlobals();
-
-    if (doc == NULL)
-    return(NULL);
-    if (ret == NULL)
-    return(ret);
-
-    /*
-     * First steps, remove blank nodes,
-     * locate the xsl:stylesheet element and the
-     * namespace declaration.
-     */
-    cur = xmlDocGetRootElement(doc);
-    if (cur == NULL) {
-    xsltTransformError(NULL, ret, (xmlNodePtr) doc,
-        "xsltParseStylesheetProcess : empty stylesheet\n");
-    return(NULL);
-    }
-
-    if ((IS_XSLT_ELEM(cur)) &&
-    ((IS_XSLT_NAME(cur, "stylesheet")) ||
-     (IS_XSLT_NAME(cur, "transform")))) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-    xsltGenericDebug(xsltGenericDebugContext,
-        "xsltParseStylesheetProcess : found stylesheet\n");
-#endif
-    ret->literal_result = 0;
-    xsltParseStylesheetExcludePrefix(ret, cur, 1);
-    xsltParseStylesheetExtPrefix(ret, cur, 1);
-    } else {
-    xsltParseStylesheetExcludePrefix(ret, cur, 0);
-    xsltParseStylesheetExtPrefix(ret, cur, 0);
-    ret->literal_result = 1;
-    }
-    if (!ret->nopreproc) {
-    xsltPrecomputeStylesheet(ret, cur);
-    }
-    if (ret->literal_result == 0) {
-    xsltParseStylesheetTop(ret, cur);
-    } else {
-    xmlChar *prop;
-    xsltTemplatePtr template;
-
-    /*
-     * the document itself might be the template, check xsl:version
-     */
-    prop = xmlGetNsProp(cur, (const xmlChar *)"version", XSLT_NAMESPACE);
-    if (prop == NULL) {
-        xsltTransformError(NULL, ret, cur,
-        "xsltParseStylesheetProcess : document is not a stylesheet\n");
-        return(NULL);
-    }
-
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-        "xsltParseStylesheetProcess : document is stylesheet\n");
-#endif
-
-    if (!xmlStrEqual(prop, (const xmlChar *)"1.0")) {
-        xsltTransformError(NULL, ret, cur,
-        "xsl:version: only 1.0 features are supported\n");
-         /* TODO set up compatibility when not XSLT 1.0 */
-        ret->warnings++;
-    }
-    xmlFree(prop);
-
-    /*
-     * Create and link the template
-     */
-    template = xsltNewTemplate();
-    if (template == NULL) {
-        return(NULL);
-    }
-    template->next = ret->templates;
-    ret->templates = template;
-    template->match = xmlStrdup((const xmlChar *)"/");
-
-    /*
-     * parse the content and register the pattern
-     */
-    xsltParseTemplateContent(ret, (xmlNodePtr) doc);
-    template->elem = (xmlNodePtr) doc;
-    template->content = doc->children;
-    xsltAddTemplate(ret, template, NULL, NULL);
-    ret->literal_result = 1;
-    }
-
-    return(ret);
-}
-
-#endif /* else of XSLT_REFACTORED */
-
-/**
- * xsltParseStylesheetImportedDoc:
- * @doc:  an xmlDoc parsed XML
- * @parentStyle: pointer to the parent stylesheet (if it exists)
- *
- * parse an XSLT stylesheet building the associated structures
- * except the processing not needed for imported documents.
- *
- * Returns a new XSLT stylesheet structure.
- */
-
-xsltStylesheetPtr
-xsltParseStylesheetImportedDoc(xmlDocPtr doc,
-                   xsltStylesheetPtr parentStyle) {
-    xsltStylesheetPtr retStyle;
-
-    if (doc == NULL)
-    return(NULL);
-
-    retStyle = xsltNewStylesheet();
-    if (retStyle == NULL)
-    return(NULL);
-    /*
-    * Set the importing stylesheet module; also used to detect recursion.
-    */
-    retStyle->parent = parentStyle;
-    /*
-    * Adjust the string dict.
-    */
-    if (doc->dict != NULL) {
-        xmlDictFree(retStyle->dict);
-    retStyle->dict = doc->dict;
-#ifdef WITH_XSLT_DEBUG
-        xsltGenericDebug(xsltGenericDebugContext,
-        "reusing dictionary from %s for stylesheet\n",
-        doc->URL);
-#endif
-    xmlDictReference(retStyle->dict);
-    }
-
-    /*
-    * TODO: Eliminate xsltGatherNamespaces(); we must not restrict
-    *  the stylesheet to containt distinct namespace prefixes.
-    */
-    xsltGatherNamespaces(retStyle);
-
-#ifdef XSLT_REFACTORED
-    {
-    xsltCompilerCtxtPtr cctxt;
-    xsltStylesheetPtr oldCurSheet;
-
-    if (parentStyle == NULL) {
-        xsltPrincipalStylesheetDataPtr principalData;
-        /*
-        * Principal stylesheet
-        * --------------------
-        */
-        retStyle->principal = retStyle;
-        /*
-        * Create extra data for the principal stylesheet.
-        */
-        principalData = xsltNewPrincipalStylesheetData();
-        if (principalData == NULL) {
-        xsltFreeStylesheet(retStyle);
-        return(NULL);
-        }
-        retStyle->principalData = principalData;
-        /*
-        * Create the compilation context
-        * ------------------------------
-        * (only once; for the principal stylesheet).
-        * This is currently the only function where the
-        * compilation context is created.
-        */
-        cctxt = xsltCompilationCtxtCreate(retStyle);
-        if (cctxt == NULL) {
-        xsltFreeStylesheet(retStyle);
-        return(NULL);
-        }
-        retStyle->compCtxt = (void *) cctxt;
-        cctxt->style = retStyle;
-        cctxt->dict = retStyle->dict;
-        cctxt->psData = principalData;
-        /*
-        * Push initial dummy node info.
-        */
-        cctxt->depth = -1;
-        xsltCompilerNodePush(cctxt, (xmlNodePtr) doc);
-    } else {
-        /*
-        * Imported stylesheet.
-        */
-        retStyle->principal = parentStyle->principal;
-        cctxt = parentStyle->compCtxt;
-        retStyle->compCtxt = cctxt;
-    }
-    /*
-    * Save the old and set the current stylesheet structure in the
-    * compilation context.
-    */
-    oldCurSheet = cctxt->style;
-    cctxt->style = retStyle;
-
-    retStyle->doc = doc;
-    xsltParseStylesheetProcess(retStyle, doc);
-
-    cctxt->style = oldCurSheet;
-    if (parentStyle == NULL) {
-        /*
-        * Pop the initial dummy node info.
-        */
-        xsltCompilerNodePop(cctxt, (xmlNodePtr) doc);
-    } else {
-        /*
-        * Clear the compilation context of imported
-        * stylesheets.
-        * TODO: really?
-        */
-        /* retStyle->compCtxt = NULL; */
-    }
-    /*
-    * Free the stylesheet if there were errors.
-    */
-    if (retStyle != NULL) {
-        if (retStyle->errors != 0) {
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-        /*
-        * Restore all changes made to namespace URIs of ns-decls.
-        */
-        if (cctxt->psData->nsMap)
-            xsltRestoreDocumentNamespaces(cctxt->psData->nsMap, doc);
-#endif
-        /*
-        * Detach the doc from the stylesheet; otherwise the doc
-        * will be freed in xsltFreeStylesheet().
-        */
-        retStyle->doc = NULL;
-        /*
-        * Cleanup the doc if its the main stylesheet.
-        */
-        if (parentStyle == NULL) {
-            xsltCleanupStylesheetTree(doc, xmlDocGetRootElement(doc));
-            if (retStyle->compCtxt != NULL) {
-            xsltCompilationCtxtFree(retStyle->compCtxt);
-            retStyle->compCtxt = NULL;
-            }
-        }
-
-        xsltFreeStylesheet(retStyle);
-        retStyle = NULL;
-        }
-    }
-    }
-
-#else /* XSLT_REFACTORED */
-    /*
-    * Old behaviour.
-    */
-    retStyle->doc = doc;
-    if (xsltParseStylesheetProcess(retStyle, doc) == NULL) {
-        retStyle->doc = NULL;
-        xsltFreeStylesheet(retStyle);
-        retStyle = NULL;
-    }
-    if (retStyle != NULL) {
-    if (retStyle->errors != 0) {
-        retStyle->doc = NULL;
-        if (parentStyle == NULL)
-        xsltCleanupStylesheetTree(doc,
-            xmlDocGetRootElement(doc));
-        xsltFreeStylesheet(retStyle);
-        retStyle = NULL;
-    }
-    }
-#endif /* else of XSLT_REFACTORED */
-
-    return(retStyle);
-}
-
-/**
- * xsltParseStylesheetDoc:
- * @doc:  and xmlDoc parsed XML
- *
- * parse an XSLT stylesheet, building the associated structures.  doc
- * is kept as a reference within the returned stylesheet, so changes
- * to doc after the parsing will be reflected when the stylesheet
- * is applied, and the doc is automatically freed when the
- * stylesheet is closed.
- *
- * Returns a new XSLT stylesheet structure.
- */
-
-xsltStylesheetPtr
-xsltParseStylesheetDoc(xmlDocPtr doc) {
-    xsltStylesheetPtr ret;
-
-    xsltInitGlobals();
-
-    ret = xsltParseStylesheetImportedDoc(doc, NULL);
-    if (ret == NULL)
-    return(NULL);
-
-    xsltResolveStylesheetAttributeSet(ret);
-#ifdef XSLT_REFACTORED
-    /*
-    * Free the compilation context.
-    * TODO: Check if it's better to move this cleanup to
-    *   xsltParseStylesheetImportedDoc().
-    */
-    if (ret->compCtxt != NULL) {
-    xsltCompilationCtxtFree(XSLT_CCTXT(ret));
-    ret->compCtxt = NULL;
-    }
-#endif
-    return(ret);
-}
-
-/**
- * xsltParseStylesheetFile:
- * @filename:  the filename/URL to the stylesheet
- *
- * Load and parse an XSLT stylesheet
- *
- * Returns a new XSLT stylesheet structure.
- */
-
-xsltStylesheetPtr
-xsltParseStylesheetFile(const xmlChar* filename) {
-    xsltSecurityPrefsPtr sec;
-    xsltStylesheetPtr ret;
-    xmlDocPtr doc;
-
-    xsltInitGlobals();
-
-    if (filename == NULL)
-    return(NULL);
-
-#ifdef WITH_XSLT_DEBUG_PARSING
-    xsltGenericDebug(xsltGenericDebugContext,
-        "xsltParseStylesheetFile : parse %s\n", filename);
-#endif
-
-    /*
-     * Security framework check
-     */
-    sec = xsltGetDefaultSecurityPrefs();
-    if (sec != NULL) {
-    int res;
-
-    res = xsltCheckRead(sec, NULL, filename);
-    if (res == 0) {
-        xsltTransformError(NULL, NULL, NULL,
-         "xsltParseStylesheetFile: read rights for %s denied\n",
-                 filename);
-        return(NULL);
-    }
-    }
-
-    doc = xsltDocDefaultLoader(filename, NULL, XSLT_PARSE_OPTIONS,
-                               NULL, XSLT_LOAD_START);
-    if (doc == NULL) {
-    xsltTransformError(NULL, NULL, NULL,
-        "xsltParseStylesheetFile : cannot parse %s\n", filename);
-    return(NULL);
-    }
-    ret = xsltParseStylesheetDoc(doc);
-    if (ret == NULL) {
-    xmlFreeDoc(doc);
-    return(NULL);
-    }
-
-    return(ret);
-}
-
-/************************************************************************
- *                                  *
- *          Handling of Stylesheet PI           *
- *                                  *
- ************************************************************************/
-
-#define CUR (*cur)
-#define SKIP(val) cur += (val)
-#define NXT(val) cur[(val)]
-#define SKIP_BLANKS                     \
-    while (IS_BLANK(CUR)) NEXT
-#define NEXT ((*cur) ?  cur++ : cur)
-
-/**
- * xsltParseStylesheetPI:
- * @value: the value of the PI
- *
- * This function checks that the type is text/xml and extracts
- * the URI-Reference for the stylesheet
- *
- * Returns the URI-Reference for the stylesheet or NULL (it need to
- *         be freed by the caller)
- */
-static xmlChar *
-xsltParseStylesheetPI(const xmlChar *value) {
-    const xmlChar *cur;
-    const xmlChar *start;
-    xmlChar *val;
-    xmlChar tmp;
-    xmlChar *href = NULL;
-    int isXml = 0;
-
-    if (value == NULL)
-    return(NULL);
-
-    cur = value;
-    while (CUR != 0) {
-    SKIP_BLANKS;
-    if ((CUR == 't') && (NXT(1) == 'y') && (NXT(2) == 'p') &&
-        (NXT(3) == 'e')) {
-        SKIP(4);
-        SKIP_BLANKS;
-        if (CUR != '=')
-        continue;
-        NEXT;
-        if ((CUR != '\'') && (CUR != '"'))
-        continue;
-        tmp = CUR;
-        NEXT;
-        start = cur;
-        while ((CUR != 0) && (CUR != tmp))
-        NEXT;
-        if (CUR != tmp)
-        continue;
-        val = xmlStrndup(start, cur - start);
-        NEXT;
-        if (val == NULL)
-        return(NULL);
-        if ((xmlStrcasecmp(val, BAD_CAST "text/xml")) &&
-        (xmlStrcasecmp(val, BAD_CAST "text/xsl"))) {
-                xmlFree(val);
-        break;
-        }
-        isXml = 1;
-        xmlFree(val);
-    } else if ((CUR == 'h') && (NXT(1) == 'r') && (NXT(2) == 'e') &&
-        (NXT(3) == 'f')) {
-        SKIP(4);
-        SKIP_BLANKS;
-        if (CUR != '=')
-        continue;
-        NEXT;
-        if ((CUR != '\'') && (CUR != '"'))
-        continue;
-        tmp = CUR;
-        NEXT;
-        start = cur;
-        while ((CUR != 0) && (CUR != tmp))
-        NEXT;
-        if (CUR != tmp)
-        continue;
-        if (href == NULL)
-        href = xmlStrndup(start, cur - start);
-        NEXT;
-    } else {
-        while ((CUR != 0) && (!IS_BLANK(CUR)))
-        NEXT;
-    }
-
-    }
-
-    if (!isXml) {
-    if (href != NULL)
-        xmlFree(href);
-    href = NULL;
-    }
-    return(href);
-}
-
-/**
- * xsltLoadStylesheetPI:
- * @doc:  a document to process
- *
- * This function tries to locate the stylesheet PI in the given document
- * If found, and if contained within the document, it will extract
- * that subtree to build the stylesheet to process @doc (doc itself will
- * be modified). If found but referencing an external document it will
- * attempt to load it and generate a stylesheet from it. In both cases,
- * the resulting stylesheet and the document need to be freed once the
- * transformation is done.
- *
- * Returns a new XSLT stylesheet structure or NULL if not found.
- */
-xsltStylesheetPtr
-xsltLoadStylesheetPI(xmlDocPtr doc) {
-    xmlNodePtr child;
-    xsltStylesheetPtr ret = NULL;
-    xmlChar *href = NULL;
-    xmlURIPtr URI;
-
-    xsltInitGlobals();
-
-    if (doc == NULL)
-    return(NULL);
-
-    /*
-     * Find the text/xml stylesheet PI id any before the root
-     */
-    child = doc->children;
-    while ((child != NULL) && (child->type != XML_ELEMENT_NODE)) {
-    if ((child->type == XML_PI_NODE) &&
-        (xmlStrEqual(child->name, BAD_CAST "xml-stylesheet"))) {
-        href = xsltParseStylesheetPI(child->content);
-        if (href != NULL)
-        break;
-    }
-    child = child->next;
-    }
-
-    /*
-     * If found check the href to select processing
-     */
-    if (href != NULL) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-    xsltGenericDebug(xsltGenericDebugContext,
-        "xsltLoadStylesheetPI : found PI href=%s\n", href);
-#endif
-    URI = xmlParseURI((const char *) href);
-    if (URI == NULL) {
-        xsltTransformError(NULL, NULL, child,
-            "xml-stylesheet : href %s is not valid\n", href);
-        xmlFree(href);
-        return(NULL);
-    }
-    if ((URI->fragment != NULL) && (URI->scheme == NULL) &&
-            (URI->opaque == NULL) && (URI->authority == NULL) &&
-            (URI->server == NULL) && (URI->user == NULL) &&
-            (URI->path == NULL) && (URI->query == NULL)) {
-        xmlAttrPtr ID;
-
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-            "xsltLoadStylesheetPI : Reference to ID %s\n", href);
-#endif
-        if (URI->fragment[0] == '#')
-        ID = xmlGetID(doc, (const xmlChar *) &(URI->fragment[1]));
-        else
-        ID = xmlGetID(doc, (const xmlChar *) URI->fragment);
-        if (ID == NULL) {
-        xsltTransformError(NULL, NULL, child,
-            "xml-stylesheet : no ID %s found\n", URI->fragment);
-        } else {
-        xmlDocPtr fake;
-        xmlNodePtr subtree, newtree;
-        xmlNsPtr ns;
-
-#ifdef WITH_XSLT_DEBUG
-        xsltGenericDebug(xsltGenericDebugContext,
-            "creating new document from %s for embedded stylesheet\n",
-            doc->URL);
-#endif
-        /*
-         * move the subtree in a new document passed to
-         * the stylesheet analyzer
-         */
-        subtree = ID->parent;
-        fake = xmlNewDoc(NULL);
-        if (fake != NULL) {
-            /*
-            * Should the dictionary still be shared even though
-            * the nodes are being copied rather than moved?
-            */
-            fake->dict = doc->dict;
-            xmlDictReference(doc->dict);
-#ifdef WITH_XSLT_DEBUG
-            xsltGenericDebug(xsltGenericDebugContext,
-            "reusing dictionary from %s for embedded stylesheet\n",
-            doc->URL);
-#endif
-
-            newtree = xmlDocCopyNode(subtree, fake, 1);
-
-            fake->URL = xmlNodeGetBase(doc, subtree->parent);
-#ifdef WITH_XSLT_DEBUG
-            xsltGenericDebug(xsltGenericDebugContext,
-            "set base URI for embedded stylesheet as %s\n",
-            fake->URL);
-#endif
-
-            /*
-            * Add all namespaces in scope of embedded stylesheet to
-            * root element of newly created stylesheet document
-            */
-            while ((subtree = subtree->parent) != (xmlNodePtr)doc) {
-            for (ns = subtree->ns; ns; ns = ns->next) {
-                xmlNewNs(newtree,  ns->href, ns->prefix);
-            }
-            }
-
-            xmlAddChild((xmlNodePtr)fake, newtree);
-            ret = xsltParseStylesheetDoc(fake);
-            if (ret == NULL)
-            xmlFreeDoc(fake);
-        }
-        }
-    } else {
-        xmlChar *URL, *base;
-
-        /*
-         * Reference to an external stylesheet
-         */
-
-        base = xmlNodeGetBase(doc, (xmlNodePtr) doc);
-        URL = xmlBuildURI(href, base);
-        if (URL != NULL) {
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-            "xsltLoadStylesheetPI : fetching %s\n", URL);
-#endif
-        ret = xsltParseStylesheetFile(URL);
-        xmlFree(URL);
-        } else {
-#ifdef WITH_XSLT_DEBUG_PARSING
-        xsltGenericDebug(xsltGenericDebugContext,
-            "xsltLoadStylesheetPI : fetching %s\n", href);
-#endif
-        ret = xsltParseStylesheetFile(href);
-        }
-        if (base != NULL)
-        xmlFree(base);
-    }
-    xmlFreeURI(URI);
-    xmlFree(href);
-    }
-    return(ret);
-}
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xslt.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xslt.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xslt.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Summary: Interfaces, constants and types related to the XSLT engine
- * Description: Interfaces, constants and types related to the XSLT engine
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_H__
-#define __XML_XSLT_H__
-
-#include 
-#include "xsltexports.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * XSLT_DEFAULT_VERSION:
- *
- * The default version of XSLT supported.
- */
-#define XSLT_DEFAULT_VERSION     "1.0"
-
-/**
- * XSLT_DEFAULT_VENDOR:
- *
- * The XSLT "vendor" string for this processor.
- */
-#define XSLT_DEFAULT_VENDOR      "libxslt"
-
-/**
- * XSLT_DEFAULT_URL:
- *
- * The XSLT "vendor" URL for this processor.
- */
-#define XSLT_DEFAULT_URL         "http://xmlsoft.org/XSLT/"
-
-/**
- * XSLT_NAMESPACE:
- *
- * The XSLT specification namespace.
- */
-#define XSLT_NAMESPACE ((const xmlChar *)"http://www.w3.org/1999/XSL/Transform")
-
-/**
- * XSLT_PARSE_OPTIONS:
- *
- * The set of options to pass to an xmlReadxxx when loading files for
- * XSLT consumption.
- */
-#define XSLT_PARSE_OPTIONS \
- XML_PARSE_NOENT | XML_PARSE_DTDLOAD | XML_PARSE_DTDATTR | XML_PARSE_NOCDATA
-
-/**
- * xsltMaxDepth:
- *
- * This value is used to detect templates loops.
- */
-XSLTPUBVAR int xsltMaxDepth;
-
-/**
- *  * xsltMaxVars:
- *   *
- *    * This value is used to detect templates loops.
- *     */
-XSLTPUBVAR int xsltMaxVars;
-
-/**
- * xsltEngineVersion:
- *
- * The version string for libxslt.
- */
-XSLTPUBVAR const char *xsltEngineVersion;
-
-/**
- * xsltLibxsltVersion:
- *
- * The version of libxslt compiled.
- */
-XSLTPUBVAR const int xsltLibxsltVersion;
-
-/**
- * xsltLibxmlVersion:
- *
- * The version of libxml libxslt was compiled against.
- */
-XSLTPUBVAR const int xsltLibxmlVersion;
-
-/*
- * Global initialization function.
- */
-
-XSLTPUBFUN void XSLTCALL
-        xsltInit        (void);
-
-/*
- * Global cleanup function.
- */
-XSLTPUBFUN void XSLTCALL
-        xsltCleanupGlobals  (void);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltInternals.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltInternals.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltInternals.h
+++ /dev/null
@@ -1,1970 +0,0 @@
-/*
- * Summary: internal data structures, constants and functions
- * Description: Internal data structures, constants and functions used
- *              by the XSLT engine.
- *              They are not part of the API or ABI, i.e. they can change
- *              without prior notice, use carefully.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLT_INTERNALS_H__
-#define __XML_XSLT_INTERNALS_H__
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xsltexports.h"
-#include "xsltlocale.h"
-#include "numbersInternals.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* #define XSLT_DEBUG_PROFILE_CACHE */
-
-/**
- * XSLT_IS_TEXT_NODE:
- *
- * check if the argument is a text node
- */
-#define XSLT_IS_TEXT_NODE(n) ((n != NULL) && \
-    (((n)->type == XML_TEXT_NODE) || \
-     ((n)->type == XML_CDATA_SECTION_NODE)))
-
-
-/**
- * XSLT_MARK_RES_TREE_FRAG:
- *
- * internal macro to set up tree fragments
- */
-#define XSLT_MARK_RES_TREE_FRAG(n) \
-    (n)->name = (char *) xmlStrdup(BAD_CAST " fake node libxslt");
-
-/**
- * XSLT_IS_RES_TREE_FRAG:
- *
- * internal macro to test tree fragments
- */
-#define XSLT_IS_RES_TREE_FRAG(n) \
-    ((n != NULL) && ((n)->type == XML_DOCUMENT_NODE) && \
-     ((n)->name != NULL) && ((n)->name[0] == ' '))
-
-/**
- * XSLT_REFACTORED_KEYCOMP:
- *
- * Internal define to enable on-demand xsl:key computation.
- * That's the only mode now but the define is kept for compatibility
- */
-#define XSLT_REFACTORED_KEYCOMP
-
-/**
- * XSLT_FAST_IF:
- *
- * Internal define to enable usage of xmlXPathCompiledEvalToBoolean()
- * for XSLT "tests"; e.g. in 
- */
-#define XSLT_FAST_IF
-
-/**
- * XSLT_REFACTORED:
- *
- * Internal define to enable the refactored parts of Libxslt.
- */
-/* #define XSLT_REFACTORED */
-/* ==================================================================== */
-
-/**
- * XSLT_REFACTORED_VARS:
- *
- * Internal define to enable the refactored variable part of libxslt
- */
-#define XSLT_REFACTORED_VARS
-
-#ifdef XSLT_REFACTORED
-
-extern const xmlChar *xsltXSLTAttrMarker;
-
-
-/* TODO: REMOVE: #define XSLT_REFACTORED_EXCLRESNS */
-
-/* TODO: REMOVE: #define XSLT_REFACTORED_NSALIAS */
-
-/**
- * XSLT_REFACTORED_XSLT_NSCOMP
- *
- * Internal define to enable the pointer-comparison of
- * namespaces of XSLT elements.
- */
-/* #define XSLT_REFACTORED_XSLT_NSCOMP */
-
-/**
- * XSLT_REFACTORED_XPATHCOMP:
- *
- * Internal define to enable the optimization of the
- * compilation of XPath expressions.
- */
-#define XSLT_REFACTORED_XPATHCOMP
-
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-
-extern const xmlChar *xsltConstNamespaceNameXSLT;
-
-/**
- * IS_XSLT_ELEM_FAST:
- *
- * quick test to detect XSLT elements
- */
-#define IS_XSLT_ELEM_FAST(n) \
-    (((n) != NULL) && ((n)->ns != NULL) && \
-    ((n)->ns->href == xsltConstNamespaceNameXSLT))
-
-/**
- * IS_XSLT_ATTR_FAST:
- *
- * quick test to detect XSLT attributes
- */
-#define IS_XSLT_ATTR_FAST(a) \
-    (((a) != NULL) && ((a)->ns != NULL) && \
-    ((a)->ns->href == xsltConstNamespaceNameXSLT))
-
-/**
- * XSLT_HAS_INTERNAL_NSMAP:
- *
- * check for namespace mapping
- */
-#define XSLT_HAS_INTERNAL_NSMAP(s) \
-    (((s) != NULL) && ((s)->principal) && \
-     ((s)->principal->principalData) && \
-     ((s)->principal->principalData->nsMap))
-
-/**
- * XSLT_GET_INTERNAL_NSMAP:
- *
- * get pointer to namespace map
- */
-#define XSLT_GET_INTERNAL_NSMAP(s) ((s)->principal->principalData->nsMap)
-
-#else /* XSLT_REFACTORED_XSLT_NSCOMP */
-
-/**
- * IS_XSLT_ELEM_FAST:
- *
- * quick check whether this is an xslt element
- */
-#define IS_XSLT_ELEM_FAST(n) \
-    (((n) != NULL) && ((n)->ns != NULL) && \
-     (xmlStrEqual((n)->ns->href, XSLT_NAMESPACE)))
-
-/**
- * IS_XSLT_ATTR_FAST:
- *
- * quick check for xslt namespace attribute
- */
-#define IS_XSLT_ATTR_FAST(a) \
-    (((a) != NULL) && ((a)->ns != NULL) && \
-     (xmlStrEqual((a)->ns->href, XSLT_NAMESPACE)))
-
-
-#endif /* XSLT_REFACTORED_XSLT_NSCOMP */
-
-
-/**
- * XSLT_REFACTORED_MANDATORY_VERSION:
- *
- * TODO: Currently disabled to surpress regression test failures, since
- *  the old behaviour was that a missing version attribute
- *  produced a only a warning and not an error, which was incerrect.
- *  So the regression tests need to be fixed if this is enabled.
- */
-/* #define XSLT_REFACTORED_MANDATORY_VERSION */
-
-/**
- * xsltPointerList:
- *
- * Pointer-list for various purposes.
- */
-typedef struct _xsltPointerList xsltPointerList;
-typedef xsltPointerList *xsltPointerListPtr;
-struct _xsltPointerList {
-    void **items;
-    int number;
-    int size;
-};
-
-#endif
-
-/**
- * XSLT_REFACTORED_PARSING:
- *
- * Internal define to enable the refactored parts of Libxslt
- * related to parsing.
- */
-/* #define XSLT_REFACTORED_PARSING */
-
-/**
- * XSLT_MAX_SORT:
- *
- * Max number of specified xsl:sort on an element.
- */
-#define XSLT_MAX_SORT 15
-
-/**
- * XSLT_PAT_NO_PRIORITY:
- *
- * Specific value for pattern without priority expressed.
- */
-#define XSLT_PAT_NO_PRIORITY -12345789
-
-/**
- * xsltRuntimeExtra:
- *
- * Extra information added to the transformation context.
- */
-typedef struct _xsltRuntimeExtra xsltRuntimeExtra;
-typedef xsltRuntimeExtra *xsltRuntimeExtraPtr;
-struct _xsltRuntimeExtra {
-    void       *info;       /* pointer to the extra data */
-    xmlFreeFunc deallocate; /* pointer to the deallocation routine */
-    union {         /* dual-purpose field */
-        void   *ptr;        /* data not needing deallocation */
-    int    ival;        /* integer value storage */
-    } val;
-};
-
-/**
- * XSLT_RUNTIME_EXTRA_LST:
- * @ctxt: the transformation context
- * @nr: the index
- *
- * Macro used to access extra information stored in the context
- */
-#define XSLT_RUNTIME_EXTRA_LST(ctxt, nr) (ctxt)->extras[(nr)].info
-/**
- * XSLT_RUNTIME_EXTRA_FREE:
- * @ctxt: the transformation context
- * @nr: the index
- *
- * Macro used to free extra information stored in the context
- */
-#define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr) (ctxt)->extras[(nr)].deallocate
-/**
- * XSLT_RUNTIME_EXTRA:
- * @ctxt: the transformation context
- * @nr: the index
- *
- * Macro used to define extra information stored in the context
- */
-#define XSLT_RUNTIME_EXTRA(ctxt, nr, typ) (ctxt)->extras[(nr)].val.typ
-
-/**
- * xsltTemplate:
- *
- * The in-memory structure corresponding to an XSLT Template.
- */
-typedef struct _xsltTemplate xsltTemplate;
-typedef xsltTemplate *xsltTemplatePtr;
-struct _xsltTemplate {
-    struct _xsltTemplate *next;/* chained list sorted by priority */
-    struct _xsltStylesheet *style;/* the containing stylesheet */
-    xmlChar *match; /* the matching string */
-    float priority; /* as given from the stylesheet, not computed */
-    const xmlChar *name; /* the local part of the name QName */
-    const xmlChar *nameURI; /* the URI part of the name QName */
-    const xmlChar *mode;/* the local part of the mode QName */
-    const xmlChar *modeURI;/* the URI part of the mode QName */
-    xmlNodePtr content; /* the template replacement value */
-    xmlNodePtr elem;    /* the source element */
-
-    /*
-    * TODO: @inheritedNsNr and @inheritedNs won't be used in the
-    *  refactored code.
-    */
-    int inheritedNsNr;  /* number of inherited namespaces */
-    xmlNsPtr *inheritedNs;/* inherited non-excluded namespaces */
-
-    /* Profiling informations */
-    int nbCalls;        /* the number of time the template was called */
-    unsigned long time; /* the time spent in this template */
-    void *params;       /* xsl:param instructions */
-
-    int              templNr;       /* Nb of templates in the stack */
-    int              templMax;      /* Size of the templtes stack */
-    xsltTemplatePtr *templCalledTab;    /* templates called */
-    int             *templCountTab;  /* .. and how often */
-};
-
-/**
- * xsltDecimalFormat:
- *
- * Data structure of decimal-format.
- */
-typedef struct _xsltDecimalFormat xsltDecimalFormat;
-typedef xsltDecimalFormat *xsltDecimalFormatPtr;
-struct _xsltDecimalFormat {
-    struct _xsltDecimalFormat *next; /* chained list */
-    xmlChar *name;
-    /* Used for interpretation of pattern */
-    xmlChar *digit;
-    xmlChar *patternSeparator;
-    /* May appear in result */
-    xmlChar *minusSign;
-    xmlChar *infinity;
-    xmlChar *noNumber; /* Not-a-number */
-    /* Used for interpretation of pattern and may appear in result */
-    xmlChar *decimalPoint;
-    xmlChar *grouping;
-    xmlChar *percent;
-    xmlChar *permille;
-    xmlChar *zeroDigit;
-};
-
-/**
- * xsltDocument:
- *
- * Data structure associated to a parsed document.
- */
-typedef struct _xsltDocument xsltDocument;
-typedef xsltDocument *xsltDocumentPtr;
-struct _xsltDocument {
-    struct _xsltDocument *next; /* documents are kept in a chained list */
-    int main;           /* is this the main document */
-    xmlDocPtr doc;      /* the parsed document */
-    void *keys;         /* key tables storage */
-    struct _xsltDocument *includes; /* subsidiary includes */
-    int preproc;        /* pre-processing already done */
-    int nbKeysComputed;
-};
-
-/**
- * xsltKeyDef:
- *
- * Representation of an xsl:key.
- */
-typedef struct _xsltKeyDef xsltKeyDef;
-typedef xsltKeyDef *xsltKeyDefPtr;
-struct _xsltKeyDef {
-    struct _xsltKeyDef *next;
-    xmlNodePtr inst;
-    xmlChar *name;
-    xmlChar *nameURI;
-    xmlChar *match;
-    xmlChar *use;
-    xmlXPathCompExprPtr comp;
-    xmlXPathCompExprPtr usecomp;
-    xmlNsPtr *nsList;           /* the namespaces in scope */
-    int nsNr;                   /* the number of namespaces in scope */
-};
-
-/**
- * xsltKeyTable:
- *
- * Holds the computed keys for key definitions of the same QName.
- * Is owned by an xsltDocument.
- */
-typedef struct _xsltKeyTable xsltKeyTable;
-typedef xsltKeyTable *xsltKeyTablePtr;
-struct _xsltKeyTable {
-    struct _xsltKeyTable *next;
-    xmlChar *name;
-    xmlChar *nameURI;
-    xmlHashTablePtr keys;
-};
-
-/*
- * The in-memory structure corresponding to an XSLT Stylesheet.
- * NOTE: most of the content is simply linked from the doc tree
- *       structure, no specific allocation is made.
- */
-typedef struct _xsltStylesheet xsltStylesheet;
-typedef xsltStylesheet *xsltStylesheetPtr;
-
-typedef struct _xsltTransformContext xsltTransformContext;
-typedef xsltTransformContext *xsltTransformContextPtr;
-
-/**
- * xsltElemPreComp:
- *
- * The in-memory structure corresponding to element precomputed data,
- * designed to be extended by extension implementors.
- */
-typedef struct _xsltElemPreComp xsltElemPreComp;
-typedef xsltElemPreComp *xsltElemPreCompPtr;
-
-/**
- * xsltTransformFunction:
- * @ctxt: the XSLT transformation context
- * @node: the input node
- * @inst: the stylesheet node
- * @comp: the compiled information from the stylesheet
- *
- * Signature of the function associated to elements part of the
- * stylesheet language like xsl:if or xsl:apply-templates.
- */
-typedef void (*xsltTransformFunction) (xsltTransformContextPtr ctxt,
-                                   xmlNodePtr node,
-                       xmlNodePtr inst,
-                           xsltElemPreCompPtr comp);
-
-/**
- * xsltSortFunc:
- * @ctxt:    a transformation context
- * @sorts:   the node-set to sort
- * @nbsorts: the number of sorts
- *
- * Signature of the function to use during sorting
- */
-typedef void (*xsltSortFunc) (xsltTransformContextPtr ctxt, xmlNodePtr *sorts,
-                  int nbsorts);
-
-typedef enum {
-    XSLT_FUNC_COPY=1,
-    XSLT_FUNC_SORT,
-    XSLT_FUNC_TEXT,
-    XSLT_FUNC_ELEMENT,
-    XSLT_FUNC_ATTRIBUTE,
-    XSLT_FUNC_COMMENT,
-    XSLT_FUNC_PI,
-    XSLT_FUNC_COPYOF,
-    XSLT_FUNC_VALUEOF,
-    XSLT_FUNC_NUMBER,
-    XSLT_FUNC_APPLYIMPORTS,
-    XSLT_FUNC_CALLTEMPLATE,
-    XSLT_FUNC_APPLYTEMPLATES,
-    XSLT_FUNC_CHOOSE,
-    XSLT_FUNC_IF,
-    XSLT_FUNC_FOREACH,
-    XSLT_FUNC_DOCUMENT,
-    XSLT_FUNC_WITHPARAM,
-    XSLT_FUNC_PARAM,
-    XSLT_FUNC_VARIABLE,
-    XSLT_FUNC_WHEN,
-    XSLT_FUNC_EXTENSION
-#ifdef XSLT_REFACTORED
-    ,
-    XSLT_FUNC_OTHERWISE,
-    XSLT_FUNC_FALLBACK,
-    XSLT_FUNC_MESSAGE,
-    XSLT_FUNC_INCLUDE,
-    XSLT_FUNC_ATTRSET,
-    XSLT_FUNC_LITERAL_RESULT_ELEMENT,
-    XSLT_FUNC_UNKOWN_FORWARDS_COMPAT
-#endif
-} xsltStyleType;
-
-/**
- * xsltElemPreCompDeallocator:
- * @comp:  the #xsltElemPreComp to free up
- *
- * Deallocates an #xsltElemPreComp structure.
- */
-typedef void (*xsltElemPreCompDeallocator) (xsltElemPreCompPtr comp);
-
-/**
- * xsltElemPreComp:
- *
- * The basic structure for compiled items of the AST of the XSLT processor.
- * This structure is also intended to be extended by extension implementors.
- * TODO: This is somehow not nice, since it has a "free" field, which
- *   derived stylesheet-structs do not have.
- */
-struct _xsltElemPreComp {
-    xsltElemPreCompPtr next;        /* next item in the global chained
-                       list hold by xsltStylesheet. */
-    xsltStyleType type;     /* type of the element */
-    xsltTransformFunction func; /* handling function */
-    xmlNodePtr inst;            /* the node in the stylesheet's tree
-                       corresponding to this item */
-
-    /* end of common part */
-    xsltElemPreCompDeallocator free;    /* the deallocator */
-};
-
-/**
- * xsltStylePreComp:
- *
- * The abstract basic structure for items of the XSLT processor.
- * This includes:
- * 1) compiled forms of XSLT instructions (xsl:if, xsl:attribute, etc.)
- * 2) compiled forms of literal result elements
- * 3) compiled forms of extension elements
- */
-typedef struct _xsltStylePreComp xsltStylePreComp;
-typedef xsltStylePreComp *xsltStylePreCompPtr;
-
-#ifdef XSLT_REFACTORED
-
-/*
-* Some pointer-list utility functions.
-*/
-XSLTPUBFUN xsltPointerListPtr XSLTCALL
-        xsltPointerListCreate       (int initialSize);
-XSLTPUBFUN void XSLTCALL
-        xsltPointerListFree     (xsltPointerListPtr list);
-XSLTPUBFUN void XSLTCALL
-        xsltPointerListClear        (xsltPointerListPtr list);
-XSLTPUBFUN int XSLTCALL
-        xsltPointerListAddSize      (xsltPointerListPtr list,
-                         void *item,
-                         int initialSize);
-
-/************************************************************************
- *                                  *
- * Refactored structures                                                *
- *                                  *
- ************************************************************************/
-
-typedef struct _xsltNsListContainer xsltNsListContainer;
-typedef xsltNsListContainer *xsltNsListContainerPtr;
-struct _xsltNsListContainer {
-    xmlNsPtr *list;
-    int totalNumber;
-    int xpathNumber;
-};
-
-/**
- * XSLT_ITEM_COMPATIBILITY_FIELDS:
- *
- * Fields for API compatibility to the structure
- * _xsltElemPreComp which is used for extension functions.
- * Note that @next is used for storage; it does not reflect a next
- * sibling in the tree.
- * TODO: Evaluate if we really need such a compatibility.
- */
-#define XSLT_ITEM_COMPATIBILITY_FIELDS \
-    xsltElemPreCompPtr next;\
-    xsltStyleType type;\
-    xsltTransformFunction func;\
-    xmlNodePtr inst;
-
-/**
- * XSLT_ITEM_NAVIGATION_FIELDS:
- *
- * Currently empty.
- * TODO: It is intended to hold navigational fields in the future.
- */
-#define XSLT_ITEM_NAVIGATION_FIELDS
-/*
-    xsltStylePreCompPtr parent;\
-    xsltStylePreCompPtr children;\
-    xsltStylePreCompPtr nextItem;
-*/
-
-/**
- * XSLT_ITEM_NSINSCOPE_FIELDS:
- *
- * The in-scope namespaces.
- */
-#define XSLT_ITEM_NSINSCOPE_FIELDS xsltNsListContainerPtr inScopeNs;
-
-/**
- * XSLT_ITEM_COMMON_FIELDS:
- *
- * Common fields used for all items.
- */
-#define XSLT_ITEM_COMMON_FIELDS \
-    XSLT_ITEM_COMPATIBILITY_FIELDS \
-    XSLT_ITEM_NAVIGATION_FIELDS \
-    XSLT_ITEM_NSINSCOPE_FIELDS
-
-/**
- * _xsltStylePreComp:
- *
- * The abstract basic structure for items of the XSLT processor.
- * This includes:
- * 1) compiled forms of XSLT instructions (e.g. xsl:if, xsl:attribute, etc.)
- * 2) compiled forms of literal result elements
- * 3) various properties for XSLT instructions (e.g. xsl:when,
- *    xsl:with-param)
- *
- * REVISIT TODO: Keep this structure equal to the fields
- *   defined by XSLT_ITEM_COMMON_FIELDS
- */
-struct _xsltStylePreComp {
-    xsltElemPreCompPtr next;    /* next item in the global chained
-                   list hold by xsltStylesheet */
-    xsltStyleType type;         /* type of the item */
-    xsltTransformFunction func; /* handling function */
-    xmlNodePtr inst;        /* the node in the stylesheet's tree
-                   corresponding to this item. */
-    /* Currently no navigational fields. */
-    xsltNsListContainerPtr inScopeNs;
-};
-
-/**
- * xsltStyleBasicEmptyItem:
- *
- * Abstract structure only used as a short-cut for
- * XSLT items with no extra fields.
- * NOTE that it is intended that this structure looks the same as
- *  _xsltStylePreComp.
- */
-typedef struct _xsltStyleBasicEmptyItem xsltStyleBasicEmptyItem;
-typedef xsltStyleBasicEmptyItem *xsltStyleBasicEmptyItemPtr;
-
-struct _xsltStyleBasicEmptyItem {
-    XSLT_ITEM_COMMON_FIELDS
-};
-
-/**
- * xsltStyleBasicExpressionItem:
- *
- * Abstract structure only used as a short-cut for
- * XSLT items with just an expression.
- */
-typedef struct _xsltStyleBasicExpressionItem xsltStyleBasicExpressionItem;
-typedef xsltStyleBasicExpressionItem *xsltStyleBasicExpressionItemPtr;
-
-struct _xsltStyleBasicExpressionItem {
-    XSLT_ITEM_COMMON_FIELDS
-
-    const xmlChar *select; /* TODO: Change this to "expression". */
-    xmlXPathCompExprPtr comp; /* TODO: Change this to compExpr. */
-};
-
-/************************************************************************
- *                                  *
- * XSLT-instructions/declarations                                       *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltStyleItemElement:
- *
- * 
- * 
- *  
- * 
- */
-typedef struct _xsltStyleItemElement xsltStyleItemElement;
-typedef xsltStyleItemElement *xsltStyleItemElementPtr;
-
-struct _xsltStyleItemElement {
-    XSLT_ITEM_COMMON_FIELDS
-
-    const xmlChar *use;
-    int      has_use;
-    const xmlChar *name;
-    int      has_name;
-    const xmlChar *ns;
-    const xmlChar *nsPrefix;
-    int      has_ns;
-};
-
-/**
- * xsltStyleItemAttribute:
- *
- * 
- * 
- *  
- * 
- */
-typedef struct _xsltStyleItemAttribute xsltStyleItemAttribute;
-typedef xsltStyleItemAttribute *xsltStyleItemAttributePtr;
-
-struct _xsltStyleItemAttribute {
-    XSLT_ITEM_COMMON_FIELDS
-    const xmlChar *name;
-    int      has_name;
-    const xmlChar *ns;
-    const xmlChar *nsPrefix;
-    int      has_ns;
-};
-
-/**
- * xsltStyleItemText:
- *
- * 
- * 
- *  
- * 
- */
-typedef struct _xsltStyleItemText xsltStyleItemText;
-typedef xsltStyleItemText *xsltStyleItemTextPtr;
-
-struct _xsltStyleItemText {
-    XSLT_ITEM_COMMON_FIELDS
-    int      noescape;      /* text */
-};
-
-/**
- * xsltStyleItemComment:
- *
- * 
- *  
- *  
- * 
- */
-typedef xsltStyleBasicEmptyItem xsltStyleItemComment;
-typedef xsltStyleItemComment *xsltStyleItemCommentPtr;
-
-/**
- * xsltStyleItemPI:
- *
- * 
- *  
- *  
- * 
- */
-typedef struct _xsltStyleItemPI xsltStyleItemPI;
-typedef xsltStyleItemPI *xsltStyleItemPIPtr;
-
-struct _xsltStyleItemPI {
-    XSLT_ITEM_COMMON_FIELDS
-    const xmlChar *name;
-    int      has_name;
-};
-
-/**
- * xsltStyleItemApplyImports:
- *
- * 
- * 
- */
-typedef xsltStyleBasicEmptyItem xsltStyleItemApplyImports;
-typedef xsltStyleItemApplyImports *xsltStyleItemApplyImportsPtr;
-
-/**
- * xsltStyleItemApplyTemplates:
- *
- * 
- *  
- *  
- * 
- */
-typedef struct _xsltStyleItemApplyTemplates xsltStyleItemApplyTemplates;
-typedef xsltStyleItemApplyTemplates *xsltStyleItemApplyTemplatesPtr;
-
-struct _xsltStyleItemApplyTemplates {
-    XSLT_ITEM_COMMON_FIELDS
-
-    const xmlChar *mode;    /* apply-templates */
-    const xmlChar *modeURI; /* apply-templates */
-    const xmlChar *select;  /* sort, copy-of, value-of, apply-templates */
-    xmlXPathCompExprPtr comp;   /* a precompiled XPath expression */
-    /* TODO: with-params */
-};
-
-/**
- * xsltStyleItemCallTemplate:
- *
- * 
- *  
- *  
- * 
- */
-typedef struct _xsltStyleItemCallTemplate xsltStyleItemCallTemplate;
-typedef xsltStyleItemCallTemplate *xsltStyleItemCallTemplatePtr;
-
-struct _xsltStyleItemCallTemplate {
-    XSLT_ITEM_COMMON_FIELDS
-
-    xsltTemplatePtr templ;  /* call-template */
-    const xmlChar *name;    /* element, attribute, pi */
-    int      has_name;      /* element, attribute, pi */
-    const xmlChar *ns;      /* element */
-    int      has_ns;        /* element */
-    /* TODO: with-params */
-};
-
-/**
- * xsltStyleItemCopy:
- *
- * 
- * 
- *  
- * 
- */
-typedef struct _xsltStyleItemCopy xsltStyleItemCopy;
-typedef xsltStyleItemCopy *xsltStyleItemCopyPtr;
-
-struct _xsltStyleItemCopy {
-   XSLT_ITEM_COMMON_FIELDS
-    const xmlChar *use;     /* copy, element */
-    int      has_use;       /* copy, element */
-};
-
-/**
- * xsltStyleItemIf:
- *
- * 
- *  
- *  
- * 
- */
-typedef struct _xsltStyleItemIf xsltStyleItemIf;
-typedef xsltStyleItemIf *xsltStyleItemIfPtr;
-
-struct _xsltStyleItemIf {
-    XSLT_ITEM_COMMON_FIELDS
-
-    const xmlChar *test;    /* if */
-    xmlXPathCompExprPtr comp;   /* a precompiled XPath expression */
-};
-
-
-/**
- * xsltStyleItemCopyOf:
- *
- * 
- * 
- */
-typedef xsltStyleBasicExpressionItem xsltStyleItemCopyOf;
-typedef xsltStyleItemCopyOf *xsltStyleItemCopyOfPtr;
-
-/**
- * xsltStyleItemValueOf:
- *
- * 
- * 
- */
-typedef struct _xsltStyleItemValueOf xsltStyleItemValueOf;
-typedef xsltStyleItemValueOf *xsltStyleItemValueOfPtr;
-
-struct _xsltStyleItemValueOf {
-    XSLT_ITEM_COMMON_FIELDS
-
-    const xmlChar *select;
-    xmlXPathCompExprPtr comp;   /* a precompiled XPath expression */
-    int      noescape;
-};
-
-/**
- * xsltStyleItemNumber:
- *
- * 
- *  
- */
-typedef struct _xsltStyleItemNumber xsltStyleItemNumber;
-typedef xsltStyleItemNumber *xsltStyleItemNumberPtr;
-
-struct _xsltStyleItemNumber {
-    XSLT_ITEM_COMMON_FIELDS
-    xsltNumberData numdata; /* number */
-};
-
-/**
- * xsltStyleItemChoose:
- *
- * 
- *  
- *  
- * 
- */
-typedef xsltStyleBasicEmptyItem xsltStyleItemChoose;
-typedef xsltStyleItemChoose *xsltStyleItemChoosePtr;
-
-/**
- * xsltStyleItemFallback:
- *
- * 
- *  
- *  
- * 
- */
-typedef xsltStyleBasicEmptyItem xsltStyleItemFallback;
-typedef xsltStyleItemFallback *xsltStyleItemFallbackPtr;
-
-/**
- * xsltStyleItemForEach:
- *
- * 
- * 
- *   
- * 
- */
-typedef xsltStyleBasicExpressionItem xsltStyleItemForEach;
-typedef xsltStyleItemForEach *xsltStyleItemForEachPtr;
-
-/**
- * xsltStyleItemMessage:
- *
- * 
- * 
- *   
- * 
- */
-typedef struct _xsltStyleItemMessage xsltStyleItemMessage;
-typedef xsltStyleItemMessage *xsltStyleItemMessagePtr;
-
-struct _xsltStyleItemMessage {
-    XSLT_ITEM_COMMON_FIELDS
-    int terminate;
-};
-
-/**
- * xsltStyleItemDocument:
- *
- * NOTE: This is not an instruction of XSLT 1.0.
- */
-typedef struct _xsltStyleItemDocument xsltStyleItemDocument;
-typedef xsltStyleItemDocument *xsltStyleItemDocumentPtr;
-
-struct _xsltStyleItemDocument {
-    XSLT_ITEM_COMMON_FIELDS
-    int      ver11;     /* assigned: in xsltDocumentComp;
-                                  read: nowhere;
-                                  TODO: Check if we need. */
-    const xmlChar *filename;    /* document URL */
-    int has_filename;
-};
-
-/************************************************************************
- *                                  *
- * Non-instructions (actually properties of instructions/declarations)  *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltStyleBasicItemVariable:
- *
- * Basic struct for xsl:variable, xsl:param and xsl:with-param.
- * It's currently important to have equal fields, since
- * xsltParseStylesheetCallerParam() is used with xsl:with-param from
- * the xslt side and with xsl:param from the exslt side (in
- * exsltFuncFunctionFunction()).
- *
- * FUTURE NOTE: In XSLT 2.0 xsl:param, xsl:variable and xsl:with-param
- *   have additional different fields.
- */
-typedef struct _xsltStyleBasicItemVariable xsltStyleBasicItemVariable;
-typedef xsltStyleBasicItemVariable *xsltStyleBasicItemVariablePtr;
-
-struct _xsltStyleBasicItemVariable {
-    XSLT_ITEM_COMMON_FIELDS
-
-    const xmlChar *select;
-    xmlXPathCompExprPtr comp;
-
-    const xmlChar *name;
-    int      has_name;
-    const xmlChar *ns;
-    int      has_ns;
-};
-
-/**
- * xsltStyleItemVariable:
- *
- * 
- * 
- *   
- * 
- */
-typedef xsltStyleBasicItemVariable xsltStyleItemVariable;
-typedef xsltStyleItemVariable *xsltStyleItemVariablePtr;
-
-/**
- * xsltStyleItemParam:
- *
- * 
- * 
- *   
- * 
- */
-typedef struct _xsltStyleItemParam xsltStyleItemParam;
-typedef xsltStyleItemParam *xsltStyleItemParamPtr;
-
-struct _xsltStyleItemParam {
-    XSLT_ITEM_COMMON_FIELDS
-
-    const xmlChar *select;
-    xmlXPathCompExprPtr comp;
-
-    const xmlChar *name;
-    int      has_name;
-    const xmlChar *ns;
-    int      has_ns;
-};
-
-/**
- * xsltStyleItemWithParam:
- *
- * 
- *  
- * 
- */
-typedef xsltStyleBasicItemVariable xsltStyleItemWithParam;
-typedef xsltStyleItemWithParam *xsltStyleItemWithParamPtr;
-
-/**
- * xsltStyleItemSort:
- *
- * Reflects the XSLT xsl:sort item.
- * Allowed parents: xsl:apply-templates, xsl:for-each
- * 
- */
-typedef struct _xsltStyleItemSort xsltStyleItemSort;
-typedef xsltStyleItemSort *xsltStyleItemSortPtr;
-
-struct _xsltStyleItemSort {
-    XSLT_ITEM_COMMON_FIELDS
-
-    const xmlChar *stype;       /* sort */
-    int      has_stype;     /* sort */
-    int      number;        /* sort */
-    const xmlChar *order;   /* sort */
-    int      has_order;     /* sort */
-    int      descending;    /* sort */
-    const xmlChar *lang;    /* sort */
-    int      has_lang;      /* sort */
-    xsltLocale locale;      /* sort */
-    const xmlChar *case_order;  /* sort */
-    int      lower_first;   /* sort */
-
-    const xmlChar *use;
-    int      has_use;
-
-    const xmlChar *select;  /* sort, copy-of, value-of, apply-templates */
-
-    xmlXPathCompExprPtr comp;   /* a precompiled XPath expression */
-};
-
-
-/**
- * xsltStyleItemWhen:
- *
- * 
- *   
- * 
- * Allowed parent: xsl:choose
- */
-typedef struct _xsltStyleItemWhen xsltStyleItemWhen;
-typedef xsltStyleItemWhen *xsltStyleItemWhenPtr;
-
-struct _xsltStyleItemWhen {
-    XSLT_ITEM_COMMON_FIELDS
-
-    const xmlChar *test;
-    xmlXPathCompExprPtr comp;
-};
-
-/**
- * xsltStyleItemOtherwise:
- *
- * Allowed parent: xsl:choose
- * 
- *   
- * 
- */
-typedef struct _xsltStyleItemOtherwise xsltStyleItemOtherwise;
-typedef xsltStyleItemOtherwise *xsltStyleItemOtherwisePtr;
-
-struct _xsltStyleItemOtherwise {
-    XSLT_ITEM_COMMON_FIELDS
-};
-
-typedef struct _xsltStyleItemInclude xsltStyleItemInclude;
-typedef xsltStyleItemInclude *xsltStyleItemIncludePtr;
-
-struct _xsltStyleItemInclude {
-    XSLT_ITEM_COMMON_FIELDS
-    xsltDocumentPtr include;
-};
-
-/************************************************************************
- *                                  *
- *  XSLT elements in forwards-compatible mode                           *
- *                                  *
- ************************************************************************/
-
-typedef struct _xsltStyleItemUknown xsltStyleItemUknown;
-typedef xsltStyleItemUknown *xsltStyleItemUknownPtr;
-struct _xsltStyleItemUknown {
-    XSLT_ITEM_COMMON_FIELDS
-};
-
-
-/************************************************************************
- *                                  *
- *  Extension elements                                                  *
- *                                  *
- ************************************************************************/
-
-/*
- * xsltStyleItemExtElement:
- *
- * Reflects extension elements.
- *
- * NOTE: Due to the fact that the structure xsltElemPreComp is most
- * probably already heavily in use out there by users, so we cannot
- * easily change it, we'll create an intermediate structure which will
- * hold an xsltElemPreCompPtr.
- * BIG NOTE: The only problem I see here is that the user processes the
- *  content of the stylesheet tree, possibly he'll lookup the node->psvi
- *  fields in order to find subsequent extension functions.
- *  In this case, the user's code will break, since the node->psvi
- *  field will hold now the xsltStyleItemExtElementPtr and not
- *  the xsltElemPreCompPtr.
- *  However the place where the structure is anchored in the node-tree,
- *  namely node->psvi, has beed already once been moved from node->_private
- *  to node->psvi, so we have a precedent here, which, I think, should allow
- *  us to change such semantics without headaches.
- */
-typedef struct _xsltStyleItemExtElement xsltStyleItemExtElement;
-typedef xsltStyleItemExtElement *xsltStyleItemExtElementPtr;
-struct _xsltStyleItemExtElement {
-    XSLT_ITEM_COMMON_FIELDS
-    xsltElemPreCompPtr item;
-};
-
-/************************************************************************
- *                                  *
- *  Literal result elements                                             *
- *                                  *
- ************************************************************************/
-
-typedef struct _xsltEffectiveNs xsltEffectiveNs;
-typedef xsltEffectiveNs *xsltEffectiveNsPtr;
-struct _xsltEffectiveNs {
-    xsltEffectiveNsPtr nextInStore; /* storage next */
-    xsltEffectiveNsPtr next; /* next item in the list */
-    const xmlChar *prefix;
-    const xmlChar *nsName;
-    /*
-    * Indicates if eclared on the literal result element; dunno if really
-    * needed.
-    */
-    int holdByElem;
-};
-
-/*
- * Info for literal result elements.
- * This will be set on the elem->psvi field and will be
- * shared by literal result elements, which have the same
- * excluded result namespaces; i.e., this *won't* be created uniquely
- * for every literal result element.
- */
-typedef struct _xsltStyleItemLRElementInfo xsltStyleItemLRElementInfo;
-typedef xsltStyleItemLRElementInfo *xsltStyleItemLRElementInfoPtr;
-struct _xsltStyleItemLRElementInfo {
-    XSLT_ITEM_COMMON_FIELDS
-    /*
-    * @effectiveNs is the set of effective ns-nodes
-    *  on the literal result element, which will be added to the result
-    *  element if not already existing in the result tree.
-    *  This means that excluded namespaces (via exclude-result-prefixes,
-    *  extension-element-prefixes and the XSLT namespace) not added
-    *  to the set.
-    *  Namespace-aliasing was applied on the @effectiveNs.
-    */
-    xsltEffectiveNsPtr effectiveNs;
-
-};
-
-#ifdef XSLT_REFACTORED
-
-typedef struct _xsltNsAlias xsltNsAlias;
-typedef xsltNsAlias *xsltNsAliasPtr;
-struct _xsltNsAlias {
-    xsltNsAliasPtr next; /* next in the list */
-    xmlNsPtr literalNs;
-    xmlNsPtr targetNs;
-    xmlDocPtr docOfTargetNs;
-};
-#endif
-
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-
-typedef struct _xsltNsMap xsltNsMap;
-typedef xsltNsMap *xsltNsMapPtr;
-struct _xsltNsMap {
-    xsltNsMapPtr next; /* next in the list */
-    xmlDocPtr doc;
-    xmlNodePtr elem; /* the element holding the ns-decl */
-    xmlNsPtr ns; /* the xmlNs structure holding the XML namespace name */
-    const xmlChar *origNsName; /* the original XML namespace name */
-    const xmlChar *newNsName; /* the mapped XML namespace name */
-};
-#endif
-
-/************************************************************************
- *                                  *
- *  Compile-time structures for *internal* use only                     *
- *                                  *
- ************************************************************************/
-
-typedef struct _xsltPrincipalStylesheetData xsltPrincipalStylesheetData;
-typedef xsltPrincipalStylesheetData *xsltPrincipalStylesheetDataPtr;
-
-typedef struct _xsltNsList xsltNsList;
-typedef xsltNsList *xsltNsListPtr;
-struct _xsltNsList {
-    xsltNsListPtr next; /* next in the list */
-    xmlNsPtr ns;
-};
-
-/*
-* xsltVarInfo:
-*
-* Used at compilation time for parameters and variables.
-*/
-typedef struct _xsltVarInfo xsltVarInfo;
-typedef xsltVarInfo *xsltVarInfoPtr;
-struct _xsltVarInfo {
-    xsltVarInfoPtr next; /* next in the list */
-    xsltVarInfoPtr prev;
-    int depth; /* the depth in the tree */
-    const xmlChar *name;
-    const xmlChar *nsName;
-};
-
-/**
- * xsltCompilerNodeInfo:
- *
- * Per-node information during compile-time.
- */
-typedef struct _xsltCompilerNodeInfo xsltCompilerNodeInfo;
-typedef xsltCompilerNodeInfo *xsltCompilerNodeInfoPtr;
-struct _xsltCompilerNodeInfo {
-    xsltCompilerNodeInfoPtr next;
-    xsltCompilerNodeInfoPtr prev;
-    xmlNodePtr node;
-    int depth;
-    xsltTemplatePtr templ;   /* The owning template */
-    int category;        /* XSLT element, LR-element or
-                                extension element */
-    xsltStyleType type;
-    xsltElemPreCompPtr item; /* The compiled information */
-    /* The current in-scope namespaces */
-    xsltNsListContainerPtr inScopeNs;
-    /* The current excluded result namespaces */
-    xsltPointerListPtr exclResultNs;
-    /* The current extension instruction namespaces */
-    xsltPointerListPtr extElemNs;
-
-    /* The current info for literal result elements. */
-    xsltStyleItemLRElementInfoPtr litResElemInfo;
-    /*
-    * Set to 1 if in-scope namespaces changed,
-    *  or excluded result namespaces changed,
-    *  or extension element namespaces changed.
-    * This will trigger creation of new infos
-    *  for literal result elements.
-    */
-    int nsChanged;
-    int preserveWhitespace;
-    int stripWhitespace;
-    int isRoot; /* whether this is the stylesheet's root node */
-    int forwardsCompat; /* whether forwards-compatible mode is enabled */
-    /* whether the content of an extension element was processed */
-    int extContentHandled;
-    /* the type of the current child */
-    xsltStyleType curChildType;
-};
-
-/**
- * XSLT_CCTXT:
- *
- * get pointer to compiler context
- */
-#define XSLT_CCTXT(style) ((xsltCompilerCtxtPtr) style->compCtxt)
-
-typedef enum {
-    XSLT_ERROR_SEVERITY_ERROR = 0,
-    XSLT_ERROR_SEVERITY_WARNING
-} xsltErrorSeverityType;
-
-typedef struct _xsltCompilerCtxt xsltCompilerCtxt;
-typedef xsltCompilerCtxt *xsltCompilerCtxtPtr;
-struct _xsltCompilerCtxt {
-    void *errorCtxt;            /* user specific error context */
-    /*
-    * used for error/warning reports; e.g. XSLT_ERROR_SEVERITY_WARNING */
-    xsltErrorSeverityType errSeverity;
-    int warnings;       /* TODO: number of warnings found at
-                                   compilation */
-    int errors;         /* TODO: number of errors found at
-                                   compilation */
-    xmlDictPtr dict;
-    xsltStylesheetPtr style;
-    int simplified; /* whether this is a simplified stylesheet */
-    /* TODO: structured/unstructured error contexts. */
-    int depth; /* Current depth of processing */
-
-    xsltCompilerNodeInfoPtr inode;
-    xsltCompilerNodeInfoPtr inodeList;
-    xsltCompilerNodeInfoPtr inodeLast;
-    xsltPointerListPtr tmpList; /* Used for various purposes */
-    /*
-    * The XSLT version as specified by the stylesheet's root element.
-    */
-    int isInclude;
-    int hasForwardsCompat; /* whether forwards-compatible mode was used
-                 in a parsing episode */
-    int maxNodeInfos; /* TEMP TODO: just for the interest */
-    int maxLREs;  /* TEMP TODO: just for the interest */
-    /*
-    * In order to keep the old behaviour, applying strict rules of
-    * the spec can be turned off. This has effect only on special
-    * mechanisms like whitespace-stripping in the stylesheet.
-    */
-    int strict;
-    xsltPrincipalStylesheetDataPtr psData;
-#ifdef XSLT_REFACTORED_XPATHCOMP
-    xmlXPathContextPtr xpathCtxt;
-#endif
-    xsltStyleItemUknownPtr unknownItem;
-    int hasNsAliases; /* Indicator if there was an xsl:namespace-alias. */
-    xsltNsAliasPtr nsAliases;
-    xsltVarInfoPtr ivars; /* Storage of local in-scope variables/params. */
-    xsltVarInfoPtr ivar; /* topmost local variable/param. */
-};
-
-#else /* XSLT_REFACTORED */
-/*
-* The old structures before refactoring.
-*/
-
-/**
- * _xsltStylePreComp:
- *
- * The in-memory structure corresponding to XSLT stylesheet constructs
- * precomputed data.
- */
-struct _xsltStylePreComp {
-    xsltElemPreCompPtr next;    /* chained list */
-    xsltStyleType type;     /* type of the element */
-    xsltTransformFunction func; /* handling function */
-    xmlNodePtr inst;        /* the instruction */
-
-    /*
-     * Pre computed values.
-     */
-
-    const xmlChar *stype;       /* sort */
-    int      has_stype;     /* sort */
-    int      number;        /* sort */
-    const xmlChar *order;   /* sort */
-    int      has_order;     /* sort */
-    int      descending;    /* sort */
-    const xmlChar *lang;    /* sort */
-    int      has_lang;      /* sort */
-    xsltLocale locale;      /* sort */
-    const xmlChar *case_order;  /* sort */
-    int      lower_first;   /* sort */
-
-    const xmlChar *use;     /* copy, element */
-    int      has_use;       /* copy, element */
-
-    int      noescape;      /* text */
-
-    const xmlChar *name;    /* element, attribute, pi */
-    int      has_name;      /* element, attribute, pi */
-    const xmlChar *ns;      /* element */
-    int      has_ns;        /* element */
-
-    const xmlChar *mode;    /* apply-templates */
-    const xmlChar *modeURI; /* apply-templates */
-
-    const xmlChar *test;    /* if */
-
-    xsltTemplatePtr templ;  /* call-template */
-
-    const xmlChar *select;  /* sort, copy-of, value-of, apply-templates */
-
-    int      ver11;     /* document */
-    const xmlChar *filename;    /* document URL */
-    int      has_filename;  /* document */
-
-    xsltNumberData numdata; /* number */
-
-    xmlXPathCompExprPtr comp;   /* a precompiled XPath expression */
-    xmlNsPtr *nsList;       /* the namespaces in scope */
-    int nsNr;           /* the number of namespaces in scope */
-};
-
-#endif /* XSLT_REFACTORED */
-
-
-/*
- * The in-memory structure corresponding to an XSLT Variable
- * or Param.
- */
-typedef struct _xsltStackElem xsltStackElem;
-typedef xsltStackElem *xsltStackElemPtr;
-struct _xsltStackElem {
-    struct _xsltStackElem *next;/* chained list */
-    xsltStylePreCompPtr comp;   /* the compiled form */
-    int computed;       /* was the evaluation done */
-    const xmlChar *name;    /* the local part of the name QName */
-    const xmlChar *nameURI; /* the URI part of the name QName */
-    const xmlChar *select;  /* the eval string */
-    xmlNodePtr tree;        /* the sequence constructor if no eval
-                    string or the location */
-    xmlXPathObjectPtr value;    /* The value if computed */
-    xmlDocPtr fragment;     /* The Result Tree Fragments (needed for XSLT 1.0)
-                   which are bound to the variable's lifetime. */
-    int level;                  /* the depth in the tree;
-                                   -1 if persistent (e.g. a given xsl:with-param) */
-    xsltTransformContextPtr context; /* The transformation context; needed to cache
-                                        the variables */
-    int flags;
-};
-
-#ifdef XSLT_REFACTORED
-
-struct _xsltPrincipalStylesheetData {
-    /*
-    * Namespace dictionary for ns-prefixes and ns-names:
-    * TODO: Shared between stylesheets, and XPath mechanisms.
-    *   Not used yet.
-    */
-    xmlDictPtr namespaceDict;
-    /*
-    * Global list of in-scope namespaces.
-    */
-    xsltPointerListPtr inScopeNamespaces;
-    /*
-    * Global list of information for [xsl:]excluded-result-prefixes.
-    */
-    xsltPointerListPtr exclResultNamespaces;
-    /*
-    * Global list of information for [xsl:]extension-element-prefixes.
-    */
-    xsltPointerListPtr extElemNamespaces;
-    xsltEffectiveNsPtr effectiveNs;
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-    /*
-    * Namespace name map to get rid of string comparison of namespace names.
-    */
-    xsltNsMapPtr nsMap;
-#endif
-};
-
-
-#endif
-/*
- * Note that we added a @compCtxt field to anchor an stylesheet compilation
- * context, since, due to historical reasons, various compile-time function
- * take only the stylesheet as argument and not a compilation context.
- */
-struct _xsltStylesheet {
-    /*
-     * The stylesheet import relation is kept as a tree.
-     */
-    struct _xsltStylesheet *parent;
-    struct _xsltStylesheet *next;
-    struct _xsltStylesheet *imports;
-
-    xsltDocumentPtr docList;        /* the include document list */
-
-    /*
-     * General data on the style sheet document.
-     */
-    xmlDocPtr doc;      /* the parsed XML stylesheet */
-    xmlHashTablePtr stripSpaces;/* the hash table of the strip-space and
-                   preserve space elements */
-    int             stripAll;   /* strip-space * (1) preserve-space * (-1) */
-    xmlHashTablePtr cdataSection;/* the hash table of the cdata-section */
-
-    /*
-     * Global variable or parameters.
-     */
-    xsltStackElemPtr variables; /* linked list of param and variables */
-
-    /*
-     * Template descriptions.
-     */
-    xsltTemplatePtr templates;  /* the ordered list of templates */
-    void *templatesHash;    /* hash table or wherever compiled templates
-                   informations are stored */
-    void *rootMatch;        /* template based on / */
-    void *keyMatch;     /* template based on key() */
-    void *elemMatch;        /* template based on * */
-    void *attrMatch;        /* template based on @* */
-    void *parentMatch;      /* template based on .. */
-    void *textMatch;        /* template based on text() */
-    void *piMatch;      /* template based on processing-instruction() */
-    void *commentMatch;     /* template based on comment() */
-
-    /*
-     * Namespace aliases.
-     * NOTE: Not used in the refactored code.
-     */
-    xmlHashTablePtr nsAliases;  /* the namespace alias hash tables */
-
-    /*
-     * Attribute sets.
-     */
-    xmlHashTablePtr attributeSets;/* the attribute sets hash tables */
-
-    /*
-     * Namespaces.
-     * TODO: Eliminate this.
-     */
-    xmlHashTablePtr nsHash;     /* the set of namespaces in use:
-                                   ATTENTION: This is used for
-                                   execution of XPath expressions; unfortunately
-                                   it restricts the stylesheet to have distinct
-                                   prefixes.
-                   TODO: We need to get rid of this.
-                 */
-    void           *nsDefs;     /* ATTENTION TODO: This is currently used to store
-                   xsltExtDefPtr (in extensions.c) and
-                                   *not* xmlNsPtr.
-                 */
-
-    /*
-     * Key definitions.
-     */
-    void *keys;         /* key definitions */
-
-    /*
-     * Output related stuff.
-     */
-    xmlChar *method;        /* the output method */
-    xmlChar *methodURI;     /* associated namespace if any */
-    xmlChar *version;       /* version string */
-    xmlChar *encoding;      /* encoding string */
-    int omitXmlDeclaration;     /* omit-xml-declaration = "yes" | "no" */
-
-    /*
-     * Number formatting.
-     */
-    xsltDecimalFormatPtr decimalFormat;
-    int standalone;             /* standalone = "yes" | "no" */
-    xmlChar *doctypePublic;     /* doctype-public string */
-    xmlChar *doctypeSystem;     /* doctype-system string */
-    int indent;         /* should output being indented */
-    xmlChar *mediaType;     /* media-type string */
-
-    /*
-     * Precomputed blocks.
-     */
-    xsltElemPreCompPtr preComps;/* list of precomputed blocks */
-    int warnings;       /* number of warnings found at compilation */
-    int errors;         /* number of errors found at compilation */
-
-    xmlChar  *exclPrefix;   /* last excluded prefixes */
-    xmlChar **exclPrefixTab;    /* array of excluded prefixes */
-    int       exclPrefixNr; /* number of excluded prefixes in scope */
-    int       exclPrefixMax;    /* size of the array */
-
-    void     *_private;     /* user defined data */
-
-    /*
-     * Extensions.
-     */
-    xmlHashTablePtr extInfos;   /* the extension data */
-    int         extrasNr;   /* the number of extras required */
-
-    /*
-     * For keeping track of nested includes
-     */
-    xsltDocumentPtr includes;   /* points to last nested include */
-
-    /*
-     * dictionary: shared between stylesheet, context and documents.
-     */
-    xmlDictPtr dict;
-    /*
-     * precompiled attribute value templates.
-     */
-    void *attVTs;
-    /*
-     * if namespace-alias has an alias for the default stylesheet prefix
-     * NOTE: Not used in the refactored code.
-     */
-    const xmlChar *defaultAlias;
-    /*
-     * bypass pre-processing (already done) (used in imports)
-     */
-    int nopreproc;
-    /*
-     * all document text strings were internalized
-     */
-    int internalized;
-    /*
-     * Literal Result Element as Stylesheet c.f. section 2.3
-     */
-    int literal_result;
-    /*
-    * The principal stylesheet
-    */
-    xsltStylesheetPtr principal;
-#ifdef XSLT_REFACTORED
-    /*
-    * Compilation context used during compile-time.
-    */
-    xsltCompilerCtxtPtr compCtxt; /* TODO: Change this to (void *). */
-
-    xsltPrincipalStylesheetDataPtr principalData;
-#endif
-    /*
-     * Forwards-compatible processing
-     */
-    int forwards_compatible;
-};
-
-typedef struct _xsltTransformCache xsltTransformCache;
-typedef xsltTransformCache *xsltTransformCachePtr;
-struct _xsltTransformCache {
-    xmlDocPtr RVT;
-    int nbRVT;
-    xsltStackElemPtr stackItems;
-    int nbStackItems;
-#ifdef XSLT_DEBUG_PROFILE_CACHE
-    int dbgCachedRVTs;
-    int dbgReusedRVTs;
-    int dbgCachedVars;
-    int dbgReusedVars;
-#endif
-};
-
-/*
- * The in-memory structure corresponding to an XSLT Transformation.
- */
-typedef enum {
-    XSLT_OUTPUT_XML = 0,
-    XSLT_OUTPUT_HTML,
-    XSLT_OUTPUT_TEXT
-} xsltOutputType;
-
-typedef enum {
-    XSLT_STATE_OK = 0,
-    XSLT_STATE_ERROR,
-    XSLT_STATE_STOPPED
-} xsltTransformState;
-
-struct _xsltTransformContext {
-    xsltStylesheetPtr style;        /* the stylesheet used */
-    xsltOutputType type;        /* the type of output */
-
-    xsltTemplatePtr  templ;     /* the current template */
-    int              templNr;       /* Nb of templates in the stack */
-    int              templMax;      /* Size of the templtes stack */
-    xsltTemplatePtr *templTab;      /* the template stack */
-
-    xsltStackElemPtr  vars;     /* the current variable list */
-    int               varsNr;       /* Nb of variable list in the stack */
-    int               varsMax;      /* Size of the variable list stack */
-    xsltStackElemPtr *varsTab;      /* the variable list stack */
-    int               varsBase;     /* the var base for current templ */
-
-    /*
-     * Extensions
-     */
-    xmlHashTablePtr   extFunctions; /* the extension functions */
-    xmlHashTablePtr   extElements;  /* the extension elements */
-    xmlHashTablePtr   extInfos;     /* the extension data */
-
-    const xmlChar *mode;        /* the current mode */
-    const xmlChar *modeURI;     /* the current mode URI */
-
-    xsltDocumentPtr docList;        /* the document list */
-
-    xsltDocumentPtr document;       /* the current source document; can be NULL if an RTF */
-    xmlNodePtr node;            /* the current node being processed */
-    xmlNodeSetPtr nodeList;     /* the current node list */
-    /* xmlNodePtr current;          the node */
-
-    xmlDocPtr output;           /* the resulting document */
-    xmlNodePtr insert;          /* the insertion node */
-
-    xmlXPathContextPtr xpathCtxt;   /* the XPath context */
-    xsltTransformState state;       /* the current state */
-
-    /*
-     * Global variables
-     */
-    xmlHashTablePtr   globalVars;   /* the global variables and params */
-
-    xmlNodePtr inst;            /* the instruction in the stylesheet */
-
-    int xinclude;           /* should XInclude be processed */
-
-    const char *      outputFile;   /* the output URI if known */
-
-    int profile;                        /* is this run profiled */
-    long             prof;      /* the current profiled value */
-    int              profNr;        /* Nb of templates in the stack */
-    int              profMax;       /* Size of the templtaes stack */
-    long            *profTab;       /* the profile template stack */
-
-    void            *_private;      /* user defined data */
-
-    int              extrasNr;      /* the number of extras used */
-    int              extrasMax;     /* the number of extras allocated */
-    xsltRuntimeExtraPtr extras;     /* extra per runtime informations */
-
-    xsltDocumentPtr  styleList;     /* the stylesheet docs list */
-    void                 * sec;     /* the security preferences if any */
-
-    xmlGenericErrorFunc  error;     /* a specific error handler */
-    void              * errctx;     /* context for the error handler */
-
-    xsltSortFunc      sortfunc;     /* a ctxt specific sort routine */
-
-    /*
-     * handling of temporary Result Value Tree
-     * (XSLT 1.0 term: "Result Tree Fragment")
-     */
-    xmlDocPtr       tmpRVT;     /* list of RVT without persistance */
-    xmlDocPtr       persistRVT;     /* list of persistant RVTs */
-    int             ctxtflags;          /* context processing flags */
-
-    /*
-     * Speed optimization when coalescing text nodes
-     */
-    const xmlChar  *lasttext;       /* last text node content */
-    unsigned int    lasttsize;      /* last text node size */
-    unsigned int    lasttuse;       /* last text node use */
-    /*
-     * Per Context Debugging
-     */
-    int debugStatus;            /* the context level debug status */
-    unsigned long* traceCode;       /* pointer to the variable holding the mask */
-
-    int parserOptions;          /* parser options xmlParserOption */
-
-    /*
-     * dictionary: shared between stylesheet, context and documents.
-     */
-    xmlDictPtr dict;
-    xmlDocPtr       tmpDoc; /* Obsolete; not used in the library. */
-    /*
-     * all document text strings are internalized
-     */
-    int internalized;
-    int nbKeys;
-    int hasTemplKeyPatterns;
-    xsltTemplatePtr currentTemplateRule; /* the Current Template Rule */
-    xmlNodePtr initialContextNode;
-    xmlDocPtr initialContextDoc;
-    xsltTransformCachePtr cache;
-    void *contextVariable; /* the current variable item */
-    xmlDocPtr localRVT; /* list of local tree fragments; will be freed when
-               the instruction which created the fragment
-                           exits */
-    xmlDocPtr localRVTBase;
-    int keyInitLevel;   /* Needed to catch recursive keys issues */
-    int funcLevel;      /* Needed to catch recursive functions issues */
-    int maxTemplateDepth;
-    int maxTemplateVars;
-};
-
-/**
- * CHECK_STOPPED:
- *
- * Macro to check if the XSLT processing should be stopped.
- * Will return from the function.
- */
-#define CHECK_STOPPED if (ctxt->state == XSLT_STATE_STOPPED) return;
-
-/**
- * CHECK_STOPPEDE:
- *
- * Macro to check if the XSLT processing should be stopped.
- * Will goto the error: label.
- */
-#define CHECK_STOPPEDE if (ctxt->state == XSLT_STATE_STOPPED) goto error;
-
-/**
- * CHECK_STOPPED0:
- *
- * Macro to check if the XSLT processing should be stopped.
- * Will return from the function with a 0 value.
- */
-#define CHECK_STOPPED0 if (ctxt->state == XSLT_STATE_STOPPED) return(0);
-
-/*
- * The macro XML_CAST_FPTR is a hack to avoid a gcc warning about
- * possible incompatibilities between function pointers and object
- * pointers.  It is defined in libxml/hash.h within recent versions
- * of libxml2, but is put here for compatibility.
- */
-#ifndef XML_CAST_FPTR
-/**
- * XML_CAST_FPTR:
- * @fptr:  pointer to a function
- *
- * Macro to do a casting from an object pointer to a
- * function pointer without encountering a warning from
- * gcc
- *
- * #define XML_CAST_FPTR(fptr) (*(void **)(&fptr))
- * This macro violated ISO C aliasing rules (gcc4 on s390 broke)
- * so it is disabled now
- */
-
-#define XML_CAST_FPTR(fptr) fptr
-#endif
-/*
- * Functions associated to the internal types
-xsltDecimalFormatPtr    xsltDecimalFormatGetByName(xsltStylesheetPtr sheet,
-                           xmlChar *name);
- */
-XSLTPUBFUN xsltStylesheetPtr XSLTCALL
-            xsltNewStylesheet   (void);
-XSLTPUBFUN xsltStylesheetPtr XSLTCALL
-            xsltParseStylesheetFile (const xmlChar* filename);
-XSLTPUBFUN void XSLTCALL
-            xsltFreeStylesheet  (xsltStylesheetPtr style);
-XSLTPUBFUN int XSLTCALL
-            xsltIsBlank     (xmlChar *str);
-XSLTPUBFUN void XSLTCALL
-            xsltFreeStackElemList   (xsltStackElemPtr elem);
-XSLTPUBFUN xsltDecimalFormatPtr XSLTCALL
-            xsltDecimalFormatGetByName(xsltStylesheetPtr style,
-                         xmlChar *name);
-
-XSLTPUBFUN xsltStylesheetPtr XSLTCALL
-            xsltParseStylesheetProcess(xsltStylesheetPtr ret,
-                         xmlDocPtr doc);
-XSLTPUBFUN void XSLTCALL
-            xsltParseStylesheetOutput(xsltStylesheetPtr style,
-                         xmlNodePtr cur);
-XSLTPUBFUN xsltStylesheetPtr XSLTCALL
-            xsltParseStylesheetDoc  (xmlDocPtr doc);
-XSLTPUBFUN xsltStylesheetPtr XSLTCALL
-            xsltParseStylesheetImportedDoc(xmlDocPtr doc,
-                        xsltStylesheetPtr style);
-XSLTPUBFUN xsltStylesheetPtr XSLTCALL
-            xsltLoadStylesheetPI    (xmlDocPtr doc);
-XSLTPUBFUN void XSLTCALL
-            xsltNumberFormat    (xsltTransformContextPtr ctxt,
-                         xsltNumberDataPtr data,
-                         xmlNodePtr node);
-XSLTPUBFUN xmlXPathError XSLTCALL
-            xsltFormatNumberConversion(xsltDecimalFormatPtr self,
-                         xmlChar *format,
-                         double number,
-                         xmlChar **result);
-
-XSLTPUBFUN void XSLTCALL
-            xsltParseTemplateContent(xsltStylesheetPtr style,
-                         xmlNodePtr templ);
-XSLTPUBFUN int XSLTCALL
-            xsltAllocateExtra   (xsltStylesheetPtr style);
-XSLTPUBFUN int XSLTCALL
-            xsltAllocateExtraCtxt   (xsltTransformContextPtr ctxt);
-/*
- * Extra functions for Result Value Trees
- */
-XSLTPUBFUN xmlDocPtr XSLTCALL
-            xsltCreateRVT       (xsltTransformContextPtr ctxt);
-XSLTPUBFUN int XSLTCALL
-            xsltRegisterTmpRVT  (xsltTransformContextPtr ctxt,
-                         xmlDocPtr RVT);
-XSLTPUBFUN int XSLTCALL
-            xsltRegisterLocalRVT    (xsltTransformContextPtr ctxt,
-                         xmlDocPtr RVT);
-XSLTPUBFUN int XSLTCALL
-            xsltRegisterPersistRVT  (xsltTransformContextPtr ctxt,
-                         xmlDocPtr RVT);
-XSLTPUBFUN int XSLTCALL
-            xsltExtensionInstructionResultRegister(
-                         xsltTransformContextPtr ctxt,
-                         xmlXPathObjectPtr obj);
-XSLTPUBFUN int XSLTCALL
-            xsltExtensionInstructionResultFinalize(
-                         xsltTransformContextPtr ctxt);
-XSLTPUBFUN void XSLTCALL
-            xsltFreeRVTs        (xsltTransformContextPtr ctxt);
-XSLTPUBFUN void XSLTCALL
-            xsltReleaseRVT      (xsltTransformContextPtr ctxt,
-                         xmlDocPtr RVT);
-/*
- * Extra functions for Attribute Value Templates
- */
-XSLTPUBFUN void XSLTCALL
-            xsltCompileAttr     (xsltStylesheetPtr style,
-                         xmlAttrPtr attr);
-XSLTPUBFUN xmlChar * XSLTCALL
-            xsltEvalAVT     (xsltTransformContextPtr ctxt,
-                         void *avt,
-                         xmlNodePtr node);
-XSLTPUBFUN void XSLTCALL
-            xsltFreeAVTList     (void *avt);
-
-/*
- * Extra function for successful xsltCleanupGlobals / xsltInit sequence.
- */
-
-XSLTPUBFUN void XSLTCALL
-            xsltUninit      (void);
-
-/************************************************************************
- *                                  *
- *  Compile-time functions for *internal* use only                      *
- *                                  *
- ************************************************************************/
-
-#ifdef XSLT_REFACTORED
-XSLTPUBFUN void XSLTCALL
-            xsltParseSequenceConstructor(
-                         xsltCompilerCtxtPtr cctxt,
-                         xmlNodePtr start);
-XSLTPUBFUN int XSLTCALL
-            xsltParseAnyXSLTElem    (xsltCompilerCtxtPtr cctxt,
-                         xmlNodePtr elem);
-#ifdef XSLT_REFACTORED_XSLT_NSCOMP
-XSLTPUBFUN int XSLTCALL
-            xsltRestoreDocumentNamespaces(
-                         xsltNsMapPtr ns,
-                         xmlDocPtr doc);
-#endif
-#endif /* XSLT_REFACTORED */
-
-/************************************************************************
- *                                  *
- *  Transformation-time functions for *internal* use only               *
- *                                  *
- ************************************************************************/
-XSLTPUBFUN int XSLTCALL
-            xsltInitCtxtKey     (xsltTransformContextPtr ctxt,
-                         xsltDocumentPtr doc,
-                         xsltKeyDefPtr keyd);
-XSLTPUBFUN int XSLTCALL
-            xsltInitAllDocKeys  (xsltTransformContextPtr ctxt);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLT_H__ */
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltconfig.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltconfig.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltconfig.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Summary: compile-time version informations for the XSLT engine
- * Description: compile-time version informations for the XSLT engine
- *              this module is autogenerated.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLTCONFIG_H__
-#define __XML_XSLTCONFIG_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * LIBXSLT_DOTTED_VERSION:
- *
- * the version string like "1.2.3"
- */
-#define LIBXSLT_DOTTED_VERSION "1.1.28"
-
-/**
- * LIBXSLT_VERSION:
- *
- * the version number: 1.2.3 value is 10203
- */
-#define LIBXSLT_VERSION 10128
-
-/**
- * LIBXSLT_VERSION_STRING:
- *
- * the version number string, 1.2.3 value is "10203"
- */
-#define LIBXSLT_VERSION_STRING "10128"
-
-/**
- * LIBXSLT_VERSION_EXTRA:
- *
- * extra version information, used to show a CVS compilation
- */
-#define LIBXSLT_VERSION_EXTRA ""
-
-/**
- * WITH_XSLT_DEBUG:
- *
- * Activate the compilation of the debug reporting. Speed penalty
- * is insignifiant and being able to run xsltpoc -v is useful. On
- * by default unless --without-debug is passed to configure
- */
-#if 0
-#define WITH_XSLT_DEBUG
-#endif
-
-#if 0
-/**
- * DEBUG_MEMORY:
- *
- * should be activated only when debugging libxslt. It replaces the
- * allocator with a collect and debug shell to the libc allocator.
- * Use configure --with-mem-debug to activate it on both library
- */
-#define DEBUG_MEMORY
-
-/**
- * DEBUG_MEMORY_LOCATION:
- *
- * should be activated only when debugging libxslt.
- * DEBUG_MEMORY_LOCATION should be activated only when libxml has
- * been configured with --with-debug-mem too
- */
-#define DEBUG_MEMORY_LOCATION
-#endif
-
-/**
- * XSLT_NEED_TRIO:
- *
- * should be activated if the existing libc library lacks some of the
- * string formatting function, in that case reuse the Trio ones already
- * compiled in the libxml2 library.
- */
-
-#if 0
-#define XSLT_NEED_TRIO
-#endif
-#ifdef __VMS
-#define HAVE_MATH_H 1
-#define HAVE_SYS_STAT_H 1
-#ifndef XSLT_NEED_TRIO
-#define XSLT_NEED_TRIO
-#endif
-#endif
-
-#ifdef  XSLT_NEED_TRIO
-#define TRIO_REPLACE_STDIO
-#endif
-
-/**
- * WITH_XSLT_DEBUGGER:
- *
- * Activate the compilation of the debugger support. Speed penalty
- * is insignifiant.
- * On by default unless --without-debugger is passed to configure
- */
-#if 0
-#ifndef WITH_DEBUGGER
-#define WITH_DEBUGGER
-#endif
-#endif
-
-/**
- * WITH_MODULES:
- *
- * Whether module support is configured into libxslt
- * Note: no default module path for win32 platforms
- */
-#if 0
-#ifndef WITH_MODULES
-#define WITH_MODULES
-#endif
-#define LIBXSLT_DEFAULT_PLUGINS_PATH() "NULL"
-#endif
-
-/**
- * Locale support
- */
-#if 0
-#ifndef XSLT_LOCALE_XLOCALE
-#define XSLT_LOCALE_XLOCALE
-#endif
-#elif 0
-#ifndef XSLT_LOCALE_WINAPI
-#define XSLT_LOCALE_WINAPI
-#endif
-#endif
-
-/**
- * ATTRIBUTE_UNUSED:
- *
- * This macro is used to flag unused function parameters to GCC
- */
-#ifdef __GNUC__
-#ifdef HAVE_ANSIDECL_H
-#include 
-#endif
-#ifndef ATTRIBUTE_UNUSED
-#define ATTRIBUTE_UNUSED __attribute__((unused))
-#endif
-#else
-#define ATTRIBUTE_UNUSED
-#endif
-
-/**
- * LIBXSLT_PUBLIC:
- *
- * This macro is used to declare PUBLIC variables for Cygwin and for MSC on Windows
- */
-#if !defined LIBXSLT_PUBLIC
-#if (defined(__CYGWIN__) || defined _MSC_VER) && !defined IN_LIBXSLT && !defined LIBXSLT_STATIC
-#define LIBXSLT_PUBLIC __declspec(dllimport)
-#else
-#define LIBXSLT_PUBLIC
-#endif
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLTCONFIG_H__ */
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltconfig.h.in b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltconfig.h.in
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltconfig.h.in
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Summary: compile-time version informations for the XSLT engine
- * Description: compile-time version informations for the XSLT engine
- *              this module is autogenerated.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
-
-#ifndef __XML_XSLTCONFIG_H__
-#define __XML_XSLTCONFIG_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * LIBXSLT_DOTTED_VERSION:
- *
- * the version string like "1.2.3"
- */
-#define LIBXSLT_DOTTED_VERSION "@VERSION@"
-
-/**
- * LIBXSLT_VERSION:
- *
- * the version number: 1.2.3 value is 10203
- */
-#define LIBXSLT_VERSION @LIBXSLT_VERSION_NUMBER@
-
-/**
- * LIBXSLT_VERSION_STRING:
- *
- * the version number string, 1.2.3 value is "10203"
- */
-#define LIBXSLT_VERSION_STRING "@LIBXSLT_VERSION_NUMBER@"
-
-/**
- * LIBXSLT_VERSION_EXTRA:
- *
- * extra version information, used to show a CVS compilation
- */
-#define	LIBXSLT_VERSION_EXTRA "@LIBXSLT_VERSION_EXTRA@"
-
-/**
- * WITH_XSLT_DEBUG:
- *
- * Activate the compilation of the debug reporting. Speed penalty
- * is insignifiant and being able to run xsltpoc -v is useful. On
- * by default unless --without-debug is passed to configure
- */
-#if @WITH_XSLT_DEBUG@
-#define WITH_XSLT_DEBUG
-#endif
-
-#if @WITH_MEM_DEBUG@
-/**
- * DEBUG_MEMORY:
- *
- * should be activated only when debugging libxslt. It replaces the
- * allocator with a collect and debug shell to the libc allocator.
- * Use configure --with-mem-debug to activate it on both library
- */
-#define DEBUG_MEMORY
-
-/**
- * DEBUG_MEMORY_LOCATION:
- *
- * should be activated only when debugging libxslt.
- * DEBUG_MEMORY_LOCATION should be activated only when libxml has
- * been configured with --with-debug-mem too
- */
-#define DEBUG_MEMORY_LOCATION
-#endif
-
-/**
- * XSLT_NEED_TRIO:
- *
- * should be activated if the existing libc library lacks some of the
- * string formatting function, in that case reuse the Trio ones already
- * compiled in the libxml2 library.
- */
-
-#if @WITH_TRIO@
-#define XSLT_NEED_TRIO
-#endif
-#ifdef __VMS
-#define HAVE_MATH_H 1
-#define HAVE_SYS_STAT_H 1
-#ifndef XSLT_NEED_TRIO
-#define XSLT_NEED_TRIO
-#endif
-#endif
-
-#ifdef	XSLT_NEED_TRIO
-#define	TRIO_REPLACE_STDIO
-#endif
-
-/**
- * WITH_XSLT_DEBUGGER:
- *
- * Activate the compilation of the debugger support. Speed penalty
- * is insignifiant.
- * On by default unless --without-debugger is passed to configure
- */
-#if @WITH_DEBUGGER@
-#ifndef WITH_DEBUGGER
-#define WITH_DEBUGGER
-#endif
-#endif
-
-/**
- * WITH_MODULES:
- *
- * Whether module support is configured into libxslt
- * Note: no default module path for win32 platforms
- */
-#if @WITH_MODULES@
-#ifndef WITH_MODULES
-#define WITH_MODULES
-#endif
-#define LIBXSLT_DEFAULT_PLUGINS_PATH() "@LIBXSLT_DEFAULT_PLUGINS_PATH@"
-#endif
-
-/**
- * Locale support
- */
-#if @XSLT_LOCALE_XLOCALE@
-#ifndef XSLT_LOCALE_XLOCALE
-#define XSLT_LOCALE_XLOCALE
-#endif
-#elif @XSLT_LOCALE_WINAPI@
-#ifndef XSLT_LOCALE_WINAPI
-#define XSLT_LOCALE_WINAPI
-#endif
-#endif
-
-/**
- * ATTRIBUTE_UNUSED:
- *
- * This macro is used to flag unused function parameters to GCC
- */
-#ifdef __GNUC__
-#ifdef HAVE_ANSIDECL_H
-#include 
-#endif
-#ifndef ATTRIBUTE_UNUSED
-#define ATTRIBUTE_UNUSED __attribute__((unused))
-#endif
-#else
-#define ATTRIBUTE_UNUSED
-#endif
-
-/**
- * LIBXSLT_PUBLIC:
- *
- * This macro is used to declare PUBLIC variables for Cygwin and for MSC on Windows
- */
-#if !defined LIBXSLT_PUBLIC
-#if (defined(__CYGWIN__) || defined _MSC_VER) && !defined IN_LIBXSLT && !defined LIBXSLT_STATIC
-#define LIBXSLT_PUBLIC __declspec(dllimport)
-#else
-#define LIBXSLT_PUBLIC
-#endif
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XML_XSLTCONFIG_H__ */
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltexports.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltexports.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltexports.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Summary: macros for marking symbols as exportable/importable.
- * Description: macros for marking symbols as exportable/importable.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Igor Zlatkovic 
- */
-
-#ifndef __XSLT_EXPORTS_H__
-#define __XSLT_EXPORTS_H__
-
-/**
- * XSLTPUBFUN:
- * XSLTPUBFUN, XSLTPUBVAR, XSLTCALL
- *
- * Macros which declare an exportable function, an exportable variable and
- * the calling convention used for functions.
- *
- * Please use an extra block for every platform/compiler combination when
- * modifying this, rather than overlong #ifdef lines. This helps
- * readability as well as the fact that different compilers on the same
- * platform might need different definitions.
- */
-
-/**
- * XSLTPUBFUN:
- *
- * Macros which declare an exportable function
- */
-#define XSLTPUBFUN
-/**
- * XSLTPUBVAR:
- *
- * Macros which declare an exportable variable
- */
-#define XSLTPUBVAR extern
-/**
- * XSLTCALL:
- *
- * Macros which declare the called convention for exported functions
- */
-#define XSLTCALL
-
-/** DOC_DISABLE */
-
-/* Windows platform with MS compiler */
-#if defined(_WIN32) && defined(_MSC_VER)
-  #undef XSLTPUBFUN
-  #undef XSLTPUBVAR
-  #undef XSLTCALL
-  #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC)
-    #define XSLTPUBFUN __declspec(dllexport)
-    #define XSLTPUBVAR __declspec(dllexport)
-  #else
-    #define XSLTPUBFUN
-    #if !defined(LIBXSLT_STATIC)
-      #define XSLTPUBVAR __declspec(dllimport) extern
-    #else
-      #define XSLTPUBVAR extern
-    #endif
-  #endif
-  #define XSLTCALL __cdecl
-  #if !defined _REENTRANT
-    #define _REENTRANT
-  #endif
-#endif
-
-/* Windows platform with Borland compiler */
-#if defined(_WIN32) && defined(__BORLANDC__)
-  #undef XSLTPUBFUN
-  #undef XSLTPUBVAR
-  #undef XSLTCALL
-  #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC)
-    #define XSLTPUBFUN __declspec(dllexport)
-    #define XSLTPUBVAR __declspec(dllexport) extern
-  #else
-    #define XSLTPUBFUN
-    #if !defined(LIBXSLT_STATIC)
-      #define XSLTPUBVAR __declspec(dllimport) extern
-    #else
-      #define XSLTPUBVAR extern
-    #endif
-  #endif
-  #define XSLTCALL __cdecl
-  #if !defined _REENTRANT
-    #define _REENTRANT
-  #endif
-#endif
-
-/* Windows platform with GNU compiler (Mingw) */
-#if defined(_WIN32) && defined(__MINGW32__)
-  #undef XSLTPUBFUN
-  #undef XSLTPUBVAR
-  #undef XSLTCALL
-/*
-  #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC)
-*/
-  #if !defined(LIBXSLT_STATIC)
-    #define XSLTPUBFUN __declspec(dllexport)
-    #define XSLTPUBVAR __declspec(dllexport) extern
-  #else
-    #define XSLTPUBFUN
-    #if !defined(LIBXSLT_STATIC)
-      #define XSLTPUBVAR __declspec(dllimport) extern
-    #else
-      #define XSLTPUBVAR extern
-    #endif
-  #endif
-  #define XSLTCALL __cdecl
-  #if !defined _REENTRANT
-    #define _REENTRANT
-  #endif
-#endif
-
-/* Cygwin platform, GNU compiler */
-#if defined(_WIN32) && defined(__CYGWIN__)
-  #undef XSLTPUBFUN
-  #undef XSLTPUBVAR
-  #undef XSLTCALL
-  #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC)
-    #define XSLTPUBFUN __declspec(dllexport)
-    #define XSLTPUBVAR __declspec(dllexport)
-  #else
-    #define XSLTPUBFUN
-    #if !defined(LIBXSLT_STATIC)
-      #define XSLTPUBVAR __declspec(dllimport) extern
-    #else
-      #define XSLTPUBVAR
-    #endif
-  #endif
-  #define XSLTCALL __cdecl
-#endif
-
-/* Compatibility */
-#if !defined(LIBXSLT_PUBLIC)
-#define LIBXSLT_PUBLIC XSLTPUBVAR
-#endif
-
-#endif /* __XSLT_EXPORTS_H__ */
-
-
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltlocale.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltlocale.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltlocale.c
+++ /dev/null
@@ -1,525 +0,0 @@
-/*
- * xsltlocale.c: locale handling
- *
- * Reference:
- * RFC 3066: Tags for the Identification of Languages
- * http://www.ietf.org/rfc/rfc3066.txt
- * ISO 639-1, ISO 3166-1
- *
- * Author: Nick Wellnhofer
- * winapi port: Roumen Petrov
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#include 
-#include 
-
-#include "xsltlocale.h"
-#include "xsltutils.h"
-
-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ <= 2
-#define newlocale __newlocale
-#define freelocale __freelocale
-#define strxfrm_l __strxfrm_l
-#define LC_COLLATE_MASK (1 << LC_COLLATE)
-#endif
-
-#define TOUPPER(c) (c & ~0x20)
-#define TOLOWER(c) (c | 0x20)
-#define ISALPHA(c) ((unsigned)(TOUPPER(c) - 'A') < 26)
-
-/*without terminating null character*/
-#define XSLTMAX_ISO639LANGLEN       8
-#define XSLTMAX_ISO3166CNTRYLEN     8
-                    /* - */
-#define XSLTMAX_LANGTAGLEN      (XSLTMAX_ISO639LANGLEN+1+XSLTMAX_ISO3166CNTRYLEN)
-
-static const xmlChar* xsltDefaultRegion(const xmlChar *localeName);
-
-#ifdef XSLT_LOCALE_WINAPI
-xmlRMutexPtr xsltLocaleMutex = NULL;
-
-struct xsltRFC1766Info_s {
-      /*note typedef unsigned char xmlChar !*/
-    xmlChar    tag[XSLTMAX_LANGTAGLEN+1];
-      /*note typedef LCID xsltLocale !*/
-    xsltLocale lcid;
-};
-typedef struct xsltRFC1766Info_s xsltRFC1766Info;
-
-static int xsltLocaleListSize = 0;
-static xsltRFC1766Info *xsltLocaleList = NULL;
-
-
-static xsltLocale
-xslt_locale_WINAPI(const xmlChar *languageTag) {
-    int k;
-    xsltRFC1766Info *p = xsltLocaleList;
-
-    for (k=0; ktag, languageTag) == 0) return p->lcid;
-    return((xsltLocale)0);
-}
-
-static void xsltEnumSupportedLocales(void);
-#endif
-
-/**
- * xsltFreeLocales:
- *
- * Cleanup function for the locale support on shutdown
- */
-void
-xsltFreeLocales(void) {
-#ifdef XSLT_LOCALE_WINAPI
-    xmlRMutexLock(xsltLocaleMutex);
-    xmlFree(xsltLocaleList);
-    xsltLocaleList = NULL;
-    xmlRMutexUnlock(xsltLocaleMutex);
-#endif
-}
-
-/**
- * xsltNewLocale:
- * @languageTag: RFC 3066 language tag
- *
- * Creates a new locale of an opaque system dependent type based on the
- * language tag.
- *
- * Returns the locale or NULL on error or if no matching locale was found
- */
-xsltLocale
-xsltNewLocale(const xmlChar *languageTag) {
-#ifdef XSLT_LOCALE_XLOCALE
-    xsltLocale locale;
-    char localeName[XSLTMAX_LANGTAGLEN+6]; /* 6 chars for ".utf8\0" */
-    const xmlChar *p = languageTag;
-    const char *region = NULL;
-    char *q = localeName;
-    int i, llen;
-
-    /* Convert something like "pt-br" to "pt_BR.utf8" */
-
-    if (languageTag == NULL)
-    return(NULL);
-
-    for (i=0; i= xstrlen) {
-    xsltTransformError(NULL, NULL, NULL, "xsltStrxfrm : strxfrm failed\n");
-        xmlFree(xstr);
-        return(NULL);
-    }
-
-    return(xstr);
-#endif /* XSLT_LOCALE_NONE */
-}
-
-/**
- * xsltLocaleStrcmp:
- * @locale: a locale identifier
- * @str1: a string transformed with xsltStrxfrm
- * @str2: a string transformed with xsltStrxfrm
- *
- * Compares two strings transformed with xsltStrxfrm
- *
- * Returns a value < 0 if str1 sorts before str2,
- *         a value > 0 if str1 sorts after str2,
- *         0 if str1 and str2 are equal wrt sorting
- */
-int
-xsltLocaleStrcmp(xsltLocale locale, const xsltLocaleChar *str1, const xsltLocaleChar *str2) {
-    (void)locale;
-#ifdef XSLT_LOCALE_WINAPI
-{
-    int ret;
-    if (str1 == str2) return(0);
-    if (str1 == NULL) return(-1);
-    if (str2 == NULL) return(1);
-    ret = CompareStringW(locale, 0, str1, -1, str2, -1);
-    if (ret == 0) {
-        xsltTransformError(NULL, NULL, NULL, "xsltLocaleStrcmp : CompareStringW fail\n");
-        return(0);
-    }
-    return(ret - 2);
-}
-#else
-    return(xmlStrcmp(str1, str2));
-#endif
-}
-
-#ifdef XSLT_LOCALE_WINAPI
-/**
- * xsltCountSupportedLocales:
- * @lcid: not used
- *
- * callback used to count locales
- *
- * Returns TRUE
- */
-BOOL CALLBACK
-xsltCountSupportedLocales(LPSTR lcid) {
-    (void) lcid;
-    ++xsltLocaleListSize;
-    return(TRUE);
-}
-
-/**
- * xsltIterateSupportedLocales:
- * @lcid: not used
- *
- * callback used to track locales
- *
- * Returns TRUE if not at the end of the array
- */
-BOOL CALLBACK
-xsltIterateSupportedLocales(LPSTR lcid) {
-    static int count = 0;
-    xmlChar    iso639lang [XSLTMAX_ISO639LANGLEN  +1];
-    xmlChar    iso3136ctry[XSLTMAX_ISO3166CNTRYLEN+1];
-    int        k, l;
-    xsltRFC1766Info *p = xsltLocaleList + count;
-
-    k = sscanf(lcid, "%lx", (long*)&p->lcid);
-    if (k < 1) goto end;
-    /*don't count terminating null character*/
-    k = GetLocaleInfoA(p->lcid, LOCALE_SISO639LANGNAME , iso639lang , sizeof(iso639lang ));
-    if (--k < 1) goto end;
-    l = GetLocaleInfoA(p->lcid, LOCALE_SISO3166CTRYNAME, iso3136ctry, sizeof(iso3136ctry));
-    if (--l < 1) goto end;
-
-    {  /*fill results*/
-    xmlChar    *q = p->tag;
-    memcpy(q, iso639lang, k);
-    q += k;
-    *q++ = '-';
-    memcpy(q, iso3136ctry, l);
-    q += l;
-    *q = '\0';
-    }
-    ++count;
-end:
-    return((count < xsltLocaleListSize) ? TRUE : FALSE);
-}
-
-
-static void
-xsltEnumSupportedLocales(void) {
-    xmlRMutexLock(xsltLocaleMutex);
-    if (xsltLocaleListSize <= 0) {
-    size_t len;
-
-    EnumSystemLocalesA(xsltCountSupportedLocales, LCID_SUPPORTED);
-
-    len = xsltLocaleListSize * sizeof(xsltRFC1766Info);
-    xsltLocaleList = xmlMalloc(len);
-    memset(xsltLocaleList, 0, len);
-    EnumSystemLocalesA(xsltIterateSupportedLocales, LCID_SUPPORTED);
-    }
-    xmlRMutexUnlock(xsltLocaleMutex);
-}
-
-#endif /*def XSLT_LOCALE_WINAPI*/
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltlocale.h b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltlocale.h
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltlocale.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Summary: Locale handling
- * Description: Interfaces for locale handling. Needed for language dependent
- *              sorting.
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Nick Wellnhofer
- */
-
-#ifndef __XML_XSLTLOCALE_H__
-#define __XML_XSLTLOCALE_H__
-
-#include 
-
-#ifdef XSLT_LOCALE_XLOCALE
-
-#include 
-#include 
-
-#ifdef __GLIBC__
-/*locale_t is defined only if _GNU_SOURCE is defined*/
-typedef __locale_t xsltLocale;
-#else
-typedef locale_t xsltLocale;
-#endif
-typedef xmlChar xsltLocaleChar;
-
-#elif defined(XSLT_LOCALE_WINAPI)
-
-#include 
-#include 
-
-typedef LCID xsltLocale;
-typedef wchar_t xsltLocaleChar;
-
-#else
-
-/*
- * XSLT_LOCALE_NONE:
- * Macro indicating that locale are not supported
- */
-#ifndef XSLT_LOCALE_NONE
-#define XSLT_LOCALE_NONE
-#endif
-
-typedef void *xsltLocale;
-typedef xmlChar xsltLocaleChar;
-
-#endif
-
-xsltLocale xsltNewLocale(const xmlChar *langName);
-void xsltFreeLocale(xsltLocale locale);
-xsltLocaleChar *xsltStrxfrm(xsltLocale locale, const xmlChar *string);
-int xsltLocaleStrcmp(xsltLocale locale, const xsltLocaleChar *str1, const xsltLocaleChar *str2);
-void xsltFreeLocales(void);
-
-#endif /* __XML_XSLTLOCALE_H__ */
diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltutils.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltutils.c
deleted file mode 100644
--- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/libxslt/xsltutils.c
+++ /dev/null
@@ -1,2482 +0,0 @@
-/*
- * xsltutils.c: Utilities for the XSL Transformation 1.0 engine
- *
- * Reference:
- *   http://www.w3.org/TR/1999/REC-xslt-19991116
- *
- * See Copyright for the status of this software.
- *
- * daniel@veillard.com
- */
-
-#define IN_LIBXSLT
-#include "libxslt.h"
-
-#ifndef XSLT_NEED_TRIO
-#include 
-#else
-#include 
-#endif
-
-#include 
-#include 
-#ifdef HAVE_SYS_TIME_H
-#include 
-#endif
-#ifdef HAVE_UNISTD_H
-#include 
-#endif
-#ifdef HAVE_STDLIB_H
-#include 
-#endif
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include "xsltutils.h"
-#include "templates.h"
-#include "xsltInternals.h"
-#include "imports.h"
-#include "transform.h"
-
-/* gettimeofday on Windows ??? */
-#if defined(WIN32) && !defined(__CYGWIN__)
-#ifdef _MSC_VER
-#include 
-#pragma comment(lib, "ws2_32.lib")
-#define gettimeofday(p1,p2)
-#define HAVE_GETTIMEOFDAY
-#define XSLT_WIN32_PERFORMANCE_COUNTER
-#endif /* _MS_VER */
-#endif /* WIN32 */
-
-/************************************************************************
- *                                  *
- *          Convenience function                *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltGetCNsProp:
- * @style: the stylesheet
- * @node:  the node
- * @name:  the attribute name
- * @nameSpace:  the URI of the namespace
- *
- * Similar to xmlGetNsProp() but with a slightly different semantic
- *
- * Search and get the value of an attribute associated to a node
- * This attribute has to be anchored in the namespace specified,
- * or has no namespace and the element is in that namespace.
- *
- * This does the entity substitution.
- * This function looks in DTD attribute declaration for #FIXED or
- * default declaration values unless DTD use has been turned off.
- *
- * Returns the attribute value or NULL if not found. The string is allocated
- *         in the stylesheet dictionary.
- */
-const xmlChar *
-xsltGetCNsProp(xsltStylesheetPtr style, xmlNodePtr node,
-              const xmlChar *name, const xmlChar *nameSpace) {
-    xmlAttrPtr prop;
-    xmlDocPtr doc;
-    xmlNsPtr ns;
-    xmlChar *tmp;
-    const xmlChar *ret;
-
-    if ((node == NULL) || (style == NULL) || (style->dict == NULL))
-    return(NULL);
-
-    if (nameSpace == NULL)
-        return xmlGetProp(node, name);
-
-    if (node->type == XML_NAMESPACE_DECL)
-        return(NULL);
-    if (node->type == XML_ELEMENT_NODE)
-    prop = node->properties;
-    else
-    prop = NULL;
-    while (prop != NULL) {
-    /*
-     * One need to have
-     *   - same attribute names
-     *   - and the attribute carrying that namespace
-     */
-        if ((xmlStrEqual(prop->name, name)) &&
-        (((prop->ns == NULL) && (node->ns != NULL) &&
-          (xmlStrEqual(node->ns->href, nameSpace))) ||
-         ((prop->ns != NULL) &&
-          (xmlStrEqual(prop->ns->href, nameSpace))))) {
-
-        tmp = xmlNodeListGetString(node->doc, prop->children, 1);
-        if (tmp == NULL)
-            ret = xmlDictLookup(style->dict, BAD_CAST "", 0);
-        else {
-            ret = xmlDictLookup(style->dict, tmp, -1);
-        xmlFree(tmp);
-        }
-        return ret;
-        }
-    prop = prop->next;
-    }
-    tmp = NULL;
-    /*
-     * Check if there is a default declaration in the internal
-     * or external subsets
-     */
-    doc =  node->doc;
-    if (doc != NULL) {
-        if (doc->intSubset != NULL) {
-        xmlAttributePtr attrDecl;
-
-        attrDecl = xmlGetDtdAttrDesc(doc->intSubset, node->name, name);
-        if ((attrDecl == NULL) && (doc->extSubset != NULL))
-        attrDecl = xmlGetDtdAttrDesc(doc->extSubset, node->name, name);
-
-        if ((attrDecl != NULL) && (attrDecl->prefix != NULL)) {
-            /*
-         * The DTD declaration only allows a prefix search
-         */
-        ns = xmlSearchNs(doc, node, attrDecl->prefix);
-        if ((ns != NULL) && (xmlStrEqual(ns->href, nameSpace)))
-            return(xmlDictLookup(style->dict,
-                                 attrDecl->defaultValue, -1));
-        }
-    }
-    }
-    return(NULL);
-}
-/**
- * xsltGetNsProp:
- * @node:  the node
- * @name:  the attribute name
- * @nameSpace:  the URI of the namespace
- *
- * Similar to xmlGetNsProp() but with a slightly different semantic
- *
- * Search and get the value of an attribute associated to a node
- * This attribute has to be anchored in the namespace specified,
- * or has no namespace and the element is in that namespace.
- *
- * This does the entity substitution.
- * This function looks in DTD attribute declaration for #FIXED or
- * default declaration values unless DTD use has been turned off.
- *
- * Returns the attribute value or NULL if not found.
- *     It's up to the caller to free the memory.
- */
-xmlChar *
-xsltGetNsProp(xmlNodePtr node, const xmlChar *name, const xmlChar *nameSpace) {
-    xmlAttrPtr prop;
-    xmlDocPtr doc;
-    xmlNsPtr ns;
-
-    if (node == NULL)
-    return(NULL);
-
-    if (nameSpace == NULL)
-        return xmlGetProp(node, name);
-
-    if (node->type == XML_NAMESPACE_DECL)
-        return(NULL);
-    if (node->type == XML_ELEMENT_NODE)
-    prop = node->properties;
-    else
-    prop = NULL;
-    /*
-    * TODO: Substitute xmlGetProp() for xmlGetNsProp(), since the former
-    * is not namespace-aware and will return an attribute with equal
-    * name regardless of its namespace.
-    * Example:
-    *   
-    *   So this would return "myName" even if an attribute @name
-    *   in the XSLT was requested.
-    */
-    while (prop != NULL) {
-    /*
-     * One need to have
-     *   - same attribute names
-     *   - and the attribute carrying that namespace
-     */
-        if ((xmlStrEqual(prop->name, name)) &&
-        (((prop->ns == NULL) && (node->ns != NULL) &&
-          (xmlStrEqual(node->ns->href, nameSpace))) ||
-         ((prop->ns != NULL) &&
-          (xmlStrEqual(prop->ns->href, nameSpace))))) {
-        xmlChar *ret;
-
-        ret = xmlNodeListGetString(node->doc, prop->children, 1);
-        if (ret == NULL) return(xmlStrdup((xmlChar *)""));
-        return(ret);
-        }
-    prop = prop->next;
-    }
-
-    /*
-     * Check if there is a default declaration in the internal
-     * or external subsets
-     */
-    doc =  node->doc;
-    if (doc != NULL) {
-        if (doc->intSubset != NULL) {
-        xmlAttributePtr attrDecl;
-
-        attrDecl = xmlGetDtdAttrDesc(doc->intSubset, node->name, name);
-        if ((attrDecl == NULL) && (doc->extSubset != NULL))
-        attrDecl = xmlGetDtdAttrDesc(doc->extSubset, node->name, name);
-
-        if ((attrDecl != NULL) && (attrDecl->prefix != NULL)) {
-            /*
-         * The DTD declaration only allows a prefix search
-         */
-        ns = xmlSearchNs(doc, node, attrDecl->prefix);
-        if ((ns != NULL) && (xmlStrEqual(ns->href, nameSpace)))
-            return(xmlStrdup(attrDecl->defaultValue));
-        }
-    }
-    }
-    return(NULL);
-}
-
-/**
- * xsltGetUTF8Char:
- * @utf:  a sequence of UTF-8 encoded bytes
- * @len:  a pointer to @bytes len
- *
- * Read one UTF8 Char from @utf
- * Function copied from libxml2 xmlGetUTF8Char() ... to discard ultimately
- * and use the original API
- *
- * Returns the char value or -1 in case of error and update @len with the
- *        number of bytes used
- */
-int
-xsltGetUTF8Char(const unsigned char *utf, int *len) {
-    unsigned int c;
-
-    if (utf == NULL)
-    goto error;
-    if (len == NULL)
-    goto error;
-    if (*len < 1)
-    goto error;
-
-    c = utf[0];
-    if (c & 0x80) {
-    if (*len < 2)
-        goto error;
-    if ((utf[1] & 0xc0) != 0x80)
-        goto error;
-    if ((c & 0xe0) == 0xe0) {
-        if (*len < 3)
-        goto error;
-        if ((utf[2] & 0xc0) != 0x80)
-        goto error;
-        if ((c & 0xf0) == 0xf0) {
-        if (*len < 4)
-            goto error;
-        if ((c & 0xf8) != 0xf0 || (utf[3] & 0xc0) != 0x80)
-            goto error;
-        *len = 4;
-        /* 4-byte code */
-        c = (utf[0] & 0x7) << 18;
-        c |= (utf[1] & 0x3f) << 12;
-        c |= (utf[2] & 0x3f) << 6;
-        c |= utf[3] & 0x3f;
-        } else {
-          /* 3-byte code */
-        *len = 3;
-        c = (utf[0] & 0xf) << 12;
-        c |= (utf[1] & 0x3f) << 6;
-        c |= utf[2] & 0x3f;
-        }
-    } else {
-      /* 2-byte code */
-        *len = 2;
-        c = (utf[0] & 0x1f) << 6;
-        c |= utf[1] & 0x3f;
-    }
-    } else {
-    /* 1-byte code */
-    *len = 1;
-    }
-    return(c);
-
-error:
-    if (len != NULL)
-    *len = 0;
-    return(-1);
-}
-
-#ifdef XSLT_REFACTORED
-
-/**
- * xsltPointerListAddSize:
- * @list: the pointer list structure
- * @item: the item to be stored
- * @initialSize: the initial size of the list
- *
- * Adds an item to the list.
- *
- * Returns the position of the added item in the list or
- *         -1 in case of an error.
- */
-int
-xsltPointerListAddSize(xsltPointerListPtr list,
-               void *item,
-               int initialSize)
-{
-    if (list->items == NULL) {
-    if (initialSize <= 0)
-        initialSize = 1;
-    list->items = (void **) xmlMalloc(
-        initialSize * sizeof(void *));
-    if (list->items == NULL) {
-        xsltGenericError(xsltGenericErrorContext,
-         "xsltPointerListAddSize: memory allocation failure.\n");
-        return(-1);
-    }
-    list->number = 0;
-    list->size = initialSize;
-    } else if (list->size <= list->number) {
-    list->size *= 2;
-    list->items = (void **) xmlRealloc(list->items,
-        list->size * sizeof(void *));
-    if (list->items == NULL) {
-        xsltGenericError(xsltGenericErrorContext,
-         "xsltPointerListAddSize: memory re-allocation failure.\n");
-        list->size = 0;
-        return(-1);
-    }
-    }
-    list->items[list->number++] = item;
-    return(0);
-}
-
-/**
- * xsltPointerListCreate:
- * @initialSize: the initial size for the list
- *
- * Creates an xsltPointerList structure.
- *
- * Returns a xsltPointerList structure or NULL in case of an error.
- */
-xsltPointerListPtr
-xsltPointerListCreate(int initialSize)
-{
-    xsltPointerListPtr ret;
-
-    ret = xmlMalloc(sizeof(xsltPointerList));
-    if (ret == NULL) {
-    xsltGenericError(xsltGenericErrorContext,
-         "xsltPointerListCreate: memory allocation failure.\n");
-    return (NULL);
-    }
-    memset(ret, 0, sizeof(xsltPointerList));
-    if (initialSize > 0) {
-    xsltPointerListAddSize(ret, NULL, initialSize);
-    ret->number = 0;
-    }
-    return (ret);
-}
-
-/**
- * xsltPointerListFree:
- * @list: pointer to the list to be freed
- *
- * Frees the xsltPointerList structure. This does not free
- * the content of the list.
- */
-void
-xsltPointerListFree(xsltPointerListPtr list)
-{
-    if (list == NULL)
-    return;
-    if (list->items != NULL)
-    xmlFree(list->items);
-    xmlFree(list);
-}
-
-/**
- * xsltPointerListClear:
- * @list: pointer to the list to be cleared
- *
- * Resets the list, but does not free the allocated array
- * and does not free the content of the list.
- */
-void
-xsltPointerListClear(xsltPointerListPtr list)
-{
-    if (list->items != NULL) {
-    xmlFree(list->items);
-    list->items = NULL;
-    }
-    list->number = 0;
-    list->size = 0;
-}
-
-#endif /* XSLT_REFACTORED */
-
-/************************************************************************
- *                                  *
- *      Handling of XSLT stylesheets messages           *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltMessage:
- * @ctxt:  an XSLT processing context
- * @node:  The current node
- * @inst:  The node containing the message instruction
- *
- * Process and xsl:message construct
- */
-void
-xsltMessage(xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst) {
-    xmlGenericErrorFunc error = xsltGenericError;
-    void *errctx = xsltGenericErrorContext;
-    xmlChar *prop, *message;
-    int terminate = 0;
-
-    if ((ctxt == NULL) || (inst == NULL))
-    return;
-
-    if (ctxt->error != NULL) {
-    error = ctxt->error;
-    errctx = ctxt->errctx;
-    }
-
-    prop = xmlGetNsProp(inst, (const xmlChar *)"terminate", NULL);
-    if (prop != NULL) {
-    if (xmlStrEqual(prop, (const xmlChar *)"yes")) {
-        terminate = 1;
-    } else if (xmlStrEqual(prop, (const xmlChar *)"no")) {
-        terminate = 0;
-    } else {
-        error(errctx,
-        "xsl:message : terminate expecting 'yes' or 'no'\n");
-        ctxt->state = XSLT_STATE_ERROR;
-    }
-    xmlFree(prop);
-    }
-    message = xsltEvalTemplateString(ctxt, node, inst);
-    if (message != NULL) {
-    int len = xmlStrlen(message);
-
-    error(errctx, "%s", (const char *)message);
-    if ((len > 0) && (message[len - 1] != '\n'))
-        error(errctx, "\n");
-    xmlFree(message);
-    }
-    if (terminate)
-    ctxt->state = XSLT_STATE_STOPPED;
-}
-
-/************************************************************************
- *                                  *
- *      Handling of out of context errors           *
- *                                  *
- ************************************************************************/
-
-#define XSLT_GET_VAR_STR(msg, str) {                \
-    int       size;                     \
-    int       chars;                        \
-    char      *larger;                      \
-    va_list   ap;                       \
-                                \
-    str = (char *) xmlMalloc(150);              \
-    if (str == NULL)                        \
-    return;                         \
-                                \
-    size = 150;                         \
-                                \
-    while (size < 64000) {                  \
-    va_start(ap, msg);                  \
-    chars = vsnprintf(str, size, msg, ap);          \
-    va_end(ap);                     \
-    if ((chars > -1) && (chars < size))         \
-        break;                      \
-    if (chars > -1)                     \
-        size += chars + 1;                  \
-    else                            \
-        size += 100;                    \
-    if ((larger = (char *) xmlRealloc(str, size)) == NULL) {\
-        xmlFree(str);                   \
-        return;                     \
-    }                           \
-    str = larger;                       \
-    }                               \
-}
-/**
- * xsltGenericErrorDefaultFunc:
- * @ctx:  an error context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Default handler for out of context error messages.
- */
-static void
-xsltGenericErrorDefaultFunc(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) {
-    va_list args;
-
-    if (xsltGenericErrorContext == NULL)
-    xsltGenericErrorContext = (void *) stderr;
-
-    va_start(args, msg);
-    vfprintf((FILE *)xsltGenericErrorContext, msg, args);
-    va_end(args);
-}
-
-xmlGenericErrorFunc xsltGenericError = xsltGenericErrorDefaultFunc;
-void *xsltGenericErrorContext = NULL;
-
-
-/**
- * xsltSetGenericErrorFunc:
- * @ctx:  the new error handling context
- * @handler:  the new handler function
- *
- * Function to reset the handler and the error context for out of
- * context error messages.
- * This simply means that @handler will be called for subsequent
- * error messages while not parsing nor validating. And @ctx will
- * be passed as first argument to @handler
- * One can simply force messages to be emitted to another FILE * than
- * stderr by setting @ctx to this file handle and @handler to NULL.
- */
-void
-xsltSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler) {
-    xsltGenericErrorContext = ctx;
-    if (handler != NULL)
-    xsltGenericError = handler;
-    else
-    xsltGenericError = xsltGenericErrorDefaultFunc;
-}
-
-/**
- * xsltGenericDebugDefaultFunc:
- * @ctx:  an error context
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Default handler for out of context error messages.
- */
-static void
-xsltGenericDebugDefaultFunc(void *ctx ATTRIBUTE_UNUSED, const char *msg, ...) {
-    va_list args;
-
-    if (xsltGenericDebugContext == NULL)
-    return;
-
-    va_start(args, msg);
-    vfprintf((FILE *)xsltGenericDebugContext, msg, args);
-    va_end(args);
-}
-
-xmlGenericErrorFunc xsltGenericDebug = xsltGenericDebugDefaultFunc;
-void *xsltGenericDebugContext = NULL;
-
-
-/**
- * xsltSetGenericDebugFunc:
- * @ctx:  the new error handling context
- * @handler:  the new handler function
- *
- * Function to reset the handler and the error context for out of
- * context error messages.
- * This simply means that @handler will be called for subsequent
- * error messages while not parsing or validating. And @ctx will
- * be passed as first argument to @handler
- * One can simply force messages to be emitted to another FILE * than
- * stderr by setting @ctx to this file handle and @handler to NULL.
- */
-void
-xsltSetGenericDebugFunc(void *ctx, xmlGenericErrorFunc handler) {
-    xsltGenericDebugContext = ctx;
-    if (handler != NULL)
-    xsltGenericDebug = handler;
-    else
-    xsltGenericDebug = xsltGenericDebugDefaultFunc;
-}
-
-/**
- * xsltPrintErrorContext:
- * @ctxt:  the transformation context
- * @style:  the stylesheet
- * @node:  the current node being processed
- *
- * Display the context of an error.
- */
-void
-xsltPrintErrorContext(xsltTransformContextPtr ctxt,
-                  xsltStylesheetPtr style, xmlNodePtr node) {
-    int line = 0;
-    const xmlChar *file = NULL;
-    const xmlChar *name = NULL;
-    const char *type = "error";
-    xmlGenericErrorFunc error = xsltGenericError;
-    void *errctx = xsltGenericErrorContext;
-
-    if (ctxt != NULL) {
-    ctxt->state = XSLT_STATE_ERROR;
-    if (ctxt->error != NULL) {
-        error = ctxt->error;
-        errctx = ctxt->errctx;
-    }
-    }
-    if ((node == NULL) && (ctxt != NULL))
-    node = ctxt->inst;
-
-    if (node != NULL)  {
-    if ((node->type == XML_DOCUMENT_NODE) ||
-        (node->type == XML_HTML_DOCUMENT_NODE)) {
-        xmlDocPtr doc = (xmlDocPtr) node;
-
-        file = doc->URL;
-    } else {
-        line = xmlGetLineNo(node);
-        if ((node->doc != NULL) && (node->doc->URL != NULL))
-        file = node->doc->URL;
-        if (node->name != NULL)
-        name = node->name;
-    }
-    }
-
-    if (ctxt != NULL)
-    type = "runtime error";
-    else if (style != NULL) {
-#ifdef XSLT_REFACTORED
-    if (XSLT_CCTXT(style)->errSeverity == XSLT_ERROR_SEVERITY_WARNING)
-        type = "compilation warning";
-    else
-        type = "compilation error";
-#else
-    type = "compilation error";
-#endif
-    }
-
-    if ((file != NULL) && (line != 0) && (name != NULL))
-    error(errctx, "%s: file %s line %d element %s\n",
-          type, file, line, name);
-    else if ((file != NULL) && (name != NULL))
-    error(errctx, "%s: file %s element %s\n", type, file, name);
-    else if ((file != NULL) && (line != 0))
-    error(errctx, "%s: file %s line %d\n", type, file, line);
-    else if (file != NULL)
-    error(errctx, "%s: file %s\n", type, file);
-    else if (name != NULL)
-    error(errctx, "%s: element %s\n", type, name);
-    else
-    error(errctx, "%s\n", type);
-}
-
-/**
- * xsltSetTransformErrorFunc:
- * @ctxt:  the XSLT transformation context
- * @ctx:  the new error handling context
- * @handler:  the new handler function
- *
- * Function to reset the handler and the error context for out of
- * context error messages specific to a given XSLT transromation.
- *
- * This simply means that @handler will be called for subsequent
- * error messages while running the transformation.
- */
-void
-xsltSetTransformErrorFunc(xsltTransformContextPtr ctxt,
-                          void *ctx, xmlGenericErrorFunc handler)
-{
-    ctxt->error = handler;
-    ctxt->errctx = ctx;
-}
-
-/**
- * xsltTransformError:
- * @ctxt:  an XSLT transformation context
- * @style:  the XSLT stylesheet used
- * @node:  the current node in the stylesheet
- * @msg:  the message to display/transmit
- * @...:  extra parameters for the message display
- *
- * Display and format an error messages, gives file, line, position and
- * extra parameters, will use the specific transformation context if available
- */
-void
-xsltTransformError(xsltTransformContextPtr ctxt,
-           xsltStylesheetPtr style,
-           xmlNodePtr node,
-           const char *msg, ...) {
-    xmlGenericErrorFunc error = xsltGenericError;
-    void *errctx = xsltGenericErrorContext;
-    char * str;
-
-    if (ctxt != NULL) {
-    ctxt->state = XSLT_STATE_ERROR;
-    if (ctxt->error != NULL) {
-        error = ctxt->error;
-        errctx = ctxt->errctx;
-    }
-    }
-    if ((node == NULL) && (ctxt != NULL))
-    node = ctxt->inst;
-    xsltPrintErrorContext(ctxt, style, node);
-    XSLT_GET_VAR_STR(msg, str);
-    error(errctx, "%s", str);
-    if (str != NULL)
-    xmlFree(str);
-}
-
-/************************************************************************
- *                                  *
- *              QNames                  *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltSplitQName:
- * @dict: a dictionary
- * @name:  the full QName
- * @prefix: the return value
- *
- * Split QNames into prefix and local names, both allocated from a dictionary.
- *
- * Returns: the localname or NULL in case of error.
- */
-const xmlChar *
-xsltSplitQName(xmlDictPtr dict, const xmlChar *name, const xmlChar **prefix) {
-    int len = 0;
-    const xmlChar *ret = NULL;
-
-    *prefix = NULL;
-    if ((name == NULL) || (dict == NULL)) return(NULL);
-    if (name[0] == ':')
-        return(xmlDictLookup(dict, name, -1));
-    while ((name[len] != 0) && (name[len] != ':')) len++;
-    if (name[len] == 0) return(xmlDictLookup(dict, name, -1));
-    *prefix = xmlDictLookup(dict, name, len);
-    ret = xmlDictLookup(dict, &name[len + 1], -1);
-    return(ret);
-}
-
-/**
- * xsltGetQNameURI:
- * @node:  the node holding the QName
- * @name:  pointer to the initial QName value
- *
- * This function analyzes @name, if the name contains a prefix,
- * the function seaches the associated namespace in scope for it.
- * It will also replace @name value with the NCName, the old value being
- * freed.
- * Errors in the prefix lookup are signalled by setting @name to NULL.
- *
- * NOTE: the namespace returned is a pointer to the place where it is
- *       defined and hence has the same lifespan as the document holding it.
- *
- * Returns the namespace URI if there is a prefix, or NULL if @name is
- *         not prefixed.
- */
-const xmlChar *
-xsltGetQNameURI(xmlNodePtr node, xmlChar ** name)
-{
-    int len = 0;
-    xmlChar *qname;
-    xmlNsPtr ns;
-
-    if (name == NULL)
-    return(NULL);
-    qname = *name;
-    if ((qname == NULL) || (*qname == 0))
-    return(NULL);
-    if (node == NULL) {
-    xsltGenericError(xsltGenericErrorContext,
-                 "QName: no element for namespace lookup %s\n",
-             qname);
-    xmlFree(qname);
-    *name = NULL;
-    return(NULL);
-    }
-
-    /* nasty but valid */
-    if (qname[0] == ':')
-    return(NULL);
-
-    /*
-     * we are not trying to validate but just to cut, and yes it will
-     * work even if this is a set of UTF-8 encoded chars
-     */
-    while ((qname[len] != 0) && (qname[len] != ':'))
-    len++;
-
-    if (qname[len] == 0)
-    return(NULL);
-
-    /*
-     * handle xml: separately, this one is magical
-     */
-    if ((qname[0] == 'x') && (qname[1] == 'm') &&
-        (qname[2] == 'l') && (qname[3] == ':')) {
-    if (qname[4] == 0)
-        return(NULL);
-        *name = xmlStrdup(&qname[4]);
-    xmlFree(qname);
-    return(XML_XML_NAMESPACE);
-    }
-
-    qname[len] = 0;
-    ns = xmlSearchNs(node->doc, node, qname);
-    if (ns == NULL) {
-    xsltGenericError(xsltGenericErrorContext,
-        "%s:%s : no namespace bound to prefix %s\n",
-                 qname, &qname[len + 1], qname);
-    *name = NULL;
-    xmlFree(qname);
-    return(NULL);
-    }
-    *name = xmlStrdup(&qname[len + 1]);
-    xmlFree(qname);
-    return(ns->href);
-}
-
-/**
- * xsltGetQNameURI2:
- * @style:  stylesheet pointer
- * @node:   the node holding the QName
- * @name:   pointer to the initial QName value
- *
- * This function is similar to xsltGetQNameURI, but is used when
- * @name is a dictionary entry.
- *
- * Returns the namespace URI if there is a prefix, or NULL if @name is
- * not prefixed.
- */
-const xmlChar *
-xsltGetQNameURI2(xsltStylesheetPtr style, xmlNodePtr node,
-         const xmlChar **name) {
-    int len = 0;
-    xmlChar *qname;
-    xmlNsPtr ns;
-
-    if (name == NULL)
-        return(NULL);
-    qname = (xmlChar *)*name;
-    if ((qname == NULL) || (*qname == 0))
-        return(NULL);
-    if (node == NULL) {
-        xsltGenericError(xsltGenericErrorContext,
-                         "QName: no element for namespace lookup %s\n",
-                          qname);
-    *name = NULL;
-    return(NULL);
-    }
-
-    /*
-     * we are not trying to validate but just to cut, and yes it will
-     * work even if this is a set of UTF-8 encoded chars
-     */
-    while ((qname[len] != 0) && (qname[len] != ':'))
-        len++;
-
-    if (qname[len] == 0)
-        return(NULL);
-
-    /*
-     * handle xml: separately, this one is magical
-     */
-    if ((qname[0] == 'x') && (qname[1] == 'm') &&
-        (qname[2] == 'l') && (qname[3] == ':')) {
-        if (qname[4] == 0)
-            return(NULL);
-        *name = xmlDictLookup(style->dict, &qname[4], -1);
-        return(XML_XML_NAMESPACE);
-    }
-
-    qname = xmlStrndup(*name, len);
-    ns = xmlSearchNs(node->doc, node, qname);
-    if (ns == NULL) {
-    if (style) {
-        xsltTransformError(NULL, style, node,
-        "No namespace bound to prefix '%s'.\n",
-        qname);
-        style->errors++;
-    } else {
-        xsltGenericError(xsltGenericErrorContext,
-                "%s : no namespace bound to prefix %s\n",
-        *name, qname);
-    }
-        *name = NULL;
-        xmlFree(qname);
-        return(NULL);
-    }
-    *name = xmlDictLookup(style->dict, (*name)+len+1, -1);
-    xmlFree(qname);
-    return(ns->href);
-}
-
-/************************************************************************
- *                                  *
- *              Sorting                 *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltDocumentSortFunction:
- * @list:  the node set
- *
- * reorder the current node list @list accordingly to the document order
- * This function is slow, obsolete and should not be used anymore.
- */
-void
-xsltDocumentSortFunction(xmlNodeSetPtr list) {
-    int i, j;
-    int len, tst;
-    xmlNodePtr node;
-
-    if (list == NULL)
-    return;
-    len = list->nodeNr;
-    if (len <= 1)
-    return;
-    /* TODO: sort is really not optimized, does it needs to ? */
-    for (i = 0;i < len -1;i++) {
-    for (j = i + 1; j < len; j++) {
-        tst = xmlXPathCmpNodes(list->nodeTab[i], list->nodeTab[j]);
-        if (tst == -1) {
-        node = list->nodeTab[i];
-        list->nodeTab[i] = list->nodeTab[j];
-        list->nodeTab[j] = node;
-        }
-    }
-    }
-}
-
-/**
- * xsltComputeSortResult:
- * @ctxt:  a XSLT process context
- * @sort:  node list
- *
- * reorder the current node list accordingly to the set of sorting
- * requirement provided by the array of nodes.
- *
- * Returns a ordered XPath nodeset or NULL in case of error.
- */
-xmlXPathObjectPtr *
-xsltComputeSortResult(xsltTransformContextPtr ctxt, xmlNodePtr sort) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemSortPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-    xmlXPathObjectPtr *results = NULL;
-    xmlNodeSetPtr list = NULL;
-    xmlXPathObjectPtr res;
-    int len = 0;
-    int i;
-    xmlNodePtr oldNode;
-    xmlNodePtr oldInst;
-    int oldPos, oldSize ;
-    int oldNsNr;
-    xmlNsPtr *oldNamespaces;
-
-    comp = sort->psvi;
-    if (comp == NULL) {
-    xsltGenericError(xsltGenericErrorContext,
-         "xsl:sort : compilation failed\n");
-    return(NULL);
-    }
-
-    if ((comp->select == NULL) || (comp->comp == NULL))
-    return(NULL);
-
-    list = ctxt->nodeList;
-    if ((list == NULL) || (list->nodeNr <= 1))
-    return(NULL);
-
-    len = list->nodeNr;
-
-    /* TODO: xsl:sort lang attribute */
-    /* TODO: xsl:sort case-order attribute */
-
-
-    results = xmlMalloc(len * sizeof(xmlXPathObjectPtr));
-    if (results == NULL) {
-    xsltGenericError(xsltGenericErrorContext,
-         "xsltComputeSortResult: memory allocation failure\n");
-    return(NULL);
-    }
-
-    oldNode = ctxt->node;
-    oldInst = ctxt->inst;
-    oldPos = ctxt->xpathCtxt->proximityPosition;
-    oldSize = ctxt->xpathCtxt->contextSize;
-    oldNsNr = ctxt->xpathCtxt->nsNr;
-    oldNamespaces = ctxt->xpathCtxt->namespaces;
-    for (i = 0;i < len;i++) {
-    ctxt->inst = sort;
-    ctxt->xpathCtxt->contextSize = len;
-    ctxt->xpathCtxt->proximityPosition = i + 1;
-    ctxt->node = list->nodeTab[i];
-    ctxt->xpathCtxt->node = ctxt->node;
-#ifdef XSLT_REFACTORED
-    if (comp->inScopeNs != NULL) {
-        ctxt->xpathCtxt->namespaces = comp->inScopeNs->list;
-        ctxt->xpathCtxt->nsNr = comp->inScopeNs->xpathNumber;
-    } else {
-        ctxt->xpathCtxt->namespaces = NULL;
-        ctxt->xpathCtxt->nsNr = 0;
-    }
-#else
-    ctxt->xpathCtxt->namespaces = comp->nsList;
-    ctxt->xpathCtxt->nsNr = comp->nsNr;
-#endif
-    res = xmlXPathCompiledEval(comp->comp, ctxt->xpathCtxt);
-    if (res != NULL) {
-        if (res->type != XPATH_STRING)
-        res = xmlXPathConvertString(res);
-        if (comp->number)
-        res = xmlXPathConvertNumber(res);
-        res->index = i; /* Save original pos for dupl resolv */
-        if (comp->number) {
-        if (res->type == XPATH_NUMBER) {
-            results[i] = res;
-        } else {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            xsltGenericDebug(xsltGenericDebugContext,
-            "xsltComputeSortResult: select didn't evaluate to a number\n");
-#endif
-            results[i] = NULL;
-        }
-        } else {
-        if (res->type == XPATH_STRING) {
-            if (comp->locale != (xsltLocale)0) {
-            xmlChar *str = res->stringval;
-            res->stringval = (xmlChar *) xsltStrxfrm(comp->locale, str);
-            xmlFree(str);
-            }
-
-            results[i] = res;
-        } else {
-#ifdef WITH_XSLT_DEBUG_PROCESS
-            xsltGenericDebug(xsltGenericDebugContext,
-            "xsltComputeSortResult: select didn't evaluate to a string\n");
-#endif
-            results[i] = NULL;
-        }
-        }
-    } else {
-        ctxt->state = XSLT_STATE_STOPPED;
-        results[i] = NULL;
-    }
-    }
-    ctxt->node = oldNode;
-    ctxt->inst = oldInst;
-    ctxt->xpathCtxt->contextSize = oldSize;
-    ctxt->xpathCtxt->proximityPosition = oldPos;
-    ctxt->xpathCtxt->nsNr = oldNsNr;
-    ctxt->xpathCtxt->namespaces = oldNamespaces;
-
-    return(results);
-}
-
-/**
- * xsltDefaultSortFunction:
- * @ctxt:  a XSLT process context
- * @sorts:  array of sort nodes
- * @nbsorts:  the number of sorts in the array
- *
- * reorder the current node list accordingly to the set of sorting
- * requirement provided by the arry of nodes.
- */
-void
-xsltDefaultSortFunction(xsltTransformContextPtr ctxt, xmlNodePtr *sorts,
-               int nbsorts) {
-#ifdef XSLT_REFACTORED
-    xsltStyleItemSortPtr comp;
-#else
-    xsltStylePreCompPtr comp;
-#endif
-    xmlXPathObjectPtr *resultsTab[XSLT_MAX_SORT];
-    xmlXPathObjectPtr *results = NULL, *res;
-    xmlNodeSetPtr list = NULL;
-    int descending, number, desc, numb;
-    int len = 0;
-    int i, j, incr;
-    int tst;
-    int depth;
-    xmlNodePtr node;
-    xmlXPathObjectPtr tmp;
-    int tempstype[XSLT_MAX_SORT], temporder[XSLT_MAX_SORT];
-
-    if ((ctxt == NULL) || (sorts == NULL) || (nbsorts <= 0) ||
-    (nbsorts >= XSLT_MAX_SORT))
-    return;
-    if (sorts[0] == NULL)
-    return;
-    comp = sorts[0]->psvi;
-    if (comp == NULL)
-    return;
-
-    list = ctxt->nodeList;
-    if ((list == NULL) || (list->nodeNr <= 1))
-    return; /* nothing to do */
-
-    for (j = 0; j < nbsorts; j++) {
-    comp = sorts[j]->psvi;
-    tempstype[j] = 0;
-    if ((comp->stype == NULL) && (comp->has_stype != 0)) {
-        comp->stype =
-        xsltEvalAttrValueTemplate(ctxt, sorts[j],
-                      (const xmlChar *) "data-type",
-                      XSLT_NAMESPACE);
-        if (comp->stype != NULL) {
-        tempstype[j] = 1;
-        if (xmlStrEqual(comp->stype, (const xmlChar *) "text"))
-            comp->number = 0;
-        else if (xmlStrEqual(comp->stype, (const xmlChar *) "number"))
-            comp->number = 1;
-        else {
-            xsltTransformError(ctxt, NULL, sorts[j],
-              "xsltDoSortFunction: no support for data-type = %s\n",
-                     comp->stype);
-            comp->number = 0; /* use default */
-        }
-        }
-    }
-    temporder[j] = 0;
-    if ((comp->order == NULL) && (comp->has_order != 0)) {
-        comp->order = xsltEvalAttrValueTemplate(ctxt, sorts[j],
-                            (const xmlChar *) "order",
-                            XSLT_NAMESPACE);
-        if (comp->order != NULL) {
-        temporder[j] = 1;
-        if (xmlStrEqual(comp->order, (const xmlChar *) "ascending"))
-            comp->descending = 0;
-        else if (xmlStrEqual(comp->order,
-                     (const xmlChar *) "descending"))
-            comp->descending = 1;
-        else {
-            xsltTransformError(ctxt, NULL, sorts[j],
-                 "xsltDoSortFunction: invalid value %s for order\n",
-                     comp->order);
-            comp->descending = 0; /* use default */
-        }
-        }
-    }
-    }
-
-    len = list->nodeNr;
-
-    resultsTab[0] = xsltComputeSortResult(ctxt, sorts[0]);
-    for (i = 1;i < XSLT_MAX_SORT;i++)
-    resultsTab[i] = NULL;
-
-    results = resultsTab[0];
-
-    comp = sorts[0]->psvi;
-    descending = comp->descending;
-    number = comp->number;
-    if (results == NULL)
-    return;
-
-    /* Shell's sort of node-set */
-    for (incr = len / 2; incr > 0; incr /= 2) {
-    for (i = incr; i < len; i++) {
-        j = i - incr;
-        if (results[i] == NULL)
-        continue;
-
-        while (j >= 0) {
-        if (results[j] == NULL)
-            tst = 1;
-        else {
-            if (number) {
-            /* We make NaN smaller than number in accordance
-               with XSLT spec */
-            if (xmlXPathIsNaN(results[j]->floatval)) {
-                if (xmlXPathIsNaN(results[j + incr]->floatval))
-                tst = 0;
-                else
-                tst = -1;
-            } else if (xmlXPathIsNaN(results[j + incr]->floatval))
-                tst = 1;
-            else if (results[j]->floatval ==
-                results[j + incr]->floatval)
-                tst = 0;
-            else if (results[j]->floatval >
-                results[j + incr]->floatval)
-                tst = 1;
-            else tst = -1;
-            } else if(comp->locale != (xsltLocale)0) {
-            tst = xsltLocaleStrcmp(
-                comp->locale,
-                (xsltLocaleChar *) results[j]->stringval,
-                (xsltLocaleChar *) results[j + incr]->stringval);
-            } else {
-            tst = xmlStrcmp(results[j]->stringval,
-                     results[j + incr]->stringval);
-            }
-            if (descending)
-            tst = -tst;
-        }
-        if (tst == 0) {
-            /*
-             * Okay we need to use multi level sorts
-             */
-            depth = 1;
-            while (depth < nbsorts) {
-            if (sorts[depth] == NULL)
-                break;
-            comp = sorts[depth]->psvi;
-            if (comp == NULL)
-                break;
-            desc = comp->descending;
-            numb = comp->number;
-
-            /*
-             * Compute the result of the next level for the
-             * full set, this might be optimized ... or not
-             */
-            if (resultsTab[depth] == NULL)
-                resultsTab[depth] = xsltComputeSortResult(ctxt,
-                                        sorts[depth]);
-            res = resultsTab[depth];
-            if (res == NULL)
-                break;
-            if (res[j] == NULL) {
-                if (res[j+incr] != NULL)
-                tst = 1;
-            } else {
-                if (numb) {
-                /* We make NaN smaller than number in
-                   accordance with XSLT spec */
-                if (xmlXPathIsNaN(res[j]->floatval)) {
-                    if (xmlXPathIsNaN(res[j +
-                        incr]->floatval))
-                    tst = 0;
-                    else
-                        tst = -1;
-                } else if (xmlXPathIsNaN(res[j + incr]->
-                        floatval))
-                    tst = 1;
-                else if (res[j]->floatval == res[j + incr]->
-                        floatval)
-                    tst = 0;
-                else if (res[j]->floatval >
-                    res[j + incr]->floatval)
-                    tst = 1;
-                else tst = -1;
-                } else if(comp->locale != (xsltLocale)0) {
-                tst = xsltLocaleStrcmp(
-                    comp->locale,
-                    (xsltLocaleChar *) res[j]->stringval,
-                    (xsltLocaleChar *) res[j + incr]->stringval);
-                } else {
-                tst = xmlStrcmp(res[j]->stringval,
-                         res[j + incr]->stringval);
-                }
-                if (desc)
-                tst = -tst;
-            }
-
-            /*
-             * if we still can't differenciate at this level
-             * try one level deeper.
-             */
-            if (tst != 0)
-                break;
-            depth++;
-            }
-        }
-        if (tst == 0) {
-            tst = results[j]->index > results[j + incr]->index;
-        }
-        if (tst > 0) {
-            tmp = results[j];
-            results[j] = results[j + incr];
-            results[j + incr] = tmp;
-            node = list->nodeTab[j];
-            list->nodeTab[j] = list->nodeTab[j + incr];
-            list->nodeTab[j + incr] = node;
-            depth = 1;
-            while (depth < nbsorts) {
-            if (sorts[depth] == NULL)
-                break;
-            if (resultsTab[depth] == NULL)
-                break;
-            res = resultsTab[depth];
-            tmp = res[j];
-            res[j] = res[j + incr];
-            res[j + incr] = tmp;
-            depth++;
-            }
-            j -= incr;
-        } else
-            break;
-        }
-    }
-    }
-
-    for (j = 0; j < nbsorts; j++) {
-    comp = sorts[j]->psvi;
-    if (tempstype[j] == 1) {
-        /* The data-type needs to be recomputed each time */
-        xmlFree((void *)(comp->stype));
-        comp->stype = NULL;
-    }
-    if (temporder[j] == 1) {
-        /* The order needs to be recomputed each time */
-        xmlFree((void *)(comp->order));
-        comp->order = NULL;
-    }
-    if (resultsTab[j] != NULL) {
-        for (i = 0;i < len;i++)
-        xmlXPathFreeObject(resultsTab[j][i]);
-        xmlFree(resultsTab[j]);
-    }
-    }
-}
-
-
-static xsltSortFunc xsltSortFunction = xsltDefaultSortFunction;
-
-/**
- * xsltDoSortFunction:
- * @ctxt:  a XSLT process context
- * @sorts:  array of sort nodes
- * @nbsorts:  the number of sorts in the array
- *
- * reorder the current node list accordingly to the set of sorting
- * requirement provided by the arry of nodes.
- * This is a wrapper function, the actual function used is specified
- * using xsltSetCtxtSortFunc() to set the context specific sort function,
- * or xsltSetSortFunc() to set the global sort function.
- * If a sort function is set on the context, this will get called.
- * Otherwise the global sort function is called.
- */
-void
-xsltDoSortFunction(xsltTransformContextPtr ctxt, xmlNodePtr * sorts,
-                   int nbsorts)
-{
-    if (ctxt->sortfunc != NULL)
-    (ctxt->sortfunc)(ctxt, sorts, nbsorts);
-    else if (xsltSortFunction != NULL)
-        xsltSortFunction(ctxt, sorts, nbsorts);
-}
-
-/**
- * xsltSetSortFunc:
- * @handler:  the new handler function
- *
- * Function to reset the global handler for XSLT sorting.
- * If the handler is NULL, the default sort function will be used.
- */
-void
-xsltSetSortFunc(xsltSortFunc handler) {
-    if (handler != NULL)
-    xsltSortFunction = handler;
-    else
-    xsltSortFunction = xsltDefaultSortFunction;
-}
-
-/**
- * xsltSetCtxtSortFunc:
- * @ctxt:  a XSLT process context
- * @handler:  the new handler function
- *
- * Function to set the handler for XSLT sorting
- * for the specified context.
- * If the handler is NULL, then the global
- * sort function will be called
- */
-void
-xsltSetCtxtSortFunc(xsltTransformContextPtr ctxt, xsltSortFunc handler) {
-    ctxt->sortfunc = handler;
-}
-
-/************************************************************************
- *                                  *
- *              Parsing options             *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltSetCtxtParseOptions:
- * @ctxt:  a XSLT process context
- * @options:  a combination of libxml2 xmlParserOption
- *
- * Change the default parser option passed by the XSLT engine to the
- * parser when using document() loading.
- *
- * Returns the previous options or -1 in case of error
- */
-int
-xsltSetCtxtParseOptions(xsltTransformContextPtr ctxt, int options)
-{
-    int oldopts;
-
-    if (ctxt == NULL)
-        return(-1);
-    oldopts = ctxt->parserOptions;
-    if (ctxt->xinclude)
-        oldopts |= XML_PARSE_XINCLUDE;
-    ctxt->parserOptions = options;
-    if (options & XML_PARSE_XINCLUDE)
-        ctxt->xinclude = 1;
-    else
-        ctxt->xinclude = 0;
-    return(oldopts);
-}
-
-/************************************************************************
- *                                  *
- *              Output                  *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltSaveResultTo:
- * @buf:  an output buffer
- * @result:  the result xmlDocPtr
- * @style:  the stylesheet
- *
- * Save the result @result obtained by applying the @style stylesheet
- * to an I/O output channel @buf
- *
- * Returns the number of byte written or -1 in case of failure.
- */
-int
-xsltSaveResultTo(xmlOutputBufferPtr buf, xmlDocPtr result,
-           xsltStylesheetPtr style) {
-    const xmlChar *encoding;
-    int base;
-    const xmlChar *method;
-    int indent;
-
-    if ((buf == NULL) || (result == NULL) || (style == NULL))
-    return(-1);
-    if ((result->children == NULL) ||
-    ((result->children->type == XML_DTD_NODE) &&
-     (result->children->next == NULL)))
-    return(0);
-
-    if ((style->methodURI != NULL) &&
-    ((style->method == NULL) ||
-     (!xmlStrEqual(style->method, (const xmlChar *) "xhtml")))) {
-        xsltGenericError(xsltGenericErrorContext,
-        "xsltSaveResultTo : unknown ouput method\n");
-        return(-1);
-    }
-
-    base = buf->written;
-
-    XSLT_GET_IMPORT_PTR(method, style, method)
-    XSLT_GET_IMPORT_PTR(encoding, style, encoding)
-    XSLT_GET_IMPORT_INT(indent, style, indent);
-
-    if ((method == NULL) && (result->type == XML_HTML_DOCUMENT_NODE))
-    method = (const xmlChar *) "html";
-
-    if ((method != NULL) &&
-    (xmlStrEqual(method, (const xmlChar *) "html"))) {
-    if (encoding != NULL) {
-        htmlSetMetaEncoding(result, (const xmlChar *) encoding);
-    } else {
-        htmlSetMetaEncoding(result, (const xmlChar *) "UTF-8");
-    }
-    if (indent == -1)
-        indent = 1;
-    htmlDocContentDumpFormatOutput(buf, result, (const char *) encoding,
-                               indent);
-    xmlOutputBufferFlush(buf);
-    } else if ((method != NULL) &&
-    (xmlStrEqual(method, (const xmlChar *) "xhtml"))) {
-    if (encoding != NULL) {
-        htmlSetMetaEncoding(result, (const xmlChar *) encoding);
-    } else {
-        htmlSetMetaEncoding(result, (const xmlChar *) "UTF-8");
-    }
-    htmlDocContentDumpOutput(buf, result, (const char *) encoding);
-    xmlOutputBufferFlush(buf);
-    } else if ((method != NULL) &&
-           (xmlStrEqual(method, (const xmlChar *) "text"))) {
-    xmlNodePtr cur;
-
-    cur = result->children;
-    while (cur != NULL) {
-        if (cur->type == XML_TEXT_NODE)
-        xmlOutputBufferWriteString(buf, (const char *) cur->content);
-
-        /*
-         * Skip to next node
-         */
-        if (cur->children != NULL) {
-        if ((cur->children->type != XML_ENTITY_DECL) &&
-            (cur->children->type != XML_ENTITY_REF_NODE) &&
-            (cur->children->type != XML_ENTITY_NODE)) {
-            cur = cur->children;
-            continue;
-        }
-        }
-        if (cur->next != NULL) {
-        cur = cur->next;
-        continue;
-        }
-
-        do {
-        cur = cur->parent;
-        if (cur == NULL)
-            break;
-        if (cur == (xmlNodePtr) style->doc) {
-            cur = NULL;
-            break;
-        }
-        if (cur->next != NULL) {
-            cur = cur->next;
-            break;
-        }
-        } while (cur != NULL);
-    }
-    xmlOutputBufferFlush(buf);
-    } else {
-    int omitXmlDecl;
-    int standalone;
-
-    XSLT_GET_IMPORT_INT(omitXmlDecl, style, omitXmlDeclaration);
-    XSLT_GET_IMPORT_INT(standalone, style, standalone);
-
-    if (omitXmlDecl != 1) {
-        xmlOutputBufferWriteString(buf, "version != NULL) {
-        xmlOutputBufferWriteString(buf, "\"");
-        xmlOutputBufferWriteString(buf, (const char *)result->version);
-        xmlOutputBufferWriteString(buf, "\"");
-        } else
-        xmlOutputBufferWriteString(buf, "\"1.0\"");
-        if (encoding == NULL) {
-        if (result->encoding != NULL)
-            encoding = result->encoding;
-        else if (result->charset != XML_CHAR_ENCODING_UTF8)
-            encoding = (const xmlChar *)
-                   xmlGetCharEncodingName((xmlCharEncoding)
-                                          result->charset);
-        }
-        if (encoding != NULL) {
-        xmlOutputBufferWriteString(buf, " encoding=");
-        xmlOutputBufferWriteString(buf, "\"");
-        xmlOutputBufferWriteString(buf, (const char *) encoding);
-        xmlOutputBufferWriteString(buf, "\"");
-        }
-        switch (standalone) {
-        case 0:
-            xmlOutputBufferWriteString(buf, " standalone=\"no\"");
-            break;
-        case 1:
-            xmlOutputBufferWriteString(buf, " standalone=\"yes\"");
-            break;
-        default:
-            break;
-        }
-        xmlOutputBufferWriteString(buf, "?>\n");
-    }
-    if (result->children != NULL) {
-        xmlNodePtr child = result->children;
-
-        while (child != NULL) {
-        xmlNodeDumpOutput(buf, result, child, 0, (indent == 1),
-                      (const char *) encoding);
-        if (indent && ((child->type == XML_DTD_NODE) ||
-            ((child->type == XML_COMMENT_NODE) &&
-             (child->next != NULL))))
-            xmlOutputBufferWriteString(buf, "\n");
-        child = child->next;
-        }
-        if (indent)
-            xmlOutputBufferWriteString(buf, "\n");
-    }
-    xmlOutputBufferFlush(buf);
-    }
-    return(buf->written - base);
-}
-
-/**
- * xsltSaveResultToFilename:
- * @URL:  a filename or URL
- * @result:  the result xmlDocPtr
- * @style:  the stylesheet
- * @compression:  the compression factor (0 - 9 included)
- *
- * Save the result @result obtained by applying the @style stylesheet
- * to a file or @URL
- *
- * Returns the number of byte written or -1 in case of failure.
- */
-int
-xsltSaveResultToFilename(const char *URL, xmlDocPtr result,
-             xsltStylesheetPtr style, int compression) {
-    xmlOutputBufferPtr buf;
-    const xmlChar *encoding;
-    int ret;
-
-    if ((URL == NULL) || (result == NULL) || (style == NULL))
-    return(-1);
-    if (result->children == NULL)
-    return(0);
-
-    XSLT_GET_IMPORT_PTR(encoding, style, encoding)
-    if (encoding != NULL) {
-    xmlCharEncodingHandlerPtr encoder;
-
-    encoder = xmlFindCharEncodingHandler((char *)encoding);
-    if ((encoder != NULL) &&
-        (xmlStrEqual((const xmlChar *)encoder->name,
-             (const xmlChar *) "UTF-8")))
-        encoder = NULL;
-    buf = xmlOutputBufferCreateFilename(URL, encoder, compression);
-    } else {
-    buf = xmlOutputBufferCreateFilename(URL, NULL, compression);
-    }
-    if (buf == NULL)
-    return(-1);
-    xsltSaveResultTo(buf, result, style);
-    ret = xmlOutputBufferClose(buf);
-    return(ret);
-}
-
-/**
- * xsltSaveResultToFile:
- * @file:  a FILE * I/O
- * @result:  the result xmlDocPtr
- * @style:  the stylesheet
- *
- * Save the result @result obtained by applying the @style stylesheet
- * to an open FILE * I/O.
- * This does not close the FILE @file
- *
- * Returns the number of bytes written or -1 in case of failure.
- */
-int
-xsltSaveResultToFile(FILE *file, xmlDocPtr result, xsltStylesheetPtr style) {
-    xmlOutputBufferPtr buf;
-    const xmlChar *encoding;
-    int ret;
-
-    if ((file == NULL) || (result == NULL) || (style == NULL))
-    return(-1);
-    if (result->children == NULL)
-    return(0);
-
-    XSLT_GET_IMPORT_PTR(encoding, style, encoding)
-    if (encoding != NULL) {
-    xmlCharEncodingHandlerPtr encoder;
-
-    encoder = xmlFindCharEncodingHandler((char *)encoding);
-    if ((encoder != NULL) &&
-        (xmlStrEqual((const xmlChar *)encoder->name,
-             (const xmlChar *) "UTF-8")))
-        encoder = NULL;
-    buf = xmlOutputBufferCreateFile(file, encoder);
-    } else {
-    buf = xmlOutputBufferCreateFile(file, NULL);
-    }
-
-    if (buf == NULL)
-    return(-1);
-    xsltSaveResultTo(buf, result, style);
-    ret = xmlOutputBufferClose(buf);
-    return(ret);
-}
-
-/**
- * xsltSaveResultToFd:
- * @fd:  a file descriptor
- * @result:  the result xmlDocPtr
- * @style:  the stylesheet
- *
- * Save the result @result obtained by applying the @style stylesheet
- * to an open file descriptor
- * This does not close the descriptor.
- *
- * Returns the number of bytes written or -1 in case of failure.
- */
-int
-xsltSaveResultToFd(int fd, xmlDocPtr result, xsltStylesheetPtr style) {
-    xmlOutputBufferPtr buf;
-    const xmlChar *encoding;
-    int ret;
-
-    if ((fd < 0) || (result == NULL) || (style == NULL))
-    return(-1);
-    if (result->children == NULL)
-    return(0);
-
-    XSLT_GET_IMPORT_PTR(encoding, style, encoding)
-    if (encoding != NULL) {
-    xmlCharEncodingHandlerPtr encoder;
-
-    encoder = xmlFindCharEncodingHandler((char *)encoding);
-    if ((encoder != NULL) &&
-        (xmlStrEqual((const xmlChar *)encoder->name,
-             (const xmlChar *) "UTF-8")))
-        encoder = NULL;
-    buf = xmlOutputBufferCreateFd(fd, encoder);
-    } else {
-    buf = xmlOutputBufferCreateFd(fd, NULL);
-    }
-    if (buf == NULL)
-    return(-1);
-    xsltSaveResultTo(buf, result, style);
-    ret = xmlOutputBufferClose(buf);
-    return(ret);
-}
-
-/**
- * xsltSaveResultToString:
- * @doc_txt_ptr:  Memory pointer for allocated XML text
- * @doc_txt_len:  Length of the generated XML text
- * @result:  the result xmlDocPtr
- * @style:  the stylesheet
- *
- * Save the result @result obtained by applying the @style stylesheet
- * to a new allocated string.
- *
- * Returns 0 in case of success and -1 in case of error
- */
-int
-xsltSaveResultToString(xmlChar **doc_txt_ptr, int * doc_txt_len,
-               xmlDocPtr result, xsltStylesheetPtr style) {
-    xmlOutputBufferPtr buf;
-    const xmlChar *encoding;
-
-    *doc_txt_ptr = NULL;
-    *doc_txt_len = 0;
-    if (result->children == NULL)
-    return(0);
-
-    XSLT_GET_IMPORT_PTR(encoding, style, encoding)
-    if (encoding != NULL) {
-    xmlCharEncodingHandlerPtr encoder;
-
-    encoder = xmlFindCharEncodingHandler((char *)encoding);
-    if ((encoder != NULL) &&
-        (xmlStrEqual((const xmlChar *)encoder->name,
-             (const xmlChar *) "UTF-8")))
-        encoder = NULL;
-    buf = xmlAllocOutputBuffer(encoder);
-    } else {
-    buf = xmlAllocOutputBuffer(NULL);
-    }
-    if (buf == NULL)
-    return(-1);
-    xsltSaveResultTo(buf, result, style);
-#ifdef LIBXML2_NEW_BUFFER
-    if (buf->conv != NULL) {
-    *doc_txt_len = xmlBufUse(buf->conv);
-    *doc_txt_ptr = xmlStrndup(xmlBufContent(buf->conv), *doc_txt_len);
-    } else {
-    *doc_txt_len = xmlBufUse(buf->buffer);
-    *doc_txt_ptr = xmlStrndup(xmlBufContent(buf->buffer), *doc_txt_len);
-    }
-#else
-    if (buf->conv != NULL) {
-    *doc_txt_len = buf->conv->use;
-    *doc_txt_ptr = xmlStrndup(buf->conv->content, *doc_txt_len);
-    } else {
-    *doc_txt_len = buf->buffer->use;
-    *doc_txt_ptr = xmlStrndup(buf->buffer->content, *doc_txt_len);
-    }
-#endif
-    (void)xmlOutputBufferClose(buf);
-    return 0;
-}
-
-/************************************************************************
- *                                  *
- *      Generating profiling informations           *
- *                                  *
- ************************************************************************/
-
-static long calibration = -1;
-
-/**
- * xsltCalibrateTimestamps:
- *
- * Used for to calibrate the xsltTimestamp() function
- * Should work if launched at startup and we don't loose our quantum :-)
- *
- * Returns the number of milliseconds used by xsltTimestamp()
- */
-static long
-xsltCalibrateTimestamps(void) {
-    register int i;
-
-    for (i = 0;i < 999;i++)
-    xsltTimestamp();
-    return(xsltTimestamp() / 1000);
-}
-
-/**
- * xsltCalibrateAdjust:
- * @delta:  a negative dealy value found
- *
- * Used for to correct the calibration for xsltTimestamp()
- */
-void
-xsltCalibrateAdjust(long delta) {
-    calibration += delta;
-}
-
-/**
- * xsltTimestamp:
- *
- * Used for gathering profiling data
- *
- * Returns the number of tenth of milliseconds since the beginning of the
- * profiling
- */
-long
-xsltTimestamp(void)
-{
-#ifdef XSLT_WIN32_PERFORMANCE_COUNTER
-    BOOL ok;
-    LARGE_INTEGER performanceCount;
-    LARGE_INTEGER performanceFrequency;
-    LONGLONG quadCount;
-    double seconds;
-    static LONGLONG startupQuadCount = 0;
-    static LONGLONG startupQuadFreq = 0;
-
-    ok = QueryPerformanceCounter(&performanceCount);
-    if (!ok)
-        return 0;
-    quadCount = performanceCount.QuadPart;
-    if (calibration < 0) {
-        calibration = 0;
-        ok = QueryPerformanceFrequency(&performanceFrequency);
-        if (!ok)
-            return 0;
-        startupQuadFreq = performanceFrequency.QuadPart;
-        startupQuadCount = quadCount;
-        return (0);
-    }
-    if (startupQuadFreq == 0)
-        return 0;
-    seconds = (quadCount - startupQuadCount) / (double) startupQuadFreq;
-    return (long) (seconds * XSLT_TIMESTAMP_TICS_PER_SEC);
-
-#else /* XSLT_WIN32_PERFORMANCE_COUNTER */
-#ifdef HAVE_CLOCK_GETTIME
-#  if defined(CLOCK_MONOTONIC)
-#    define XSLT_CLOCK CLOCK_MONOTONIC
-#  elif defined(CLOCK_HIGHRES)
-#    define XSLT_CLOCK CLOCK_HIGHRES
-#  else
-#    define XSLT_CLOCK CLOCK_REALTIME
-#  endif
-    static struct timespec startup;
-    struct timespec cur;
-    long tics;
-
-    if (calibration < 0) {
-        clock_gettime(XSLT_CLOCK, &startup);
-        calibration = 0;
-        calibration = xsltCalibrateTimestamps();
-        clock_gettime(XSLT_CLOCK, &startup);
-        return (0);
-    }
-
-    clock_gettime(XSLT_CLOCK, &cur);
-    tics = (cur.tv_sec - startup.tv_sec) * XSLT_TIMESTAMP_TICS_PER_SEC;
-    tics += (cur.tv_nsec - startup.tv_nsec) /
-                          (1000000000l / XSLT_TIMESTAMP_TICS_PER_SEC);
-
-    tics -= calibration;
-    return(tics);
-
-#elif HAVE_GETTIMEOFDAY
-    static struct timeval startup;
-    struct timeval cur;
-    long tics;
-
-    if (calibration < 0) {
-        gettimeofday(&startup, NULL);
-        calibration = 0;
-        calibration = xsltCalibrateTimestamps();
-        gettimeofday(&startup, NULL);
-        return (0);
-    }
-
-    gettimeofday(&cur, NULL);
-    tics = (cur.tv_sec - startup.tv_sec) * XSLT_TIMESTAMP_TICS_PER_SEC;
-    tics += (cur.tv_usec - startup.tv_usec) /
-                          (1000000l / XSLT_TIMESTAMP_TICS_PER_SEC);
-
-    tics -= calibration;
-    return(tics);
-#else
-
-    /* Neither gettimeofday() nor Win32 performance counter available */
-
-    return (0);
-
-#endif /* HAVE_GETTIMEOFDAY */
-#endif /* XSLT_WIN32_PERFORMANCE_COUNTER */
-}
-
-static char *
-pretty_templ_match(xsltTemplatePtr templ) {
-  static char dst[1001];
-  char *src = (char *)templ->match;
-  int i=0,j;
-
-  /* strip white spaces */
-  for (j=0; i<1000 && src[j]; i++,j++) {
-      for(;src[j]==' ';j++);
-      dst[i]=src[j];
-  }
-  if(i<998 && templ->mode) {
-    /* append [mode] */
-    dst[i++]='[';
-    src=(char *)templ->mode;
-    for (j=0; i<999 && src[j]; i++,j++) {
-      dst[i]=src[j];
-    }
-    dst[i++]=']';
-  }
-  dst[i]='\0';
-  return dst;
-}
-
-#define MAX_TEMPLATES 10000
-
-/**
- * xsltSaveProfiling:
- * @ctxt:  an XSLT context
- * @output:  a FILE * for saving the informations
- *
- * Save the profiling informations on @output
- */
-void
-xsltSaveProfiling(xsltTransformContextPtr ctxt, FILE *output) {
-    int nb, i,j,k,l;
-    int max;
-    int total;
-    long totalt;
-    xsltTemplatePtr *templates;
-    xsltStylesheetPtr style;
-    xsltTemplatePtr templ1,templ2;
-    int *childt;
-
-    if ((output == NULL) || (ctxt == NULL))
-    return;
-    if (ctxt->profile == 0)
-    return;
-
-    nb = 0;
-    max = MAX_TEMPLATES;
-    templates = xmlMalloc(max * sizeof(xsltTemplatePtr));
-    if (templates == NULL)
-    return;
-
-    style = ctxt->style;
-    while (style != NULL) {
-    templ1 = style->templates;
-    while (templ1 != NULL) {
-        if (nb >= max)
-        break;
-
-        if (templ1->nbCalls > 0)
-        templates[nb++] = templ1;
-        templ1 = templ1->next;
-    }
-
-    style = xsltNextImport(style);
-    }
-
-    for (i = 0;i < nb -1;i++) {
-    for (j = i + 1; j < nb; j++) {
-        if ((templates[i]->time <= templates[j]->time) ||
-        ((templates[i]->time == templates[j]->time) &&
-             (templates[i]->nbCalls <= templates[j]->nbCalls))) {
-        templ1 = templates[j];
-        templates[j] = templates[i];
-        templates[i] = templ1;
-        }
-    }
-    }
-
-
-    /* print flat profile */
-
-    fprintf(output, "%6s%20s%20s%10s  Calls Tot 100us Avg\n\n",
-        "number", "match", "name", "mode");
-    total = 0;
-    totalt = 0;
-    for (i = 0;i < nb;i++) {
-         templ1 = templates[i];
-    fprintf(output, "%5d ", i);
-    if (templ1->match != NULL) {
-        if (xmlStrlen(templ1->match) > 20)
-        fprintf(output, "%s\n%26s", templ1->match, "");
-        else
-        fprintf(output, "%20s", templ1->match);
-    } else {
-        fprintf(output, "%20s", "");
-    }
-    if (templ1->name != NULL) {
-        if (xmlStrlen(templ1->name) > 20)
-        fprintf(output, "%s\n%46s", templ1->name, "");
-        else
-        fprintf(output, "%20s", templ1->name);
-    } else {
-        fprintf(output, "%20s", "");
-    }
-    if (templ1->mode != NULL) {
-        if (xmlStrlen(templ1->mode) > 10)
-        fprintf(output, "%s\n%56s", templ1->mode, "");
-        else
-        fprintf(output, "%10s", templ1->mode);
-    } else {
-        fprintf(output, "%10s", "");
-    }
-    fprintf(output, " %6d", templ1->nbCalls);
-    fprintf(output, " %6ld %6ld\n", templ1->time,
-        templ1->time / templ1->nbCalls);
-    total += templ1->nbCalls;
-    totalt += templ1->time;
-    }
-    fprintf(output, "\n%30s%26s %6d %6ld\n", "Total", "", total, totalt);
-
-
-    /* print call graph */
-
-    childt = xmlMalloc((nb + 1) * sizeof(int));
-    if (childt == NULL)
-    return;
-
-    /* precalculate children times */
-    for (i = 0; i < nb; i++) {
-        templ1 = templates[i];
-
-        childt[i] = 0;
-        for (k = 0; k < nb; k++) {
-            templ2 = templates[k];
-            for (l = 0; l < templ2->templNr; l++) {
-                if (templ2->templCalledTab[l] == templ1) {
-                    childt[i] +=templ2->time;
-                }
-            }
-        }
-    }
-    childt[i] = 0;
-
-    fprintf(output, "\nindex %% time    self  children    called     name\n");
-
-    for (i = 0; i < nb; i++) {
-        char ix_str[20], timep_str[20], times_str[20], timec_str[20], called_str[20];
-        int t;
-
-        templ1 = templates[i];
-        /* callers */
-        for (j = 0; j < templ1->templNr; j++) {
-            templ2 = templ1->templCalledTab[j];
-            for (k = 0; k < nb; k++) {
-              if (templates[k] == templ2)
-                break;
-            }
-            t=templ2?templ2->time:totalt;
-            sprintf(times_str,"%8.3f",(float)t/XSLT_TIMESTAMP_TICS_PER_SEC);
-            sprintf(timec_str,"%8.3f",(float)childt[k]/XSLT_TIMESTAMP_TICS_PER_SEC);
-            sprintf(called_str,"%6d/%d",
-                templ1->templCountTab[j], /* number of times caller calls 'this' */
-                templ1->nbCalls);         /* total number of calls to 'this' */
-
-            fprintf(output, "             %-8s %-8s %-12s     %s [%d]\n",
-                times_str,timec_str,called_str,
-                (templ2?(templ2->name?(char *)templ2->name:pretty_templ_match(templ2)):"-"),k);
-        }
-        /* this */
-        sprintf(ix_str,"[%d]",i);
-        sprintf(timep_str,"%6.2f",(float)templ1->time*100.0/totalt);
-        sprintf(times_str,"%8.3f",(float)templ1->time/XSLT_TIMESTAMP_TICS_PER_SEC);
-        sprintf(timec_str,"%8.3f",(float)childt[i]/XSLT_TIMESTAMP_TICS_PER_SEC);
-        fprintf(output, "%-5s %-6s %-8s %-8s %6d     %s [%d]\n",
-            ix_str, timep_str,times_str,timec_str,
-            templ1->nbCalls,
-            templ1->name?(char *)templ1->name:pretty_templ_match(templ1),i);
-        /* callees
-         * - go over templates[0..nb] and their templCalledTab[]
-         * - print those where we in the the call-stack
-         */
-        total = 0;
-        for (k = 0; k < nb; k++) {
-            templ2 = templates[k];
-            for (l = 0; l < templ2->templNr; l++) {
-                if (templ2->templCalledTab[l] == templ1) {
-                    total+=templ2->templCountTab[l];
-                }
-            }
-        }
-        for (k = 0; k < nb; k++) {
-            templ2 = templates[k];
-            for (l = 0; l < templ2->templNr; l++) {
-                if (templ2->templCalledTab[l] == templ1) {
-                    sprintf(times_str,"%8.3f",(float)templ2->time/XSLT_TIMESTAMP_TICS_PER_SEC);
-                    sprintf(timec_str,"%8.3f",(float)childt[k]/XSLT_TIMESTAMP_TICS_PER_SEC);
-                    sprintf(called_str,"%6d/%d",
-                        templ2->templCountTab[l], /* number of times 'this' calls callee */
-                        total);                   /* total number of calls from 'this' */
-                    fprintf(output, "             %-8s %-8s %-12s     %s [%d]\n",
-                        times_str,timec_str,called_str,
-                        templ2->name?(char *)templ2->name:pretty_templ_match(templ2),k);
-                }
-            }
-        }
-        fprintf(output, "-----------------------------------------------\n");
-    }
-
-    fprintf(output, "\f\nIndex by function name\n");
-    for (i = 0; i < nb; i++) {
-        templ1 = templates[i];
-        fprintf(output, "[%d] %s (%s:%d)\n",
-            i, templ1->name?(char *)templ1->name:pretty_templ_match(templ1),
-            templ1->style->doc->URL,templ1->elem->line);
-    }
-
-    fprintf(output, "\f\n");
-    xmlFree(childt);
-
-    xmlFree(templates);
-}
-
-/************************************************************************
- *                                  *
- *      Fetching profiling informations             *
- *                                  *
- ************************************************************************/
-
-/**
- * xsltGetProfileInformation:
- * @ctxt:  a transformation context
- *
- * This function should be called after the transformation completed
- * to extract template processing profiling informations if availble.
- * The informations are returned as an XML document tree like
- * 
- * 
- *