dash/depends/packages
fanquake 098d0fd430
Merge #18677: Multiprocess build support
e2bab2aa162ae38b2bf8195b577c982402fbee9d multiprocess: add multiprocess travis configuration (Russell Yanofsky)
603fd6a2e708c04ef6c9880f89d0a4cbaa6fc7c5 depends: add MULTIPROCESS depends option (Russell Yanofsky)
5d1377b52bfcd4edf8553aaf332bfeb92fc554cc build: multiprocess autotools changes (Russell Yanofsky)

Pull request description:

  This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10).

  ---

  This PR consists of build changes only. It adds an `--enable-multiprocess` autoconf option (off by default and marked experimental), that builds new `bitcoin-node` and `bitcoin-gui` binaries. These currently function the same as existing `bitcoind` and `bitcoin-qt` binaries, but are extended in #10102 with IPC features to execute node, wallet, and gui functions in separate processes.

  In addition to adding the `--enable-multiprocess` config flag, it also adds a depends package and autoconf rules to build with the [libmultiprocess](https://github.com/chaincodelabs/libmultiprocess) library, and it adds new travis configuration to exercise the build code and run functional tests with the new binaries.

  The changes in this PR were originally part of #10102 but were moved into #16367 to be able to develop and review the multiprocess build changes independently of the code changes. #16367 was briefly merged and then reverted in #18588. Only change since #16367 has been dropping the `native_boost.mk` depends package which was pointed out to be no longer necessary in https://github.com/bitcoin/bitcoin/pull/16367#issuecomment-596484337 and https://github.com/bitcoin/bitcoin/pull/18588#pullrequestreview-391765649

ACKs for top commit:
  practicalswift:
    ACK e2bab2aa162ae38b2bf8195b577c982402fbee9d
  Sjors:
    tACK e2bab2aa162ae38b2bf8195b577c982402fbee9d on macOS 10.15.4
  hebasto:
    ACK e2bab2aa162ae38b2bf8195b577c982402fbee9d, tested on Linux Mint 19.3 (x86_64):

Tree-SHA512: b5a76eab5abf63d9d8b6d628cbdff4cc1888eef15cafa0a5d56369e2f9d02595fed623f4b74b2cf2830c42c05a774f0943e700f9c768a82d9d348cad199e135c
2024-01-16 09:34:26 -06:00
..
backtrace.mk Partial Merge #15844: depends: Purge libtool archives 2022-05-17 12:57:47 -04:00
bdb.mk Merge bitcoin/bitcoin#23955: build: add support for NetBSD in depends 2023-12-26 22:26:21 -06:00
boost.mk Merge #21064: refactor: use std::shared_mutex & remove Boost Thread 2024-01-16 09:29:52 -06:00
capnp.mk Merge #18677: Multiprocess build support 2024-01-16 09:34:26 -06:00
expat.mk Merge bitcoin/bitcoin#24276: build, refactor: Improve package version usage 2023-12-06 18:38:53 -06:00
fontconfig.mk Merge bitcoin/bitcoin#22783: build: Cleanup depends build system 2022-06-27 11:37:03 -05:00
freetype.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
gmp.mk Partial Merge #15844: depends: Purge libtool archives 2022-05-17 12:57:47 -04:00
libevent.mk Merge bitcoin/bitcoin#24526: build: don't install deprecated libevent headers 2024-01-01 17:48:17 -06:00
libmultiprocess.mk Merge #18677: Multiprocess build support 2024-01-16 09:34:26 -06:00
libnatpmp.mk merge bitcoin#21209: use newer source for libnatpmp 2022-02-26 17:49:13 +05:30
libXau.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
libxcb_util_image.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
libxcb_util_keysyms.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
libxcb_util_render.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
libxcb_util_wm.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
libxcb_util.mk merge bitcoin#23675: Post-pr23489 small cleanups 2023-08-08 06:05:02 -05:00
libxcb.mk Merge bitcoin/bitcoin#23977: depends: Fix typo 2023-12-26 22:26:20 -06:00
libxkbcommon.mk Merge bitcoin/bitcoin#25436: build: GCC-12 build improvements 2022-11-02 10:24:45 -05:00
miniupnpc.mk merge bitcoin#25964: fix mingw miniupnpc cflags 2023-01-18 19:02:39 -06:00
native_b2.mk merge bitcoin#19764: Split boost into build/host packages + bump + cleanup 2021-08-28 00:42:09 +05:30
native_capnp.mk Merge #18677: Multiprocess build support 2024-01-16 09:34:26 -06:00
native_cctools.mk merge bitcoin#25633: don't restrict --enable-lto to non-guix cctools 2023-06-29 12:31:03 -05:00
native_clang.mk merge bitcoin#25633: don't restrict --enable-lto to non-guix cctools 2023-06-29 12:31:03 -05:00
native_ds_store.mk Merge #20333: build: remove native_biplist dependency 2022-03-05 13:48:08 -06:00
native_libdmg-hfsplus.mk Merge #21375: guix: Misc feedback-based fixes + hier restructuring 2023-03-26 16:50:26 -05:00
native_libmultiprocess.mk Merge #18677: Multiprocess build support 2024-01-16 09:34:26 -06:00
native_libtapi.mk merge bitcoin#25633: don't restrict --enable-lto to non-guix cctools 2023-06-29 12:31:03 -05:00
native_mac_alias.mk Merge bitcoin/bitcoin#21658: build: fix make deploy for arm64-darwin 2023-12-03 20:44:58 -06:00
packages.mk Merge #18677: Multiprocess build support 2024-01-16 09:34:26 -06:00
qrencode.mk Merge #16949: build: only pass --disable-dependency-tracking to packages that understand it 2022-06-18 17:19:48 +05:30
qt.mk Merge bitcoin/bitcoin#28561: build: Update qt package up to 5.15.10 2023-12-07 09:14:57 -06:00
sqlite.mk Merge bitcoin/bitcoin#23955: build: add support for NetBSD in depends 2023-12-26 22:26:21 -06:00
xcb_proto.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
xproto.mk merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
zeromq.mk Merge bitcoin/bitcoin#24134: build: Fix zeromq package when cross-compiling 2024-01-13 19:32:29 -06:00