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:
Guus Sliepen 2001-06-07 07:51:04 +00:00
parent 053e786540
commit c5c02a0861

View file

@ -1,80 +1,31 @@
dnl Check to find the OpenSSL headers/libraries
AC_DEFUN(tinc_OPENSSL,
[
AC_ARG_WITH(openssl,
[ --with-openssl=DIR OpenSSL library and headers prefix],
[openssl_lib="$withval/lib"
openssl_include="$withval/include"]
tinc_ac_save_CPPFLAGS="$CPPFLAGS"
AC_ARG_WITH(openssl-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
LIBS="$LIBS -L$tinc_cv_openssl_lib"
fi
if test "$tinc_cv_openssl_include" != "none given" ; then
CFLAGS="$CFLAGS -I$tinc_cv_openssl_include"
fi
AC_ARG_WITH(openssl-lib,
[ --with-openssl-lib=DIR OpenSSL library directory],
[openssl_lib="$withval"
LIBS="$LIBS -L$withval"]
)
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,
[], [osi=none; break])
fi
[],
[AC_MSG_ERROR("OpenSSL header files not found."); break]
)
CPPFLAGS="$tinc_ac_save_CPPFLAGS"
libcrypto=none
if test "$osi" = "found" ; then
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
AC_CHECK_LIB(crypto, SHA1_version,
[LIBS="$LIBS -lcrypto"],
[AC_MSG_ERROR("OpenSSL libraries not found.")]
)
])