4eb3dc7ec6
Bring the librustzcash crate into this repository Rust dependencies are now canonically pinned within this repository by `Cargo.lock`. We continue to use the depends system for vendoring the dependencies, to ensure our Gitian builds continue to function (which have no network access at build time, and fetch dependencies separately). The `--enable-online-rust` configure flag replicates the behaviour of the `LIBRUSTZCASH_OVERRIDE` environment variable (enabling the build system to use https://crates.io instead of vendored dependencies). This pulls in the exact version of `librustzcash` that we currently depend on (corresponding to the `0.1.0` tag in https://github.com/zcash/librustzcash). The changes to the crate since then will be pulled in as a separate PR. Part of zcash/librustzcash#155. Part of #4230. |
||
---|---|---|
.. | ||
builders | ||
hosts | ||
packages | ||
patches | ||
.gitignore | ||
Makefile | ||
README.md | ||
cargo-checksum.sh | ||
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-darwin11
for MacOSXarm-linux-gnueabihf
for Linux ARM
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)
PRIORITY_DOWNLOAD_PATH: Try fetching source files from here before using their own URLs
NO_WALLET: Don't download/build/cache libs needed to enable the wallet
DEBUG: disable some optimizations and enable more runtime checking
LIBRUSTZCASH_OVERRIDE: Path to a local librustzcash repository
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