On Mon, Apr 28, 2014 at 11:01 PM, Dave Borowitz <dborowitz@xxxxxxxxxx> wrote: > The original implementation of CURL_CONFIG support did not match the > original behavior of using -lcurl when CURLDIR was not set. This broke > implementations that were lacking curl-config but did have libcurl > installed along system libraries, such as MSysGit. In other words, the > assumption that curl-config is always installed was incorrect. > > Instead, if CURL_CONFIG is empty or returns an empty result (e.g. due > to curl-config being missing), use the old behavior of falling back to > -lcurl. > > Signed-off-by: Dave Borowitz <dborowitz@xxxxxxxxxx> > --- > Makefile | 41 ++++++++++++++++++++++++++++------------- > 1 file changed, 28 insertions(+), 13 deletions(-) > > diff --git a/Makefile b/Makefile > index 74a929b..81e8214 100644 > --- a/Makefile > +++ b/Makefile > @@ -35,14 +35,17 @@ all:: > # transports (neither smart nor dumb). > # > # Define CURL_CONFIG to the path to a curl-config binary other than the > -# default 'curl-config'. > +# default 'curl-config'. If CURL_CONFIG is unset or points to a binary that > +# is not found, defaults to the CURLDIR behavior. > # > # Define CURL_STATIC to statically link libcurl. Only applies if > # CURL_CONFIG is used. > # > # Define CURLDIR=/foo/bar if your curl header and library files are in > -# /foo/bar/include and /foo/bar/lib directories. This overrides CURL_CONFIG, > -# but is less robust. > +# /foo/bar/include and /foo/bar/lib directories. This overrides > +# CURL_CONFIG, but is less robust. If not set, and CURL_CONFIG is not set, > +# uses -lcurl with no additional library detection (other than > +# NEEDS_*_WITH_CURL). This is wrong, no? With CURL_CONFIG not set, it currently *does* run curl-config, see below. > # > # 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). > @@ -1127,9 +1130,27 @@ ifdef NO_CURL > REMOTE_CURL_NAMES = > else > ifdef CURLDIR > - # 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 > + CURL_LIBCURL = > + else > + CURL_CONFIG = curl-config > + ifeq "$(CURL_CONFIG)" "" > + CURL_LIBCURL = > + else > + CURL_LIBCURL := $(shell $(CURL_CONFIG) --libs) > + endif Doesn't that definition just define CURL_CONFIG unconditionally? How are the first condition ever supposed to get triggered? $ make make: curl-config: Command not found GIT_VERSION = 1.9.2.462.gf3f11fa make: curl-config: Command not found * new build flags * new link flags * new prefix flags GEN common-cmds.h ... Yuck. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html