diff options
author | Wolfgang Schupp <w.schupp@a1.net> | 2014-07-24 06:37:32 +0200 |
---|---|---|
committer | Jonathan Marshall <jmarshall@xbmc.org> | 2014-08-02 15:59:13 +1200 |
commit | a55eaa3871a0debac99a7c6a254c3d433d775c5e (patch) | |
tree | 8c87056a58b067afab5f0a135977403dc971e92e | |
parent | 2d2eff9c723670fd76f711e94bad69fbd587438c (diff) |
Merge pull request #5048 from wsnipex/ssl-fix
[configure] properly detect if curl was compiled statically with openssl
-rw-r--r-- | configure.in | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/configure.in b/configure.in index a195d00d31..ea4de56c62 100644 --- a/configure.in +++ b/configure.in @@ -84,8 +84,8 @@ AC_DEFUN([XB_FIND_SONAME], lib=[`ls -- $path/lib$2.dylib 2>/dev/null`] if test x$lib != x; then # we want the path/name that is embedded in the dylib - $1_SONAME=[`otool -L $lib | grep -v lib$2.dylib | grep lib$2 | awk '{V=1; print $V}'`] - $1_SONAME=[`basename $$1_SONAME`] + $1_FILENAME=[`otool -L $lib | grep -v lib$2.dylib | grep lib$2 | awk '{V=1; print $V}'`] + $1_SONAME=[`basename $$1_FILENAME`] fi done fi @@ -599,6 +599,8 @@ AC_PROG_MAKE_SET PKG_PROG_PKG_CONFIG MAKE="${MAKE:-make}" OBJDUMP="${OBJDUMP:-objdump}" +READELF="${READELF:-readelf}" +NM="${NM:-nm}" use_external_ffmpeg=no use_static_ffmpeg=no @@ -1099,17 +1101,25 @@ AC_CHECK_HEADER([samplerate.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([ogg/ogg.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([vorbis/vorbisfile.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([libmodplug/modplug.h],, AC_MSG_ERROR($missing_library)) -AC_CHECK_HEADER([curl/curl.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([FLAC/stream_decoder.h],, AC_MSG_ERROR($missing_library)) -# we need to check for the header because if it exists we set the openssl -# and gcrypt MT callback hooks. This is mostly so that libcurl operates -# in MT manner correctly. -AC_MSG_CHECKING([for CRYPTO_set_locking_callback(0)]) -AC_TRY_LINK([],[CRYPTO_set_locking_callback(0);], - [have_curl_static=yes], - [have_curl_static=no]) -AC_MSG_RESULT($have_curl_static) +AC_CHECK_HEADER([curl/curl.h],, AC_MSG_ERROR($missing_library)) +XB_FIND_SONAME([CURL], [curl]) +AC_MSG_CHECKING([for CRYPTO_set_locking_callback(0) in $CURL_SONAME]) +if test "$host_vendor" = "apple" ; then + libchecker="$NM" + searchpattern="T [_]?CRYPTO_set_locking_call" +else + libchecker="$READELF -s" + searchpattern="CRYPTO_set_locking_call" +fi +if test $($libchecker $CURL_FILENAME | grep -Eq "${searchpattern}" ; echo $?) -eq 0 ; then + AC_MSG_RESULT(yes) + AC_DEFINE([HAS_CURL_STATIC], [1], [Whether OpenSSL inside libcurl is static.]) +else + AC_MSG_RESULT(no) +fi + AC_CHECK_HEADER([openssl/crypto.h], AC_DEFINE([HAVE_OPENSSL],[1],[Define if we have openssl]),) AC_CHECK_HEADER([gcrypt.h], gcrypt_headers_available=yes,gcrypt_headers_available=no) if test "$gcrypt_headers_available" = "yes"; then @@ -1258,7 +1268,6 @@ fi XB_FIND_SONAME([MAD], [mad]) XB_FIND_SONAME([OGG], [ogg]) -XB_FIND_SONAME([CURL], [curl]) XB_FIND_SONAME([FLAC], [FLAC]) XB_FIND_SONAME([VORBIS], [vorbis]) XB_FIND_SONAME([VORBISFILE], [vorbisfile]) @@ -1522,11 +1531,6 @@ else AC_DEFINE([HAVE_LIBSSH], [1], [Whether to use libSSH library.]) fi -# libcurl -if test "x$have_curl_static" = "xyes"; then - AC_DEFINE([HAS_CURL_STATIC], [1], [Whether OpenSSL inside libcurl is static.]) -fi - # libRTMP if test "$use_librtmp" != "no"; then PKG_CHECK_MODULES([LIBRTMP], [librtmp], |