$OpenBSD: patch-configure_ac,v 1.4 2007/08/11 22:15:46 ckuethe Exp $
--- configure.ac.orig	Fri May 25 12:28:21 2007
+++ configure.ac	Mon May 28 01:57:22 2007
@@ -521,6 +521,7 @@ if test "x$enable_consoleui" = "xyes"; then
 		# ncursesw was not found. Look for plain old ncurses
 		enable_consoleui=yes
 		AC_CHECK_LIB(ncurses, initscr, [GNT_LIBS="-lncurses"], [enable_consoleui=no])
+		LIBS="${LIBS} -lncurses"
 		AC_CHECK_LIB(panel, update_panels, [GNT_LIBS="$GNT_LIBS -lpanel"], [enable_consoleui=no])
 		AC_DEFINE(NO_WIDECHAR, 1, [Define to 1 if you don't have wide-character support.])
 		if test x"$ac_ncurses_includes" != "x"; then
@@ -683,7 +684,7 @@ else
 	if test "$ac_silc_libs" != "no"; then
 		SILC_LIBS="-L$ac_silc_libs"
 	fi
-	SILC_LIBS="$SILC_LIBS -lsilc -lsilcclient -lpthread $LIBDL"
+	SILC_LIBS="$SILC_LIBS -lsilc -lsilcclient -pthread $LIBDL"
 	AC_CHECK_LIB(silcclient, silc_client_init, [silcclient=yes], , $SILC_LIBS)
 fi
 AC_SUBST(SILC_LIBS)
@@ -1312,8 +1313,13 @@ dnl ##################################################
 
 dnl These two are inverses of each other <-- stolen from evolution!
 
+AC_ARG_ENABLE(openssl,
+	[  --enable-openssl=[yes,no]  attempt to use OpenSSL for SSL support (preferred) [default=yes]],
+	[enable_openssl="$enableval"],
+	[enable_openssl="yes"])
+
 AC_ARG_ENABLE(gnutls,
-	[  --enable-gnutls=[yes,no]  attempt to use GnuTLS for SSL support (preferred) [default=yes]],
+	[  --enable-gnutls=[yes,no]  attempt to use GnuTLS for SSL support [default=yes]],
 	[enable_gnutls="$enableval"],
 	[enable_gnutls="yes"])
 
@@ -1325,6 +1331,90 @@ AC_ARG_ENABLE(nss,
 msg_ssl="None (MSN and Google Talk will not work without SSL!)"
 
 dnl #
+dnl # Check for OpenSSL if it's specified.
+dnl #
+if test "x$enable_openssl" != "xno"; then
+	enale_openssl="no"
+	prefix=`eval echo $prefix`
+
+	AC_ARG_WITH(openssl-includes,
+		[  --with-openssl-includes=PREFIX  location of OpenSSL includes.],
+		[ with_openssl_includes="$withval" ],
+		[ with_openssl_includes="$prefix/include" ])
+
+	have_openssl_includes="no"
+
+	if test "x$with_openssl_includes" != "xno"; then
+		CPPFLAGS_save="$CPPFLAGS"
+
+		AC_MSG_CHECKING(for OpenSSL includes)
+		AC_MSG_RESULT("")
+
+		CPPFLAGS="$CPPFLAGS -I$with_openssl_includes"
+		AC_CHECK_HEADERS(openssl/ssl.h, [ openssl_includes="yes" ])
+		CPPFLAGS="$CPPFLAGS_save"
+
+		if test "x$openssl_includes" != "xno" -a \
+			"x$openssl_includes" != "x"; then
+			have_openssl_includes="yes"
+
+			OPENSSL_CFLAGS="-I$with_openssl_includes"
+		else
+			OPENSSL_CFLAGS=""
+		fi
+	else
+		AC_MSG_CHECKING(for OpenSSL includes)
+		AC_MSG_RESULT(no)
+	fi
+
+	AC_ARG_WITH(openssl-libs,
+		[AC_HELP_STRING([--with-openssl-libs=PREFIX], [location of OpenSSL libraries.])],
+		[ with_openssl_libs="$withval" ])
+
+	if test "x$with_openssl_libs"     != "xno" -a \
+		"x$have_openssl_includes" != "xno"; then
+
+		LIBS_save="$LIBS"
+
+		case $with_openssl_libs in
+			""|-L*) ;;
+			*) with_openssl_libs="-L$with_openssl_libs" ;;
+		esac
+
+		AC_CACHE_CHECK([for OpenSSL libraries], openssl_libs,
+		[
+			LIBS="$LIBS $with_openssl_libs -lssl -lcrypto"
+			AC_TRY_LINK_FUNC(SSL_library_init, openssl_libs="yes", openssl_libs="no")
+			LIBS="$LIBS_save"
+		])
+
+		if test "x$openssl_libs" != "xno"; then
+			AC_DEFINE(HAVE_OPENSSL, 1, [Define if you have OpenSSL])
+			AC_DEFINE(HAVE_SSL)
+			msg_openssl="OpenSSL"
+			OPENSSL_LIBS="$with_openssl_libs -lssl -lcrypto"
+
+			enable_openssl="yes"
+		else
+			OPENSSL_CFLAGS=""
+			OPENSSL_LIBS=""
+		fi
+	else
+		AC_MSG_CHECKING(for OpenSSL libraries)
+		AC_MSG_RESULT(no)
+	fi
+else
+	OPENSSL_CFLAGS=""
+	OPENSSL_LIBS=""
+fi
+
+AC_SUBST(OPENSSL_CFLAGS)
+AC_SUBST(OPENSSL_LIBS)
+
+AM_CONDITIONAL(USE_OPENSSL, test "x$enable_openssl" = "xyes")
+
+
+dnl #
 dnl # Check for GnuTLS if it's specified.
 dnl #
 if test "x$enable_gnutls" != "xno"; then
@@ -1679,12 +1769,20 @@ fi
 
 AM_CONDITIONAL(USE_NSS, test "x$enable_nss" = "xyes")
 
-if test "x$msg_nss" != "x" -a "x$msg_gnutls" != "x"; then
+if test "x$msg_nss" != "x" -a "x$msg_gnutls" != "x" -a "x$msg_openssl" != "x"; then
+	msg_ssl="$msg_nss, $msg_gnutls, and $msg_openssl"
+elif test "x$msg_nss" != "x" -a "x$msg_gnutls" != "x"; then
 	msg_ssl="$msg_nss and $msg_gnutls"
+elif test "x$msg_nss" != "x" -a "x$msg_openssl" != "x"; then
+	msg_ssl="$msg_nss and $msg_openssl"
+elif test "x$msg_gnutls" != "x" -a "x$msg_openssl" != "x"; then
+	msg_ssl="$msg_gnutls and $msg_openssl"
 elif test "x$msg_nss" != "x"; then
 	msg_ssl=$msg_nss
 elif test "x$msg_gnutls" != "x"; then
 	msg_ssl=$msg_gnutls
+elif test "x$msg_openssl" != "x"; then   
+	msg_ssl=$msg_openssl
 fi
 
 dnl #######################################################################
