Commit Graph

13867 Commits

Author SHA1 Message Date
Cory Fields b22d18063b depends: specify libc++ header location for darwin
For depends builds this was fixed by fbcfcf69, which deleted the conflicting
headers. When we no longer control the clang installation, we need to ensure
that the SDK's libc++ headers are used rather than the ones shipped with clang.
We can do that by turning off the default include path and hard-coding our own.
This hard-coded path is ok because we control (via SDK packaging) where these
headers end-up.

Side-note: Now that this path is hard-coded in depends, we can potentially
package the SDK differently, as the c++ folder can live wherever is most
convenient for us.
2020-07-30 04:33:36 +01:00
Carl Dong 6ae57751cc depends: Specify path to native binaries as clang argument
Zcash: Extracted from upstream commit:
    depends: Allow building with system clang
2020-07-30 04:33:36 +01:00
Carl Dong d6c3af5e84 depends: Decouple toolchain + binutils
For now they remain the same, but in the next commit, we will assign
them differently according to wether or not we're using system clang.
2020-07-30 04:33:36 +01:00
fanquake a21fa08e0b doc: explain why passing -mlinker-version is required 2020-07-30 04:33:36 +01:00
Cory Fields 6b785ae72d darwin: pass mlinker-version so that clang enables new features
Without this clang fails to add any newly-added linker features.

Removing this in ca5055a5aa07aba81a87cf12f6f0526a63c423b5 was likely a
regression.

See https://github.com/bitcoin/bitcoin/pull/19240#issuecomment-647764049
for more discussion.
2020-07-30 04:33:36 +01:00
Cory Fields cc934c2b1d macos: Bump to xcode 11.3.1 and 10.15 SDK
This gets us a newer SDK with c++17 support and retains 10.12
back-compat.

Co-authored-by: Carl Dong <contact@carldong.me>
2020-07-30 04:33:36 +01:00
Cory Fields a53d5ea8e9 depends: bump MacOS toolchain
clang   6.0.1  -> 8.0.0
cctools 921    -> 949.0.1
ld64    409.12 -> 530
2020-07-30 04:33:36 +01:00
Carl Dong addae3b250 contrib: macdeploy: Remove historical extraction notes 2020-07-30 04:33:36 +01:00
Carl Dong 6296a1e9ac contrib: macdeploy: Use apple-sdk-tools instead of xar+pbzx 2020-07-30 04:33:36 +01:00
Carl Dong 8e1a78ab63 native_cctools: Don't use libc++ from pinned clang
Now that we include the macOS SDK libc++ headers in our macOS SDK
tarball, we no longer need this hack to use the libc++ from our pinned
clang.
2020-07-30 04:33:36 +01:00
Carl Dong d02d06b565 Adapt rest of tooling to new SDK naming scheme 2020-07-30 04:33:36 +01:00
Carl Dong 29fbb65b14 contrib: macdeploy: Correctly generate macOS SDK
Previously, we did not include the macOS SDK libc++ headers in our SDK
creation process and instead used whichever libc++ headers shipped with
the clang package we downloaded in depends.

This change adds a script (which works on both GNU/Linux and macOS) to
correctly generate the macOS SDK including the libc++ headers. This can
be thought of as a simplified rewrite of tpoechtrager's script:

d3392f4eae/tools/gen_sdk_package.sh

The location within the SDK where we place the libc++ headers is chosen
such that clang's search path detection logic for sysroots would pick up
the headers properly.

We also document this change.
2020-07-30 04:33:36 +01:00
Andrew Chow 79c707aaf2 Fix naming of macOS SDK and clarify version 2020-07-30 04:33:36 +01:00
fanquake d75478432f build: use macOS 10.14 SDK
Co-Authored-By: Carl Dong <accounts@carldong.me>
2020-07-30 04:33:36 +01:00
fanquake a346fc0086 depends: native_cctools 921, ld64 409.12, libtapi 1000.10.8
This also removes the obsolete mlinker-version option

