HomePhabricator

depends: Add --sysroot option to mac os native compile flags

Description

depends: Add --sysroot option to mac os native compile flags

Summary:

Catalina SDK clang stopped automatically searching the SDK include paths
when invoked without --sysroot:

https://github.com/bitcoin/bitcoin/pull/16367#issuecomment-594600985
https://github.com/Homebrew/homebrew-core/issues/45061

This hasn't been a problem for current native depends packages because
are passing their own --sysroot values, and hasn't been a problem for
current host packages because they use `darwin_` commands instead of
`build_darwin_` commands.  But the current `build_darwin_CC` and
`build_darwin_CXX` commands are still unnecessarily fragile, and
incompatible with new native depends packages added in
https://github.com/bitcoin/bitcoin/pull/18677.

Cory Fields <cory-nospam-@coryfields.com> suggested in
https://github.com/bitcoin/bitcoin/pull/16367#issuecomment-595393546
switching compiler from SDK clang to native clang (from $PATH) to avoid
this problem. This is easy and makes a certain amount of sense for
building native packages, as opposed to host packages. But fanquake
<fanquake@gmail.com> pointed out in
https://github.com/bitcoin/bitcoin/pull/18677#discussion_r409934309 that
it would be inconsistent use switch to non-SDK compilers while still
using other SDK tools like ranlib and install_name_tool. So simplest,
minimal fix seems to be just adding the missing --sysroot option.

Backport of core PR18743.
Note that it doesn't fix any real life problem for now.

Test Plan: Run the OSX Gitian build.

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D7522

Details

Provenance
Russell Yanofsky <russ@yanofsky.org>Authored on Mar 4 2020, 15:56
FabienCommitted on Sep 23 2020, 06:13
FabienPushed on Sep 23 2020, 06:14
Reviewer
Restricted Project
Differential Revision
D7522: depends: Add --sysroot option to mac os native compile flags
Parents
rABC3423c3f33e35: build: remove chrono package from depends Boost
Branches
Unknown
Tags
Unknown