Makefile: do not depend on curl-config

MinGW builds of cURL does not ship with curl-config unless built
with the autoconf based build system, which is not the practice
recommended by the documentation. MsysGit has had issues with
binaries of that sort, so it has switched away from autoconf-based
cURL-builds.

Unfortunately, broke pushing over WebDAV on Windows, because
http-push.c depends on cURL's multi-threaded API, which we could
not determine the presence of any more.

Since troublesome curl-versions are ancient, and not even present
in RedHat 5, let's just assume cURL is capable instead of doing a
non-robust check.

Instead, add a check for curl_multi_init to our configure-script,
for those on ancient system. They probably already need to do the
configure-dance anyway.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
This commit is contained in:
Erik Faye-Lund
2014-04-28 18:29:05 +02:00
committed by Johannes Schindelin
parent b3b8b31882
commit 2a07ea54fd
2 changed files with 13 additions and 5 deletions

View File

@@ -1063,14 +1063,11 @@ else
REMOTE_CURL_NAMES = $(REMOTE_CURL_PRIMARY) $(REMOTE_CURL_ALIASES)
PROGRAM_OBJS += http-fetch.o
PROGRAMS += $(REMOTE_CURL_NAMES)
curl_check := $(shell (echo 070908; curl-config --vernum | sed -e '/^70[BC]/s/^/0/') 2>/dev/null | sort -r | sed -ne 2p)
ifeq "$(curl_check)" "070908"
ifndef NO_CURL_MULTI
ifndef NO_EXPAT
PROGRAM_OBJS += http-push.o
endif
endif
curl_check := $(shell (echo 072200; curl-config --vernum | sed -e '/^70[BC]/s/^/0/') 2>/dev/null | sort -r | sed -ne 2p)
ifeq "$(curl_check)" "072200"
# Assume that cURL is new enough
USE_CURL_FOR_IMAP_SEND = YesPlease
endif
ifdef USE_CURL_FOR_IMAP_SEND

View File

@@ -521,6 +521,17 @@ AC_CHECK_LIB([curl], [curl_global_init],
[NO_CURL=],
[NO_CURL=YesPlease])
if test -z "$NO_CURL"; then
AC_CHECK_DECLS([curl_multi_init],
[NO_CURL_MULTI=],
[NO_CURL_MULTI=UnfortunatelyYes],
[[#include <curl/curl.h>]])
GIT_CONF_SUBST([NO_CURL_MULTI])
fi
GIT_UNSTASH_FLAGS($CURLDIR)
GIT_CONF_SUBST([NO_CURL])