Co-Authored-By: Cory Fields <cory-nospam-@coryfields.com>

Zcash: Excludes QT changes.
2020-07-30 04:33:36 +01:00
fanquake 49c023c871 depends: clang 6.0.1
This also removes some now-unnecessary cctools hacks.

Co-Authored-By: Cory Fields <cory-nospam-@coryfields.com>
2020-07-30 04:33:36 +01:00
fanquake e04c184205 build: set minimum supported macOS to 10.12 2020-07-30 04:33:36 +01:00
fanquake d84878d853 scripted-diff: prefer MAC_OSX over __APPLE__
-BEGIN VERIFY SCRIPT-
sed -i 's/__APPLE__/MAC_OSX/g' src/compat/byteswap.h src/util.cpp
-END VERIFY SCRIPT-

Zcash: Excludes byteswap.h change as we don't have bitcoin/bitcoin#9366.
2020-07-30 04:33:36 +01:00
fanquake a0f3ef7e13 doc: mention that macOS 10.10 is now required 2020-07-30 04:33:36 +01:00
fanquake 0d3e5fc43c depends: set OSX_MIN_VERSION to 10.10 2020-07-30 04:33:36 +01:00
Daira Hopwood 63bfdad106 Fix a return status issue.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-29 14:28:54 +01:00
Homu f39e4dbaf1 Auto merge of #4627 - LarryRuane:issue4596-flush-wallet-db, r=str4d
flush witness cache (SetBestChain()) on clean shutdown

Closes #4596, follow-on to #4573. In addition to flushing witness data on shutdown, fix the RPC test that was preventing this change from being part of #4573.
2020-07-29 13:12:04 +00:00
Daira Hopwood 454fd23a90 Update .gitignore.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-29 13:31:19 +01:00
Daira Hopwood 499d9c222c zcutil/distclean.sh: remove BDB utility programs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-29 13:31:19 +01:00
Alfredo Garcia 6abcf40a3e
add more allowed duplicates
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2020-07-29 08:45:02 -03:00
Homu 615efd2a52 Auto merge of #4584 - defuse:update-ignore, r=str4d
Block release when we haven't checked dependency updates for security fixes
2020-07-29 10:45:44 +00:00
Homu 24f3bcf275 Auto merge of #4623 - str4d:metrics-locking, r=str4d
metrics: Collect general stats before clearing screen

This prevents the metrics screen from flashing if locks are being held
by long-running processes, specifically cs_main during block validation.

We split up locking on cs_main and cs_vNodes to make obtaining the locks
easier, at the expense of potentially having slightly out-of-sync
statistics (which doesn't really matter, as all we are fetching from the
latter lock is the number of connected peers).
2020-07-29 09:33:07 +00:00
Homu 91cb52adc5 Auto merge of #4606 - str4d:safe-mode-alert-for-pre-heartwood-nodes, r=str4d
Send alert to put pre-Heartwood nodes into safe mode.

The alert targets nodes running protocol version <= 170010.
Heartwood-compatible nodes run protocol version >= 170011.
2020-07-29 07:59:59 +00:00
Homu b1b65121ae Auto merge of #4590 - cwsaunders:master, r=str4d
Update two dev tool files from Python 2 to Python 3
2020-07-29 06:45:45 +00:00
Homu e789632c32 Auto merge of #4640 - therealyingtong:v3.1.0-release-notes-update, r=str4d
Add Debian8 deprecation to release notes
2020-07-29 05:39:22 +00:00
ying tong f7b3a55505
Update doc/release-notes/release-notes-3.1.0.md
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2020-07-29 07:21:25 +08:00
therealyingtong b5ee15b781
Add Debian8 deprecation to release notes 2020-07-29 05:42:12 +08:00
Homu 65f0a4736a Auto merge of #4638 - therealyingtong:release-v3.1.0, r=daira
Release v3.1.0
2020-07-28 12:11:27 +00:00
therealyingtong 369c16ef44
Set APPROX_RELEASE_HEIGHT to 917000 and update release-notes-3.1.0.md 2020-07-28 07:57:58 +08:00
therealyingtong 228b17c9e0
make-release.py: Updated release notes and changelog for 3.1.0. 2020-07-28 07:02:06 +08:00
therealyingtong f25e86a460
make-release.py: Updated manpages for 3.1.0. 2020-07-28 07:02:06 +08:00
therealyingtong e4963385a4
make-release.py: Versioning changes for 3.1.0. 2020-07-28 06:54:02 +08:00
Homu d08883263f Auto merge of #4636 - daira:disable-mining-regression, r=daira
Fix "--disable-mining" build regression

