Commit Graph

112 Commits

Author SHA1 Message Date
Sjors Provoost 71f29d4fa9
doc: update build and dependencies docs for IPC
OpenBSD does not have this package, so recommend building from
source for now.
2025-08-14 20:59:51 +02:00
Sjors Provoost 67e186deb0
doc: update wallet build instruction
Sqlite is expected to be installed, but can still be opted out of.
2025-08-12 19:39:07 +02:00
Salvatore Ingala 0e9f409db3
doc: clarify that the "-j N" goes after the "--build build" part
Also, capitalized the comments in build-unix.md for uniformity
with the docs on other targets.
2025-07-01 18:00:31 +08:00
Ryan Ofsky 258bda80c0 doc: Mention bitcoin wrapper executable in documentation 2025-05-12 14:49:17 -04:00
Ava Chow 04a7a7a28c build, wallet, doc: Remove BDB 2025-05-06 12:21:32 -07:00
TheCharlatan 7f5a35cf4b
doc: Add deps install notes for multiprocess
These just mirror the content in src/ipc/libmultiprocess/doc/install.md
2025-04-17 20:26:43 +02:00
Hennadii Stepanov 6d4214925f
cmake: Require Qt 6 to build GUI 2025-04-02 09:11:48 +01:00
Hennadii Stepanov 1f9b2e150c
cmake: Require `zip` only for `deploy` target 2025-03-13 11:22:30 +00:00
merge-script 502d47203e
Merge bitcoin/bitcoin#31161: cmake: Set top-level target output locations
568fcdddae scripted-diff: Adjust documentation per top-level target output location (Hennadii Stepanov)
026bb226e9 cmake: Set top-level target output locations (Hennadii Stepanov)

