]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Add a declaration check for CMSG_DATA to mod_proxy_fdpass.
authorRainer Jung <rjung@apache.org>
Fri, 2 Jan 2009 18:15:02 +0000 (18:15 +0000)
committerRainer Jung <rjung@apache.org>
Fri, 2 Jan 2009 18:15:02 +0000 (18:15 +0000)
Also move '#error' after the includes, because it seems
CMSG_DATA is commonly defined in sys/socket.h.

The check also overwrites _apmod_error_fatal in case
CMSG_DATA is not defined to allow building when configure
was called with "--enable-proxy". Otherwise one would need
to explicitly disable mod_proxy_fdpass.

We might want to remove the #error completely, because the
new feature test prevents the building of the module when
the symbol is not defined.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@730803 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/config.m4
modules/proxy/mod_proxy_fdpass.c

index 5ebff3b1fccc4f98203bae97695bb7018fc660c1..25309212c31e3d68cc30517d68e0a0a6dbabeea4 100644 (file)
@@ -42,7 +42,14 @@ APACHE_MODULE(proxy_ftp, Apache proxy FTP module, $proxy_ftp_objs, , $proxy_mods
 APACHE_MODULE(proxy_http, Apache proxy HTTP module, $proxy_http_objs, , $proxy_mods_enable)
 APACHE_MODULE(proxy_fcgi, Apache proxy FastCGI module, $proxy_fcgi_objs, , $proxy_mods_enable)
 APACHE_MODULE(proxy_scgi, Apache proxy SCGI module, $proxy_scgi_objs, , $proxy_mods_enable)
-APACHE_MODULE(proxy_fdpass, Apache proxy to Unix Daemon Socket module, $proxy_fdpass_objs, , $proxy_mods_enable)
+APACHE_MODULE(proxy_fdpass, Apache proxy to Unix Daemon Socket module, $proxy_fdpass_objs, , $proxy_mods_enable, [
+  AC_CHECK_DECLS(CMSG_DATA, [ap_HAVE_DECL_CMSG_DATA="yes"], [ap_HAVE_DECL_CMSG_DATA="no"], [[#include <sys/socket.h>]])
+  if test $ap_HAVE_DECL_CMSG_DATA = "no"; then
+    AC_MSG_WARN([Your system does not support CMSG_DATA.])
+    enable_proxy_fdpass="no"
+    _apmod_error_fatal="no"
+  fi
+])
 APACHE_MODULE(proxy_ajp, Apache proxy AJP module, $proxy_ajp_objs, , $proxy_mods_enable)
 APACHE_MODULE(proxy_balancer, Apache proxy BALANCER module, $proxy_balancer_objs, , $proxy_mods_enable)
 
index cf66579d07c0092702caca34f4925edfb8085d59..7396677bf9cedc075af95916cc27beff201da7d1 100644 (file)
 
 #include "mod_proxy.h"
 
-#ifndef CMSG_DATA
-#error This module only works on unix platforms with the correct OS support
-#endif
-
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/un.h>
 
+#ifndef CMSG_DATA
+#error This module only works on unix platforms with the correct OS support
+#endif
+
 /* for apr_wait_for_io_or_timeout */
 #include "apr_support.h"