Refactor parts of run-program-prefix and built-program-cmd into new run-via-rtld...
authorJoseph Myers <joseph@codesourcery.com>
Tue, 23 Oct 2012 22:05:28 +0000 (22:05 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 23 Oct 2012 22:05:28 +0000 (22:05 +0000)
ChangeLog
Makeconfig

index a3a6d34269f47bf1061eb802c0e7f1c73e8804a8..19791f6395a93eea2d7f890dc8975579622bb529 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-10-23  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.
+
 2012-10-22  Andreas Jaeger  <aj@suse.de>
 
        * sysdeps/unix/sysv/linux/bits/fcntl-linux.h (O_RSYNC): Define to
index 9dadc3f17753df616a13915acd2c8af4f7300a9a..0a78b76e3ab0b1d7b042e611dfed35cb2a3822b8 100644 (file)
@@ -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