]> granicus.if.org Git - apache/blobdiff - acinclude.m4
xforms
[apache] / acinclude.m4
index 2911fba1aa7cc4d5d5ee6ed61633859fe887fb56..44c12673df59bf50c18b06a2d7f90afd68732d8a 100644 (file)
@@ -53,6 +53,8 @@ AC_DEFUN(APACHE_GEN_CONFIG_VARS,[
   APACHE_SUBST(CPPFLAGS)
   APACHE_SUBST(CFLAGS)
   APACHE_SUBST(CXXFLAGS)
+  APACHE_SUBST(CC_FOR_BUILD)
+  APACHE_SUBST(CFLAGS_FOR_BUILD)
   APACHE_SUBST(LTFLAGS)
   APACHE_SUBST(LDFLAGS)
   APACHE_SUBST(LT_LDFLAGS)
@@ -99,10 +101,12 @@ AC_DEFUN(APACHE_GEN_CONFIG_VARS,[
   APACHE_SUBST(APU_INCLUDEDIR)
   APACHE_SUBST(APU_VERSION)
   APACHE_SUBST(APU_CONFIG)
+  APACHE_SUBST(APREQ_MAJOR_VERSION)
+  APACHE_SUBST(APREQ_LIBTOOL_VERSION)
 
   abs_srcdir="`(cd $srcdir && pwd)`"
 
-  echo creating config_vars.mk
+  AC_MSG_NOTICE([creating config_vars.mk])
   test -d build || $mkdir_p build
   > build/config_vars.mk
   for i in $APACHE_VAR_SUBST; do
@@ -265,7 +269,7 @@ EOF
 ])dnl
 
 dnl
-dnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config]]]])
+dnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config[, prereq_module]]]]])
 dnl
 dnl default is one of:
 dnl   yes    -- enabled by default. user must explicitly disable.
@@ -282,6 +286,15 @@ dnl            setting. otherwise, fall under the "all" setting.
 dnl            explicit yes/no always overrides, except if the user selects
 dnl            "reallyall".
 dnl
