From: Junio C Hamano Date: Wed, 13 Jul 2011 21:31:37 +0000 (-0700) Subject: Merge branch 'fk/relink-upon-ldflags-update' X-Git-Tag: v1.7.7-rc0~99 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/b57e58fc82439ac8ae1d46d8a5303d5920091ae5?ds=inline;hp=-c Merge branch 'fk/relink-upon-ldflags-update' * fk/relink-upon-ldflags-update: Makefile: Track changes to LDFLAGS and relink when necessary --- b57e58fc82439ac8ae1d46d8a5303d5920091ae5 diff --combined Makefile index 8d8f61e4f0,75b407c276..46793d1112 --- a/Makefile +++ b/Makefile @@@ -556,7 -556,6 +556,7 @@@ LIB_H += sha1-lookup. LIB_H += sideband.h LIB_H += sigchain.h LIB_H += strbuf.h +LIB_H += streaming.h LIB_H += string-list.h LIB_H += submodule.h LIB_H += tag.h @@@ -663,7 -662,6 +663,7 @@@ LIB_OBJS += shallow. LIB_OBJS += sideband.o LIB_OBJS += sigchain.o LIB_OBJS += strbuf.o +LIB_OBJS += streaming.o LIB_OBJS += string-list.o LIB_OBJS += submodule.o LIB_OBJS += symlinks.o @@@ -1126,6 -1124,8 +1126,6 @@@ endi X = .exe endif ifeq ($(uname_S),Interix) - NO_SYS_POLL_H = YesPlease - NO_INTTYPES_H = YesPlease NO_INITGROUPS = YesPlease NO_IPV6 = YesPlease NO_MEMMEM = YesPlease @@@ -1136,14 -1136,10 +1136,14 @@@ ifeq ($(uname_R),3.5) NO_INET_NTOP = YesPlease NO_INET_PTON = YesPlease + NO_SOCKADDR_STORAGE = YesPlease + NO_FNMATCH_CASEFOLD = YesPlease endif ifeq ($(uname_R),5.2) NO_INET_NTOP = YesPlease NO_INET_PTON = YesPlease + NO_SOCKADDR_STORAGE = YesPlease + NO_FNMATCH_CASEFOLD = YesPlease endif endif ifneq (,$(findstring MINGW,$(uname_S))) @@@ -1710,7 -1706,7 +1710,7 @@@ git.sp git.s git.o: EXTRA_CPPFLAGS = -D '-DGIT_MAN_PATH="$(mandir_SQ)"' \ '-DGIT_INFO_PATH="$(infodir_SQ)"' - git$X: git.o $(BUILTIN_OBJS) $(GITLIBS) + git$X: git.o GIT-LDFLAGS $(BUILTIN_OBJS) $(GITLIBS) $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ git.o \ $(BUILTIN_OBJS) $(ALL_LDFLAGS) $(LIBS) @@@ -2008,17 -2004,17 +2008,17 @@@ compat/nedmalloc/nedmalloc.sp compat/ne -DNDEBUG -DOVERRIDE_STRDUP -DREPLACE_SYSTEM_ALLOCATOR endif - git-%$X: %.o $(GITLIBS) + git-%$X: %.o GIT-LDFLAGS $(GITLIBS) $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS) - git-imap-send$X: imap-send.o $(GITLIBS) + git-imap-send$X: imap-send.o GIT-LDFLAGS $(GITLIBS) $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \ $(LIBS) $(OPENSSL_LINK) $(OPENSSL_LIBSSL) $(LIB_4_CRYPTO) - git-http-fetch$X: revision.o http.o http-walker.o http-fetch.o $(GITLIBS) + git-http-fetch$X: revision.o http.o http-walker.o http-fetch.o GIT-LDFLAGS $(GITLIBS) $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \ $(LIBS) $(CURL_LIBCURL) - git-http-push$X: revision.o http.o http-push.o $(GITLIBS) + git-http-push$X: revision.o http.o http-push.o GIT-LDFLAGS $(GITLIBS) $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \ $(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT) @@@ -2028,7 -2024,7 +2028,7 @@@ $(REMOTE_CURL_ALIASES): $(REMOTE_CURL_P ln -s $< $@ 2>/dev/null || \ cp $< $@ - $(REMOTE_CURL_PRIMARY): remote-curl.o http.o http-walker.o $(GITLIBS) + $(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) @@@ -2098,6 -2094,15 +2098,15 @@@ GIT-CFLAGS: FORC echo "$$FLAGS" >GIT-CFLAGS; \ fi + TRACK_LDFLAGS = $(subst ','\'',$(ALL_LDFLAGS)) + + GIT-LDFLAGS: FORCE + @FLAGS='$(TRACK_LDFLAGS)'; \ + if test x"$$FLAGS" != x"`cat GIT-LDFLAGS 2>/dev/null`" ; then \ + echo 1>&2 " * new link flags"; \ + echo "$$FLAGS" >GIT-LDFLAGS; \ + fi + # We need to apply sq twice, once to protect from the shell # that runs GIT-BUILD-OPTIONS, and then again to protect it # and the first level quoting from the shell that runs "echo". @@@ -2169,7 -2174,7 +2178,7 @@@ test-svn-fe$X: vcs-svn/lib. .PRECIOUS: $(TEST_OBJS) - test-%$X: test-%.o $(GITLIBS) + test-%$X: test-%.o GIT-LDFLAGS $(GITLIBS) $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(filter %.a,$^) $(LIBS) check-sha1:: test-sha1$X @@@ -2379,7 -2384,7 +2388,7 @@@ ifndef NO_TCLT $(MAKE) -C gitk-git clean $(MAKE) -C git-gui clean endif - $(RM) GIT-VERSION-FILE GIT-CFLAGS GIT-GUI-VARS GIT-BUILD-OPTIONS + $(RM) GIT-VERSION-FILE GIT-CFLAGS GIT-LDFLAGS GIT-GUI-VARS GIT-BUILD-OPTIONS .PHONY: all install clean strip .PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell