e528caf7fb
Add support for FreeBSD 12 The pre-built binaries for clang 8 on FreeBSD do not ship with `libc++api`, so `libcxxrt` from the base system is used instead. Please ensure this checklist is followed for any pull requests for this repo. This checklist must be checked by both the PR creator and by anyone who reviews the PR. * [ ] Relevant documentation for this PR has to be completed and reviewed by @mdr0id before the PR can be merged * [ ] A test plan for the PR must be documented in the PR notes and included in the test plan for the next regular release As a note, all buildbot tests need to be passing and all appropriate code reviews need to be done before this PR can be merged |
||
---|---|---|
.. | ||
builders | ||
hosts | ||
packages | ||
patches | ||
.gitignore | ||
Makefile | ||
README.md | ||
config.guess | ||
config.site.in | ||
config.sub | ||
description.md | ||
funcs.mk | ||
packages.md |
README.md
Usage
To build dependencies for the current arch+OS:
make
To build for another arch/OS:
make HOST=host-platform-triplet
For example:
make HOST=x86_64-w64-mingw32 -j4
A prefix will be generated that's suitable for plugging into Bitcoin's configure. In the above example, a dir named x86_64-w64-mingw32 will be created. To use it for Bitcoin:
./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
Common host-platform-triplets
for cross compilation are:
i686-w64-mingw32
for Win32x86_64-w64-mingw32
for Win64x86_64-apple-darwin18
for macOSarm-linux-gnueabihf
for Linux ARM 32 bitaarch64-linux-gnu
for Linux ARM 64 bitriscv32-linux-gnu
for Linux RISC-V 32 bitriscv64-linux-gnu
for Linux RISC-V 64 bit
No other options are needed, the paths are automatically configured.
Dependency Options: The following can be set when running make: make FOO=bar
SOURCES_PATH: downloaded sources will be placed here
BASE_CACHE: built packages will be placed here
SDK_PATH: Path where sdk's can be found (used by OSX)
FALLBACK_DOWNLOAD_PATH: If a source file can't be fetched, try here before giving up
NO_WALLET: Don't download/build/cache libs needed to enable the wallet
DEBUG: disable some optimizations and enable more runtime checking
If some packages are not built, for example make NO_WALLET=1
, the appropriate
options will be passed to bitcoin's configure. In this case, --disable-wallet
.
Additional targets:
download: run 'make download' to fetch all sources without building them
download-osx: run 'make download-osx' to fetch all sources needed for osx builds
download-win: run 'make download-win' to fetch all sources needed for win builds
download-linux: run 'make download-linux' to fetch all sources needed for linux builds
Other documentation
- description.md: General description of the depends system
- packages.md: Steps for adding packages