]> granicus.if.org Git - apache/commitdiff
Fix --enable-modules=all breakage with mod_auth_db and mod_auth_digest
authorJustin Erenkrantz <jerenkrantz@apache.org>
Fri, 17 Aug 2001 00:31:50 +0000 (00:31 +0000)
committerJustin Erenkrantz <jerenkrantz@apache.org>
Fri, 17 Aug 2001 00:31:50 +0000 (00:31 +0000)
by allowing a module to disable itself if its prerequisites are not met.

This introduces the subtle nuance that if you request a module and you
don't meet its prerequisites, it'll refuse to build itself.

mod_ssl exits if its prerequisites are not met.

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

CHANGES
acinclude.m4
modules/aaa/config.m4

diff --git a/CHANGES b/CHANGES
index 94380a1dfb7c3fd91f1007ae4578644b643def28..44bc2510b53bd742a18676e208a26ebb2546b5ea 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,9 @@
 Changes with Apache 2.0.25-dev
 
+  *) Fix --enable-modules=all breakage with mod_auth_db and mod_auth_digest
+     by allowing a module to disable itself if its prerequisites are not
+     met.  [Justin Erenkrantz]
+
   *) Fix an assertion failure in mod_ssl when the keepalive timeout is  
      reached.  [Jeff Trawick]
 
index d5c80009fd37a99e43242e60f8367346faecd216..21bf5d6cf81e52b86cce73c37cd32548aa278051 100644 (file)
@@ -217,6 +217,16 @@ AC_DEFUN(APACHE_MODULE,[
       enable_$1=no
     fi
   fi
+  if test "$enable_$1" != "no"; then
+    dnl If we plan to enable it, allow the module to run some autoconf magic
+    dnl that may disable it because of missing dependencies.
+    ifelse([$6],,:,[AC_MSG_RESULT([checking dependencies])
+                    $6
+                    AC_MSG_CHECKING(whether to enable mod_$1)
+                    if test "$enable_$1" = "no"; then
+                      _apmod_extra_msg=" (disabled)"
+                    fi])
+  fi
   AC_MSG_RESULT($enable_$1$_apmod_extra_msg)
   if test "$enable_$1" != "no"; then
     case "$enable_$1" in
@@ -231,7 +241,6 @@ AC_DEFUN(APACHE_MODULE,[
       fi
       shared="";;
     esac
-    ifelse([$6],,:,[$6])
     APACHE_MODPATH_ADD($1, $shared, $3)
   fi
 ])dnl
index e425da32b30664a0d15fa4a5f6e69c7b5b2b2222..a207aa603348caba7211b296cb490f58d14cbf43 100644 (file)
@@ -10,11 +10,15 @@ APACHE_MODULE(auth_anon, anonymous user access, , , most)
 APACHE_MODULE(auth_dbm, DBM-based access databases, , , most)
 
 APACHE_MODULE(auth_db, DB-based access databases, , , , [
-  AC_CHECK_HEADERS(db.h)
-  AC_CHECK_LIB(db,main)
+  AC_CHECK_HEADERS(db.h,,enable_auth_db=no)
+  AC_CHECK_LIB(db,main,,enable_auth_db=no)
 ]) 
 
-APACHE_MODULE(auth_digest, RFC2617 Digest authentication, , , most)
+APACHE_MODULE(auth_digest, RFC2617 Digest authentication, , , most, [
+  AC_TRY_COMPILE([#include <apr.h>], 
+                 [#if !APR_HAS_RANDOM #error You need APR random support to use auth_digest. #endif],,
+                 enable_auth_digest=no)
+])
 
 APR_ADDTO(LT_LDFLAGS,-export-dynamic)