Annotation of embedaddon/iperf/config/ax_check_openssl.m4, revision 1.1
1.1 ! misho 1: # ===========================================================================
! 2: # https://www.gnu.org/software/autoconf-archive/ax_check_openssl.html
! 3: # ===========================================================================
! 4: #
! 5: # SYNOPSIS
! 6: #
! 7: # AX_CHECK_OPENSSL([action-if-found[, action-if-not-found]])
! 8: #
! 9: # DESCRIPTION
! 10: #
! 11: # Look for OpenSSL in a number of default spots, or in a user-selected
! 12: # spot (via --with-openssl). Sets
! 13: #
! 14: # OPENSSL_INCLUDES to the include directives required
! 15: # OPENSSL_LIBS to the -l directives required
! 16: # OPENSSL_LDFLAGS to the -L or -R flags required
! 17: #
! 18: # and calls ACTION-IF-FOUND or ACTION-IF-NOT-FOUND appropriately
! 19: #
! 20: # This macro sets OPENSSL_INCLUDES such that source files should use the
! 21: # openssl/ directory in include directives:
! 22: #
! 23: # #include <openssl/hmac.h>
! 24: #
! 25: # LICENSE
! 26: #
! 27: # Copyright (c) 2009,2010 Zmanda Inc. <http://www.zmanda.com/>
! 28: # Copyright (c) 2009,2010 Dustin J. Mitchell <dustin@zmanda.com>
! 29: #
! 30: # Copying and distribution of this file, with or without modification, are
! 31: # permitted in any medium without royalty provided the copyright notice
! 32: # and this notice are preserved. This file is offered as-is, without any
! 33: # warranty.
! 34:
! 35: #serial 10
! 36:
! 37: AU_ALIAS([CHECK_SSL], [AX_CHECK_OPENSSL])
! 38: AC_DEFUN([AX_CHECK_OPENSSL], [
! 39: found=false
! 40: AC_ARG_WITH([openssl],
! 41: [AS_HELP_STRING([--with-openssl=DIR],
! 42: [root of the OpenSSL directory])],
! 43: [
! 44: case "$withval" in
! 45: "" | y | ye | yes | n | no)
! 46: AC_MSG_ERROR([Invalid --with-openssl value])
! 47: ;;
! 48: *) ssldirs="$withval"
! 49: ;;
! 50: esac
! 51: ], [
! 52: # if pkg-config is installed and openssl has installed a .pc file,
! 53: # then use that information and don't search ssldirs
! 54: AC_CHECK_TOOL([PKG_CONFIG], [pkg-config])
! 55: if test x"$PKG_CONFIG" != x""; then
! 56: OPENSSL_LDFLAGS=`$PKG_CONFIG openssl --libs-only-L 2>/dev/null`
! 57: if test $? = 0; then
! 58: OPENSSL_LIBS=`$PKG_CONFIG openssl --libs-only-l 2>/dev/null`
! 59: OPENSSL_INCLUDES=`$PKG_CONFIG openssl --cflags-only-I 2>/dev/null`
! 60: found=true
! 61: fi
! 62: fi
! 63:
! 64: # no such luck; use some default ssldirs
! 65: if ! $found; then
! 66: ssldirs="/usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr"
! 67: fi
! 68: ]
! 69: )
! 70:
! 71:
! 72: # note that we #include <openssl/foo.h>, so the OpenSSL headers have to be in
! 73: # an 'openssl' subdirectory
! 74:
! 75: if ! $found; then
! 76: OPENSSL_INCLUDES=
! 77: for ssldir in $ssldirs; do
! 78: AC_MSG_CHECKING([for openssl/ssl.h in $ssldir])
! 79: if test -f "$ssldir/include/openssl/ssl.h"; then
! 80: OPENSSL_INCLUDES="-I$ssldir/include"
! 81: OPENSSL_LDFLAGS="-L$ssldir/lib"
! 82: OPENSSL_LIBS="-lssl -lcrypto"
! 83: found=true
! 84: AC_MSG_RESULT([yes])
! 85: break
! 86: else
! 87: AC_MSG_RESULT([no])
! 88: fi
! 89: done
! 90:
! 91: # if the file wasn't found, well, go ahead and try the link anyway -- maybe
! 92: # it will just work!
! 93: fi
! 94:
! 95: # try the preprocessor and linker with our new flags,
! 96: # being careful not to pollute the global LIBS, LDFLAGS, and CPPFLAGS
! 97:
! 98: AC_MSG_CHECKING([whether compiling and linking against OpenSSL works])
! 99: echo "Trying link with OPENSSL_LDFLAGS=$OPENSSL_LDFLAGS;" \
! 100: "OPENSSL_LIBS=$OPENSSL_LIBS; OPENSSL_INCLUDES=$OPENSSL_INCLUDES" >&AS_MESSAGE_LOG_FD
! 101:
! 102: save_LIBS="$LIBS"
! 103: save_LDFLAGS="$LDFLAGS"
! 104: save_CPPFLAGS="$CPPFLAGS"
! 105: LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS"
! 106: LIBS="$OPENSSL_LIBS $LIBS"
! 107: CPPFLAGS="$OPENSSL_INCLUDES $CPPFLAGS"
! 108: AC_LINK_IFELSE(
! 109: [AC_LANG_PROGRAM([#include <openssl/ssl.h>], [SSL_new(NULL)])],
! 110: [
! 111: AC_MSG_RESULT([yes])
! 112: $1
! 113: ], [
! 114: AC_MSG_RESULT([no])
! 115: $2
! 116: ])
! 117: CPPFLAGS="$save_CPPFLAGS"
! 118: LDFLAGS="$save_LDFLAGS"
! 119: LIBS="$save_LIBS"
! 120:
! 121: AC_SUBST([OPENSSL_INCLUDES])
! 122: AC_SUBST([OPENSSL_LIBS])
! 123: AC_SUBST([OPENSSL_LDFLAGS])
! 124: ])
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>