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