aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile35
1 files changed, 23 insertions, 12 deletions
diff --git a/Makefile b/Makefile
index 2128ce3ea2..d6330bc675 100644
--- a/Makefile
+++ b/Makefile
@@ -34,8 +34,12 @@ all::
# git-http-push are not built, and you cannot use http:// and https://
# transports (neither smart nor dumb).
#
+# Define CURL_CONFIG to the path to a curl-config binary other than the
+# default 'curl-config'.
+#
# Define CURLDIR=/foo/bar if your curl header and library files are in
-# /foo/bar/include and /foo/bar/lib directories.
+# /foo/bar/include and /foo/bar/lib directories. This overrides CURL_CONFIG,
+# but is less robust.
#
# Define NO_EXPAT if you do not have expat installed. git-http-push is
# not built, and you cannot push using http:// and https:// transports (dumb).
@@ -143,9 +147,11 @@ all::
#
# Define NEEDS_SSL_WITH_CRYPTO if you need -lssl when using -lcrypto (Darwin).
#
-# Define NEEDS_SSL_WITH_CURL if you need -lssl with -lcurl (Minix).
+# Define NEEDS_SSL_WITH_CURL if you need -lssl with -lcurl (Minix). Only used
+# if CURLDIR is set.
#
-# Define NEEDS_IDN_WITH_CURL if you need -lidn when using -lcurl (Minix).
+# Define NEEDS_IDN_WITH_CURL if you need -lidn when using -lcurl (Minix). Only
+# used if CURLDIR is set.
#
# Define NEEDS_LIBICONV if linking with libc is not enough (Darwin).
#
@@ -1121,18 +1127,23 @@ else
# Try "-Wl,-rpath=$(CURLDIR)/$(lib)" in such a case.
BASIC_CFLAGS += -I$(CURLDIR)/include
CURL_LIBCURL = -L$(CURLDIR)/$(lib) $(CC_LD_DYNPATH)$(CURLDIR)/$(lib) -lcurl
+ ifdef NEEDS_SSL_WITH_CURL
+ CURL_LIBCURL += -lssl
+ ifdef NEEDS_CRYPTO_WITH_SSL
+ CURL_LIBCURL += -lcrypto
+ endif
+ endif
+ ifdef NEEDS_IDN_WITH_CURL
+ CURL_LIBCURL += -lidn
+ endif
else
- CURL_LIBCURL = -lcurl
- endif
- ifdef NEEDS_SSL_WITH_CURL
- CURL_LIBCURL += -lssl
- ifdef NEEDS_CRYPTO_WITH_SSL
- CURL_LIBCURL += -lcrypto
+ CURL_CONFIG ?= curl-config
+ BASIC_CFLAGS += $(shell $(CURL_CONFIG) --cflags)
+ CURL_LIBCURL = $(shell $(CURL_CONFIG) --libs)
+ ifeq "$(CURL_LIBCURL)" ""
+ $(error curl not detected; try setting CURLDIR)
endif
endif
- ifdef NEEDS_IDN_WITH_CURL
- CURL_LIBCURL += -lidn
- endif
REMOTE_CURL_PRIMARY = git-remote-http$X
REMOTE_CURL_ALIASES = git-remote-https$X git-remote-ftp$X git-remote-ftps$X