On 23.01.2021 08:02, Sergey Shinderuk wrote:
> I checked the script [1], and it really requires the CLT. Here is the
> explanation [2] for this:
>
> There is actually no such requirement. However, there are
> formulae that will be forced to build from source if you do not
> have the CLT. They can still be built from source with Xcode
> only, but because the pre-built bottles are compiled in an
> environment that has both Xcode and the CLT installed, there are
> some cases where the bottles end up having a hard dependency on
> the CLT. A major example is gcc. So installing the CLT may help
> you avoid some lengthy source builds.
>
> We ensure that all Homebrew formulae can be built with Xcode.app
> alone. Most formulae can be built with just the CLT, and those
> that require the full Xcode.app have an explicit depends_on
> :xcode => :build. Some users would prefer to use only the CLT
> because it's a much smaller download and takes less time to
> install and upgrade than Xcode.
In the gcc formula [1]:
# The bottles are built on systems with the CLT installed, and do not
work
# out of the box on Xcode-only systems due to an incorrect sysroot.
pour_bottle? do
reason "The bottle needs the Xcode CLT to be installed."
satisfy { MacOS::CLT.installed? }
end
I guess this is the "xcrun --show-sdk-path" thing we've alredy disccussed :)
[1] https://github.com/Homebrew/homebrew-core/blob/master/Formula/gcc.rb#L36
--
Sergey Shinderuk
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company