homebrew_bootsnap: require some developer tools.
Do a very basic developer tools check to ensure that we can compile things. We cannot use `DevelopmentTools.installed?` because this has much higher speed requirements and needs to be run before we `require` anything else.
This commit is contained in:
parent
f14ed4987f
commit
634efba261
@ -1,7 +1,7 @@
|
|||||||
# typed: false
|
# typed: false
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
if !ENV["HOMEBREW_NO_BOOTSNAP"] &&
|
homebrew_bootsnap_enabled = !ENV["HOMEBREW_NO_BOOTSNAP"] &&
|
||||||
ENV["HOMEBREW_BOOTSNAP"] &&
|
ENV["HOMEBREW_BOOTSNAP"] &&
|
||||||
# portable ruby doesn't play nice with bootsnap
|
# portable ruby doesn't play nice with bootsnap
|
||||||
!ENV["HOMEBREW_FORCE_VENDOR_RUBY"] &&
|
!ENV["HOMEBREW_FORCE_VENDOR_RUBY"] &&
|
||||||
@ -9,6 +9,16 @@ if !ENV["HOMEBREW_NO_BOOTSNAP"] &&
|
|||||||
# Apple Silicon doesn't play nice with bootsnap
|
# Apple Silicon doesn't play nice with bootsnap
|
||||||
(ENV["HOMEBREW_PROCESSOR"] == "Intel")
|
(ENV["HOMEBREW_PROCESSOR"] == "Intel")
|
||||||
|
|
||||||
|
# we need some development tools to build bootsnap native code
|
||||||
|
development_tools_installed = if !homebrew_bootsnap_enabled
|
||||||
|
false
|
||||||
|
elsif RbConfig::CONFIG["host_os"].include? "darwin"
|
||||||
|
File.directory?("/Applications/Xcode.app") || File.directory?("/Library/Developer/CommandLineTools")
|
||||||
|
else
|
||||||
|
File.executable?("/usr/bin/clang") || File.executable?("/usr/bin/gcc")
|
||||||
|
end
|
||||||
|
|
||||||
|
if homebrew_bootsnap_enabled && development_tools_installed
|
||||||
require "rubygems"
|
require "rubygems"
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user