summaryrefslogtreecommitdiff
path: root/ext/extmk.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-11-16 14:25:53 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-11-16 14:25:53 +0000
commitf3727f59288e152d7b95c57d8b5390cf1cfeaf9d (patch)
tree89e02987ad6324e1d27dd147b87c69407d35bbf2 /ext/extmk.rb
parent45c7551c59a23ca2bab090cb8c7dbac747b6612e (diff)
* common.mk (static-ruby): overridable.
* ext/extmk.rb (parse_args): force to link extensions statically only if static is given for extstatic. * ext/extmk.rb (RUBY, RUBYW): overridable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/extmk.rb')
-rw-r--r--ext/extmk.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/ext/extmk.rb b/ext/extmk.rb
index 1642012dbd..1b0222a1e6 100644
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -218,8 +218,7 @@ def parse_args()
if ($extstatic = v) == false
$extstatic = []
elsif v
- $force_static = true
- $extstatic.delete("static")
+ $force_static = true if $extstatic.delete("static")
$extstatic = nil if $extstatic.empty?
end
end
@@ -233,6 +232,7 @@ def parse_args()
$make = v || 'make'
end
opts.on('--make-flags=FLAGS', '--mflags', Shellwords) do |v|
+ v.grep(/\A([-\w]+)=(.*)/) {$configure_args["--#{$1}"] = $2}
if arg = v.first
arg.insert(0, '-') if /\A[^-][^=]*\Z/ =~ arg
end
@@ -327,7 +327,7 @@ end
for dir in ["ext", File::join($top_srcdir, "ext")]
setup = File::join(dir, CONFIG['setup'])
if File.file? setup
- f = open(setup)
+ f = open(setup)
while line = f.gets()
line.chomp!
line.sub!(/#.*$/, '')
@@ -459,9 +459,11 @@ SRC
$mflags.concat(conf)
end
rubies = []
-%w[RUBY RUBYW].each {|r|
+%w[RUBY RUBYW STATIC_RUBY].each {|r|
+ n = r
if r = arg_config("--"+r.downcase) || config_string(r+"_INSTALL_NAME")
rubies << r+EXEEXT
+ $mflags << "#{n}=#{r}"
end
}