Update Xcode version checks

Closes Homebrew/homebrew#11044.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
This commit is contained in:
Jack Nagel 2012-03-19 11:26:39 -05:00
parent f00099a179
commit fa837edcbb
3 changed files with 9 additions and 52 deletions

View File

@ -181,41 +181,12 @@ def check_for_broken_symlinks
end end
end end
def check_gcc_42 def check_for_latest_xcode
if MacOS.gcc_42_build_version == nil if MacOS.xcode_version.nil? then return <<-EOS.undent
# Don't show this warning on Xcode 4.2+ We couldn't detect any version of Xcode.
if MacOS.xcode_version < "4.2" If you downloaded Xcode from the App Store, you may need to run the installer.
"We couldn't detect gcc 4.2.x. Some formulae require this compiler."
end
elsif MacOS.gcc_42_build_version < RECOMMENDED_GCC_42
<<-EOS.undent
Your gcc 4.2.x version is older than the recommended version.
It may be advisable to upgrade to the latest release of Xcode.
EOS EOS
end end
end
def check_xcode_exists
if MacOS.xcode_version == nil
<<-EOS.undent
We couldn't detect any version of Xcode.
If you downloaded Xcode from the App Store, you may need to run the installer.
EOS
elsif MacOS.xcode_version < "4.0"
if MacOS.gcc_40_build_version == nil
"We couldn't detect gcc 4.0.x. Some formulae require this compiler."
elsif MacOS.gcc_40_build_version < RECOMMENDED_GCC_40
<<-EOS.undent
Your gcc 4.0.x version is older than the recommended version.
It may be advisable to upgrade to the latest release of Xcode.
EOS
end
end
end
def check_for_latest_xcode
# the check_xcode_exists check is enough
return if MacOS.xcode_version.nil?
latest_xcode = case MacOS.version latest_xcode = case MacOS.version
when 10.5 then "3.1.4" when 10.5 then "3.1.4"

View File

@ -34,20 +34,10 @@ module Homebrew extend self
raise "Cannot write to #{HOMEBREW_PREFIX}" unless HOMEBREW_PREFIX.writable? or HOMEBREW_PREFIX.to_s == '/usr/local' raise "Cannot write to #{HOMEBREW_PREFIX}" unless HOMEBREW_PREFIX.writable? or HOMEBREW_PREFIX.to_s == '/usr/local'
end end
def check_cc def check_xcode
if MacOS.snow_leopard? require 'cmd/doctor'
if MacOS.llvm_build_version < RECOMMENDED_LLVM xcode = Checks.new.check_for_latest_xcode
opoo "You should upgrade to Xcode 3.2.6" opoo xcode unless xcode.nil?
end
else
if (MacOS.gcc_40_build_version < RECOMMENDED_GCC_40) or (MacOS.gcc_42_build_version < RECOMMENDED_GCC_42)
opoo "You should upgrade to Xcode 3.1.4"
end
end
rescue
# the reason we don't abort is some formula don't require Xcode
# TODO allow formula to declare themselves as "not needing Xcode"
opoo "Xcode is not installed! Builds may fail!"
end end
def check_macports def check_macports
@ -70,7 +60,7 @@ module Homebrew extend self
def perform_preinstall_checks def perform_preinstall_checks
check_ppc check_ppc
check_writable_install_location check_writable_install_location
check_cc check_xcode
check_macports check_macports
check_cellar check_cellar
end end

View File

@ -76,10 +76,6 @@ HOMEBREW_USER_AGENT = "Homebrew #{HOMEBREW_VERSION} (Ruby #{RUBY_VERSION}-#{RUBY
HOMEBREW_CURL_ARGS = '-qf#LA' HOMEBREW_CURL_ARGS = '-qf#LA'
RECOMMENDED_LLVM = 2326
RECOMMENDED_GCC_40 = (MACOS_VERSION >= 10.6) ? 5494 : 5493
RECOMMENDED_GCC_42 = (MACOS_VERSION >= 10.6) ? 5664 : 5577
require 'fileutils' require 'fileutils'
module Homebrew extend self module Homebrew extend self
include FileUtils include FileUtils