mirror of
https://github.com/git/git.git
synced 2024-11-27 20:14:30 +08:00
Merge branch 'rp/link-curl-before-ssl' into maint
The linkage order of libraries was wrong in places around libcurl. * rp/link-curl-before-ssl: configure.ac: detect ssl need with libcurl Makefile: make curl-config path configurable Makefile: link libcurl before zlib
This commit is contained in:
commit
3897d2d906
17
Makefile
17
Makefile
@ -39,6 +39,9 @@ all::
|
||||
# Define CURLDIR=/foo/bar if your curl header and library files are in
|
||||
# /foo/bar/include and /foo/bar/lib directories.
|
||||
#
|
||||
# Define CURL_CONFIG to curl's configuration program that prints information
|
||||
# about the library (e.g., its version number). The default is 'curl-config'.
|
||||
#
|
||||
# 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).
|
||||
#
|
||||
@ -428,6 +431,7 @@ TCL_PATH = tclsh
|
||||
TCLTK_PATH = wish
|
||||
XGETTEXT = xgettext
|
||||
MSGFMT = msgfmt
|
||||
CURL_CONFIG = curl-config
|
||||
PTHREAD_LIBS = -lpthread
|
||||
PTHREAD_CFLAGS =
|
||||
GCOV = gcov
|
||||
@ -1036,7 +1040,7 @@ ifdef HAVE_ALLOCA_H
|
||||
endif
|
||||
|
||||
IMAP_SEND_BUILDDEPS =
|
||||
IMAP_SEND_LDFLAGS = $(OPENSSL_LINK) $(OPENSSL_LIBSSL) $(LIB_4_CRYPTO)
|
||||
IMAP_SEND_LDFLAGS =
|
||||
|
||||
ifdef NO_CURL
|
||||
BASIC_CFLAGS += -DNO_CURL
|
||||
@ -1066,13 +1070,13 @@ 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)
|
||||
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_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)
|
||||
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"
|
||||
USE_CURL_FOR_IMAP_SEND = YesPlease
|
||||
endif
|
||||
@ -1093,6 +1097,7 @@ else
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
IMAP_SEND_LDFLAGS += $(OPENSSL_LINK) $(OPENSSL_LIBSSL) $(LIB_4_CRYPTO)
|
||||
|
||||
ifdef ZLIB_PATH
|
||||
BASIC_CFLAGS += -I$(ZLIB_PATH)/include
|
||||
@ -1978,10 +1983,10 @@ git-imap-send$X: imap-send.o $(IMAP_SEND_BUILDDEPS) GIT-LDFLAGS $(GITLIBS)
|
||||
|
||||
git-http-fetch$X: http.o http-walker.o http-fetch.o GIT-LDFLAGS $(GITLIBS)
|
||||
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
|
||||
$(LIBS) $(CURL_LIBCURL)
|
||||
$(CURL_LIBCURL) $(LIBS)
|
||||
git-http-push$X: http.o http-push.o GIT-LDFLAGS $(GITLIBS)
|
||||
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
|
||||
$(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)
|
||||
$(CURL_LIBCURL) $(EXPAT_LIBEXPAT) $(LIBS)
|
||||
|
||||
git-remote-testsvn$X: remote-testsvn.o GIT-LDFLAGS $(GITLIBS) $(VCSSVN_LIB)
|
||||
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS) \
|
||||
@ -1995,7 +2000,7 @@ $(REMOTE_CURL_ALIASES): $(REMOTE_CURL_PRIMARY)
|
||||
|
||||
$(REMOTE_CURL_PRIMARY): remote-curl.o http.o http-walker.o GIT-LDFLAGS $(GITLIBS)
|
||||
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
|
||||
$(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)
|
||||
$(CURL_LIBCURL) $(EXPAT_LIBEXPAT) $(LIBS)
|
||||
|
||||
$(LIB_FILE): $(LIB_OBJS)
|
||||
$(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
|
||||
|
23
configure.ac
23
configure.ac
@ -521,10 +521,33 @@ AC_CHECK_LIB([curl], [curl_global_init],
|
||||
[NO_CURL=],
|
||||
[NO_CURL=YesPlease])
|
||||
|
||||
if test -z "${NO_CURL}" && test -z "${NO_OPENSSL}"; then
|
||||
|
||||
AC_CHECK_LIB([curl], [Curl_ssl_init],
|
||||
[NEEDS_SSL_WITH_CURL=YesPlease],
|
||||
[NEEDS_SSL_WITH_CURL=])
|
||||
|
||||
GIT_CONF_SUBST([NEEDS_SSL_WITH_CURL])
|
||||
|
||||
fi
|
||||
|
||||
GIT_UNSTASH_FLAGS($CURLDIR)
|
||||
|
||||
GIT_CONF_SUBST([NO_CURL])
|
||||
|
||||
if test -z "$NO_CURL"; then
|
||||
|
||||
AC_CHECK_PROG([CURL_CONFIG], [curl-config],
|
||||
[curl-config],
|
||||
[no])
|
||||
|
||||
if test $CURL_CONFIG != no; then
|
||||
GIT_CONF_SUBST([CURL_CONFIG])
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
#
|
||||
# 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.
|
||||
|
Loading…
Reference in New Issue
Block a user