Added complete checks of GnuTLS.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4331 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 111159e..64360aa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -124,6 +124,18 @@
include_directories(${GNUTLS_INCLUDE_DIR})
add_definitions("-DHAVE_GNUTLS")
add_definitions(${GNUTLS_DEFINITIONS})
+
+ # Detect old version of GnuTLS
+ set(CMAKE_EXTRA_INCLUDE_FILES gnutls/gnutls.h)
+ set(CMAKE_REQUIRED_LIBRARIES gnutls)
+ check_function_exists(gnutls_transport_set_global_errno HAVE_OLD_GNUTLS)
+ check_function_exists(gnutls_x509_crt_print HAVE_GNUTLS_X509_CRT_PRINT)
+ check_type_size(gnutls_x509_crt_t GNUTLS_CRT_T)
+ check_type_size(gnutls_datum_t GNUTLS_DATUM_T)
+ check_type_size(gnutls_pk_algorithm_t GNUTLS_PK_ALGORITHM_T)
+ check_type_size(gnutls_sign_algorithm_t GNUTLS_SIGN_ALGORITHM_T)
+ set(CMAKE_EXTRA_INCLUDE_FILES)
+ set(CMAKE_REQUIRED_LIBRARIES)
endif()
# Check for socket functions
diff --git a/config.h.cmake.in b/config.h.cmake.in
index 54f6035..a2da3d2 100644
--- a/config.h.cmake.in
+++ b/config.h.cmake.in
@@ -5,6 +5,12 @@
#cmakedefine HAVE_STRCASECMP
#cmakedefine HAVE_STRNCASECMP
#cmakedefine HAVE_VSNPRINTF
+#cmakedefine HAVE_OLD_GNUTLS
+#cmakedefine HAVE_GNUTLS_X509_CRT_PRINT
+#cmakedefine HAVE_GNUTLS_CRT_T
+#cmakedefine HAVE_GNUTLS_DATUM_T
+#cmakedefine HAVE_GNUTLS_PK_ALGORITHM_T
+#cmakedefine HAVE_GNUTLS_SIGN_ALGORITHM_T
/* MS Visual Studio 2008 and newer doesn't know ssize_t */
#if defined(HAVE_GNUTLS) && defined(WIN32) && !defined(__MINGW32__)