-dnl $with_ssl can be one of:
-dnl - empty string or "auto", meaning autodetect SSL and use it if found.
-dnl - "yes", meaning link with SSL or bail out.
-dnl - "no", meaning don't link with SSL.
-dnl - anything else, meaning use that as the SSL root, and bail out
-dnl if it fails.
-
-if test x"$with_ssl" = x; then
- dnl Canonicalize unspecified with-ssl setting to "auto". This
- dnl implements the "auto-detect by default" feature. If you want to
- dnl change this to "ignore SSL by default", change "auto" to "no".
- with_ssl=auto
-fi
-
-dnl Detection of OpenSSL is much hairier than the detection of other
-dnl libraries because OpenSSL can be compiled as a third-party
-dnl library, which means it will not be found without additional
-dnl linker magic. It would be really nice to rework this check into
-dnl an AC_DEFUN so that we can reuse it for other third-party
-dnl libraries.
-
-if test x"$with_ssl" != x"no"; then
-
- wget_force_ssl=no
- if test x"$with_ssl" = x"yes"; then
- wget_force_ssl=yes
- fi
-
- if test x"$with_ssl" = x"yes" || test x"$with_ssl" = x"auto"; then
- dnl OpenSSL's root was not specified, so we have to guess. First
- dnl try the system default location, then "/usr/local/ssl" (where
- dnl OpenSSL installs by default), then "/usr/local" (traditional
- dnl choice for installation root), then "/opt".
- ssl_all_roots="system-default /usr/local/ssl /usr/local /opt"
- else
- dnl Root has been specified by the user.
- ssl_all_roots=$with_ssl
- wget_force_ssl=yes
- fi
-
- wget_save_CC=$CC
- wget_save_LIBS=$LIBS
- wget_save_LDFLAGS=$LDFLAGS
- wget_save_CPPFLAGS=$CPPFLAGS
-
- dnl Use libtool for OpenSSL tests so we can specify "-R<rpath>"
- dnl without having to know how the linker handles it.
- CC="$SHELL ./libtool $CC"
-
- dnl Unfortunately, as of this writing (OpenSSL 0.9.6), the libcrypto
- dnl shared library doesn't record its dependency on libdl, so we
- dnl need to check for it ourselves so we won't fail to link due to a
- dnl lack of -ldl. Most OSes use dlopen(), but HP-UX uses
- dnl shl_load().
- AC_CHECK_LIB(dl,dlopen)
- AC_CHECK_LIB(dl,shl_load)
-
- ssl_success=no
-
- dnl Now try to find SSL libraries in each of the likely SSL roots.
- for ssl_root in $ssl_all_roots
- do
- if test x"$ssl_root" = x"system-default"; then
- dnl Try the default include and library locations.
- SSL_INCLUDES=
- else
- dnl Try this specific root.
- SSL_INCLUDES=-I$ssl_root/include
- dnl It's OK to use -R directly because libtool will
- dnl interpret it for us.
- LDFLAGS="-L$ssl_root/lib -R$ssl_root/lib $wget_save_LDFLAGS"
- fi
-
- AC_MSG_NOTICE([looking for SSL libraries in $ssl_root])
-
- dnl Check whether the compiler can find the include files. On
- dnl some systems Gcc finds libraries in /usr/local/lib, but fails
- dnl to find the includes in /usr/local/include.
-
- ssl_found_includes=no
- CPPFLAGS="$SSL_INCLUDES $wget_save_CPPFLAGS"
-
- dnl Check for all the OpenSSL includes that Wget actually uses.
- dnl This will prune both invalid installations and ancient
- dnl versions of OpenSSL that we can't use.
- AC_MSG_CHECKING([for includes])
- AC_COMPILE_IFELSE([