diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-10-16 00:43:14 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-10-16 00:43:14 +0000 |
commit | 33d1f172c839bc14ba71a8e74f5ca6b01b7e069b (patch) | |
tree | e3f855133bb072667c588712dc86ea51a4092118 /lib/rubygems/ext/builder.rb | |
parent | 28918eac58eb6e2681d10839ac0d1430b2a4f1f9 (diff) | |
download | ruby-33d1f172c839bc14ba71a8e74f5ca6b01b7e069b.tar.gz |
* lib/rubygems: Update to RubyGems master 278d00d. Changes:
Fixes building extensions without a "clean" make rule
Adds gem dependency file autodetection to "gem install -g"
* test/rubygems: Tests for the above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/ext/builder.rb')
-rw-r--r-- | lib/rubygems/ext/builder.rb | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/rubygems/ext/builder.rb b/lib/rubygems/ext/builder.rb index 069ab4cfe0..761505636c 100644 --- a/lib/rubygems/ext/builder.rb +++ b/lib/rubygems/ext/builder.rb @@ -19,11 +19,6 @@ class Gem::Ext::Builder CHDIR_MUTEX = Mutex.new # :nodoc: - ## - # `make` targets to run when building the extension - - MAKE_TARGETS = ['clean', '', 'install'] # :nodoc: - attr_accessor :build_args # :nodoc: def self.class_name @@ -45,14 +40,18 @@ class Gem::Ext::Builder destdir = '"DESTDIR=%s"' % ENV['DESTDIR'] if RUBY_VERSION > '2.0' - self::MAKE_TARGETS.each do |target| + ['clean', '', 'install'].each do |target| # Pass DESTDIR via command line to override what's in MAKEFLAGS cmd = [ make_program, destdir, target ].join(' ').rstrip - run(cmd, results, "make #{target}".rstrip) + begin + run(cmd, results, "make #{target}".rstrip) + rescue Gem::InstallError + raise unless target == 'clean' # ignore clean failure + end end end |