diff options
| author | Jack Nagel | 2014-06-11 21:03:23 -0500 | 
|---|---|---|
| committer | Jack Nagel | 2014-06-11 21:21:50 -0500 | 
| commit | 290db72bd5b48c76b892a4f4c5609667aff8d2ef (patch) | |
| tree | 5a53dfdad323a3b1a5e91983ba7fb334df374a43 | |
| parent | f3e9c5c0706f001528b011e6241ceebd848a22fe (diff) | |
| download | brew-290db72bd5b48c76b892a4f4c5609667aff8d2ef.tar.bz2 | |
Pass the version into the Compiler constructor, eliminate a type check
| -rw-r--r-- | Library/Homebrew/compilers.rb | 22 | 
1 files changed, 8 insertions, 14 deletions
| diff --git a/Library/Homebrew/compilers.rb b/Library/Homebrew/compilers.rb index eb13cd9f6..a1e488bd7 100644 --- a/Library/Homebrew/compilers.rb +++ b/Library/Homebrew/compilers.rb @@ -1,13 +1,4 @@ -class Compiler < Struct.new(:name, :priority) -  # The full version of the compiler for comparison purposes. -  def version -    if name.is_a? String -      MacOS.non_apple_gcc_version(name) -    else -      MacOS.send("#{name}_build_version") -    end -  end - +class Compiler < Struct.new(:name, :version, :priority)    # This is exposed under the `build` name for compatibility, since    # `fails_with` continues to use `build` in the public API.    # `build` indicates the build number of an Apple compiler. @@ -107,16 +98,19 @@ class CompilerSelector      @f = f      @compilers = CompilerQueue.new      %w{clang llvm gcc gcc_4_0}.map(&:to_sym).each do |cc| -      unless MacOS.send("#{cc}_build_version").nil? -        @compilers << Compiler.new(cc, priority_for(cc)) +      version = MacOS.send("#{cc}_build_version") +      unless version.nil? +        @compilers << Compiler.new(cc, version, priority_for(cc))        end      end      # non-Apple GCC 4.x      SharedEnvExtension::GNU_GCC_VERSIONS.each do |v| -      unless MacOS.non_apple_gcc_version("gcc-4.#{v}").nil? +      name = "gcc-4.#{v}" +      version = MacOS.non_apple_gcc_version(name) +      unless version.nil?          # priority is based on version, with newest preferred first -        @compilers << Compiler.new("gcc-4.#{v}", 1.0 + v/10.0) +        @compilers << Compiler.new(name, version, 1.0 + v/10.0)        end      end    end | 
