git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/2] Allow configure to override CC_LD_DYNPATH

From
Giovanni Funchal <gafunchal@gmail.com>
Date
Aug 16, 2008, 13:01 UTC
Message-ID
<1218891667-6014-1-git-send-email-gafunchal@gmail.com>

Current Makefile does not allow configure to override CC_LD_DYNPATH because "-include config.mak" comes after the "ifdef NO_R_TO_GCC_LINKER". This patch moves the referred ifdef.

In addition, another piece of code was moved because the CC_LD_DYNPATH should be also used by ALL_LDFLAGS on NetBSD.

Signed-Off-By: Giovanni Funchal <gafunchal@gmail.com>
---

Ok, this is my third try... I have split the patch into two parts this time. This first one concerns only the minimal support needed on the Makefile side. The next one is the one that does the interesting thing. Sorry for my newbieness and hope it is up to Git coding standards this time :)

I have also changed some comments and replaced "-Wl,-rpath=" by "-Wl,-rpath," for the sake of homogeneity. This should be equivalent everywhere. Thanks Matthieu and Junio for the help.

 Makefile |   25 ++++++++++++++-----------
 1 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/Makefile b/Makefile
index 53ab4b5..2572b4b 100644
--- a/Makefile
+++ b/Makefile
@@ -113,7 +113,7 @@ all::
 #
 # Define NO_R_TO_GCC_LINKER if your gcc does not like "-R/path/lib"
 # that tells runtime paths to dynamic libraries;
-# "-Wl,-rpath=/path/lib" is used instead.
+# "-Wl,-rpath,/path/lib" is used instead.
 #
 # 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
@@ -689,7 +689,6 @@ ifeq ($(uname_S),NetBSD)
 	endif
 	BASIC_CFLAGS += -I/usr/pkg/include
 	BASIC_LDFLAGS += -L/usr/pkg/lib
-	ALL_LDFLAGS += -Wl,-rpath,/usr/pkg/lib
 endif
 ifeq ($(uname_S),AIX)
 	NO_STRCASESTR=YesPlease
@@ -763,9 +762,21 @@ ifneq (,$(findstring arm,$(uname_M)))
 	ARM_SHA1 = YesPlease
 endif
 
+# Runtime dynamic library path switch
+ifdef NO_R_TO_GCC_LINKER
+	# Some linkers use -Wl,-rpath,
+	CC_LD_DYNPATH = -Wl,-rpath,
+else
+	# Some others need -R
+	CC_LD_DYNPATH = -R
+endif
+
 -include config.mak.autogen
 -include config.mak
 
+ifeq ($(uname_S),NetBSD)
+	ALL_LDFLAGS += $(CC_LD_DYNPATH)/usr/pkg/lib
+endif
 ifeq ($(uname_S),Darwin)
 	ifndef NO_FINK
 		ifeq ($(shell test -d /sw/lib && echo y),y)
@@ -781,19 +792,11 @@ ifeq ($(uname_S),Darwin)
 	endif
 endif
 
-ifdef NO_R_TO_GCC_LINKER
-	# Some gcc does not accept and pass -R to the linker to specify
-	# the runtime dynamic library path.
-	CC_LD_DYNPATH = -Wl,-rpath=
-else
-	CC_LD_DYNPATH = -R
-endif
-
 ifdef NO_CURL
 	BASIC_CFLAGS += -DNO_CURL
 else
 	ifdef CURLDIR
-		# Try "-Wl,-rpath=$(CURLDIR)/$(lib)" in such a case.
+		# Try specifying runtime dynamic library path in such a case.
 		BASIC_CFLAGS += -I$(CURLDIR)/include
 		CURL_LIBCURL = -L$(CURLDIR)/$(lib) $(CC_LD_DYNPATH)$(CURLDIR)/$(lib) -lcurl
 	else
-- 
1.5.4.3
Next: Junio C Hamano
Message 1 of 2 in “Allow configure to override CC_LD_DYNPATH”
  1. 1/2 Allow configure to override CC_LD_DYNPATHGiovanni Funchal, Aug 16, 2008
  2. Junio C HamanoAug 17, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.