ngx_cpp_test_module
diff --git a/auto/modules b/auto/modules
index 0c2a367..36ed53f 100644
--- a/auto/modules
+++ b/auto/modules
@@ -392,6 +392,11 @@
fi
+if [ $NGX_CPP_TEST_MODULE = YES ]; then
+ NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_CPP_TEST_SRCS"
+fi
+
+
cat << END > $NGX_MODULES_C
#include <ngx_config.h>
diff --git a/auto/options b/auto/options
index 1498243..b99e904 100644
--- a/auto/options
+++ b/auto/options
@@ -119,6 +119,7 @@
USE_LIBXSLT=NO
NGX_GOOGLE_PERFTOOLS=NO
+NGX_CPP_TEST=NO
NGX_CPU_CACHE_LINE=
@@ -208,6 +209,7 @@
--without-mail_smtp_module) MAIL_SMTP=NO ;;
--with-google_perftools_module) NGX_GOOGLE_PERFTOOLS=YES ;;
+ --with-cpp_test_module) NGX_CPP_TEST_MODULE=YES ;;
--add-module=*) NGX_ADDONS="$NGX_ADDONS $value" ;;
@@ -327,6 +329,7 @@
--without-mail_smtp_module disable ngx_mail_smtp_module
--with-google_perftools_module enable ngx_google_perftools_module
+ --with-cpp_test_module enable ngx_cpp_test_module
--add-module=PATH enable an external module
diff --git a/auto/sources b/auto/sources
index 82734dd..66859ae 100644
--- a/auto/sources
+++ b/auto/sources
@@ -474,3 +474,4 @@
NGX_GOOGLE_PERFTOOLS_MODULE=ngx_google_perftools_module
NGX_GOOGLE_PERFTOOLS_SRCS=src/misc/ngx_google_perftools_module.c
+NGX_CPP_TEST_SRCS=src/misc/ngx_cpp_test_module.cpp
diff --git a/src/misc/ngx_cpp_test_module.cpp b/src/misc/ngx_cpp_test_module.cpp
new file mode 100644
index 0000000..8f87dcd
--- /dev/null
+++ b/src/misc/ngx_cpp_test_module.cpp
@@ -0,0 +1,27 @@
+
+// stub module to test header files' C++ compatibilty
+
+extern "C" {
+ #include <ngx_config.h>
+ #include <ngx_core.h>
+ #include <ngx_event.h>
+ #include <ngx_event_connect.h>
+ #include <ngx_event_pipe.h>
+
+ #include <ngx_http.h>
+
+ #include <ngx_mail.h>
+ #include <ngx_mail_pop3_module.h>
+ #include <ngx_mail_imap_module.h>
+ #include <ngx_mail_smtp_module.h>
+}
+
+// nginx header files should go before other, because they define 64-bit off_t
+// #include <string>
+
+
+void
+ngx_cpp_test_handler(void *data)
+{
+ return;
+}