]> granicus.if.org Git - transmission/commitdiff
#450: OpenSSL in FreeBSD basesystem doesn't have openssl.pc
authorCharles Kerr <charles@transmissionbt.com>
Wed, 3 Sep 2008 19:02:59 +0000 (19:02 +0000)
committerCharles Kerr <charles@transmissionbt.com>
Wed, 3 Sep 2008 19:02:59 +0000 (19:02 +0000)
configure.ac
m4/check-ssl.m4 [new file with mode: 0644]

index 80e161826a392d2ef513311cbb4fb13e7f23bbfe..37876f180022c3696fbb4842e3971bac90f1d00e 100644 (file)
@@ -66,7 +66,7 @@ ACX_PTHREAD
 
 AC_SEARCH_LIBS([socket], [socket net])
 AC_SEARCH_LIBS([gethostbyname], [nsl bind])
-PKG_CHECK_MODULES(OPENSSL, [openssl >= $OPENSSL_MINIMUM])
+PKG_CHECK_MODULES(OPENSSL, [openssl >= $OPENSSL_MINIMUM], , [CHECK_SSL()])
 PKG_CHECK_MODULES(LIBCURL, [libcurl >= $CURL_MINIMUM])
 
 AC_SYS_LARGEFILE
diff --git a/m4/check-ssl.m4 b/m4/check-ssl.m4
new file mode 100644 (file)
index 0000000..449e92d
--- /dev/null
@@ -0,0 +1,68 @@
+# ===========================================================================
+#               http://autoconf-archive.cryp.to/check_ssl.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   CHECK_SSL
+#
+# DESCRIPTION
+#
+#   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
+#
+# LAST MODIFICATION
+#
+#   2008-04-12
+#
+# COPYLEFT
+#
+#   Copyright (c) 2008 Mark Ethan Trostler <trostler@juniper.net>
+#
+#   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.
+
+AC_DEFUN([CHECK_SSL],
+[
+    AC_MSG_CHECKING([for OpenSSL])
+
+    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";
+            OPENSSL_CFLAGS="-I$ssldir/include";
+            break;
+        fi
+        if test -f "$dir/include/ssl.h"; then
+            found_ssl="yes";
+            OPENSSL_CFLAGS="-I$ssldir/include";
+            break
+        fi
+    done
+    if test x_$found_ssl != x_yes; then
+        AC_MSG_ERROR([Cannot locate ssl])
+    else
+        AC_MSG_RESULT([$ssldir])
+        OPENSSL_LIBS="-L$ssldir/lib -lssl -lcrypto";
+    fi
+])dnl
+