Subject: bug#27708: [PROPOSED] Simplify configuration of HAVE_GNUTLS3 etc.

From: Eli Zaretskii <[email-masked]>
Date: Sun, 16 Jul 2017 19:08:45 +0300

> Cc: [email-masked], [email-masked]
> From: Paul Eggert <[email-masked]>
> Date: Sun, 16 Jul 2017 08:18:57 -0700
> 
> Eli Zaretskii wrote:
> > if
> > we want to allow as many of these APIs to be useful on as many
> > platforms, we need to do more work on the code.
> 
> One possible step forward is to use each of the APIs starting when they became 
> available, as opposed to the current practice of using some of them only in 
> GnuTLS v3 or later (even though they were available earlier). I could adjust my 
> proposed patch to do that, if you like. Unlike my proposed patch, this would 
> change Emacs behavior (but only on older GnuTLS platforms).

Yes, that's what I meant, but I think this won't be useful unless we
also introduce some fallbacks into the code which uses those new
functions.  AFAICT, it is the case in some of the new APIs that almost
all of the GnuTLS functions they use are available even before v3.X,
but then just one function they call needs 3.2.X or 3.4.X.  This makes
the entire API useless (it returns nil), which is a pity, since I'm
guessing we could code some workaround or maybe provide partial
functionality instead.  Alas, I don't know enough about these
functions to code such fallbacks.