/pidgin/main: b0d0998fd8b9: Remove manual GnuTLS configuration. ...

Michael McConville mmcconville at mykolab.com
Wed Jul 22 21:39:32 EDT 2015


Changeset: b0d0998fd8b974b88db856b4f877d8a29f1bf70b
Author:	 Michael McConville <mmcconville at mykolab.com>
Date:	 2015-07-22 21:38 -0400
Branch:	 default
URL: https://hg.pidgin.im/pidgin/main/rev/b0d0998fd8b9

Description:

Remove manual GnuTLS configuration. There's still a little more to be done. For example, the current flags are confusing and should probably be replaced with --disable-gnutls and --disable-nss. The logic could be further simplified when this happens. We should also check whether we need to keep HAVE_GNUTLS_2_10 for Gadu-Gadu.

diffstat:

 ChangeLog    |    4 +-
 configure.ac |  117 +++++++++++-----------------------------------------------
 2 files changed, 24 insertions(+), 97 deletions(-)

diffs (193 lines):

diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,8 +10,8 @@ version 3.0.0 (??/??/????):
 	  plugins support.
 	* Added dependency gobject-introspection, which is now required to enable
 	  non-native plugin support.
-	* Removed flags for manually configuring NSS. NSS will only be recognized
-	  through pkg-config. (Michael McConville)
+	* Removed flags for manually configuring GnuTLS and NSS. They are now only
+	  recognized through pkg-config. (Michael McConville)
 
 	libpurple:
 	* Specify a different set of encryption ciphers for TLS connections when
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -1404,6 +1404,7 @@ else
 		AC_DEFINE_UNQUOTED(GG_CONFIG_GNUTLS_SYSTEM_TRUST_STORE, ["$gg_gnutls_sts"], [use the given file as GnuTLS default trust store])
 	fi
 
+	dnl # redundant - only here to stay compatible with libgadu upstream
 	PKG_CHECK_MODULES([GNUTLS_2_10], [gnutls >= 2.10.0], [
 		AC_DEFINE([HAVE_GNUTLS_2_10], [], [Defined if GnuTLS >= 2.10.0 is available.])
 	],:)
@@ -2083,134 +2084,60 @@ AC_ARG_ENABLE(nss,
 msg_ssl="None. MSN, Yahoo!, Novell Groupwise and Google Talk will not work without GnuTLS or NSS. OpenSSL is NOT usable!"
 looked_for_gnutls="no"
 dnl #
-dnl # Check for GnuTLS if it's specified.
+dnl # Check for GnuTLS if it isn't disabled
 dnl #
 if test "x$enable_gnutls" != "xno"; then
-	enable_gnutls="no"
-	prefix=`eval echo $prefix`
 	looked_for_gnutls="yes"
 
-	AC_ARG_WITH(gnutls-includes,
-		[  --with-gnutls-includes=PREFIX   location of GnuTLS includes.],
-		[ with_gnutls_includes="$withval" ],
-		[ with_gnutls_includes="$prefix/include" ])
-
-	have_gnutls_includes="no"
-
-	if test "x$with_gnutls_includes" != "xno"; then
-		CPPFLAGS_save="$CPPFLAGS"
-
-		AC_MSG_CHECKING(for GnuTLS includes)
-		AC_MSG_RESULT("")
-
-		CPPFLAGS="$CPPFLAGS -I$with_gnutls_includes"
-		AC_CHECK_HEADERS(gnutls/gnutls.h, [ gnutls_includes="yes" ])
-		CPPFLAGS="$CPPFLAGS_save"
-
-		if test "x$gnutls_includes" != "xno" -a \
-		        "x$gnutls_includes" != "x"; then
-			have_gnutls_includes="yes"
-
-			if test "x$with_gnutls_includes" != "xNONE/include"; then
-				GNUTLS_CFLAGS="-I$with_gnutls_includes"
-			fi
-		else
-			GNUTLS_CFLAGS=""
-		fi
-	else
-		AC_MSG_CHECKING(for GnuTLS includes)
-		AC_MSG_RESULT(no)
+	if `$PKG_CONFIG --exists gnutls`; then
+		dnl # minimum required version should almost certainly be higher
+		PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.10], [
+			have_gnutls="yes"
+		], [
+			AC_MSG_RESULT(no)
+			have_gnutls="no"
+		])
 	fi
 
-	AC_ARG_WITH(gnutls-libs,
-		[AS_HELP_STRING([--with-gnutls-libs=PREFIX], [location of GnuTLS libraries.])],
-		[ with_gnutls_libs="$withval" ])
+	if test "x$have_gnutls" = "xyes"; then
 
