mirror of https://gitee.com/bigwinds/arangodb
152 lines
5.1 KiB
Plaintext
152 lines
5.1 KiB
Plaintext
dnl -*- mode: Autoconf; -*-
|
|
|
|
dnl -----------------------------------------------------------------------------------------
|
|
dnl option for SSL support
|
|
dnl -----------------------------------------------------------------------------------------
|
|
|
|
AC_ARG_WITH(openssl-inc,
|
|
AS_HELP_STRING([--with-openssl-inc=DIR], [where the OpenSSL header files are located]),
|
|
OPENSSL_CPPFLAGS="-I$withval"
|
|
)
|
|
|
|
AC_ARG_WITH(openssl-lib,
|
|
AS_HELP_STRING([--with-openssl-lib=DIR], [where the OpenSSL library files are located]),
|
|
OPENSSL_LDFLAGS="-L$withval"
|
|
)
|
|
|
|
dnl -----------------------------------------------------------------------------------------
|
|
dnl check for OpenSSL
|
|
dnl -----------------------------------------------------------------------------------------
|
|
|
|
AC_MSG_NOTICE([--------------------------------------------------------------------------------])
|
|
AC_MSG_NOTICE([CHECKING FOR OPENSSL])
|
|
AC_MSG_NOTICE([--------------------------------------------------------------------------------])
|
|
|
|
AC_LANG(C)
|
|
|
|
dnl -----------------------------------------------------------------------------------------
|
|
dnl save flags
|
|
dnl -----------------------------------------------------------------------------------------
|
|
|
|
SAVE_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $OPENSSL_CPPFLAGS"
|
|
|
|
SAVE_LDFLAGS="$LDFLAGS"
|
|
LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS"
|
|
|
|
SAVE_LIBS="$LIBS"
|
|
|
|
dnl -----------------------------------------------------------------------------------------
|
|
dnl check for header and library
|
|
dnl -----------------------------------------------------------------------------------------
|
|
|
|
AC_CHECK_HEADERS([openssl/ssl.h])
|
|
|
|
AC_CHECK_LIB([crypto], [CRYPTO_get_ex_data],
|
|
OPENSSL_LIBS="-lcrypto $OPENSSL_LIBS",
|
|
AC_MSG_ERROR([please install the OpenSSL library]),
|
|
[-lz $LIBS])
|
|
|
|
AC_CHECK_LIB([ssl], [SSL_get_error],
|
|
OPENSSL_LIBS="-lssl $OPENSSL_LIBS",
|
|
AC_CHECK_LIB([ssl], [SSL_get_error],
|
|
OPENSSL_LIBS="-lssl -ldl $OPENSSL_LIBS",
|
|
AC_MSG_ERROR([Please install the OpenSSL library]),
|
|
[-lcrypto -lz -ldl $LIBS])
|
|
[-lcrypto -lz $LIBS])
|
|
|
|
dnl check if SSLv23_method returns a const method
|
|
AC_MSG_CHECKING([return type of SSLv23_method])
|
|
LIBS="-lcrypto -lssl -lz -ldl $LIBS"
|
|
AC_TRY_COMPILE([#include <openssl/ssl.h>],
|
|
[SSL_METHOD* meth = SSLv23_method();],
|
|
tr_OPENSSL_NEEDS_CONST=no,
|
|
tr_OPENSSL_NEEDS_CONST=yes)
|
|
|
|
if test "x$tr_OPENSSL_NEEDS_CONST" = "xyes"; then
|
|
AC_MSG_RESULT([SSL_METHOD const*])
|
|
AC_DEFINE_UNQUOTED(OPENSSL_NEEDS_CONST, 1, [true if SSLv23_method return SSL_METHOD const*])
|
|
else
|
|
AC_MSG_RESULT([SSL_METHOD*])
|
|
fi
|
|
|
|
|
|
dnl -----------------------------------------------------------------------------------------
|
|
dnl fix include and static libraries
|
|
dnl -----------------------------------------------------------------------------------------
|
|
|
|
TR_INCLUDE([OPENSSL_CPPFLAGS])
|
|
|
|
dnl -----------------------------------------------------------------------------------------
|
|
dnl add substitutions
|
|
dnl -----------------------------------------------------------------------------------------
|
|
|
|
AC_SUBST(OPENSSL_CPPFLAGS)
|
|
AC_SUBST(OPENSSL_LDFLAGS)
|
|
AC_SUBST(OPENSSL_LIBS)
|
|
|
|
dnl -----------------------------------------------------------------------------------------
|
|
dnl grep openssl version number
|
|
dnl -----------------------------------------------------------------------------------------
|
|
|
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
/* end confdefs.h. */
|
|
#include <openssl/ssl.h>
|
|
|
|
main () {
|
|
long sdnhg36ed = OPENSSL_VERSION_TEXT
|
|
;
|
|
}
|
|
|
|
_ACEOF
|
|
AC_MSG_CHECKING([OPENSSL version])
|
|
eval "$ac_cpp conftest.$ac_ext" | fgrep "long sdnhg36ed" | awk '{print $4 " " $5 " " $6 " " $7 " " $8 " " $9}' > conftest.output
|
|
TRI_OPENSSL_VERSION=`head -1 conftest.output | sed -e 's: *$::'`
|
|
AC_MSG_RESULT([$TRI_OPENSSL_VERSION])
|
|
rm -f conftest*
|
|
|
|
dnl -----------------------------------------------------------------------------------------
|
|
dnl verify version number
|
|
dnl -----------------------------------------------------------------------------------------
|
|
|
|
OPENSSL_WARNING=""
|
|
|
|
AC_TRY_COMPILE(
|
|
[#include <openssl/opensslv.h>
|
|
],
|
|
[#if OPENSSL_VERSION_NUMBER < 0x1000107fL
|
|
#error OpenSSL version is too old ...
|
|
#endif],
|
|
[ ],
|
|
[OPENSSL_WARNING=" WARNING: OpenSSL version should be 1.0.1g or higher"
|
|
AC_MSG_WARN([OpenSSL version should be 1.0.1g or higher.])
|
|
])
|
|
|
|
|
|
dnl -----------------------------------------------------------------------------------------
|
|
dnl restore flags
|
|
dnl -----------------------------------------------------------------------------------------
|
|
|
|
LDFLAGS="$SAVE_LDFLAGS"
|
|
CPPFLAGS="$SAVE_CPPFLAGS"
|
|
LIBS="$SAVE_LIBS"
|
|
|
|
OPENSSL_CPPFLAGS="${OPENSSL_CPPFLAGS} -DTRI_OPENSSL_VERSION='${TRI_OPENSSL_VERSION}'"
|
|
|
|
dnl -----------------------------------------------------------------------------------------
|
|
dnl informational output
|
|
dnl -----------------------------------------------------------------------------------------
|
|
|
|
LIB_INFO="$LIB_INFO|OPENSSL VERSION: ${TRI_OPENSSL_VERSION}${OPENSSL_WARNING}"
|
|
|
|
LIB_INFO="$LIB_INFO|OPENSSL_CPPFLAGS: ${OPENSSL_CPPFLAGS}"
|
|
LIB_INFO="$LIB_INFO|OPENSSL_LDFLAGS: ${OPENSSL_LDFLAGS}"
|
|
LIB_INFO="$LIB_INFO|OPENSSL_LIBS: ${OPENSSL_LIBS}"
|
|
|
|
LIB_INFO="$LIB_INFO|."
|
|
|
|
dnl Local Variables:
|
|
dnl mode: outline-minor
|
|
dnl outline-regexp: "^\\(dnl --SECTION--\\)"
|
|
dnl End:
|