(These commands should be run in the depends folder)
To build dependencies for the current arch+OS run this:
makeIf you want to build for another arch/OS you need to run this command:
make HOST=[host-platform-triplet]For example:
make HOST=x86_64-w64-mingw32 -j4-
A folder will be generated inside the
dependsfolder by whichever command you ran. -
This folder's path needs to be plugged into the
configurecommand. -
Using the above example,
make HOST=x86_64-w64-mingw32 -j4, a dir namedx86_64-w64-mingw32is generated. We would plug it into thedependscommand like this:# This command is run in the project's root folder, not in /depends or in /src ./configure --prefix=`pwd`/depends/x86_64-w64-mingw32 #this is in the root dir for the project, not in /depends
Common host-platform-triplets for cross compilation are:
These may differ depending on which version your operating system is on, for example the OSX folder generated will change depending on the exact OSX version
| Operating System | Prefix |
|---|---|
| Windows 32bit | i686-w64-mingw32 |
| Windows 64bit | x86_64-w64-mingw32 |
| Mac OSX | x86_64-apple-darwin17.6.0 |
| Linux ARM 32bit | arm-linux-gnueabihf |
| Linux ARM 64bit | aarch64-linux-gnu |
No other options are needed, the paths are automatically configured.
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_QT: Don't download/build/cache qt and its dependencies
NO_WALLET: Don't download/build/cache libs needed to enable the wallet
NO_UPNP: Don't download/build/cache packages needed for enabling upnp
DEBUG: disable some optimizations and enable more runtime checking
HOST_ID_SALT: Optional salt to use when generating host package ids
BUILD_ID_SALT: Optional salt to use when generating build package ids
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.
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
- description.md: General description of the depends system
- packages.md: Steps for adding packages