+dnl prereq_module is a module (without the "mod_" prefix) that must be enabled
+dnl   if the current module is enabled.  If the current module is built
+dnl   statically, prereq_module must be built statically, too.  If these
+dnl   conditions are not fulfilled, configure will abort if the current module
+dnl   has been enabled explicitly. Otherwise, configure will disable the
+dnl   current module.
+dnl   prereq_module's APACHE_MODULE() statement must have been processed
+dnl   before the current APACHE_MODULE() statement.
+dnl
 AC_DEFUN(APACHE_MODULE,[
   AC_MSG_CHECKING(whether to enable mod_$1)
   define([optname],[--]ifelse($5,yes,disable,enable)[-]translit($1,_,-))dnl
@@ -334,16 +347,25 @@ AC_DEFUN(APACHE_MODULE,[
   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
-                      if test "$_apmod_required" = "no"; then
-                        _apmod_extra_msg=" (disabled)"
-                      else
-                        AC_MSG_ERROR([mod_$1 has been requested but can not be built due to prerequisite failures])
-                      fi
-                    fi])
+    ifelse([$6$7],,:,
+           [AC_MSG_RESULT([checking dependencies])
+            ifelse([$7],,:,[if test "$enable_$7" = "no" ; then
+                              enable_$1=no
+                              AC_MSG_WARN("mod_$7 is disabled but required for mod_$1")
+                            elif test "$enable_$1" = "static" && test "$enable_$7" != "static" ; then
+                              enable_$1=no
+                              AC_MSG_WARN("cannot build mod_$1 statically if mod_$7 is built shared")
+                            else])
+            ifelse([$6],,:,[  $6])
+            ifelse([$7],,:,[fi])
+            AC_MSG_CHECKING(whether to enable mod_$1)
+            if test "$enable_$1" = "no"; then
+              if test "$_apmod_required" = "no"; then
+                _apmod_extra_msg=" (disabled)"
+              else
+                AC_MSG_ERROR([mod_$1 has been requested but can not be built due to prerequisite failures])
+              fi
+            fi])
   fi
   AC_MSG_RESULT($enable_$1$_apmod_extra_msg)
   if test "$enable_$1" != "no"; then
@@ -477,38 +499,51 @@ AC_DEFUN(APACHE_CHECK_OPENSSL,[
     saved_LDFLAGS="$LDFLAGS"
     SSL_LIBS=""
 
-    dnl Before doing anything else, load in pkg-config variables
-    if test -n "$PKGCONFIG"; then
-      saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
-      if test "x$ap_openssl_base" != "x" -a \
-              -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then
-        dnl Ensure that the given path is used by pkg-config too, otherwise
-        dnl the system openssl.pc might be picked up instead.
-        PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}"
-        export PKG_CONFIG_PATH
-      fi
-      ap_openssl_libs="`$PKGCONFIG --libs-only-l openssl 2>&1`"
-      if test $? -eq 0; then
-        ap_openssl_found="yes"
-        pkglookup="`$PKGCONFIG --cflags-only-I openssl`"
-        APR_ADDTO(CPPFLAGS, [$pkglookup])
-        APR_ADDTO(INCLUDES, [$pkglookup])
-        pkglookup="`$PKGCONFIG --libs-only-L --libs-only-other openssl`"
-        APR_ADDTO(LDFLAGS, [$pkglookup])
-        APR_ADDTO(SSL_LIBS, [$pkglookup])
+    dnl See if we've been given a development OpenSSL (lib does not exist)
+    if test ! -d "$ap_openssl_base/lib"; then
+      AC_MSG_WARN([Using development version of OpenSSL])
+      dnl we need to prepend the directories to override the system version
+      CPPFLAGS="-I$ap_openssl_base/include $CPPFLAGS"
+      INCLUDES="-I$ap_openssl_base/include $INCLUDES"
+      LDFLAGS="-L$ap_openssl_base $LDFLAGS"
+      dnl naughty, but easier than the alternatives
+      saved_LDFLAGS="$LDFLAGS"
+      SSL_LIBS="-L$ap_openssl_base"
+    else
+
+      dnl Before doing anything else, load in pkg-config variables
+      if test -n "$PKGCONFIG"; then
+        saved_PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
+        if test "x$ap_openssl_base" != "x" -a \
+                -f "${ap_openssl_base}/lib/pkgconfig/openssl.pc"; then
+          dnl Ensure that the given path is used by pkg-config too, otherwise
+          dnl the system openssl.pc might be picked up instead.
+          PKG_CONFIG_PATH="${ap_openssl_base}/lib/pkgconfig${PKG_CONFIG_PATH+:}${PKG_CONFIG_PATH}"
+          export PKG_CONFIG_PATH
+        fi
+        ap_openssl_libs="`$PKGCONFIG --libs-only-l openssl 2>&1`"
+        if test $? -eq 0; then
+          ap_openssl_found="yes"
+          pkglookup="`$PKGCONFIG --cflags-only-I openssl`"
+          APR_ADDTO(CPPFLAGS, [$pkglookup])
+          APR_ADDTO(INCLUDES, [$pkglookup])
+          pkglookup="`$PKGCONFIG --libs-only-L --libs-only-other openssl`"
+          APR_ADDTO(LDFLAGS, [$pkglookup])
+          APR_ADDTO(SSL_LIBS, [$pkglookup])
+        fi
+        PKG_CONFIG_PATH="$saved_PKG_CONFIG_PATH"
       fi
-      PKG_CONFIG_PATH="$saved_PKG_CONFIG_PATH"
-    fi
 
-    dnl fall back to the user-supplied directory if not found via pkg-config
-    if test "x$ap_openssl_base" != "x" -a "x$ap_openssl_found" = "x"; then
-      APR_ADDTO(CPPFLAGS, [-I$ap_openssl_base/include])
-      APR_ADDTO(INCLUDES, [-I$ap_openssl_base/include])
-      APR_ADDTO(LDFLAGS, [-L$ap_openssl_base/lib])
-      APR_ADDTO(SSL_LIBS, [-L$ap_openssl_base/lib])
-      if test "x$ap_platform_runtime_link_flag" != "x"; then
-        APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
-        APR_ADDTO(SSL_LIBS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
+      dnl fall back to the user-supplied directory if not found via pkg-config
+      if test "x$ap_openssl_base" != "x" -a "x$ap_openssl_found" = "x"; then
+        APR_ADDTO(CPPFLAGS, [-I$ap_openssl_base/include])
+        APR_ADDTO(INCLUDES, [-I$ap_openssl_base/include])
+        APR_ADDTO(LDFLAGS, [-L$ap_openssl_base/lib])
+        APR_ADDTO(SSL_LIBS, [-L$ap_openssl_base/lib])
+        if test "x$ap_platform_runtime_link_flag" != "x"; then
+          APR_ADDTO(LDFLAGS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
+          APR_ADDTO(SSL_LIBS, [$ap_platform_runtime_link_flag$ap_openssl_base/lib])
+        fi
       fi
     fi
 
@@ -685,7 +720,7 @@ int main(void)
 {
     return sizeof(void *) < sizeof(long); 
 }], [ap_cv_void_ptr_lt_long=no], [ap_cv_void_ptr_lt_long=yes], 
-    [ap_cv_void_ptr_lt_long=yes])])
+    [ap_cv_void_ptr_lt_long="cross compile - not checked"])])
 
 if test "$ap_cv_void_ptr_lt_long" = "yes"; then
     AC_MSG_ERROR([Size of "void *" is less than size of "long"])