aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/extend/ENV/shared.rb13
1 files changed, 9 insertions, 4 deletions
diff --git a/Library/Homebrew/extend/ENV/shared.rb b/Library/Homebrew/extend/ENV/shared.rb
index f4aac1d4e..31904c280 100644
--- a/Library/Homebrew/extend/ENV/shared.rb
+++ b/Library/Homebrew/extend/ENV/shared.rb
@@ -188,16 +188,21 @@ module SharedEnvExtension
def gcc_version_formula(version)
gcc_formula = Formulary.factory("gcc")
gcc_name = 'gcc' + version.delete('.')
- gcc_versions_formula = Formulary.factory(gcc_name)
if gcc_formula.opt_prefix.exist?
- gcc_formula
- elsif gcc_versions_formula.opt_prefix.exist?
+ return gcc_formula
+ end
+
+ gcc_versions_formula = Formulary.factory(gcc_name) rescue nil
+
+ if gcc_versions_formula && gcc_versions_formula.opt_prefix.exist?
gcc_versions_formula
elsif gcc_formula.version.to_s.include?(version)
gcc_formula
- else
+ elsif gcc_versions_formula
gcc_versions_formula
+ else
+ Formulary.factory(gcc_name)
end
end