aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2020-07-31 08:24:14 +0800
committerfanquake <fanquake@gmail.com>2020-07-31 08:52:03 +0800
commita4a279b4f368661ea7d2507dd963469f432f916c (patch)
treeffab1ceba4dd5a68b81fcbfd27b64d232e165c38
parentedec7f7c254294cd5c46ae5cf304353d458bb852 (diff)
parente60ef21b8a0f62ebc2e0bdbb5943fa80cc4d98b2 (diff)
downloadbitcoin-a4a279b4f368661ea7d2507dd963469f432f916c.tar.xz
Merge #19617: doc: Clang 8 or later is required with FORCE_USE_SYSTEM_CLANG
e60ef21b8a0f62ebc2e0bdbb5943fa80cc4d98b2 doc: Clang 8 or later is required with FORCE_USE_SYSTEM_CLANG (fanquake) Pull request description: The usage of pragmas within the macOS SDK requires LLVM Clang 8. This is the same version as our prebuilt Clang, however the minimum is worth noting here as they may diverge and/or expert users might expect they could use an earlier version. If you compile depends using `FORCE_USE_SYSTEM_CLANG=1` and Clang 7 you'll see output like: ```bash In file included from kernel/qcore_mac_objc.mm:44: In file included from /bitcoin/depends/SDKs/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers/System/Library/Frameworks/AppKit.framework/Headers/NSText.h:9: In file included from /bitcoin/depends/SDKs/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:19: In file included from /bitcoin/depends/SDKs/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:10: /bitcoin/depends/SDKs/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers/System/Library/Frameworks/AppKit.framework/Headers/NSEvent.h:19:1: error: expected 'push' or 'pop' after '#pragma clang attribute' /bitcoin/depends/SDKs/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers/usr/include/os/availability.h:104:273: note: expanded from macro 'API_UNAVAILABLE_BEGIN' ...__API_UNAVAILABLE_BEGIN5, __API_UNAVAILABLE_BEGIN4, __API_UNAVAILABLE_BEGIN3, __API_UNAVAILABLE_BEGIN2, __API_UNAVAILABLE_BEGIN1, 0)(__VA_A... ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. ``` I've got a [godbolt here](https://godbolt.org/z/j6r987) that contains a demo of the issue (based off the macOS SDK). It will compile with Clang 8 but not with Clang 7. ACKs for top commit: laanwj: ACK e60ef21b8a0f62ebc2e0bdbb5943fa80cc4d98b2 Tree-SHA512: affc082a4b28d9cd102a844e10f63f55f0f20a9f840e5d8037a41470ad1ea83edc3075ce262b1d618c59c9b75445e52ddd9ba9f84c5ac3da9ce20681473c47b1
-rw-r--r--depends/README.md6
1 files changed, 3 insertions, 3 deletions
diff --git a/depends/README.md b/depends/README.md
index 11733024b1..2356e8be59 100644
--- a/depends/README.md
+++ b/depends/README.md
@@ -110,9 +110,9 @@ The following can be set when running make: `make FOO=bar`
<dt>BUILD_ID_SALT</dt>
<dd>Optional salt to use when generating build package ids</dd>
<dt>FORCE_USE_SYSTEM_CLANG</dt>
-<dd>(EXPERTS ONLY) When cross-compiling for macOS, use clang found in the
-system's <code>$PATH</code> rather than the default prebuilt release of clang
-from llvm.org</dd>
+<dd>(EXPERTS ONLY) When cross-compiling for macOS, use Clang found in the
+system's <code>$PATH</code> rather than the default prebuilt release of Clang
+from llvm.org. Clang 8 or later is required.</dd>
</dl>
If some packages are not built, for example `make NO_WALLET=1`, the appropriate