closes #4634

Test by building with:
* `CONFIGURE_FLAGS="--disable-tests --disable-mining --disable-bench" zcutil/build.sh`
* `zcutil/distclean.sh`
* `CONFIGURE_FLAGS="--disable-mining" zcutil/build.sh`

After the second build, run `qa/zcash/full-test-suite.py`. Stop when it gets to the RPC tests, which will hang. The preceding parts of the test suite are all expected to pass.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-27 21:41:25 +00:00
Homu 162d5a50ee Auto merge of #4610 - ebfull:testnet-dev-fund, r=str4d
Add dev fund addresses and set activation height for testnet NU4 activation.
2020-07-27 09:05:53 +00:00
Daira Hopwood 40b9cbf0b1 Allow Equihash validation tests to be compiled with --disable-mining.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-25 16:33:02 +01:00
Daira Hopwood c99a00596f Fix --disable-mining build regression. closes #4634
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-25 15:41:39 +01:00
therealyingtong 283287ab5b
Use 51 Testnet Dev Fund addresses, and adjust the end heights.
Co-authored-by: Ying Tong Lai <yingtong@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-25 09:45:30 +08:00
therealyingtong 62c3613816
Delay testnet activation height by one week 2020-07-24 08:15:35 +08:00
Homu de52eed974 Auto merge of #4628 - therealyingtong:block-903002-bug, r=str4d
Pass HistoryNode through Rust FFI as a C array

`std::array<T>` is guaranteed to store `T` contiguously. However, there is
no guarantee that `sizeof(std::array<unsigned char, N>) == N`, which
prevents us from interpreting `std::array<std::array<unsigned char, N>, 32>`
as `&[[u8; N]]` on the Rust side of the FFI.

Instead, we define `HistoryNode` as a struct wrapping a C array, which
(as checked by `static_assert`) contains no padding.

This is equivalent to 82fe37d22b, which
fixed this issue when passing a slice of `HistoryEntry`s from C++ to Rust;
the bug fixed here is writing `HistoryNodes` from Rust into C++ memory.
2020-07-23 22:40:42 +00:00
Kris Nuttycombe 04b4d42767 Zero-initialize HistoryNode values. 2020-07-23 16:24:48 -06:00
therealyingtong 13aa74aa45
Pass HistoryNode struct to librustzcash FFI 2020-07-21 17:56:47 +08:00
Larry Ruane a65ecaad54 flush wallet db (SetBestChain()) on clean shutdown 2020-07-20 20:04:48 -06:00
Jack Grigg 5d15ee1f22 metrics: Collect general stats before clearing screen
This prevents the metrics screen from flashing if locks are being held
by long-running processes, specifically cs_main during block validation.

We split up locking on cs_main and cs_vNodes to make obtaining the locks
easier, at the expense of potentially having slightly out-of-sync
statistics (which doesn't really matter, as all we are fetching from the
latter lock is the number of connected peers).
2020-07-18 23:35:19 +12:00
Homu d058568e0a Auto merge of #4617 - daira:release-notes-3.0.0-formatting, r=daira
Fix the formatting of the 3.0.0 release notes

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-17 20:18:26 +00:00
Homu 6631f218d3 Auto merge of #4616 - daira:4615/hashrate-display, r=daira
Use SI prefixes for hash rates on the metrics screen

fixes #4615
2020-07-17 19:11:36 +00:00