The xcrun script should be skipping the ENV directory when it scans
$PATH looking for tools to run. Unfortunately, the script compares the
paths found to the real path of the ENV directory (following symlinks),
but superenv was adding the nominal path to $PATH, not following
symlinks. As a consequence, platforms with Xcode < 4.3 would get into
infinite loops when trying to call non-system versions of gcc, as xcrun
calls the ENV version of gcc-X.X which calls xcrun and so on forever.
This commit changes superenv to follow symlinks when determining the bin
path to use.
FixesHomebrew/homebrew#33731.
ClosesHomebrew/homebrew#40062.
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
We're (finally) working on a documented public API for Homebrew. It's currently a work in progress; a bunch of public stuff is documented and a bunch of private stuff is undocumented. Sorry about that!
The main class you should look at is {Formula}. Assume everything else is private for now.