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 ])