summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/rubygems/ext/ext_conf_builder.rb5
-rw-r--r--test/rubygems/test_gem_ext_ext_conf_builder.rb6
-rw-r--r--test/rubygems/test_gem_installer.rb2
4 files changed, 12 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 7402fb0d8f..5f3424b957 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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)