Thread (112 messages) flat view 112 messages, 10 authors, 2021-09-13

Re: [PATCH v2 7/8] http: centralize the accounting of libcurl dependencies

From: Jeff King <hidden>
Date: 2021-09-10 15:15:43

On Fri, Sep 10, 2021 at 01:04:32PM +0200, Ævar Arnfjörð Bjarmason wrote:
As discussed in 644de29e220 (http: drop support for curl < 7.19.4,
2021-07-30) checking against LIBCURL_VERSION_NUM isn't as reliable as
checking specific symbols present in curl, as some distros have been
known to backport features.

However, while some of the curl_easy_setopt() arguments we rely on are
macros, others are enum, and we can't assume that those that are
macros won't change into enums in the future.

So we're still going to have to check LIBCURL_VERSION_NUM, but by
doing that in one central place and using a macro definition of our
own, anyone who's backporting features can define it themselves, and
thus have access to more modern curl features that they backported,
even if they didn't bump the LIBCURL_VERSION_NUM.
I think this lays out a nicer argument for this centralized registry
than the previous round.

I looked over the changes themselves and didn't notice any problems. I
didn't cross-check every moved-version field, since that seemed like an
unlikely mistake to make. I did check for easy mistakes at the
use-sites, like making sure to use #ifndef for "version < X" and #ifdef
for "version >= X".
-#if LIBCURL_VERSION_NUM >=0x072b00
+#ifdef GIT_CURL_HAVE_CURL_HTTP_VERSION_2
Good, I was going to complain about the whitespace in this one when you
touched it earlier, but now it goes away. :)

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help