zcash-patched-for-explorer/depends
Homu 2c91e3ebc0 Auto merge of #3117 - charlieok:add_windows_rust_package, r=daira
Add filename and SHA256 hash for Windows Rust package

When running `make download` in the `depends` directory, the `download-win` target (which `download` depends on) generates an error when it runs the commands defined in `check_or_remove_sources`:

```Makefile
sha256sum: /home/vagrant/zcash/depends/work/download/rust-1.16.0/..hash: no properly formatted SHA256 checksum lines found
funcs.mk:242: recipe for target '/home/vagrant/gitian-builder/cache/common/download-stamps/.stamp_fetched-rust-.hash' failed
make[1]: *** [/home/vagrant/gitian-builder/cache/common/download-stamps/.stamp_fetched-rust-.hash] Error 1
make[1]: Leaving directory '/home/vagrant/zcash/depends'
Makefile:153: recipe for target 'download-win' failed
make: *** [download-win] Error 2
```

The reason for the error is that `depends/packages/rust.mk` defines `rust_file_name_linux` and `rust_file_name_darwin` but leaves `rust_file_name_mingw32` undefined.

A directory of available rust downloads is here: https://static.rust-lang.org/dist/index.html

The closest windows analog in that list (using the same version number as currently defined in `rust.mk`) appears to be `rust-mingw-1.16.0-x86_64-pc-windows-gnu.tar.gz`. A corresponding sha256 value is also given in `rust-mingw-1.16.0-x86_64-pc-windows-gnu.tar.gz.sha256`.

After adding these values to `rust.mk`, the rust-mingw tar package was downloaded along with the rest of the dependencies and the above error message went away.
2018-03-28 05:31:43 -07:00
..
builders [depends] Add -stdlib=libc++ to darwin CXX flags 2017-11-29 17:24:59 +00:00
hosts [depends] Set OSX_MIN_VERSION to 10.8 2017-11-29 17:24:59 +00:00
packages Auto merge of #3117 - charlieok:add_windows_rust_package, r=daira 2018-03-28 05:31:43 -07:00
patches/proton Update boost to 1.66.0 2018-03-23 15:07:17 -07:00
.gitignore Add x86_64* i686* mips* and arm* to depends .gitignore 2015-04-20 13:29:20 +02:00
Makefile Remove UPnP support. fixes #2500 2017-07-03 08:57:05 +01:00
README.md Remove UPnP support. fixes #2500 2017-07-03 08:57:05 +01:00
config.guess PARTIAL: typofixes (found by misspell_fixer) 2015-09-22 00:43:15 +00:00
config.site.in test: Remove java comparison tool 2017-12-01 14:10:16 +00:00
config.sub depends: latest config.guess and config.sub 2015-04-20 13:29:22 +02:00
description.md doc: Documentation in Markdown for Depends Dir 2015-05-15 12:35:20 +02:00
funcs.mk empty spaces in PATH variable cause build failure 2017-10-31 15:14:21 +03:00
packages.md doc: Documentation in Markdown for Depends Dir 2015-05-15 12:35:20 +02:00

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 Win32
  • x86_64-w64-mingw32 for Win64
  • x86_64-apple-darwin11 for MacOSX
  • arm-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

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