diff options
author | Igor Sysoev <igor@sysoev.ru> | 2008-11-11 15:22:24 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2008-11-11 15:22:24 +0000 |
commit | 05215534e725b47de87a3a207b6e27da7cd2e010 (patch) | |
tree | 82c9297698d246de9a7fde906f6bedaed5d90be1 | |
parent | bc70b323d3b31e4247e6d183a9d1b4e43c907472 (diff) | |
download | nginx-05215534e725b47de87a3a207b6e27da7cd2e010.tar.gz |
exslt support
-rw-r--r-- | auto/lib/libxslt/conf | 65 | ||||
-rw-r--r-- | src/http/modules/ngx_http_xslt_filter_module.c | 8 |
2 files changed, 73 insertions, 0 deletions
diff --git a/auto/lib/libxslt/conf b/auto/lib/libxslt/conf index 30ef6d0da..8c9ea8ba1 100644 --- a/auto/lib/libxslt/conf +++ b/auto/lib/libxslt/conf @@ -88,3 +88,68 @@ END 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 e4fc5cd2f..f65ab4208 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 @@ ngx_http_xslt_filter_init(ngx_conf_t *cf) { 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; |