exslt support
diff --git a/auto/lib/libxslt/conf b/auto/lib/libxslt/conf
index 30ef6d0..8c9ea8b 100644
--- a/auto/lib/libxslt/conf
+++ b/auto/lib/libxslt/conf
@@ -88,3 +88,68 @@
exit 1
fi
+
+
+ ngx_feature="libexslt"
+ ngx_feature_name=NGX_HAVE_EXSLT
+ ngx_feature_run=no
+ ngx_feature_incs="#include <libexslt/exslt.h>"
+ ngx_feature_path="/usr/include/libxml2"
+ ngx_feature_libs="-lexslt"
+ ngx_feature_test="exsltRegisterAll();"
+ . auto/feature
+
+if [ $ngx_found = no ]; then
+
+ # FreeBSD port
+
+ ngx_feature="libexslt in /usr/local/"
+ ngx_feature_path="/usr/local/include/libxml2 /usr/local/include"
+
+ if [ $NGX_RPATH = YES ]; then
+ ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lexslt"
+ else
+ ngx_feature_libs="-L/usr/local/lib -lexslt"
+ fi
+
+ . auto/feature
+fi
+
+
+if [ $ngx_found = no ]; then
+
+ # NetBSD port
+
+ ngx_feature="libexslt in /usr/pkg/"
+ ngx_feature_path="/usr/pkg/include/libxml2 /usr/local/include"
+
+ if [ $NGX_RPATH = YES ]; then
+ ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lexslt"
+ else
+ ngx_feature_libs="-L/usr/pkg/lib -lexslt"
+ fi
+
+ . auto/feature
+fi
+
+
+if [ $ngx_found = no ]; then
+
+ # MacPorts
+
+ ngx_feature="libexslt in /opt/local/"
+ ngx_feature_path="/opt/local/include/libxml2 /opt/local/include"
+
+ if [ $NGX_RPATH = YES ]; then
+ ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lexslt"
+ else
+ ngx_feature_libs="-L/opt/local/lib -lexslt"
+ fi
+
+ . auto/feature
+fi
+
+
+if [ $ngx_found = yes ]; then
+ CORE_LIBS="$CORE_LIBS -lexslt"
+fi
diff --git a/src/http/modules/ngx_http_xslt_filter_module.c b/src/http/modules/ngx_http_xslt_filter_module.c
index e4fc5cd..f65ab42 100644
--- a/src/http/modules/ngx_http_xslt_filter_module.c
+++ b/src/http/modules/ngx_http_xslt_filter_module.c
@@ -15,6 +15,10 @@
#include <libxslt/transform.h>
#include <libxslt/xsltutils.h>
+#if (NGX_HAVE_EXSLT)
+#include <libexslt/exslt.h>
+#endif
+
#ifndef NGX_HTTP_XSLT_REUSE_DTD
#define NGX_HTTP_XSLT_REUSE_DTD 1
@@ -1269,6 +1273,10 @@
{
xmlInitParser();
+#if (NGX_HAVE_EXSLT)
+ exsltRegisterAll();
+#endif
+
ngx_http_next_header_filter = ngx_http_top_header_filter;
ngx_http_top_header_filter = ngx_http_xslt_header_filter;