diff --git a/ChangeLog b/ChangeLog index a3a6d34269..19791f6395 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-10-23 Joseph Myers + Jim Blandy + + * Makeconfig (run-via-rtld-prefix): New variable. + (run-program-prefix): Define in terms of $(run-via-rtld-prefix). + (built-program-cmd): Likewise. + 2012-10-22 Andreas Jaeger * sysdeps/unix/sysv/linux/bits/fcntl-linux.h (O_RSYNC): Define to diff --git a/Makeconfig b/Makeconfig index 9dadc3f177..0a78b76e3a 100644 --- a/Makeconfig +++ b/Makeconfig @@ -573,17 +573,30 @@ sysdep-library-path = \ $(subst $(empty) ,:,$(strip $(patsubst -Wl$(comma)-rpath-link=%, %,\ $(filter -Wl$(comma)-rpath-link=%,\ $(sysdep-LDFLAGS))))) -run-program-prefix = $(if $(filter $(notdir $(built-program-file)),\ - $(tests-static) $(xtests-static)),, \ - $(elf-objpfx)$(rtld-installed-name) \ - --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path))) +# $(run-via-rtld-prefix) is a command that, when prepended to the name +# of a program built with the newly built library, produces a command +# that, executed on the host for which the library is built, runs that +# program. For the statically-linked %-bp test programs, and for +# tests listed in tests-static or xtests-static, it is empty. +run-via-rtld-prefix = \ + $(if $(strip $(filter $(notdir $(built-program-file)), \ + $(tests-static) $(xtests-static)) \ + $(filter %-bp,$(built-program-file))),, \ + $(elf-objpfx)$(rtld-installed-name) \ + --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path))) else -run-program-prefix = +run-via-rtld-prefix = endif -# Never use $(run-program-prefix) for the statically-linked %-bp test programs -built-program-cmd = $(patsubst %,$(run-program-prefix),\ - $(filter-out %-bp,$(built-program-file))) \ - $(built-program-file) +# $(run-via-rtld-prefix) is a command that, when prepended to the name +# of a program built with the newly built library, produces a command +# that, executed on the build system on which "make" is run, runs that +# program. +run-program-prefix = $(run-via-rtld-prefix) +# $(built-program-cmd) is a command that, executed on the build system +# on which "make" is run, runs the newly built program that is the +# second dependency of the makefile target in which +# $(built-program-cmd) is used. +built-program-cmd = $(run-via-rtld-prefix) $(built-program-file) ifndef LD LD := ld -X