aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/cmd/doctor.rb11
-rw-r--r--Library/Homebrew/utils.rb19
2 files changed, 30 insertions, 0 deletions
diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb
index 3a47b7133..bef15afff 100644
--- a/Library/Homebrew/cmd/doctor.rb
+++ b/Library/Homebrew/cmd/doctor.rb
@@ -232,6 +232,17 @@ def check_cc
end
end
+def check_standard_compilers
+ return if check_for_latest_xcode # only check if Xcode is up to date
+ if !MacOS.compilers_standard? then <<-EOS.undent
+ Your compilers are different from the standard versions for your Xcode.
+ If you have Xcode 4.3 or newer, you should install the Command Line Tools for
+ Xcode from within Xcode's Download preferences.
+ Otherwise, you should reinstall Xcode.
+ EOS
+ end
+end
+
def __check_subdir_access base
target = HOMEBREW_PREFIX+base
return unless target.exist?
diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb
index d041194ec..d7e28fd31 100644
--- a/Library/Homebrew/utils.rb
+++ b/Library/Homebrew/utils.rb
@@ -521,6 +521,25 @@ module MacOS extend self
def prefer_64_bit?
Hardware.is_64_bit? and not leopard?
end
+
+ StandardCompilers = {
+ "3.1.4" => {:gcc_40_build_version=>5493, :gcc_42_build_version=>5577, :llvm_build_version=>2064},
+ "3.2.6" => {:gcc_40_build_version=>5494, :gcc_42_build_version=>5666, :llvm_build_version=>2335, :clang_version=>"1.7", :clang_build_version=>77},
+ "4.0.0" => {:gcc_40_build_version=>5494, :gcc_42_build_version=>5666, :llvm_build_version=>2335, :clang_version=>"2.0", :clang_build_version=>137},
+ "4.0.1" => {:gcc_40_build_version=>5494, :gcc_42_build_version=>5666, :llvm_build_version=>2335, :clang_version=>"2.0", :clang_build_version=>137},
+ "4.0.2" => {:gcc_40_build_version=>5494, :gcc_42_build_version=>5666, :llvm_build_version=>2335, :clang_version=>"2.0", :clang_build_version=>137},
+ "4.2.0" => {:llvm_build_version=>2336, :clang_version=>"3.0", :clang_build_version=>211},
+ "4.3.0" => {:llvm_build_version=>2336, :clang_version=>"3.1", :clang_build_version=>318},
+ "4.3.1" => {:llvm_build_version=>2336, :clang_version=>"3.1", :clang_build_version=>318},
+ "4.3.2" => {:llvm_build_version=>2336, :clang_version=>"3.1", :clang_build_version=>318}
+ }
+
+ def compilers_standard?
+ xcode = MacOS.xcode_version
+ return unless StandardCompilers.keys.include? xcode
+
+ StandardCompilers[xcode].all? {|k,v| MacOS.send(k) == v}
+ end
end
module GitHub extend self