ngx_http_image_filter_module
diff --git a/auto/lib/conf b/auto/lib/conf index 0462228..a4155e1 100644 --- a/auto/lib/conf +++ b/auto/lib/conf
@@ -45,6 +45,10 @@ . auto/lib/libxslt/conf fi +if [ $USE_LIBGD = YES ]; then + . auto/lib/libgd/conf +fi + if [ $USE_PERL = YES ]; then . auto/lib/perl/conf fi
diff --git a/auto/lib/libgd/conf b/auto/lib/libgd/conf new file mode 100644 index 0000000..3a52770 --- /dev/null +++ b/auto/lib/libgd/conf
@@ -0,0 +1,81 @@ + +# Copyright (C) Igor Sysoev + + + ngx_feature="GD library" + ngx_feature_name= + ngx_feature_run=no + ngx_feature_incs="#include <gd.h>" + ngx_feature_path= + ngx_feature_libs="-lgd" + ngx_feature_test="gdImagePtr img = gdImageCreateFromGifPtr(1, NULL);" + . auto/feature + + +if [ $ngx_found = no ]; then + + # FreeBSD port + + ngx_feature="GD library in /usr/local/" + ngx_feature_path="/usr/local/include" + + if [ $NGX_RPATH = YES ]; then + ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lgd" + else + ngx_feature_libs="-L/usr/local/lib -lgd" + fi + + . auto/feature +fi + + +if [ $ngx_found = no ]; then + + # NetBSD port + + ngx_feature="GD library in /usr/pkg/" + ngx_feature_path="/usr/pkg/include/" + + if [ $NGX_RPATH = YES ]; then + ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lgd" + else + ngx_feature_libs="-L/usr/pkg/lib -lgd" + fi + + . auto/feature +fi + + +if [ $ngx_found = no ]; then + + # MacPorts + + ngx_feature="GD library in /opt/local/" + ngx_feature_path="/opt/local/include" + + if [ $NGX_RPATH = YES ]; then + ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lgd" + else + ngx_feature_libs="-L/opt/local/lib -lgd" + fi + + . auto/feature +fi + + +if [ $ngx_found = yes ]; then + + CORE_LIBS="$CORE_LIBS $ngx_feature_libs" + +else + +cat << END + +$0: error: the HTTP image filter module requires the GD library. +You can either do not enable the module or install the libraries. + +END + + exit 1 + +fi
diff --git a/auto/modules b/auto/modules index 5e9d4d5..6aa0089 100644 --- a/auto/modules +++ b/auto/modules
@@ -148,6 +148,12 @@ HTTP_SRCS="$HTTP_SRCS $HTTP_XSLT_SRCS" fi +if [ $HTTP_IMAGE_FILTER = YES ]; then + USE_LIBGD=YES + HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_IMAGE_FILTER_MODULE" + HTTP_SRCS="$HTTP_SRCS $HTTP_IMAGE_SRCS" +fi + if [ $HTTP_SUB = YES ]; then HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SUB_FILTER_MODULE" HTTP_SRCS="$HTTP_SRCS $HTTP_SUB_SRCS"
diff --git a/auto/options b/auto/options index 9878557..742a9f8 100644 --- a/auto/options +++ b/auto/options
@@ -60,6 +60,7 @@ HTTP_POSTPONE=NO HTTP_REALIP=NO HTTP_XSLT=NO +HTTP_IMAGE_FILTER=NO HTTP_SUB=NO HTTP_ADDITION=NO HTTP_DAV=NO @@ -123,6 +124,7 @@ NGX_PERL=perl USE_LIBXSLT=NO +USE_LIBGD=NO NGX_GOOGLE_PERFTOOLS=NO NGX_CPP_TEST=NO @@ -181,6 +183,7 @@ --with-http_realip_module) HTTP_REALIP=YES ;; --with-http_addition_module) HTTP_ADDITION=YES ;; --with-http_xslt_module) HTTP_XSLT=YES ;; + --with-http_image_filter_module) HTTP_IMAGE_FILTER=YES ;; --with-http_sub_module) HTTP_SUB=YES ;; --with-http_dav_module) HTTP_DAV=YES ;; --with-http_flv_module) HTTP_FLV=YES ;;
diff --git a/auto/sources b/auto/sources index 7ee0d44..319026b 100644 --- a/auto/sources +++ b/auto/sources
@@ -328,6 +328,10 @@ HTTP_XSLT_SRCS=src/http/modules/ngx_http_xslt_filter_module.c +HTTP_IMAGE_FILTER_MODULE=ngx_http_image_filter_module +HTTP_IMAGE_SRCS=src/http/modules/ngx_http_image_filter_module.c + + HTTP_SUB_FILTER_MODULE=ngx_http_sub_filter_module HTTP_SUB_SRCS=src/http/modules/ngx_http_sub_filter_module.c