This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Refactor parts of run-program-prefix and built-program-cmd intonew run-via-rtld-prefix
On Mon, 22 Oct 2012, Roland McGrath wrote:
> There should be comments at the definition sites of both variables
> explaining what their exact intended uses are. As is, someone would
> have to read your message in the mailing list archives to guess why
> there are two variables at all.
How does this version seem? The only changes are comments.
(The differences would of course be clearer once the cross-testing changes
are in, but such comments seem like a good idea anyway.)
2012-10-22 Joseph Myers <joseph@codesourcery.com>
Jim Blandy <jimb@codesourcery.com>
* Makeconfig (run-via-rtld-prefix): New variable.
(run-program-prefix): Define in terms of $(run-via-rtld-prefix).
(built-program-cmd): Likewise.
diff --git a/Makeconfig b/Makeconfig
index 9dadc3f..0a78b76 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 =
-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 =
+endif
+# $(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
--
Joseph S. Myers
joseph@codesourcery.com