|
34 | 34 | # git-http-push are not built, and you cannot use http:// and https://
|
35 | 35 | # transports (neither smart nor dumb).
|
36 | 36 | #
|
| 37 | +# Define CURL_CONFIG to the path to a curl-config binary other than the |
| 38 | +# default 'curl-config'. |
| 39 | +# |
| 40 | +# Define CURL_STATIC to statically link libcurl. Only applies if |
| 41 | +# CURL_CONFIG is used. |
| 42 | +# |
37 | 43 | # Define CURLDIR=/foo/bar if your curl header and library files are in
|
38 |
| -# /foo/bar/include and /foo/bar/lib directories. |
| 44 | +# /foo/bar/include and /foo/bar/lib directories. This overrides CURL_CONFIG, |
| 45 | +# but is less robust. |
39 | 46 | #
|
40 | 47 | # Define NO_EXPAT if you do not have expat installed. git-http-push is
|
41 | 48 | # not built, and you cannot push using http:// and https:// transports (dumb).
|
@@ -143,9 +150,11 @@ all::
|
143 | 150 | #
|
144 | 151 | # Define NEEDS_SSL_WITH_CRYPTO if you need -lssl when using -lcrypto (Darwin).
|
145 | 152 | #
|
146 |
| -# Define NEEDS_SSL_WITH_CURL if you need -lssl with -lcurl (Minix). |
| 153 | +# Define NEEDS_SSL_WITH_CURL if you need -lssl with -lcurl (Minix). Only used |
| 154 | +# if CURLDIR is set. |
147 | 155 | #
|
148 |
| -# Define NEEDS_IDN_WITH_CURL if you need -lidn when using -lcurl (Minix). |
| 156 | +# Define NEEDS_IDN_WITH_CURL if you need -lidn when using -lcurl (Minix). Only |
| 157 | +# used if CURLDIR is set. |
149 | 158 | #
|
150 | 159 | # Define NEEDS_LIBICONV if linking with libc is not enough (Darwin).
|
151 | 160 | #
|
@@ -1121,18 +1130,30 @@ else
|
1121 | 1130 | # Try "-Wl,-rpath=$(CURLDIR)/$(lib)" in such a case.
|
1122 | 1131 | BASIC_CFLAGS += -I$(CURLDIR)/include
|
1123 | 1132 | CURL_LIBCURL = -L$(CURLDIR)/$(lib) $(CC_LD_DYNPATH)$(CURLDIR)/$(lib) -lcurl
|
| 1133 | + ifdef NEEDS_SSL_WITH_CURL |
| 1134 | + CURL_LIBCURL += -lssl |
| 1135 | + ifdef NEEDS_CRYPTO_WITH_SSL |
| 1136 | + CURL_LIBCURL += -lcrypto |
| 1137 | + endif |
| 1138 | + endif |
| 1139 | + ifdef NEEDS_IDN_WITH_CURL |
| 1140 | + CURL_LIBCURL += -lidn |
| 1141 | + endif |
1124 | 1142 | else
|
1125 |
| - CURL_LIBCURL = -lcurl |
1126 |
| - endif |
1127 |
| - ifdef NEEDS_SSL_WITH_CURL |
1128 |
| - CURL_LIBCURL += -lssl |
1129 |
| - ifdef NEEDS_CRYPTO_WITH_SSL |
1130 |
| - CURL_LIBCURL += -lcrypto |
| 1143 | + CURL_CONFIG ?= curl-config |
| 1144 | + BASIC_CFLAGS += $(shell $(CURL_CONFIG) --cflags) |
| 1145 | + ifdef CURL_STATIC |
| 1146 | + CURL_LIBCURL = $(shell $(CURL_CONFIG) --static-libs) |
| 1147 | + ifeq "$(CURL_LIBCURL)" "" |
| 1148 | + $(error libcurl not detected or not compiled with static support) |
| 1149 | + endif |
| 1150 | + else |
| 1151 | + CURL_LIBCURL = $(shell $(CURL_CONFIG) --libs) |
| 1152 | + ifeq "$(CURL_LIBCURL)" "" |
| 1153 | + $(error libcurl not detected; try setting CURLDIR) |
| 1154 | + endif |
1131 | 1155 | endif
|
1132 | 1156 | endif
|
1133 |
| - ifdef NEEDS_IDN_WITH_CURL |
1134 |
| - CURL_LIBCURL += -lidn |
1135 |
| - endif |
1136 | 1157 |
|
1137 | 1158 | REMOTE_CURL_PRIMARY = git-remote-http$X
|
1138 | 1159 | REMOTE_CURL_ALIASES = git-remote-https$X git-remote-ftp$X git-remote-ftps$X
|
|
0 commit comments