From: Benoit Sigoure Date: Wed, 03 Oct 2007 22:20:52 GMT Subject: [PATCH] Be nice with compilers that do not support runtime paths at all. Message-ID: <1191450052-23619-1-git-send-email-tsuna@lrde.epita.fr> In-Reply-To: <7vsl4rdgf4.fsf@gitster.siamese.dyndns.org> On Darwin for instance, there is no -R or -Wl,-rpath thing to fiddle with, it's simply not supported by the dynamic loader. This patch introduces a NO_RPATH define which is enabled by default for Darwin. --- Makefile | 24 ++++++++++++++++++++---- 1 files changed, 20 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index a1fe443..7c6c453 100644 --- a/Makefile +++ b/Makefile @@ -100,6 +100,9 @@ all:: # that tells runtime paths to dynamic libraries; # "-Wl,-rpath=/path/lib" is used instead. # +# Define NO_RPATH if your dynamic loader doesn't support runtime paths at +# all. +# # Define USE_NSEC below if you want git to care about sub-second file mtimes # and ctimes. Note that you need recent glibc (at least 2.2.4) for this, and # it will BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely @@ -507,6 +510,7 @@ ifeq ($(uname_S),Darwin) BASIC_LDFLAGS += -L/opt/local/lib endif endif + NO_RPATH = YesPlease endif ifdef NO_R_TO_GCC_LINKER @@ -521,7 +525,10 @@ ifndef NO_CURL 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 = -L$(CURLDIR)/$(lib) -lcurl +ifndef NO_RPATH + CURL_LIBCURL += $(CC_LD_DYNPATH)$(CURLDIR)/$(lib) +endif else CURL_LIBCURL = -lcurl endif @@ -539,7 +546,10 @@ endif ifdef ZLIB_PATH BASIC_CFLAGS += -I$(ZLIB_PATH)/include - EXTLIBS += -L$(ZLIB_PATH)/$(lib) $(CC_LD_DYNPATH)$(ZLIB_PATH)/$(lib) + EXTLIBS += -L$(ZLIB_PATH)/$(lib) +ifndef NO_RPATH + EXTLIBS += $(CC_LD_DYNPATH)$(ZLIB_PATH)/$(lib) +endif endif EXTLIBS += -lz @@ -547,7 +557,10 @@ ifndef NO_OPENSSL OPENSSL_LIBSSL = -lssl ifdef OPENSSLDIR BASIC_CFLAGS += -I$(OPENSSLDIR)/include - OPENSSL_LINK = -L$(OPENSSLDIR)/$(lib) $(CC_LD_DYNPATH)$(OPENSSLDIR)/$(lib) + OPENSSL_LINK = -L$(OPENSSLDIR)/$(lib) +ifndef NO_RPATH + OPENSSL_LINK = $(CC_LD_DYNPATH)$(OPENSSLDIR)/$(lib) +endif else OPENSSL_LINK = endif @@ -564,7 +577,10 @@ endif ifdef NEEDS_LIBICONV ifdef ICONVDIR BASIC_CFLAGS += -I$(ICONVDIR)/include - ICONV_LINK = -L$(ICONVDIR)/$(lib) $(CC_LD_DYNPATH)$(ICONVDIR)/$(lib) + ICONV_LINK = -L$(ICONVDIR)/$(lib) +ifndef NO_RPATH + ICONV_LINK = $(CC_LD_DYNPATH)$(ICONVDIR)/$(lib) +endif else ICONV_LINK = endif -- 1.5.3.4.209.g9e417