dash/build-aux/m4
Samuel Dobson 209c48a90a
Merge #15382: util: add RunCommandParseJSON
31cf68a3ad1f0a5537c8419e2912b55fbfb88fa0 [util] add RunCommandParseJSON (Sjors Provoost)
c17f54ee535faaedf9033717403e1f775b5f1530 [ci] use boost::process (Sjors Provoost)
32128ba682033560d6eb2e4848a9f77a842016d2 [doc] include Doxygen comments for HAVE_BOOST_PROCESS (Sjors Provoost)
3c84d85f7d218fa27e9343c5cd1a55e519218980 [build] msvc: add boost::process (Sjors Provoost)
c47e4bbf0b44f2de1278f9538124ec98ee0815bb [build] make boost-process opt-in (Sjors Provoost)
929cda5470f98d1ef85c05b1cad4e2fb9227e3b0 configure: add ax_boost_process (Sjors Provoost)
8314c23d7b39fc36dde8b40b03b6efbe96f85698 [depends] boost: patch unused variable in boost_process (Sjors Provoost)

Pull request description:

  Prerequisite for external signer support in #16546. Big picture overview in [this gist](https://gist.github.com/Sjors/29d06728c685e6182828c1ce9b74483d).

  This adds a new dependency [boost process](https://github.com/boostorg/process/tree/boost-1.64.0). This is part of Boost since 1.64 which is part of `depends`. Because the minimum Boost version is 1.47, this functionality is skipped for older versions of Boost.

  Use `./configure --with-boost-process` to opt in, which checks for the presence of Boost::Process.

  We add `UniValue runCommandParseJSON(const std::string& strCommand)` to `system.{h,cpp}` which calls an arbitrary command and processes the JSON returned by it. This is currently only called by the test suite.

  ~For testing purposes this adds a new regtest-only RPC method `runcommand`, as well as `test/mocks/command.py` used by functional tests.~ (this is no longer the case)

  TODO:
  - [ ] review boost process in #15440

ACKs for top commit:
  achow101:
    ACK 31cf68a3ad1f0a5537c8419e2912b55fbfb88fa0
  hebasto:
    re-ACK 31cf68a3ad1f0a5537c8419e2912b55fbfb88fa0, only rebased (verified with `git range-diff`) and removed an unintentional tab character since the [previous](https://github.com/bitcoin/bitcoin/pull/15382#pullrequestreview-458371035) review.
  meshcollider:
    Very light utACK 31cf68a3ad1f0a5537c8419e2912b55fbfb88fa0, although I am not very confident with build stuff.
  promag:
    Code review ACK 31cf68a3ad1f0a5537c8419e2912b55fbfb88fa0, don't mind the nit.
  ryanofsky:
    Code review ACK 31cf68a3ad1f0a5537c8419e2912b55fbfb88fa0. I left some comments below that could be ignored or followed up later. The current change is clean and comprehensive.

Tree-SHA512: c506e747014b263606e1f538ed4624a8ad7bcf4e025cb700c12cc5739964e254dc04a2bbb848996b170e2ccec3fbfa4fe9e2b3976b191222cfb82fc3e6ab182d
2024-02-01 09:22:03 -06:00
..
ax_boost_base.m4 Merge pull request #4262 from PastaPastaPasta/backport-triv-pr17 2021-07-16 20:30:46 +03:00
ax_boost_filesystem.m4 Merge #16870: build: update boost macros to latest upstream for improved error reporting 2021-07-12 20:54:22 -05:00
ax_boost_process.m4 Merge #15382: util: add RunCommandParseJSON 2024-02-01 09:22:03 -06:00
ax_boost_unit_test_framework.m4 Merge #16870: build: update boost macros to latest upstream for improved error reporting 2021-07-12 20:54:22 -05:00
ax_check_compile_flag.m4 Merge #7711: [build-aux] Update Boost & check macros to latest serials 2017-12-19 13:42:36 +01:00
ax_check_link_flag.m4 Merge #7711: [build-aux] Update Boost & check macros to latest serials 2017-12-19 13:42:36 +01:00
ax_check_preproc_flag.m4 Merge #7711: [build-aux] Update Boost & check macros to latest serials 2017-12-19 13:42:36 +01:00
ax_cxx_compile_stdcxx.m4 build: enable experimental Cxx20 support (#4600) 2021-12-12 01:14:17 +03:00
ax_gcc_func_attribute.m4 Merge #7711: [build-aux] Update Boost & check macros to latest serials 2017-12-19 13:42:36 +01:00
ax_pthread.m4 Merge bitcoin/bitcoin#23616: build: Bump AX_PTHREAD macro to the latest version 2023-04-17 11:17:34 -05:00
bitcoin_find_bdb48.m4 Merge bitcoin/bitcoin#23168: build: no-longer fail default configure if BDB isn't available 2023-04-17 11:17:34 -05:00
bitcoin_qt.m4 merge bitcoin#23675: Post-pr23489 small cleanups 2023-08-08 06:05:02 -05:00
bitcoin_runtime_lib.m4 merge bitcoin#21882: Fix undefined reference to __mulodi4 2022-10-20 16:08:45 -05:00
bitcoin_subdir_to_include.m4 Merge #8784: Copyright headers for build scripts 2018-01-12 08:02:45 +01:00
l_atomic.m4 Merge #8784: Copyright headers for build scripts 2018-01-12 08:02:45 +01:00
l_socket.m4 Merge #21486: build: link against -lsocket if required for *ifaddrs 2022-09-03 10:43:15 -05:00