Pull request description:

  This PR sets the target output locations to the `bin` and `lib` subdirectories within the build tree, creating a directory structure that mirrors that of the installed targets.

  This approach is widely adopted by the large projects, such as [LLVM](e146c1867e/lldb/cmake/modules/LLDBStandalone.cmake (L128-L130)):
  ```cmake
  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
  set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX})
  set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX})
  ```

  The `libsecp256k1` project has also recently [adopted](https://github.com/bitcoin-core/secp256k1/pull/1553) this approach.

  With this PR, all binaries are conveniently located. For example, run:
  ```
  $ ./build/bin/fuzz
  ```
  instead of:
  ```
  $ ./build/src/test/fuzz/fuzz
  ```

  On Windows, all required DLLs are now located in the same directory as the executables, allowing to run `bitcoin-chainstate.exe` (which loads `bitcoinkernel.dll`) without the need to copy DLLs or modify the `PATH` variable.

  The idea was briefly discussed among the build team during the recent CoreDev meeting.

  ---

  **Warning**: This PR changes build locations of newly built executables like `bitcoind` and `test_bitcoin` from `src/` to `bin/` without deleting previously built executables. A clean build is recommended to avoid accidentally running old binaries.

ACKs for top commit:
  theStack:
    Light re-ACK 568fcdddae
  ryanofsky:
    Code review ACK 568fcdddae. Only change since last review was rebasing. I'm ok with this PR in its current form if other developers are happy with it. I just personally think it is inappropriate to \*silently\* break an everyday developer workflow like `git pull; make bitcoind`. I wouldn't have a problem with this PR if it triggered an explicit error, or if the problem was limited to less common workflows like changing cmake options in an existing build.
  TheCharlatan:
    Re-ACK 568fcdddae
  theuni:
    ACK 568fcdddae

Tree-SHA512: 1aa5ecd3cd49bd82f1dcc96c8e171d2d19c58aec8dade4bc329df89311f9e50cbf6cf021d004c58a0e1016c375b0fa348ccd52761bcdd179c2d1e61c105e3b9f
2025-03-12 11:19:00 +08:00
Sjors Provoost d79dab0fa9
doc: warn against having qt6 installed on macOS 2025-03-07 05:01:46 -05:00
Hennadii Stepanov 568fcdddae
scripted-diff: Adjust documentation per top-level target output location
-BEGIN VERIFY SCRIPT-

ren() { sed -i "s|\<$1\>|$2|g" $( git grep -l "$1" :\(exclude\)./src/secp256k1 ) ; }

ren build/src/bench   build/bin
ren build/src/test    build/bin
ren build/src/qt/test build/bin
ren build/src/qt      build/bin
ren build/src         build/bin
ren build_fuzz/src/test/fuzz build_fuzz/bin

-END VERIFY SCRIPT-
2025-02-20 22:18:57 +00:00
fanquake 8d203480b3
doc: migrate from pkg-config to pkgconf in macOS build docs
Brew has migrated to using the later:
```bash
brew info pkg-config
==> pkgconf: stable 2.3.0 (bottled), HEAD
Package compiler and linker metadata toolkit
https://github.com/pkgconf/pkgconf
```
2024-11-21 10:28:44 +00:00
Antoine Poinsot 953533d021
doc: remove mentions of UPnP 2024-10-25 09:27:29 -04:00
fanquake 79aa8280b2
doc: drop LLVM install instructions 2024-10-16 14:20:21 +01:00
Hennadii Stepanov a0e089a71d
build: Bump minimum supported macOS to 13.0
Running Bitcoin Core on unsupported OSes may expose users to security
issues.

macOS Monterey 12 received its final security update (12.7.6) on July
2024. Apple classifies the hardware that can run macOS 12 at most as
"obsolete worldwide".
2024-10-15 10:18:48 +01:00
laanwj 7e7ec984da doc: Remove mention of natpmp build options 2024-09-30 11:37:56 +02:00
marcofleon 8d7f8fabae doc: fix compiler flags for macOS configuration 2024-09-02 12:53:50 +01:00
fanquake 3c53e59dcf
doc: fixup macOS build docs for CMake 2024-08-28 14:48:23 +01:00
Hennadii Stepanov 6ce50fd9d0
doc: Update for CMake-based build system
Co-authored-by: Lőrinc <pap.lorinc@gmail.com>
Co-authored-by: pablomartin4btc <pablomartin4btc@gmail.com>
2024-08-16 21:24:08 +01:00
Sjors Provoost 22574046c9
doc: add LLVM instruction for macOS < 13 2024-04-29 10:33:21 +02:00
fanquake 30bd4b1e4a
doc: remove mention of missing bdb being a configure error
This is no-longer the case, unless you're passing additional flags,
which is not the case in this example.
2023-11-15 13:34:50 +00:00
fanquake b5790c35f7
build: remove dmg dependencies 2023-09-15 13:47:50 +01:00
Hennadii Stepanov 34a2f91055
Revert "doc: note that brew installed qt is not supported"
This reverts commit 33b0b26a03.
2022-09-14 13:51:17 +01:00
MarcoFalke e09cf64c48
Merge bitcoin/bitcoin#24585: doc: mention that BDB is for the legacy wallet in build-osx.md
57f3f5cecf doc: s/Compiler/Dependency in dependencies.md (fanquake)
bf846779ca doc: cleanup wallet docs in build-osx.md (fanquake)

Pull request description:

  Re-order legacy and descriptor wallet section.
  Installing sqlite isn't required (the version pre-installed on macOS is just as good as what will be installed via `brew`).
  Remove prelude that pointlessly repeats the same info.

  Basically the macOS version of #23446.

  Includes a small fixup from #23565.

ACKs for top commit:
  RandyMcMillan:
    ACK 57f3f5c
  hebasto:
    ACK 57f3f5cecf, I have reviewed the changes and they look OK, I agree they can be merged.

Tree-SHA512: a1ca5f73aa4f4f56de747fd9669bce572c1d7d23925afb47b5d963314df1738762ea26428c040e9c706d288eb7e775227d2387a322cda065885b89c6a619314f
2022-03-17 21:13:39 +01:00
Hennadii Stepanov e359ba6b35
doc: Drop a note about Intel-based Macs 2022-03-16 18:09:06 +01:00
fanquake bf846779ca
doc: cleanup wallet docs in build-osx.md
Re-order legacy and descriptor wallet section.
Installing sqlite isn't required.
Remove prelude that pointlessly reqpeats the same info.
2022-03-16 16:28:28 +00:00
fanquake 893e18059f
doc: rework dependencies.md 2022-03-16 10:18:47 +00:00
fanquake e09773d20a
build: use a static .tiff for macOS .dmg over generating
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
2022-01-02 15:38:19 +08:00
Raul Siles 33b0b26a03 doc: note that brew installed qt is not supported 2021-05-17 21:36:08 -04:00
Klement Tan 07bc22ef10
docs: improve make with parallel jobs description. 2021-05-14 08:45:27 +08:00
Jarol Rodriguez c180c911b8 doc: revamp macOS build doc
This pr makes the macOS build docs more informative and adds in the following information:
- Proper descriptions and delineation of required/optional dependencies
- walk-through of optional dependencies
- configuration walk-through
- various other tid-bits of information
2021-03-03 16:09:52 -05:00
fanquake bec7f2caf7
doc: install qt5 when building on macOS
Brew has updated such that qt now refers to Qt 6.0.1. If builders
install this, configure will not work pick up qt. For now, install
qt@5 (5.15.2), until required build system and likely source changes
are made.
2021-03-03 12:00:06 +08:00
Hennadii Stepanov 3e61b8c800
doc: Add explicit macdeployqtplus dependencies install step
This change is required on macOS 11 Big Sur.
2021-01-09 09:37:12 +02:00
Hennadii Stepanov ae749d12dd
doc: Add libnatpmp stuff 2021-01-07 18:07:10 +02:00
Hennadii Stepanov c932e0d67e
doc: Update wallet database installation guide for macOS 2020-12-07 13:25:06 +02:00
fanquake a52ecc936a
build: set minimum supported macOS to 10.14 2020-11-18 21:46:09 +08:00
Andrew Chow 6c6639ac9f Include sqlite3 in documentation 2020-10-14 11:28:18 -04:00
fanquake eb3c6b0912
Merge #18070: doc: add note about `brew doctor`
63ce882760 doc: link to homebrew's troubleshooting page (Gastón I. Silva)

Pull request description:

  A trivial documentation update.

  When I was following the build steps for mac, I had some errors installing the dependencies. After searching on the Internet, and correcting the errors, I found that `brew doctor` had all the answers I needed. Could have skipped the Internet searches all together.

ACKs for top commit:
  fanquake:
    ACK 63ce882760 - a link to the troubleshooting page seems fine. I wouldn't really want our README to have anything more specific than that.

Tree-SHA512: 12c96cd9c9bd39ada21f3f27cbec3ed4bef4b8e74dec7872c892fc6a92a70418a5cc0882ff449883e91d96c01e1ca7104b076590917f397334c82931ec7fda1c
2020-02-20 20:56:41 +08:00
Gastón I. Silva 63ce882760 doc: link to homebrew's troubleshooting page 2020-02-06 09:05:55 -08:00
fanquake 7e2104433c
build: use macOS 10.14 SDK
Co-Authored-By: Carl Dong <accounts@carldong.me>
2020-02-03 19:49:46 +08:00
fanquake 7d7bf2ff4a
build: set minimum supported macOS to 10.12 2019-11-21 11:08:47 -05:00
fanquake a4eb839619
doc: remove OpenSSL from build instructions and licensing info 2019-11-18 08:56:48 -05:00
fanquake e09913f1c4
doc: specify protobuf as optional in build docs 2019-09-12 20:28:53 +10:00
Jon Atack 90b5c4eefb
doc: Fix broken link in doc/build-osx.md
This fixes the regression in PR #15964 as noted here:

https://github.com/bitcoin/bitcoin/pull/15964/files#r298798933
2019-06-29 16:32:36 +02:00
Giulio Lombardo dbd137a4ea
Improve build-osx formatting 2019-06-14 13:50:12 +02:00
Jack Mallers 8dfbb5cf23 doc: mention creating application support bitcoin folder on OSX 2019-04-12 09:18:41 -05:00
Martin Erlandsson f24ed6d39f Delete README_osx.md and move its contents into build-osx.md 2019-01-21 20:24:33 +01:00
MarcoFalke fa4da3c058
[doc] conf: Remove deprecated options from docs, Other cleanup
* conf: Remove deprecated options from docs
* Remove only mention of MIT/X11
* Link to developer notes in README.md
2018-11-07 13:30:03 -05:00
Martin Erlandsson 36c8e68585 Various textual improvements in build docs 2018-10-28 06:01:01 +01:00
Michael Goldstein e351a16a2a Remove reference to deprecated RPC call in build instructions 2018-09-05 14:21:18 -05:00