Changed drastically because it didn't work correctly:
- Don't cache the --with-openssl-* option arguments - Only search for openssl/*.h, the openssl include files include other files only from an openssl/ directory too - Set CPPFLAGS before AC_CHECK_HEADERS
This commit is contained in:
parent
053e786540
commit
c5c02a0861
1 changed files with 20 additions and 69 deletions
|
@ -1,80 +1,31 @@
|
||||||
dnl Check to find the OpenSSL headers/libraries
|
dnl Check to find the OpenSSL headers/libraries
|
||||||
|
|
||||||
|
|
||||||
AC_DEFUN(tinc_OPENSSL,
|
AC_DEFUN(tinc_OPENSSL,
|
||||||
[
|
[
|
||||||
AC_ARG_WITH(openssl,
|
tinc_ac_save_CPPFLAGS="$CPPFLAGS"
|
||||||
[ --with-openssl=DIR OpenSSL library and headers prefix],
|
|
||||||
[openssl_lib="$withval/lib"
|
AC_ARG_WITH(openssl-include,
|
||||||
openssl_include="$withval/include"]
|
[ --with-openssl-include=DIR OpenSSL headers directory (without trailing /openssl)],
|
||||||
|
[openssl_include="$withval"
|
||||||
|
CFLAGS="$CFLAGS -I$withval"
|
||||||
|
CPPFLAGS="$CPPFLAGS -I$withval"]
|
||||||
)
|
)
|
||||||
AC_CACHE_CHECK([for openssl headers], tinc_cv_openssl_include,
|
|
||||||
[
|
|
||||||
AC_ARG_WITH(openssl-include,
|
|
||||||
[ --with-openssl-include=DIR OpenSSL headers directory],
|
|
||||||
[tinc_cv_openssl_include="$withval"],
|
|
||||||
[if test "x$openssl_include" = "x" ; then
|
|
||||||
tinc_cv_openssl_include="none given"
|
|
||||||
else
|
|
||||||
tinc_cv_openssl_include=$openssl_include
|
|
||||||
fi]
|
|
||||||
)
|
|
||||||
])
|
|
||||||
AC_CACHE_CHECK([for openssl libraries], tinc_cv_openssl_lib,
|
|
||||||
[
|
|
||||||
AC_ARG_WITH(openssl-lib,
|
|
||||||
[ --with-openssl-lib=DIR OpenSSL library directory],
|
|
||||||
[tinc_cv_openssl_lib="$withval"],
|
|
||||||
[if test "x$openssl_lib" = "x" ; then
|
|
||||||
tinc_cv_openssl_lib="none given"
|
|
||||||
else
|
|
||||||
tinc_cv_openssl_lib=$openssl_lib
|
|
||||||
fi]
|
|
||||||
)
|
|
||||||
])
|
|
||||||
|
|
||||||
if test "$tinc_cv_openssl_lib" != "none given" ; then
|
AC_ARG_WITH(openssl-lib,
|
||||||
LIBS="$LIBS -L$tinc_cv_openssl_lib"
|
[ --with-openssl-lib=DIR OpenSSL library directory],
|
||||||
fi
|
[openssl_lib="$withval"
|
||||||
if test "$tinc_cv_openssl_include" != "none given" ; then
|
LIBS="$LIBS -L$withval"]
|
||||||
CFLAGS="$CFLAGS -I$tinc_cv_openssl_include"
|
)
|
||||||
fi
|
|
||||||
|
|
||||||
osi=found
|
|
||||||
AC_CHECK_HEADERS(evp.h rsa.h rand.h err.h sha.h pem.h,
|
|
||||||
[], [osi=none; break])
|
|
||||||
|
|
||||||
if test "$osi" = "none" ; then
|
|
||||||
osi=found
|
|
||||||
AC_CHECK_HEADERS(openssl/evp.h openssl/rsa.h openssl/rand.h openssl/err.h openssl/sha.h openssl/pem.h,
|
AC_CHECK_HEADERS(openssl/evp.h openssl/rsa.h openssl/rand.h openssl/err.h openssl/sha.h openssl/pem.h,
|
||||||
[], [osi=none; break])
|
[],
|
||||||
fi
|
[AC_MSG_ERROR("OpenSSL header files not found."); break]
|
||||||
|
)
|
||||||
|
|
||||||
|
CPPFLAGS="$tinc_ac_save_CPPFLAGS"
|
||||||
|
|
||||||
libcrypto=none
|
AC_CHECK_LIB(crypto, SHA1_version,
|
||||||
|
[LIBS="$LIBS -lcrypto"],
|
||||||
if test "$osi" = "found" ; then
|
[AC_MSG_ERROR("OpenSSL libraries not found.")]
|
||||||
AC_CHECK_LIB(crypto, SHA1_version, [
|
)
|
||||||
libcrypto=yes
|
|
||||||
])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $libcrypto = none; then
|
|
||||||
cat <<EOF
|
|
||||||
|
|
||||||
It seems like OpenSSL is not installed on this system. But perhaps
|
|
||||||
you need to supply the exact location of the headers and libraries.
|
|
||||||
You can try running configure with the --with-openssl=/DIRECTORY
|
|
||||||
parameter. If you installed the headers and libraries in a different
|
|
||||||
location you can use --with-openssl-include=/DIR and
|
|
||||||
--with-openssl-lib=/DIR.
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
AC_MSG_ERROR(OpenSSL not found.)
|
|
||||||
|
|
||||||
else
|
|
||||||
LIBS="$LIBS -lcrypto"
|
|
||||||
fi
|
|
||||||
|
|
||||||
])
|
])
|
||||||
|
|
Loading…
Reference in a new issue