summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Jeff King <peff@peff.net>2020-03-26 04:08:55 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2020-03-27 15:11:54 -0700
commit897d68e7af82824e0c9e15d3c4af1a8a71afc791 (patch)
tree043ce7413d1713c3f50f0535e8057520c491e1dc
parentMakefile: avoid running curl-config multiple times (diff)
downloadtgif-897d68e7af82824e0c9e15d3c4af1a8a71afc791.tar.xz
Makefile: use curl-config --cflags
We add the result of "curl-config --libs" when linking curl programs, but we never bother calling "curl-config --cflags". Presumably nobody noticed because: - a system libcurl installed into /usr/include/curl wouldn't need any flags ("/usr/include" is already in the search path, and the #include lines all look <curl/curl.h>, etc). - using CURLDIR sets up both the includes and the library path However, if you prefer CURL_CONFIG to CURLDIR, something simple like: make CURL_CONFIG=/path/to/curl-config doesn't work. We'd link against the libcurl specified by that program, but not find its header files when compiling. Let's invoke "curl-config --cflags" similar to the way we do for "--libs". Note that we'll feed the result into BASIC_CFLAGS. The rest of the Makefile doesn't distinguish which files need curl support during compilation and which do not. That should be OK, though. At most this should be adding a "-I" directive, and this is how CURLDIR already behaves. And since we follow the immediate-variable pattern from CURL_LDFLAGS, we won't accidentally invoke curl-config once per compilation. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--Makefile8
1 files changed, 7 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index eaf56e23aa..3d90488dab 100644
--- a/Makefile
+++ b/Makefile
@@ -1358,9 +1358,10 @@ ifdef NO_CURL
else
ifdef CURLDIR
# Try "-Wl,-rpath=$(CURLDIR)/$(lib)" in such a case.
- BASIC_CFLAGS += -I$(CURLDIR)/include
+ CURL_CFLAGS = -I$(CURLDIR)/include
CURL_LIBCURL = -L$(CURLDIR)/$(lib) $(CC_LD_DYNPATH)$(CURLDIR)/$(lib)
else
+ CURL_CFLAGS =
CURL_LIBCURL =
endif
@@ -1369,6 +1370,11 @@ else
endif
CURL_LIBCURL += $(CURL_LDFLAGS)
+ ifndef CURL_CFLAGS
+ CURL_CFLAGS := $(shell $(CURL_CONFIG) --cflags)
+ endif
+ BASIC_CFLAGS += $(CURL_CFLAGS)
+
REMOTE_CURL_PRIMARY = git-remote-http$X
REMOTE_CURL_ALIASES = git-remote-https$X git-remote-ftp$X git-remote-ftps$X
REMOTE_CURL_NAMES = $(REMOTE_CURL_PRIMARY) $(REMOTE_CURL_ALIASES)