Mark Ethan Trostler <trostler@juniper.net>
AllPermissive
Copying and distribution of this file, with or
without modification, are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. Users of this software should generally follow the
principles of the
MIT License includings its disclaimer.
cryp.to ac-archive's Installed Packages (released)
This macro will check various standard spots for OpenSSL including
a user-supplied directory. The user uses '--with-ssl' or
'--with-ssl=/path/to/ssl' as arguments to configure.
If OpenSSL is found the include directory gets added to CFLAGS and
CXXFLAGS as well as '-DHAVE_SSL', '-lssl' & '-lcrypto' get added to
LIBS, and the libraries location gets added to LDFLAGS. Finally
'HAVE_SSL' gets set to 'yes' for use in your Makefile.in I use it
like so (valid for gmake):
HAVE_SSL = @HAVE_SSL@
ifeq ($(HAVE_SSL),yes)
SRCS+= @srcdir@/my_file_that_needs_ssl.c
endif
For bsd 'bmake' use:
.if ${HAVE_SSL} == "yes"
SRCS+= @srcdir@/my_file_that_needs_ssl.c
.endif
AC_DEFUN([CHECK_SSL],
[AC_MSG_CHECKING(if ssl is wanted)
AC_ARG_WITH(ssl,
[ --with-ssl enable ssl [will check /usr/local/ssl
/usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr ]
],
[ AC_MSG_RESULT(yes)
for dir in $withval /usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr; do
ssldir="$dir"
if test -f "$dir/include/openssl/ssl.h"; then
found_ssl="yes";
CFLAGS="$CFLAGS -I$ssldir/include/openssl -DHAVE_SSL";
CXXFLAGS="$CXXFLAGS -I$ssldir/include/openssl -DHAVE_SSL";
break;
fi
if test -f "$dir/include/ssl.h"; then
found_ssl="yes";
CFLAGS="$CFLAGS -I$ssldir/include/ -DHAVE_SSL";
CXXFLAGS="$CXXFLAGS -I$ssldir/include/ -DHAVE_SSL";
break
fi
done
if test x_$found_ssl != x_yes; then
AC_MSG_ERROR(Cannot find ssl libraries)
else
printf "OpenSSL found in $ssldir\n";
LIBS="$LIBS -lssl -lcrypto";
LDFLAGS="$LDFLAGS -L$ssldir/lib";
HAVE_SSL=yes
fi
AC_SUBST(HAVE_SSL)
],
[
AC_MSG_RESULT(no)
])
])dnl