Support building with older versions of gnutls; Fix gnutls detection when building statically using build-xorg


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4147 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/rdr/TLSInStream.cxx b/common/rdr/TLSInStream.cxx
index faf548c..ddc9991 100644
--- a/common/rdr/TLSInStream.cxx
+++ b/common/rdr/TLSInStream.cxx
@@ -27,6 +27,10 @@
 #include <rdr/TLSInStream.h>
 #include <errno.h>
 
+#ifdef HAVE_OLD_GNUTLS
+#define gnutls_transport_set_global_errno(A) do { errno = (A); } while(0)
+#endif
+
 #ifdef HAVE_GNUTLS 
 using namespace rdr;
 
diff --git a/common/rdr/TLSOutStream.cxx b/common/rdr/TLSOutStream.cxx
index 888b455..d577ccc 100644
--- a/common/rdr/TLSOutStream.cxx
+++ b/common/rdr/TLSOutStream.cxx
@@ -27,6 +27,10 @@
 #include <rdr/TLSOutStream.h>
 #include <errno.h>
 
+#ifdef HAVE_OLD_GNUTLS
+#define gnutls_transport_set_global_errno(A) do { errno = (A); } while(0)
+#endif
+
 #ifdef HAVE_GNUTLS
 using namespace rdr;
 
diff --git a/configure.ac b/configure.ac
index c411f8a..4ea0706 100644
--- a/configure.ac
+++ b/configure.ac
@@ -76,8 +76,12 @@
 GNUTLS_LIBS=
 if test "x$enable_gnutls" = xyes; then
 	AC_CHECK_LIB([gnutls], [gnutls_global_init],
-		     [GNUTLS_LIBS='-lgnutls'
-		      AC_DEFINE([HAVE_GNUTLS], 1, [Is gnutls present? ])])
+		     [GNUTLS_LIBS='-lgnutls -lgcrypt -lgpg-error'
+		      AC_DEFINE([HAVE_GNUTLS], 1, [Is gnutls present? ])], [],
+		     [-lgcrypt -lgpg-error])
+	AC_CHECK_LIB([gnutls], [gnutls_transport_set_global_errno], [],
+		     [AC_DEFINE([HAVE_OLD_GNUTLS], 1, [Does gnutls lack the gnutls_transport_set_global_errno() function? ])],
+		     [-lgcrypt -lgpg-error])
 fi
 AC_SUBST([GNUTLS_LIBS])
 AM_CONDITIONAL([HAVE_GNUTLS], [ ! test "x$GNUTLS_LIBS" = x ])