mac/super: restore definition of effective_sysroot

In 0d189fae57
we completely removed `effective_sysroot`, which consequently left all the
`effective_sysroot`/usr/include calls pointing at `/usr/include`. This is wildly
problematic on systems where the Command Line Tools aren't installed because
`/usr/include` is not a default-created folder prior to CLT installation.

I'm unsure if `effective_sysroot` should still be mentioned in Library/Homebrew/extend/ENV/super.rb
at all. If it can be deleted, feel free to do that without waiting for me to review.

This seems to fix:
* https://github.com/Homebrew/homebrew-core/issues/2991
* https://github.com/Homebrew/homebrew-core/issues/2986
* https://github.com/Homebrew/homebrew-core/issues/2962
This commit is contained in:
Dominyk Tiller 2016-07-15 03:36:04 +01:00
parent f6dad377b6
commit 706e7e71a0
No known key found for this signature in database
GPG Key ID: FE19AEFCF658C6F6

View File

@ -7,6 +7,10 @@ module Superenv
bin.realpath unless bin.nil?
end
def effective_sysroot
MacOS::Xcode.without_clt? ? MacOS.sdk_path.to_s : nil
end
def homebrew_extra_paths
paths = []
# On 10.9, there are shims for all tools in /usr/bin.