ENV/super: refactor SDK root selection

This commit is contained in:
Bo Anderson 2020-04-07 16:44:24 +01:00
parent 1fe0212ff2
commit e60f071c50

View File

@ -107,16 +107,17 @@ module Superenv
# @private # @private
def setup_build_environment(formula = nil) def setup_build_environment(formula = nil)
if formula&.requirements&.find { |req| req.is_a? XcodeRequirement } sdk = formula ? MacOS.sdk_for_formula(formula) : MacOS.sdk
self["HOMEBREW_SDKROOT"] = MacOS.sdk_path_if_needed && MacOS::Xcode.sdk_path if MacOS.sdk_root_needed?
self["HOMEBREW_DEVELOPER_DIR"] = MacOS::Xcode.prefix self["HOMEBREW_SDKROOT"] = sdk.path
else self["HOMEBREW_DEVELOPER_DIR"] = if sdk.source == :xcode
self["HOMEBREW_SDKROOT"] = MacOS.sdk_path_if_needed&.to_s
self["HOMEBREW_DEVELOPER_DIR"] = if MacOS::CLT.installed? && MacOS::CLT.provides_sdk?
MacOS::CLT::PKG_PATH
else
MacOS::Xcode.prefix MacOS::Xcode.prefix
else
MacOS::CLT::PKG_PATH
end end
else
self["HOMEBREW_SDKROOT"] = nil
self["HOMEBREW_DEVELOPER_DIR"] = nil
end end
generic_setup_build_environment(formula) generic_setup_build_environment(formula)