- Unified PHP_SETUP_OPENSSL with other PHP_SETUP_* macros.

This commit is contained in:
foobar 2003-06-24 14:05:26 +00:00
parent e1a9dd289a
commit e3cd8fac9b
6 changed files with 106 additions and 100 deletions

View file

@ -177,66 +177,6 @@ AC_DEFUN([PHP_REMOVE_USR_LIB],[
$1=[$]ac_new_flags $1=[$]ac_new_flags
]) ])
AC_DEFUN([PHP_SETUP_OPENSSL],[
if test "$PHP_OPENSSL" = "yes"; then
PHP_OPENSSL="/usr/local/ssl /usr/local /usr /usr/local/openssl"
fi
for i in $PHP_OPENSSL; do
if test -r $i/include/openssl/evp.h; then
OPENSSL_INCDIR=$i/include
fi
if test -r $i/lib/libssl.a -o -r $i/lib/libssl.$SHLIB_SUFFIX_NAME; then
OPENSSL_LIBDIR=$i/lib
fi
done
if test -z "$OPENSSL_INCDIR"; then
AC_MSG_ERROR([Cannot find OpenSSL's <evp.h>])
fi
if test -z "$OPENSSL_LIBDIR"; then
AC_MSG_ERROR([Cannot find OpenSSL's libraries])
fi
old_CPPFLAGS=$CPPFLAGS
CPPFLAGS=-I$OPENSSL_INCDIR
AC_MSG_CHECKING([for OpenSSL version])
AC_EGREP_CPP(yes,[
#include <openssl/opensslv.h>
#if OPENSSL_VERSION_NUMBER >= 0x0090600fL
yes
#endif
],[
AC_MSG_RESULT([>= 0.9.6])
],[
AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.])
])
CPPFLAGS=$old_CPPFLAGS
PHP_ADD_INCLUDE($OPENSSL_INCDIR)
PHP_ADD_LIBPATH($OPENSSL_LIBDIR)
PHP_CHECK_LIBRARY(crypto, CRYPTO_free, [
PHP_ADD_LIBRARY(crypto)
],[
AC_MSG_ERROR([libcrypto not found!])
],[
-L$OPENSSL_LIBDIR
])
PHP_CHECK_LIBRARY(ssl, SSL_CTX_set_ssl_version, [
PHP_ADD_LIBRARY(ssl)
],[
AC_MSG_ERROR([libssl not found!])
],[
-L$OPENSSL_LIBDIR
])
OPENSSL_INCDIR_OPT=-I$OPENSSL_INCDIR
AC_SUBST(OPENSSL_INCDIR_OPT)
])
dnl PHP_EVAL_LIBLINE(LINE, SHARED-LIBADD) dnl PHP_EVAL_LIBLINE(LINE, SHARED-LIBADD)
dnl dnl
dnl Use this macro, if you need to add libraries and or library search dnl Use this macro, if you need to add libraries and or library search
@ -1624,6 +1564,81 @@ AC_DEFUN([PHP_CHECK_FRAMEWORK], [
]) ])
]) ])
dnl
dnl PHP_SETUP_OPENSSL(shared-add [, action-found [, action-not-found]])
dnl
dnl Common setup macro for openssl
dnl
AC_DEFUN([PHP_SETUP_OPENSSL],[
found_openssl=no
unset OPENSSL_INCDIR
unset OPENSSL_LIBDIR
if test "$PHP_OPENSSL" = "yes"; then
PHP_OPENSSL="/usr/local/ssl /usr/local /usr /usr/local/openssl"
fi
for i in $PHP_OPENSSL; do
if test -r $i/include/openssl/evp.h; then
OPENSSL_INCDIR=$i/include
fi
if test -r $i/lib/libssl.a -o -r $i/lib/libssl.$SHLIB_SUFFIX_NAME; then
OPENSSL_LIBDIR=$i/lib
fi
done
if test -z "$OPENSSL_INCDIR"; then
AC_MSG_ERROR([Cannot find OpenSSL's <evp.h>])
fi
if test -z "$OPENSSL_LIBDIR"; then
AC_MSG_ERROR([Cannot find OpenSSL's libraries])
fi
old_CPPFLAGS=$CPPFLAGS
CPPFLAGS=-I$OPENSSL_INCDIR
AC_MSG_CHECKING([for OpenSSL version])
AC_EGREP_CPP(yes,[
#include <openssl/opensslv.h>
#if OPENSSL_VERSION_NUMBER >= 0x0090600fL
yes
#endif
],[
AC_MSG_RESULT([>= 0.9.6])
],[
AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.])
])
CPPFLAGS=$old_CPPFLAGS
PHP_CHECK_LIBRARY(crypto, CRYPTO_free, [
PHP_CHECK_LIBRARY(ssl, SSL_CTX_set_ssl_version, [
found_openssl=yes
], [
AC_MSG_ERROR([libssl not found!])
],[
-L$OPENSSL_LIBDIR
])
], [
AC_MSG_ERROR([libcrypto not found!])
],[
-L$OPENSSL_LIBDIR
])
OPENSSL_INCDIR_OPT=-I$OPENSSL_INCDIR
AC_SUBST(OPENSSL_INCDIR_OPT)
if test "$found_openssl" = "yes"; then
if test -n "$OPENSSL_INCDIR" && test -n "$OPENSSL_LIBDIR"; then
PHP_ADD_INCLUDE($OPENSSL_INCDIR)
PHP_ADD_LIBPATH($OPENSSL_LIBDIR, $1)
PHP_ADD_LIBRARY(crypto,,$1)
PHP_ADD_LIBRARY(ssl,, $1)
fi
$2
ifelse([$3],[],,[else $3])
fi
])
dnl dnl
dnl PHP_SETUP_ICONV(shared-add [, action-found [, action-not-found]]) dnl PHP_SETUP_ICONV(shared-add [, action-found [, action-not-found]])
dnl dnl

View file

@ -733,18 +733,6 @@ if test "$PHP_IPV6" != "no" && test "$ac_cv_ipv6_support" = yes; then
AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support]) AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
fi fi
dnl
dnl OpenSSL configure
dnl
PHP_ARG_WITH(openssl,for OpenSSL support,
[ --with-openssl[=DIR] Include OpenSSL support (requires OpenSSL >= 0.9.6) ])
if test "$PHP_OPENSSL" != "no"; then
ext_openssl_shared=$ext_shared
PHP_SETUP_OPENSSL
fi
divert(5) divert(5)
dnl ## In diversion 5 we check which extensions should be compiled. dnl ## In diversion 5 we check which extensions should be compiled.

