diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-02-26 08:01:54 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-02-26 08:01:54 +0000 |
commit | 68c062b1f06f384df91a198e69495f185b12e334 (patch) | |
tree | 461c3a8b7ca3f2e38f52b67248c1ff922687a3b5 | |
parent | fefdad109addb40e67bc9ad87c9c26c369b7691b (diff) | |
download | ruby-68c062b1f06f384df91a198e69495f185b12e334.tar.gz |
configure.in: PRELOADENV
* configure.in (PRELOADENV): platform specific environment to
pre-load the given shared libraries.
* tool/runruby.rb: use config['PRELOADENV'] instead of hardcoded
LD_PRELOAD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | configure.in | 2 | ||||
-rwxr-xr-x | tool/runruby.rb | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/configure.in b/configure.in index f2fa7cc259..7e8b91599c 100644 --- a/configure.in +++ b/configure.in @@ -2972,6 +2972,7 @@ if test "$with_dln_a_out" != yes; then [darwin*], [ : ${LDSHARED='$(CC) -dynamic -bundle'} : ${LDFLAGS=""} : ${LIBPATHENV=DYLD_LIBRARY_PATH} + : ${PRELOADENV=DYLD_INSERT_LIBRARIES} rb_cv_dlopen=yes], [aix*], [ : ${LDSHARED='$(CC)'} LDSHARED="$LDSHARED ${linker_flag}-G" @@ -3080,6 +3081,7 @@ AC_SUBST(LINK_SO) AC_SUBST(LIBPATHFLAG) AC_SUBST(RPATHFLAG) AC_SUBST(LIBPATHENV, "${LIBPATHENV-LD_LIBRARY_PATH}") +AC_SUBST(PRELOADENV, "${PRELOADENV-LD_PRELOAD}") AC_SUBST(TRY_LINK) if test "x$OPT_DIR" != x; then diff --git a/tool/runruby.rb b/tool/runruby.rb index ea1cb87aa6..7def5063b2 100755 --- a/tool/runruby.rb +++ b/tool/runruby.rb @@ -79,8 +79,12 @@ if File.file?(libruby_so) if e = config['LIBPATHENV'] and !e.empty? env[e] = [abs_archdir, ENV[e]].compact.join(File::PATH_SEPARATOR) end - if /linux/ =~ RUBY_PLATFORM - env["LD_PRELOAD"] = [libruby_so, ENV["LD_PRELOAD"]].compact.join(' ') + if e = config['PRELOADENV'] + e = nil if e.empty? + e ||= "LD_PRELOAD" if /linux/ =~ RUBY_PLATFORM + end + if e + env[e] = [libruby_so, ENV[e]].compact.join(' ') end end |