Simplify configuration of HAVE_GNUTLS3 etc.

There's only one GnuTLS, so configuring these symbols at
'configure' time is overkill.  Simplify things by moving their
configuration to src/gnutls.h (Bug#27708).
* configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
(HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
from here ...
* src/gnutls.h: ... to here, and simplify.
This commit is contained in:
Paul Eggert 2017-08-02 19:46:41 -07:00
parent 2d2c12fc5f
commit a8a81df8da
2 changed files with 10 additions and 85 deletions

View file

@ -2840,89 +2840,6 @@ if test "${with_gnutls}" = "yes" ; then
[HAVE_GNUTLS=yes], [HAVE_GNUTLS=no])
if test "${HAVE_GNUTLS}" = "yes"; then
AC_DEFINE(HAVE_GNUTLS, 1, [Define if using GnuTLS.])
EMACS_CHECK_MODULES([LIBGNUTLS3], [gnutls >= 3.0.0],
[AC_DEFINE(HAVE_GNUTLS3, 1, [Define if using GnuTLS v3.])], [])
AC_CACHE_CHECK([for GnuTLS v3 with HMAC], [emacs_cv_gnutls3_hmac],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
#include <gnutls/gnutls.h>
#include <gnutls/crypto.h>
]], [[
int
main (void)
{
gnutls_hmac_hd_t handle;
gnutls_hmac_deinit (handle, NULL);
}
]])],
[emacs_cv_gnutls3_hmac=yes],
[emacs_cv_gnutls3_hmac=no])])
if test "$emacs_cv_gnutls3_hmac" = yes; then
AC_DEFINE([HAVE_GNUTLS3_HMAC], [1],
[Define if using GnuTLS v3 with HMAC support.])
fi
AC_CACHE_CHECK([for GnuTLS v3 with AEAD], [emacs_cv_gnutls3_aead],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
#include <gnutls/gnutls.h>
#include <gnutls/crypto.h>
]], [[
int
main (void)
{
gnutls_aead_cipher_hd_t handle;
gnutls_aead_cipher_deinit (handle);
}
]])],
[emacs_cv_gnutls3_aead=yes],
[emacs_cv_gnutls3_aead=no])])
if test "$emacs_cv_gnutls3_aead" = yes; then
AC_DEFINE([HAVE_GNUTLS3_AEAD], [1],
[Define if using GnuTLS v3 with AEAD support.])
fi
AC_CACHE_CHECK([for GnuTLS v3 with cipher], [emacs_cv_gnutls3_cipher],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
#include <gnutls/gnutls.h>
#include <gnutls/crypto.h>
]], [[
int
main (void)
{
gnutls_cipher_hd_t handle;
gnutls_cipher_encrypt2 (handle, NULL, 0, NULL, 0);
gnutls_cipher_deinit (handle);
}
]])],
[emacs_cv_gnutls3_cipher=yes],
[emacs_cv_gnutls3_cipher=no])])
if test "$emacs_cv_gnutls3_cipher" = yes; then
AC_DEFINE([HAVE_GNUTLS3_CIPHER], [1],
[Define if using GnuTLS v3 with cipher support.])
fi
AC_CACHE_CHECK([for GnuTLS v3 with digest], [emacs_cv_gnutls3_digest],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
#include <gnutls/gnutls.h>
#include <gnutls/crypto.h>
]], [[
int
main (void)
{
gnutls_hash_hd_t handle;
gnutls_hash_deinit (handle, NULL);
}
]])],
[emacs_cv_gnutls3_digest=yes],
[emacs_cv_gnutls3_digest=no])])
if test "$emacs_cv_gnutls3_digest" = yes; then
AC_DEFINE([HAVE_GNUTLS3_DIGEST], [1],
[Define if using GnuTLS v3 with digest support.])
fi
fi
# Windows loads GnuTLS dynamically

View file

@ -23,8 +23,16 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
#ifdef HAVE_GNUTLS3
#include <gnutls/crypto.h>
#if 0x030000 <= GNUTLS_VERSION_NUMBER
# define HAVE_GNUTLS3
# include <gnutls/crypto.h>
#endif
#if 0x030400 <= GNUTLS_VERSION_NUMBER
# define HAVE_GNUTLS3_AEAD
# define HAVE_GNUTLS3_CIPHER
# define HAVE_GNUTLS3_DIGEST
# define HAVE_GNUTLS3_HMAC
#endif
#include "lisp.h"