diff options
author | Fabrice Fontaine <fontaine.fabrice@gmail.com> | 2020-09-06 23:38:19 +0200 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2022-08-25 15:50:28 -0700 |
commit | 656dedad48c81541060448d008b90290196263c5 (patch) | |
tree | 4e23b6aeb7e684d16fbd6cd1d20182fe0ec8edb5 /configure.ac | |
parent | 2063c21525030a1aaa90c20a1bcac36b0f92db31 (diff) | |
download | memcached-656dedad48c81541060448d008b90290196263c5.tar.gz |
configure.ac: use pkg-config to retrieve openssl
Use pkg-config to retrieve openssl dependencies such as -latomic or -lz
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 133 |
1 files changed, 68 insertions, 65 deletions
diff --git a/configure.ac b/configure.ac index a0851f2..2959a86 100644 --- a/configure.ac +++ b/configure.ac @@ -437,80 +437,83 @@ AC_ARG_WITH(libssl, dnl ---------------------------------------------------------------------------- dnl libssl detection. swiped from libevent. modified for openssl detection. +PKG_PROG_PKG_CONFIG OPENSSL_URL=https://www.openssl.org/ if test "x$enable_tls" = "xyes"; then - AC_CACHE_CHECK([for libssl directory], ac_cv_libssl_dir, [ - saved_LIBS="$LIBS" - saved_LDFLAGS="$LDFLAGS" - saved_CPPFLAGS="$CPPFLAGS" - le_found=no - for ledir in $trylibssldir "" $prefix /usr/local ; do + PKG_CHECK_MODULES(OPENSSL, openssl, [LIBS="$LIBS $OPENSSL_LIBS" CFLAGS="$CFLAGS $OPENSSL_CFLAGS"], [ + AC_CACHE_CHECK([for libssl directory], ac_cv_libssl_dir, [ + saved_LIBS="$LIBS" + saved_LDFLAGS="$LDFLAGS" + saved_CPPFLAGS="$CPPFLAGS" + le_found=no + for ledir in $trylibssldir "" $prefix /usr/local ; do + LDFLAGS="$saved_LDFLAGS" + LIBS="-lssl -lcrypto $saved_LIBS" + + # Skip the directory if it isn't there. + if test ! -z "$ledir" -a ! -d "$ledir" ; then + continue; + fi + if test ! -z "$ledir" ; then + if test -d "$ledir/lib" ; then + LDFLAGS="-L$ledir/lib $LDFLAGS" + else + LDFLAGS="-L$ledir $LDFLAGS" + fi + if test -d "$ledir/include" ; then + CPPFLAGS="-I$ledir/include $CPPFLAGS" + else + CPPFLAGS="-I$ledir $CPPFLAGS" + fi + fi + # Can I compile and link it? + AC_TRY_LINK([#include <sys/time.h> + #include <sys/types.h> + #include <assert.h> + #include <openssl/ssl.h>], [ SSL_CTX* ssl_ctx = SSL_CTX_new(TLS_server_method()); + assert(OPENSSL_VERSION_NUMBER >= 0x10100000L);], + [ libssl_linked=yes ], [ libssl_linked=no ]) + if test $libssl_linked = yes; then + if test ! -z "$ledir" ; then + ac_cv_libssl_dir=$ledir + _myos=`echo $target_os | cut -f 1 -d .` + AS_IF(test "$SUNCC" = "yes" -o "x$_myos" = "xsolaris2", + [saved_LDFLAGS="$saved_LDFLAGS -Wl,-R$ledir/lib"], + [AS_IF(test "$GCC" = "yes", + [saved_LDFLAGS="$saved_LDFLAGS -Wl,-rpath,$ledir/lib"])]) + else + ac_cv_libssl_dir="(system)" + fi + le_found=yes + break + fi + done + LIBS="$saved_LIBS" LDFLAGS="$saved_LDFLAGS" - LIBS="-lssl -lcrypto $saved_LIBS" + CPPFLAGS="$saved_CPPFLAGS" + if test $le_found = no ; then + AC_MSG_ERROR([libssl (at least version 1.1.0) is required. You can get it from $OPENSSL_URL - # Skip the directory if it isn't there. - if test ! -z "$ledir" -a ! -d "$ledir" ; then - continue; + If it's already installed, specify its path using --with-libssl=/dir/ + ]) fi - if test ! -z "$ledir" ; then - if test -d "$ledir/lib" ; then - LDFLAGS="-L$ledir/lib $LDFLAGS" - else - LDFLAGS="-L$ledir $LDFLAGS" - fi - if test -d "$ledir/include" ; then - CPPFLAGS="-I$ledir/include $CPPFLAGS" - else - CPPFLAGS="-I$ledir $CPPFLAGS" - fi + ]) + LIBS="-lssl -lcrypto $LIBS" + if test $ac_cv_libssl_dir != "(system)"; then + if test -d "$ac_cv_libssl_dir/lib" ; then + LDFLAGS="-L$ac_cv_libssl_dir/lib $LDFLAGS" + le_libdir="$ac_cv_libssl_dir/lib" + else + LDFLAGS="-L$ac_cv_libssl_dir $LDFLAGS" + le_libdir="$ac_cv_libssl_dir" fi - # Can I compile and link it? - AC_TRY_LINK([#include <sys/time.h> - #include <sys/types.h> - #include <assert.h> - #include <openssl/ssl.h>], [ SSL_CTX* ssl_ctx = SSL_CTX_new(TLS_server_method()); - assert(OPENSSL_VERSION_NUMBER >= 0x10100000L);], - [ libssl_linked=yes ], [ libssl_linked=no ]) - if test $libssl_linked = yes; then - if test ! -z "$ledir" ; then - ac_cv_libssl_dir=$ledir - _myos=`echo $target_os | cut -f 1 -d .` - AS_IF(test "$SUNCC" = "yes" -o "x$_myos" = "xsolaris2", - [saved_LDFLAGS="$saved_LDFLAGS -Wl,-R$ledir/lib"], - [AS_IF(test "$GCC" = "yes", - [saved_LDFLAGS="$saved_LDFLAGS -Wl,-rpath,$ledir/lib"])]) - else - ac_cv_libssl_dir="(system)" - fi - le_found=yes - break + if test -d "$ac_cv_libssl_dir/include" ; then + CPPFLAGS="-I$ac_cv_libssl_dir/include $CPPFLAGS" + else + CPPFLAGS="-I$ac_cv_libssl_dir $CPPFLAGS" fi - done - LIBS="$saved_LIBS" - LDFLAGS="$saved_LDFLAGS" - CPPFLAGS="$saved_CPPFLAGS" - if test $le_found = no ; then - AC_MSG_ERROR([libssl (at least version 1.1.0) is required. You can get it from $OPENSSL_URL - - If it's already installed, specify its path using --with-libssl=/dir/ - ]) fi ]) - LIBS="-lssl -lcrypto $LIBS" - if test $ac_cv_libssl_dir != "(system)"; then - if test -d "$ac_cv_libssl_dir/lib" ; then - LDFLAGS="-L$ac_cv_libssl_dir/lib $LDFLAGS" - le_libdir="$ac_cv_libssl_dir/lib" - else - LDFLAGS="-L$ac_cv_libssl_dir $LDFLAGS" - le_libdir="$ac_cv_libssl_dir" - fi - if test -d "$ac_cv_libssl_dir/include" ; then - CPPFLAGS="-I$ac_cv_libssl_dir/include $CPPFLAGS" - else - CPPFLAGS="-I$ac_cv_libssl_dir $CPPFLAGS" - fi - fi fi if test "x$enable_static" = "xyes"; then |