Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH 1/2] Allow configure to override CC_LD_DYNPATH

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:45:10
Subsystem: kernel build + files below scripts/ (unless maintained elsewhere), the rest · Maintainers: Nathan Chancellor, Nicolas Schier, Linus Torvalds

Possibly related (same subject, not in this thread)

Giovanni Funchal [off-list ref] writes:
quoted hunk
@@ -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
I think this NetBSD change might be a good idea.

By moving "ifdef" before where we "include config.mak", however, you broke
existing setups that use NO_R_TO_GCC_LINKER to cause "-Wl,-rpath=" to be
used.

How about doing it the way the attached patch does instead?  Then the
autoconf can configure CC_LD_DYNPATH to be used that may even be different
from "-Wl,-rpath=" (e.g. the one with double-dash "-Wl,--rpath").

 Makefile |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/Makefile b/Makefile
index 53ab4b5..264ede3 100644
--- a/Makefile
+++ b/Makefile
@@ -688,8 +688,7 @@ ifeq ($(uname_S),NetBSD)
 		NEEDS_LIBICONV = YesPlease
 	endif
 	BASIC_CFLAGS += -I/usr/pkg/include
-	BASIC_LDFLAGS += -L/usr/pkg/lib
-	ALL_LDFLAGS += -Wl,-rpath,/usr/pkg/lib
+	BASIC_LDFLAGS += -L/usr/pkg/lib $(CC_LD_DYNPATH)/usr/pkg/lib
 endif
 ifeq ($(uname_S),AIX)
 	NO_STRCASESTR=YesPlease
@@ -781,12 +780,14 @@ 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
+ifndef CC_LD_DYNPATH
+	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
 endif
 
 ifdef NO_CURL
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help