summaryrefslogtreecommitdiff
path: root/trunk/lib/rubygems/ext/rake_builder.rb
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/lib/rubygems/ext/rake_builder.rb')
-rw-r--r--trunk/lib/rubygems/ext/rake_builder.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/trunk/lib/rubygems/ext/rake_builder.rb b/trunk/lib/rubygems/ext/rake_builder.rb
new file mode 100644
index 0000000000..0c64e611a0
--- /dev/null
+++ b/trunk/lib/rubygems/ext/rake_builder.rb
@@ -0,0 +1,27 @@
+#--
+# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
+# All rights reserved.
+# See LICENSE.txt for permissions.
+#++
+
+require 'rubygems/ext/builder'
+
+class Gem::Ext::RakeBuilder < Gem::Ext::Builder
+
+ def self.build(extension, directory, dest_path, results)
+ if File.basename(extension) =~ /mkrf_conf/i then
+ cmd = "#{Gem.ruby} #{File.basename extension}"
+ cmd << " #{ARGV.join " "}" unless ARGV.empty?
+ run cmd, results
+ end
+
+ cmd = ENV['rake'] || 'rake'
+ cmd += " RUBYARCHDIR=#{dest_path} RUBYLIBDIR=#{dest_path}" # ENV is frozen
+
+ run cmd, results
+
+ results
+ end
+
+end
+