summaryrefslogtreecommitdiff
path: root/lib/rubygems/ext/builder.rb
diff options
context:
space:
mode:
authorDavid Rodriguez <[email protected]>2024-02-02 21:19:08 +0100
committergit <[email protected]>2024-02-05 18:17:24 +0000
commitca7a48110fc2a207cabffff94ceb2147986d1948 (patch)
tree34d03a8cb364e060bf4e1677876566c206fe1862 /lib/rubygems/ext/builder.rb
parent7eea066cb4830a7b2827fd30bb35d8dcf19ce5f5 (diff)
[rubygems/rubygems] Revert "Simplify how extensions are built"
This reverts commit https://github.com/rubygems/rubygems/commit/0b8faf1e3926. https://github.com/rubygems/rubygems/commit/7528e0f1ce
Diffstat (limited to 'lib/rubygems/ext/builder.rb')
-rw-r--r--lib/rubygems/ext/builder.rb15
1 files changed, 5 insertions, 10 deletions
diff --git a/lib/rubygems/ext/builder.rb b/lib/rubygems/ext/builder.rb
index cc067c710a..be1ba3031c 100644
--- a/lib/rubygems/ext/builder.rb
+++ b/lib/rubygems/ext/builder.rb
@@ -19,14 +19,7 @@ class Gem::Ext::Builder
$1.downcase
end
- def self.make(dest_path, results, make_dir = Dir.pwd, targets_or_sitedir = ["clean", "", "install"], old_targets = ["clean", "", "install"])
- if !targets_or_sitedir.is_a?(Array)
- verbose { "sitedir parameter to Gem::Ext::Builder.make is getting ignored. sitearchdir and sitelibdir are now always set to the first argument passed to this method. Please stop passing this parameter" }
- targets = old_targets
- else
- targets = targets_or_sitedir
- end
-
+ def self.make(dest_path, results, make_dir = Dir.pwd, sitedir = nil, targets = ["clean", "", "install"])
unless File.exist? File.join(make_dir, "Makefile")
raise Gem::InstallError, "Makefile not found"
end
@@ -42,8 +35,10 @@ class Gem::Ext::Builder
env = [destdir]
- env << format("sitearchdir=%s", dest_path)
- env << format("sitelibdir=%s", dest_path)
+ if sitedir
+ env << format("sitearchdir=%s", sitedir)
+ env << format("sitelibdir=%s", sitedir)
+ end
targets.each do |target|
# Pass DESTDIR via command line to override what's in MAKEFLAGS