Hack so that ENV['CFLAGS'] += "foo" always works
So many formula assume CFLAGS etc. are not nil. One fix would be to set them to "" but this would set them in the environment, and that could have consequences for build-scripts. This hack works but with a (hopefully) small caveat. Fixes Homebrew/homebrew#14580.
This commit is contained in:
parent
75a0708865
commit
429226d562
@ -208,6 +208,26 @@ class << ENV
|
|||||||
[$1.to_i, 1].max
|
[$1.to_i, 1].max
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Many formula assume that CFLAGS etc. will not be nil.
|
||||||
|
# This should be a safe hack to prevent that exception cropping up.
|
||||||
|
# Main consqeuence of this is that ENV['CFLAGS'] is never nil even when it
|
||||||
|
# is which can break if checks, but we don't do such a check in our code.
|
||||||
|
def [] key
|
||||||
|
if has_key? key
|
||||||
|
fetch(key)
|
||||||
|
elsif %w{CPPFLAGS CFLAGS LDFLAGS}.include? key
|
||||||
|
class << (a = "")
|
||||||
|
attr :key, true
|
||||||
|
def + value
|
||||||
|
ENV[key] = value
|
||||||
|
end
|
||||||
|
alias_method '<<', '+'
|
||||||
|
end
|
||||||
|
a.key = key
|
||||||
|
a
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end if superenv?
|
end if superenv?
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user