Use RUNPATH instead of RPATH so that end users can override the library
search path (and the 'validate-runpath' phase can do its work).
diff --git a/build/config/gcc/BUILD.gn b/build/config/gcc/BUILD.gn
--- a/build/config/gcc/BUILD.gn
+++ b/build/config/gcc/BUILD.gn
@@ -99,7 +99,14 @@ config("executable_config") {
]
}
- if (!is_android && current_os != "aix") {
+ if (is_linux) {
+ ldflags += [
+ # Set DT_RUNPATH instead of DT_RPATH which is important because the
+ # former can be overridden at runtime, and Guix has support for
+ # verifying that nothing is missing.
+ "-Wl,--enable-new-dtags",
+ ]
+ } else if (!is_android && current_os != "aix") {
ldflags += [
# TODO(GYP): Do we need a check on the binutils version here?
#
gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers....* gnu/packages/patches/gcc-cross-environment-variables.patch: Also use CROSS_
variants: CROSS_C_INCLUDE_PATH, CROSS_CPLUS_INCLUDE_PATH,
CROSS_OBJC_INCLUDE_PATH, CROSS_OBJCPLUS_INCLUDE_PATH to be used for system
libraries, see
https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00620.html.
* gnu/packages/cross-base.scm (cross-gcc, cross-gcc-arguments, cross-libc):
Use CROSS_*_INCLUDE_PATH (WAS: CPATH).
Signed-off-by: Ludovic Courtès <ludo@gnu.org>