diff options
| author | Mike McQuaid | 2017-11-17 19:53:38 +0000 |
|---|---|---|
| committer | Mike McQuaid | 2017-11-17 21:35:49 +0000 |
| commit | cd0db51343ff7c5a35173594725978c81c36c0fc (patch) | |
| tree | 760fd5cb41f0b85d06b7257792a42ff1a6efa826 | |
| parent | 889fc8190603dc277ed5f5beee94e667e81e64f8 (diff) | |
| download | brew-cd0db51343ff7c5a35173594725978c81c36c0fc.tar.bz2 | |
diagnostic: check if Xcode needs CLT installed.
Require the CLT on all but the latest version of macOS to avoid the
continuous workarounds for SDK weirdness.
| -rw-r--r-- | Library/Homebrew/extend/os/mac/diagnostic.rb | 10 | ||||
| -rw-r--r-- | Library/Homebrew/os/mac.rb | 17 | ||||
| -rw-r--r-- | Library/Homebrew/os/mac/xcode.rb | 9 |
3 files changed, 32 insertions, 4 deletions
diff --git a/Library/Homebrew/extend/os/mac/diagnostic.rb b/Library/Homebrew/extend/os/mac/diagnostic.rb index 5c603ca62..f0b923f21 100644 --- a/Library/Homebrew/extend/os/mac/diagnostic.rb +++ b/Library/Homebrew/extend/os/mac/diagnostic.rb @@ -19,6 +19,7 @@ module Homebrew %w[ check_xcode_minimum_version check_clt_minimum_version + check_if_xcode_needs_clt_installed ].freeze end @@ -124,6 +125,15 @@ module Homebrew EOS end + def check_if_xcode_needs_clt_installed + return unless MacOS::Xcode.needs_clt_installed? + + <<~EOS + Xcode alone is not sufficient on #{MacOS.version.pretty_name}. + #{DevelopmentTools.installation_instructions} + EOS + end + def check_for_osx_gcc_installer return unless MacOS.version < "10.7" || ((MacOS::Xcode.version || "0") > "4.1") return unless DevelopmentTools.clang_version == "2.1" diff --git a/Library/Homebrew/os/mac.rb b/Library/Homebrew/os/mac.rb index 9215e3c96..ade801c42 100644 --- a/Library/Homebrew/os/mac.rb +++ b/Library/Homebrew/os/mac.rb @@ -31,16 +31,25 @@ module OS @version = nil end - def prerelease? - # TODO: bump version when new OS is released - version >= "10.14" + def latest_sdk_version + # TODO: bump version when new Xcode macOS SDK is released + Version.new "10.13" + end + + def latest_stable_version + # TODO: bump version when new macOS is released + Version.new "10.13" end def outdated_release? - # TODO: bump version when new OS is released + # TODO: bump version when new macOS is released version < "10.11" end + def prerelease? + version > latest_stable_version + end + def cat version.to_sym end diff --git a/Library/Homebrew/os/mac/xcode.rb b/Library/Homebrew/os/mac/xcode.rb index 96be56e3b..ae725d948 100644 --- a/Library/Homebrew/os/mac/xcode.rb +++ b/Library/Homebrew/os/mac/xcode.rb @@ -40,6 +40,15 @@ module OS version < minimum_version end + def latest_sdk_version? + OS::Mac.version == OS::Mac.latest_sdk_version + end + + def needs_clt_installed? + return false if latest_sdk_version? + without_clt? + end + def outdated? return false unless installed? version < latest_version |
