The decision about whether to build http-push or not belongs in the Makefile. This follows Junio's suggestion to determine whether curl is new enough to support http-push.
Signed-off-by: Nick Hengeveld <nickh@reactrix.com>
---
I should have thought this through better before I posted the HTTP refactoring patch set. Apologies.
I've confirmed that http-push will not build unless - curl-config is executable from the current PATH - the --vernum flag is a valid option - --vernum returns a value at least as recent as 070908
Makefile | 9 ++++++--- http-push.c | 9 --------- 2 files changed, 6 insertions(+), 12 deletions(-)
applies-to: 769e3c5498df32db6fc5ee764cd999608c6f1d9a 6d56bf9f18c029e15fcfd59fdd65f652961913af
Show changes to 2 files +6 −12
Makefile, http-push.c
diff --git a/Makefile b/Makefile index 285b3ed..0efb0b6 100644 --- a/Makefile +++ b/Makefile @@ -242,9 +242,12 @@ ifndef NO_CURL CURL_LIBCURL = -lcurl endif PROGRAMS += git-http-fetch$X - ifndef NO_EXPAT - EXPAT_LIBEXPAT = -lexpat - PROGRAMS += git-http-push$X + curl_check := $(shell (echo 070908; curl-config --vernum) | sort -r | sed -ne 2p) + ifeq "$(curl_check)" "070908" + ifndef NO_EXPAT + EXPAT_LIBEXPAT = -lexpat + PROGRAMS += git-http-push$X + endif endif endif diff --git a/http-push.c b/http-push.c index f3c92c9..76c7886 100644 --- a/http-push.c +++ b/http-push.c @@ -6,8 +6,6 @@ #include "blob.h" #include "http.h" -#ifdef USE_CURL_MULTI - #include <expat.h> static const char http_push_usage[] = @@ -1426,10 +1424,3 @@ int main(int argc, char **argv) return rc; } -#else /* ifdef USE_CURL_MULTI */ -int main(int argc, char **argv) -{ - fprintf(stderr, "http-push requires curl 7.9.8 or higher.\n"); - return 1; -} -#endif --- 0.99.9.GIT