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