* tool/rbinstall.rb (bin-comm): prepend prolog shell script if
necessary. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
41a25b855a
commit
ec50e32dbd
@ -1,4 +1,7 @@
|
|||||||
Sat Nov 6 07:28:39 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Sat Nov 6 07:30:07 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* tool/rbinstall.rb (bin-comm): prepend prolog shell script if
|
||||||
|
necessary.
|
||||||
|
|
||||||
* configure.in (LIBRUBY_RELATIVE): use rpath token expansion.
|
* configure.in (LIBRUBY_RELATIVE): use rpath token expansion.
|
||||||
|
|
||||||
|
@ -302,6 +302,7 @@ lib = CONFIG["LIBRUBY"]
|
|||||||
arc = CONFIG["LIBRUBY_A"]
|
arc = CONFIG["LIBRUBY_A"]
|
||||||
major = CONFIG["MAJOR"]
|
major = CONFIG["MAJOR"]
|
||||||
minor = CONFIG["MINOR"]
|
minor = CONFIG["MINOR"]
|
||||||
|
load_relative = configure_args.include?("--enable-load-relative")
|
||||||
|
|
||||||
install?(:local, :arch, :bin, :'bin-arch') do
|
install?(:local, :arch, :bin, :'bin-arch') do
|
||||||
prepare "binary commands", bindir
|
prepare "binary commands", bindir
|
||||||
@ -381,6 +382,23 @@ install?(:doc, :capi) do
|
|||||||
install_recursive "doc/capi", capidir, :mode => $data_mode
|
install_recursive "doc/capi", capidir, :mode => $data_mode
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if load_relative
|
||||||
|
PROLOG_SCRIPT = <<EOS
|
||||||
|
#!/bin/sh\n# -*- ruby -*-
|
||||||
|
bindir=`#{CONFIG["CHDIR"]} "${0%/*}" 2>/dev/null; pwd`
|
||||||
|
EOS
|
||||||
|
if CONFIG["LIBRUBY_RELATIVE"] != 'yes' and libpathenv = CONFIG["LIBPATHENV"]
|
||||||
|
pathsep = File::PATH_SEPARATOR
|
||||||
|
PROLOG_SCRIPT << <<EOS
|
||||||
|
prefix="${bindir%/bin}"
|
||||||
|
export #{libpathenv}="$prefix/lib${#{libpathenv}#{pathsep}+#{pathsep}$#{libpathenv}}"
|
||||||
|
EOS
|
||||||
|
end
|
||||||
|
PROLOG_SCRIPT << %Q[exec "$bindir/#{ruby_install_name}" -x "$0" "$@"\n]
|
||||||
|
else
|
||||||
|
PROLOG_SCRIPT = nil
|
||||||
|
end
|
||||||
|
|
||||||
install?(:local, :comm, :bin, :'bin-comm') do
|
install?(:local, :comm, :bin, :'bin-comm') do
|
||||||
prepare "command scripts", bindir
|
prepare "command scripts", bindir
|
||||||
|
|
||||||
@ -426,7 +444,11 @@ install?(:local, :comm, :bin, :'bin-comm') do
|
|||||||
shebang = f.gets
|
shebang = f.gets
|
||||||
body = f.read
|
body = f.read
|
||||||
end
|
end
|
||||||
shebang.sub!(/^\#!.*?ruby\b/) {"#!" + ruby_shebang}
|
if PROLOG_SCRIPT
|
||||||
|
shebang.sub!(/\A(\#!.*?ruby\b)?/) {PROLOG_SCRIPT + ($1 || "#!ruby\n")}
|
||||||
|
else
|
||||||
|
shebang.sub!(/\A\#!.*?ruby\b/) {"#!" + ruby_shebang}
|
||||||
|
end
|
||||||
shebang.sub!(/\r$/, '')
|
shebang.sub!(/\r$/, '')
|
||||||
body.gsub!(/\r$/, '')
|
body.gsub!(/\r$/, '')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user