]> granicus.if.org Git - apache/commitdiff
Work correctly with a development version of OpenSSL. I suspect
authorBen Laurie <ben@apache.org>
Fri, 6 Jul 2012 12:41:10 +0000 (12:41 +0000)
committerBen Laurie <ben@apache.org>
Fri, 6 Jul 2012 12:41:10 +0000 (12:41 +0000)
something similar is needed when there are two OpenSSL installations,
one in a default location.

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

acinclude.m4
modules/ssl/ssl_engine_init.c

index 78495a8e132a36104ab391b3908e4afb912e49f4..44c12673df59bf50c18b06a2d7f90afd68732d8a 100644 (file)
@@ -499,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
 
index 8cdc29a3215d8d6ec9c891b7236aa6a912113e1d..8315aa4afbe87c7d1eb1bbd0cb68dc45872bd9b6 100644 (file)
@@ -1057,6 +1057,7 @@ static int ssl_server_import_cert(server_rec *s,
                     "Unable to initialize TLS authz extension: "
                     "OpenSSL version too low");
        ssl_die(s);
+#error xx
 #endif
     }