-	if test "x$with_gnutls_libs"     != "xno" -a \
-	        "x$have_gnutls_includes" != "xno"; then
+		AC_DEFINE(HAVE_GNUTLS, 1, [Define if you have GnuTLS])
+		AC_DEFINE(HAVE_SSL, 1, [Define if you have SSL])
 
-		LIBS_save="$LIBS"
-
-		case $with_gnutls_libs in
-			""|-L*) ;;
-			*) with_gnutls_libs="-L$with_gnutls_libs" ;;
-		esac
-
-		AC_CACHE_CHECK([for GnuTLS libraries], ac_cv_gnutls_libs,
-		[
-			LIBS="$LIBS $with_gnutls_libs -lgnutls"
-			AC_LINK_IFELSE([AC_LANG_CALL([], [gnutls_init])], ac_cv_gnutls_libs="yes", ac_cv_gnutls_libs="no")
-			LIBS="$LIBS_save"
-		])
-
-		if test "x$ac_cv_gnutls_libs" != "xno"; then
-			AC_DEFINE(HAVE_GNUTLS, 1, [Define if you have GnuTLS])
-			AC_DEFINE(HAVE_SSL)
-			msg_gnutls="GnuTLS"
-			GNUTLS_LIBS="$with_gnutls_libs -lgnutls"
-
-			enable_gnutls="yes"
-		else
-			GNUTLS_CFLAGS=""
-			GNUTLS_LIBS=""
-		fi
-	else
-		AC_MSG_CHECKING(for GnuTLS libraries)
-		AC_MSG_RESULT(no)
+		msg_gnutls="GnuTLS"
 	fi
-else
-	GNUTLS_CFLAGS=""
-	GNUTLS_LIBS=""
 fi
 
-AC_SUBST(GNUTLS_CFLAGS)
-AC_SUBST(GNUTLS_LIBS)
-
-if test "x$enable_gnutls" = "xyes"; then
-	AC_MSG_CHECKING(for gnutls_priority_set_direct and gnutls_priority_set)
-	LIBS_save="$LIBS"
-	LIBS="$LIBS $GNUTLS_LIBS"
-	CPPFLAGS_save="$CPPFLAGS"
-	CPPFLAGS="$CPPFLAGS $GNUTLS_CFLAGS"
-	AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <gnutls/gnutls.h>]],
-                                        [[gnutls_session s; gnutls_priority_set_direct(s, NULL, NULL); gnutls_priority_set(s, NULL);]])],
-	               [AC_DEFINE([HAVE_GNUTLS_PRIORITY_FUNCS], 1,
-                                  [Define if your gnutls has gnutls_priority_set_direct and friends])
-	                AC_MSG_RESULT(yes)],
-	               [AC_MSG_RESULT(no)])
-	CPPFLAGS="$CPPFLAGS_save"
-        LIBS="$LIBS_save"
-fi
-
-
-AM_CONDITIONAL(USE_GNUTLS, test "x$enable_gnutls" = "xyes")
+AM_CONDITIONAL(USE_GNUTLS, test "x$have_gnutls" = "xyes")
 
 
 dnl #
-dnl # Check for NSS if it's specified, or if GnuTLS checks failed.
+dnl # Check for NSS if it isn't disabled
 dnl #
 looked_for_nss="no"
 if test "x$enable_nss" != "xno"; then
 	looked_for_nss="yes"
 
-	enable_nss="no"
-
 	if `$PKG_CONFIG --exists mozilla-nss`; then
+		dnl # TODO: set required minimum version
 		PKG_CHECK_MODULES(NSS, mozilla-nss, [
 			have_nss="yes"
 		], [
 			AC_MSG_RESULT(no)
 			have_nss="no"
 		])
+		dnl # TODO: do we still need these?
 		mozilla_nspr="mozilla-nspr"
 		mozilla_nss="mozilla-nss"
 	elif `$PKG_CONFIG --exists nss`; then
+		dnl # TODO: set required minimum version
 		PKG_CHECK_MODULES(NSS, nss, [
 			have_nss="yes"
 		], [
 			AC_MSG_RESULT(no)
 			have_nss="no"
 		])
+		dnl # TODO: do we still need these?
 		mozilla_nspr="nspr"
 		mozilla_nss="nss"
 	fi
@@ -2221,11 +2148,11 @@ if test "x$enable_nss" != "xno"; then
 		AC_DEFINE(HAVE_SSL, 1, [Define if you have SSL])
 
 		msg_nss="Mozilla NSS"
-		enable_nss="yes"
 	fi
 fi
 
-AM_CONDITIONAL(USE_NSS, test "x$enable_nss" = "xyes")
+AM_CONDITIONAL(USE_NSS, test "x$have_nss" = "xyes")
+
 
 if test "x$msg_nss" != "x" -a "x$msg_gnutls" != "x"; then
 	msg_ssl="$msg_nss and $msg_gnutls"



More information about the Commits mailing list