View file

@ -1,10 +0,0 @@
dnl
dnl $Id$
dnl
if test "$PHP_OPENSSL" != "no"; then
PHP_NEW_EXTENSION(openssl, openssl.c xp_ssl.c, $ext_openssl_shared)
OPENSSL_SHARED_LIBADD="-lcrypto -lssl"
PHP_SUBST(OPENSSL_SHARED_LIBADD)
AC_DEFINE(HAVE_OPENSSL_EXT,1,[ ])
fi

17
ext/openssl/config0.m4 Normal file
View file

@ -0,0 +1,17 @@
dnl
dnl $Id$
dnl
PHP_ARG_WITH(openssl, for OpenSSL support,
[ --with-openssl[=DIR] Include OpenSSL support (requires OpenSSL >= 0.9.6)])
if test "$PHP_OPENSSL" != "no"; then
PHP_SETUP_OPENSSL(OPENSSL_SHARED_LIBADD,
[
PHP_NEW_EXTENSION(openssl, openssl.c xp_ssl.c, $ext_shared)
PHP_SUBST(OPENSSL_SHARED_LIBADD)
AC_DEFINE(HAVE_OPENSSL_EXT,1,[ ])
], [
AC_MSG_ERROR([OpenSSL check failed. Please check config.log for more information.])
])
fi

View file

@ -5,6 +5,9 @@ dnl
PHP_ARG_WITH(snmp,for SNMP support, PHP_ARG_WITH(snmp,for SNMP support,
[ --with-snmp[=DIR] Include SNMP support.]) [ --with-snmp[=DIR] Include SNMP support.])
PHP_ARG_WITH(openssl-dir,OpenSSL dir for SNMP,
[ --with-openssl-dir[=DIR] SNMP: openssl install prefix.], no, no)
if test "$PHP_SNMP" != "no"; then if test "$PHP_SNMP" != "no"; then
dnl dnl
@ -77,13 +80,18 @@ if test "$PHP_SNMP" != "no"; then
AC_MSG_RESULT($SNMP_SSL) AC_MSG_RESULT($SNMP_SSL)
if test "$SNMP_SSL" = "yes"; then if test "$SNMP_SSL" = "yes"; then
if test "$PHP_OPENSSL" != "no"; then if test "$PHP_OPENSSL_DIR" != "no"; then
PHP_ADD_LIBRARY(ssl, 1, SNMP_SHARED_LIBADD) PHP_OPENSSL=$PHP_OPENSSL_DIR
PHP_ADD_LIBRARY(crypto,1, SNMP_SHARED_LIBADD) fi
else
AC_MSG_ERROR(The UCD-SNMP in this system is built with SSL support. if test "$PHP_OPENSSL" = "no"; then
AC_MSG_ERROR([The UCD-SNMP in this system is built with SSL support.
Add --with-openssl<=DIR> to your configure line.) Add --with-openssl-dir=DIR to your configure line.])
else
PHP_SETUP_OPENSSL(SNMP_SHARED_LIBADD, [], [
AC_MSG_ERROR([SNMP: OpenSSL check failed. Please check config.log for more information.])
])
fi fi
fi fi

View file

@ -52,18 +52,6 @@ PHP_BUILD_SHARED
AC_PREFIX_DEFAULT() AC_PREFIX_DEFAULT()
AC_ARG_WITH(openssl,
[ --with-openssl[=DIR] Include OpenSSL support (requires OpenSSL >= 0.9.5) ],
[
if test "$withval" != "no"; then
PHP_WITH_SHARED
PHP_OPENSSL=$withval
ext_openssl_shared=yes
ext_shared=yes
PHP_SETUP_OPENSSL
fi
])
AC_PROG_AWK AC_PROG_AWK
sinclude(config.m4) sinclude(config.m4)