From 13618e8c659bed4a80de4cfabf3d4bda022c0877 Mon Sep 17 00:00:00 2001 From: Rainer Jung Date: Fri, 2 Jan 2009 18:15:02 +0000 Subject: [PATCH] Add a declaration check for CMSG_DATA to mod_proxy_fdpass. 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 | 9 ++++++++- modules/proxy/mod_proxy_fdpass.c | 8 ++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/modules/proxy/config.m4 b/modules/proxy/config.m4 index 5ebff3b1fc..25309212c3 100644 --- a/modules/proxy/config.m4 +++ b/modules/proxy/config.m4 @@ -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 ]]) + 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) diff --git a/modules/proxy/mod_proxy_fdpass.c b/modules/proxy/mod_proxy_fdpass.c index cf66579d07..7396677bf9 100644 --- a/modules/proxy/mod_proxy_fdpass.c +++ b/modules/proxy/mod_proxy_fdpass.c @@ -16,14 +16,14 @@ #include "mod_proxy.h" -#ifndef CMSG_DATA -#error This module only works on unix platforms with the correct OS support -#endif - #include #include #include +#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"