aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Zheng2015-04-11 18:06:52 +0300
committerEli Zaretskii2015-04-11 18:06:52 +0300
commitdc79845aac339db1cdcbbfc48d8f1569ed9a5aa2 (patch)
tree142c234eb4510a8658080e1cda418024e17f68b0
parent279558f472246dd19864f4175cb1d6061bc1ed92 (diff)
downloademacs-dc79845aac339db1cdcbbfc48d8f1569ed9a5aa2.tar.gz
emacs-dc79845aac339db1cdcbbfc48d8f1569ed9a5aa2.zip
Support GnuTLS v3.4 and later on MS-Windows
* src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM. * lisp/term/w32-win.el (dynamic-library-alist): Determine which GnuTLS DLL to load according to value of libgnutls-version. Fixes: bug#20294 Copyright-paperwork-exempt: yes
-rw-r--r--lisp/term/w32-win.el6
-rw-r--r--src/gnutls.c10
2 files changed, 15 insertions, 1 deletions
diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el
index b5e6ff34743..b0667e6c4f7 100644
--- a/lisp/term/w32-win.el
+++ b/lisp/term/w32-win.el
@@ -214,6 +214,8 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
214(defvar libgif-version) 214(defvar libgif-version)
215(defvar libjpeg-version) 215(defvar libjpeg-version)
216 216
217(defvar libgnutls-version) ; gnutls.c
218
217;;; Set default known names for external libraries 219;;; Set default known names for external libraries
218(setq dynamic-library-alist 220(setq dynamic-library-alist
219 (list 221 (list
@@ -266,7 +268,9 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
266 '(gdk-pixbuf "libgdk_pixbuf-2.0-0.dll") 268 '(gdk-pixbuf "libgdk_pixbuf-2.0-0.dll")
267 '(glib "libglib-2.0-0.dll") 269 '(glib "libglib-2.0-0.dll")
268 '(gobject "libgobject-2.0-0.dll") 270 '(gobject "libgobject-2.0-0.dll")
269 '(gnutls "libgnutls-28.dll" "libgnutls-26.dll") 271 (if (>= libgnutls-version 30400)
272 '(gnutls "libgnutls-30.dll")
273 '(gnutls "libgnutls-28.dll" "libgnutls-26.dll"))
270 '(libxml2 "libxml2-2.dll" "libxml2.dll") 274 '(libxml2 "libxml2-2.dll" "libxml2.dll")
271 '(zlib "zlib1.dll" "libz-1.dll"))) 275 '(zlib "zlib1.dll" "libz-1.dll")))
272 276
diff --git a/src/gnutls.c b/src/gnutls.c
index 35f0eb48bc1..ddd36a91e9f 100644
--- a/src/gnutls.c
+++ b/src/gnutls.c
@@ -1645,6 +1645,16 @@ DEFUN ("gnutls-available-p", Fgnutls_available_p, Sgnutls_available_p, 0, 0, 0,
1645void 1645void
1646syms_of_gnutls (void) 1646syms_of_gnutls (void)
1647{ 1647{
1648 DEFSYM (Qlibgnutls_version, "libgnutls-version");
1649 Fset (Qlibgnutls_version,
1650#ifdef HAVE_GNUTLS
1651 make_number (GNUTLS_VERSION_MAJOR * 10000
1652 + GNUTLS_VERSION_MINOR * 100
1653 + GNUTLS_VERSION_PATCH)
1654#else
1655 make_number (-1)
1656#endif
1657 );
1648#ifdef HAVE_GNUTLS 1658#ifdef HAVE_GNUTLS
1649 gnutls_global_initialized = 0; 1659 gnutls_global_initialized = 0;
1650 1660