aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/development_tools.rb
diff options
context:
space:
mode:
authorMisty De Meo2016-11-14 13:44:03 -0800
committerGitHub2016-11-14 13:44:03 -0800
commit30fdbe089b6a7d91dd12132b46436f90dad60c88 (patch)
treee6795dfbc3549722dfb536d5c1503776ea5e0d0d /Library/Homebrew/development_tools.rb
parent3a01fbadcd14fb180635d6464f2c600a738d50b5 (diff)
parentc7be025229dbbe86d85982a135c75b04c9ba00f2 (diff)
downloadbrew-30fdbe089b6a7d91dd12132b46436f90dad60c88.tar.bz2
Merge pull request #1435 from mistydemeo/dev_tools_version
Add "null version" class, and return compiler versions/build versions as Version objects
Diffstat (limited to 'Library/Homebrew/development_tools.rb')
-rw-r--r--Library/Homebrew/development_tools.rb22
1 files changed, 17 insertions, 5 deletions
diff --git a/Library/Homebrew/development_tools.rb b/Library/Homebrew/development_tools.rb
index 3e1f16d2a..febe04b21 100644
--- a/Library/Homebrew/development_tools.rb
+++ b/Library/Homebrew/development_tools.rb
@@ -44,7 +44,9 @@ class DevelopmentTools
def gcc_40_build_version
@gcc_40_build_version ||=
if (path = locate("gcc-4.0"))
- `#{path} --version 2>/dev/null`[/build (\d{4,})/, 1].to_i
+ Version.new `#{path} --version 2>/dev/null`[/build (\d{4,})/, 1].to_i
+ else
+ Version::NULL
end
end
alias gcc_4_0_build_version gcc_40_build_version
@@ -54,7 +56,9 @@ class DevelopmentTools
begin
gcc = locate("gcc-4.2") || HOMEBREW_PREFIX.join("opt/apple-gcc42/bin/gcc-4.2")
if gcc.exist? && !gcc.realpath.basename.to_s.start_with?("llvm")
- `#{gcc} --version 2>/dev/null`[/build (\d{4,})/, 1].to_i
+ Version.new `#{gcc} --version 2>/dev/null`[/build (\d{4,})/, 1]
+ else
+ Version::NULL
end
end
end
@@ -63,14 +67,18 @@ class DevelopmentTools
def clang_version
@clang_version ||=
if (path = locate("clang"))
- `#{path} --version`[/(?:clang|LLVM) version (\d\.\d)/, 1]
+ Version.new `#{path} --version`[/(?:clang|LLVM) version (\d\.\d)/, 1]
+ else
+ Version::NULL
end
end
def clang_build_version
@clang_build_version ||=
if (path = locate("clang"))
- `#{path} --version`[/clang-(\d{2,})/, 1].to_i
+ Version.new `#{path} --version`[/clang-(\d{2,})/, 1]
+ else
+ Version::NULL
end
end
@@ -78,7 +86,11 @@ class DevelopmentTools
(@non_apple_gcc_version ||= {}).fetch(cc) do
path = HOMEBREW_PREFIX.join("opt", "gcc", "bin", cc)
path = locate(cc) unless path.exist?
- version = `#{path} --version`[/gcc(?:-\d(?:\.\d)? \(.+\))? (\d\.\d\.\d)/, 1] if path
+ version = if path
+ Version.new(`#{path} --version`[/gcc(?:-\d(?:\.\d)? \(.+\))? (\d\.\d\.\d)/, 1])
+ else
+ Version::NULL
+ end
@non_apple_gcc_version[cc] = version
end
end