diff options
| author | Jack Nagel | 2014-06-11 21:05:31 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-06-11 21:23:05 -0500 |
| commit | 3d2a8e8520a1902871baf3746675bd02f5eab8d8 (patch) | |
| tree | 166a5972ab2740f38e0e39b3c4f8a7682a549cf1 /Library/Homebrew/compilers.rb | |
| parent | 55adb98a572e78a4f5ae7891091de8b1991721dd (diff) | |
| download | homebrew-3d2a8e8520a1902871baf3746675bd02f5eab8d8.tar.bz2 | |
Decouple CompilerSelector from MacOS, clean up tests
Diffstat (limited to 'Library/Homebrew/compilers.rb')
| -rw-r--r-- | Library/Homebrew/compilers.rb | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/Library/Homebrew/compilers.rb b/Library/Homebrew/compilers.rb index a1e488bd7..7afa7a12e 100644 --- a/Library/Homebrew/compilers.rb +++ b/Library/Homebrew/compilers.rb @@ -94,11 +94,12 @@ class CompilerQueue end class CompilerSelector - def initialize(f) + def initialize(f, versions=MacOS) @f = f + @versions = versions @compilers = CompilerQueue.new %w{clang llvm gcc gcc_4_0}.map(&:to_sym).each do |cc| - version = MacOS.send("#{cc}_build_version") + version = @versions.send("#{cc}_build_version") unless version.nil? @compilers << Compiler.new(cc, version, priority_for(cc)) end @@ -107,7 +108,7 @@ class CompilerSelector # non-Apple GCC 4.x SharedEnvExtension::GNU_GCC_VERSIONS.each do |v| name = "gcc-4.#{v}" - version = MacOS.non_apple_gcc_version(name) + version = @versions.non_apple_gcc_version(name) unless version.nil? # priority is based on version, with newest preferred first @compilers << Compiler.new(name, version, 1.0 + v/10.0) @@ -133,7 +134,7 @@ class CompilerSelector def priority_for(cc) case cc - when :clang then MacOS.clang_build_version >= 318 ? 3 : 0.5 + when :clang then @versions.clang_build_version >= 318 ? 3 : 0.5 when :gcc then 2.5 when :llvm then 2 when :gcc_4_0 then 0.25 |
