mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
make runnable
* common.mk (runnable): make symbolic links to run in build directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
66d0ad3607
commit
3fceaf10ab
6 changed files with 77 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
|||
Tue Jul 3 11:16:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* common.mk (runnable): make symbolic links to run in build directory.
|
||||
|
||||
Tue Jul 3 10:46:06 2012 NARUSE, Yui <naruse@ruby-lang.org>
|
||||
|
||||
* ruby.c (proc_options): warn if -K option is specified. [Feature #5206]
|
||||
|
|
|
@ -116,6 +116,7 @@ LIBRUBY = @LIBRUBY@
|
|||
LIBRUBYARG = @LIBRUBYARG@
|
||||
LIBRUBYARG_STATIC = @LIBRUBYARG_STATIC@
|
||||
LIBRUBYARG_SHARED = @LIBRUBYARG_SHARED@
|
||||
LIBRUBY_RELATIVE = @LIBRUBY_RELATIVE@
|
||||
|
||||
THREAD_MODEL = @THREAD_MODEL@
|
||||
|
||||
|
|
|
@ -521,6 +521,11 @@ test-rubyspec-precheck:
|
|||
test-rubyspec: test-rubyspec-precheck
|
||||
$(RUNRUBY) $(srcdir)/spec/mspec/bin/mspec run -B $(srcdir)/spec/default.mspec $(MSPECOPT)
|
||||
|
||||
RUNNABLE = $(LIBRUBY_RELATIVE:no=un)-runnable
|
||||
runnable: $(RUNNABLE) prog $(srcdir)/tool/mkrunnable.rb PHONY
|
||||
$(Q) $(MINIRUBY) $(srcdir)/tool/mkrunnable.rb -v $(EXTOUT)
|
||||
yes-runnable: PHONY
|
||||
|
||||
encs: enc trans
|
||||
libencs: libenc libtrans
|
||||
encs enc trans libencs libenc libtrans: showflags $(ENC_MK) $(LIBRUBY) $(PREP)
|
||||
|
|
|
@ -2655,6 +2655,9 @@ AS_CASE("$enable_shared", [yes], [
|
|||
],
|
||||
[interix*], [
|
||||
LIBRUBYARG_SHARED='-L. -L${libdir} -l$(RUBY_SO_NAME)'
|
||||
],
|
||||
[mingw*|cygwin*|mswin*], [
|
||||
LIBRUBY_RELATIVE=yes
|
||||
])
|
||||
], [
|
||||
LIBRUBYARG_SHARED=
|
||||
|
|
62
tool/mkrunnable.rb
Executable file
62
tool/mkrunnable.rb
Executable file
|
@ -0,0 +1,62 @@
|
|||
#!./miniruby
|
||||
|
||||
require 'mkmf'
|
||||
|
||||
case ARGV[0]
|
||||
when "-n"
|
||||
ARGV.shift
|
||||
include FileUtils::DryRun
|
||||
when "-v"
|
||||
ARGV.shift
|
||||
include FileUtils::Verbose
|
||||
else
|
||||
include FileUtils
|
||||
end
|
||||
|
||||
def ln_safe(src, dest)
|
||||
link = File.readlink(dest) rescue nil
|
||||
return if link == src
|
||||
ln_sf(src, dest)
|
||||
end
|
||||
|
||||
config = RbConfig::CONFIG
|
||||
extout = ARGV[0] || config["EXTOUT"]
|
||||
version = config["ruby_version"]
|
||||
arch = config["arch"]
|
||||
["bin", "lib"].each do |dir|
|
||||
File.directory?(dir) or mkdir_p(dir)
|
||||
end
|
||||
|
||||
exeext = config["EXEEXT"]
|
||||
ruby_install_name = config["ruby_install_name"]
|
||||
rubyw_install_name = config["rubyw_install_name"]
|
||||
goruby_install_name = "go" + ruby_install_name
|
||||
[ruby_install_name, rubyw_install_name, goruby_install_name].map do |ruby|
|
||||
ruby += exeext
|
||||
if ruby and !ruby.empty?
|
||||
ln_safe("../#{ruby}", "bin/#{ruby}")
|
||||
end
|
||||
end
|
||||
libruby = config.values_at("LIBRUBY_A", "LIBRUBY_SO")
|
||||
libruby.concat(config["LIBRUBY_ALIASES"].split)
|
||||
libruby.each {|lib|ln_safe("../#{lib}", "lib/#{lib}")}
|
||||
if File.expand_path(extout) == extout
|
||||
ln_safe(extout, "lib/ruby")
|
||||
else
|
||||
ln_safe(File.join("..", extout), "lib/ruby")
|
||||
cur = "#{extout}/".gsub(/(\A|\/)(?:\.\/)+/, '\1').tr_s('/', '/')
|
||||
nil while cur.sub!(/[^\/]+\/\.\.\//, '')
|
||||
if /(\A|\/)\.\.\// =~ cur
|
||||
cur = nil
|
||||
else
|
||||
cur.gsub!(/[^\/]+/, '..')
|
||||
end
|
||||
end
|
||||
if cur
|
||||
ln_safe(File.join("..", cur, "rbconfig.rb"), File.join(extout, arch, "rbconfig.rb"))
|
||||
else
|
||||
ln_safe(File.expand_path("rbconfig.rb"), File.join(extout, arch, "rbconfig.rb"))
|
||||
end
|
||||
ln_safe("common", File.join(extout, version))
|
||||
ln_safe(File.join("..", arch), File.join(extout, "common", arch))
|
||||
ln_safe(relative_from(File.join(File.dirname(config["srcdir"]), "lib"), ".."), File.join(extout, "vendor_ruby"))
|
|
@ -312,6 +312,8 @@ LIBRUBY_A = $(RUBY_SO_NAME)-static.lib
|
|||
LIBRUBY_SO = $(RUBY_SO_NAME).dll
|
||||
LIBRUBY = $(RUBY_SO_NAME).lib
|
||||
LIBRUBYARG = $(LIBRUBY)
|
||||
LIBRUBY_RELATIVE = yes
|
||||
|
||||
THREAD_MODEL = win32
|
||||
|
||||
!if $(CROSS_COMPILING)
|
||||
|
|
Loading…
Reference in a new issue