aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cxxstdlib.rb
diff options
context:
space:
mode:
authorMisty De Meo2013-10-06 16:59:39 -0700
committerMisty De Meo2013-10-06 19:26:06 -0700
commit77b678cea95b762cbeda3f2d69b93c43a3848a15 (patch)
treeec7057fa6c3791fcce12b5e1f8ef43d7c25c85ad /Library/Homebrew/cxxstdlib.rb
parent52af93123a067aa50e6ba8c23d395875cdcc9871 (diff)
downloadhomebrew-77b678cea95b762cbeda3f2d69b93c43a3848a15.tar.bz2
CxxStdlib: allow for nil stdlibs
A nil stdlib value represents non-C++ code.
Diffstat (limited to 'Library/Homebrew/cxxstdlib.rb')
-rw-r--r--Library/Homebrew/cxxstdlib.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/Library/Homebrew/cxxstdlib.rb b/Library/Homebrew/cxxstdlib.rb
index 4e3bed22e..06668e991 100644
--- a/Library/Homebrew/cxxstdlib.rb
+++ b/Library/Homebrew/cxxstdlib.rb
@@ -2,11 +2,11 @@ class CxxStdlib
attr_accessor :type, :compiler
def initialize(type, compiler)
- if ![:libstdcxx, :libcxx].include? type
+ if type && ![:libstdcxx, :libcxx].include?(type)
raise ArgumentError, "Invalid C++ stdlib type: #{type}"
end
- @type = type.to_sym
+ @type = type.to_sym if type
@compiler = compiler.to_sym
end
@@ -15,6 +15,9 @@ class CxxStdlib
end
def compatible_with?(other)
+ # If either package doesn't use C++, all is well
+ return true if type.nil? || other.type.nil?
+
# libstdc++ and libc++ aren't ever intercompatible
return false unless type == other.type