diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-02 16:16:19 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-02 16:16:19 +0000 |
commit | 9b79ed12928174fa1b36d5aaa198f3de7edfd02f (patch) | |
tree | 5b7ce89f6086c8160e85e08589dd32a6dd683f35 | |
parent | c0c72c9ba1e2492999664d6b0335dd7d3ae43bb6 (diff) | |
download | ruby-9b79ed12928174fa1b36d5aaa198f3de7edfd02f.tar.gz |
ext_conf_builder.rb: use RUBYOPT
* lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):
use RUBYOPT instead of -r option, and revert some tests. [Bug #7698]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/rubygems/ext/ext_conf_builder.rb | 5 | ||||
-rw-r--r-- | test/rubygems/test_gem_ext_ext_conf_builder.rb | 6 | ||||
-rw-r--r-- | test/rubygems/test_gem_installer.rb | 2 |
4 files changed, 12 insertions, 6 deletions
@@ -1,4 +1,7 @@ -Sun Mar 3 01:14:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> +Sun Mar 3 01:16:16 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build): + use RUBYOPT instead of -r option, and revert some tests. [Bug #7698] * lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build): revert use of temporary directory for build, to work some buggy diff --git a/lib/rubygems/ext/ext_conf_builder.rb b/lib/rubygems/ext/ext_conf_builder.rb index eaf5e607a6..e11a1cdfbc 100644 --- a/lib/rubygems/ext/ext_conf_builder.rb +++ b/lib/rubygems/ext/ext_conf_builder.rb @@ -22,7 +22,9 @@ class Gem::Ext::ExtConfBuilder < Gem::Ext::Builder f end - cmd = [Gem.ruby, "-r#{siteconf.path}", File.basename(extension), *args].join ' ' + rubyopt = ENV["RUBYOPT"] + ENV["RUBYOPT"] = ["-r#{siteconf.path}", rubyopt].compact.join(' ') + cmd = [Gem.ruby, File.basename(extension), *args].join ' ' run cmd, results @@ -30,6 +32,7 @@ class Gem::Ext::ExtConfBuilder < Gem::Ext::Builder results ensure + ENV["RUBYOPT"] = rubyopt siteconf.close(true) if siteconf end diff --git a/test/rubygems/test_gem_ext_ext_conf_builder.rb b/test/rubygems/test_gem_ext_ext_conf_builder.rb index c899592442..734569583a 100644 --- a/test/rubygems/test_gem_ext_ext_conf_builder.rb +++ b/test/rubygems/test_gem_ext_ext_conf_builder.rb @@ -30,7 +30,7 @@ class TestGemExtExtConfBuilder < Gem::TestCase Gem::Ext::ExtConfBuilder.build 'extconf.rb', nil, @dest_path, output end - assert_match(/^#{Gem.ruby} .*extconf.rb/, output[0]) + assert_match(/^#{Gem.ruby} extconf.rb/, output[0]) assert_equal "creating Makefile\n", output[1] case RUBY_PLATFORM when /mswin/ then @@ -107,10 +107,10 @@ class TestGemExtExtConfBuilder < Gem::TestCase assert_match(/\Aextconf failed: -#{Gem.ruby} .*extconf.rb.* +#{Gem.ruby} extconf.rb.* checking for main\(\) in .*?nonexistent/m, error.message) - assert_match(/^#{Gem.ruby} .*extconf.rb/, output[0]) + assert_equal("#{Gem.ruby} extconf.rb", output[0]) end def test_class_make diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb index a4e6caf7df..d9a4a82418 100644 --- a/test/rubygems/test_gem_installer.rb +++ b/test/rubygems/test_gem_installer.rb @@ -81,7 +81,7 @@ load Gem.bin_path('a', 'executable', version) gem_make_out = File.join @gemhome, 'gems', @spec.full_name, 'gem_make.out' - assert_match %r%#{Regexp.escape Gem.ruby} .*extconf\.rb%, + assert_match %r%#{Regexp.escape Gem.ruby} extconf\.rb%, File.read(gem_make_out) assert_match %r%#{Regexp.escape Gem.ruby}: No such file%, File.read(gem_make_out) |