mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 20:12:57 +01:00
Merge pull request #5119 from kittywhiskers/dep.md
docs: create and update dependencies.md, dashify
This commit is contained in:
commit
6868970937
@ -33,6 +33,7 @@ Building
|
||||
---------------------
|
||||
The following are developer notes on how to build Dash Core on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.
|
||||
|
||||
- [Dependencies](dependencies.md)
|
||||
- [macOS Build Notes](build-osx.md)
|
||||
- [Unix Build Notes](build-unix.md)
|
||||
- [Windows Build Notes](build-windows.md)
|
||||
|
@ -6,9 +6,9 @@ the `HOST` parameter when building the dependencies and then specifying another
|
||||
|
||||
The following instructions are only tested on Debian Stretch and Ubuntu Bionic.
|
||||
|
||||
MacOSX Cross-compilation
|
||||
macOS Cross-compilation
|
||||
------------------------
|
||||
Cross-compiling to MacOSX requires a few additional packages to be installed:
|
||||
Cross-compiling to macOS requires a few additional packages to be installed:
|
||||
|
||||
```bash
|
||||
$ sudo apt-get install python3-setuptools libcap-dev zlib1g-dev libbz2-dev cmake
|
||||
|
@ -34,6 +34,8 @@ Please read the [depends](../depends/README.md) documentation for more details o
|
||||
options. If no host is specified (as in the above example) when calling `make`, the depends system will default to your
|
||||
local host system.
|
||||
|
||||
See [dependencies.md](dependencies.md) for a complete overview.
|
||||
|
||||
Building Dash Core
|
||||
---------------------
|
||||
|
||||
|
@ -23,13 +23,15 @@ Then install [Homebrew](https://brew.sh).
|
||||
brew install automake libtool pkg-config libnatpmp
|
||||
```
|
||||
|
||||
If you run into issues, check [Homebrew's troubleshooting page](https://docs.brew.sh/Troubleshooting).
|
||||
See [dependencies.md](dependencies.md) for a complete overview.
|
||||
|
||||
If you want to build the disk image with `make deploy` (.dmg / optional), you need RSVG:
|
||||
```shell
|
||||
brew install librsvg
|
||||
```
|
||||
|
||||
If you run into issues, check [Homebrew's troubleshooting page](https://docs.brew.sh/Troubleshooting).
|
||||
|
||||
## Building
|
||||
|
||||
It's possible that your `PATH` environment variable contains some problematic strings, run
|
||||
|
@ -39,6 +39,8 @@ pkg_add automake # (select highest version, e.g. 1.15)
|
||||
pkg_add python # (select highest version, e.g. 3.5)
|
||||
```
|
||||
|
||||
For the versions used, see [dependencies.md](dependencies.md)
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
|
46
doc/dependencies.md
Normal file
46
doc/dependencies.md
Normal file
@ -0,0 +1,46 @@
|
||||
Dependencies
|
||||
============
|
||||
|
||||
These are the dependencies currently used by Dash Core. You can find instructions for installing them in the `build-*.md` file for your platform.
|
||||
|
||||
| Dependency | Version used | Minimum required | CVEs | Shared | [Bundled Qt library](https://doc.qt.io/qt-5/configure-options.html#third-party-libraries) |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| Berkeley DB | [4.8.30](https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html) | 4.8.x | No | | |
|
||||
| Boost | [1.73.0](https://www.boost.org/users/download/) | [1.47.0](https://github.com/bitcoin/bitcoin/pull/8920) | No | | |
|
||||
| Clang<sup>[ \* ](#note1)</sup> | | [5.0+](https://releases.llvm.org/download.html) (C++17 support) | | | |
|
||||
| D-Bus | [1.10.18](https://cgit.freedesktop.org/dbus/dbus/tree/NEWS?h=dbus-1.10) | | No | Yes | |
|
||||
| Expat | [2.2.7](https://libexpat.github.io/) | | No | Yes | |
|
||||
| fontconfig | [2.12.1](https://www.freedesktop.org/software/fontconfig/release/) | | No | Yes | |
|
||||
| FreeType | [2.7.1](https://download.savannah.gnu.org/releases/freetype) | | No | | [Yes](https://github.com/dashpay/dash/blob/develop/depends/packages/qt.mk) (Android only) |
|
||||
| GCC | | [7+](https://gcc.gnu.org/) (C++17 support) | | | |
|
||||
| HarfBuzz-NG | | | | | [Yes](https://github.com/dashpay/dash/blob/develop/depends/packages/qt.mk) |
|
||||
| libevent | [2.1.11-stable](https://github.com/libevent/libevent/releases) | No | | |
|
||||
| libnatpmp | git commit [4536032...](https://github.com/miniupnp/libnatpmp/tree/4536032ae32268a45c073a4d5e91bbab4534773a) | | No | | |
|
||||
| libpng | | | | | [Yes](https://github.com/dashpay/dash/blob/develop/depends/packages/qt.mk) |
|
||||
| librsvg | | | | | |
|
||||
| MiniUPnPc | [2.0.20180203](https://miniupnp.tuxfamily.org/files) | | No | | |
|
||||
| PCRE | | | | | [Yes](https://github.com/dashpay/dash/blob/develop/depends/packages/qt.mk) |
|
||||
| Python (tests) | | [3.5](https://www.python.org/downloads) | | | |
|
||||
| qrencode | [3.4.4](https://fukuchi.org/works/qrencode) | | No | | |
|
||||
| Qt | [5.12.11](https://download.qt.io/official_releases/qt/) | [5.5.1](https://github.com/bitcoin/bitcoin/issues/13478) | No | | |
|
||||
| XCB | | | | | [Yes](https://github.com/dashpay/dash/blob/develop/depends/packages/qt.mk) (Linux only) |
|
||||
| xkbcommon | | | | | [Yes](https://github.com/dashpay/dash/blob/develop/depends/packages/qt.mk) (Linux only) |
|
||||
| ZeroMQ | [4.3.1](https://github.com/zeromq/libzmq/releases) | 4.0.0 | No | | |
|
||||
| zlib | | | | | [Yes](https://github.com/dashpay/dash/blob/develop/depends/packages/qt.mk) |
|
||||
|
||||
<a name="note1">Note \*</a> : When compiling with `-stdlib=libc++`, the minimum supported libc++ version is 7.0.
|
||||
|
||||
Controlling dependencies
|
||||
------------------------
|
||||
Some dependencies are not needed in all configurations. The following are some factors that affect the dependency list.
|
||||
|
||||
#### Options passed to `./configure`
|
||||
* MiniUPnPc is not needed with `--without-miniupnpc`.
|
||||
* libnatpmp is not needed with `--without-natpmp`.
|
||||
* Qt is not needed with `--without-gui`.
|
||||
* If the qrencode dependency is absent, QR support won't be added. To force an error when that happens, pass `--with-qrencode`.
|
||||
* ZeroMQ is needed only with the `--with-zmq` option.
|
||||
|
||||
#### Other
|
||||
* librsvg is only needed if you need to run `make deploy` on (cross-compilation to) macOS.
|
||||
* Not-Qt-bundled zlib is required to build the [DMG tool](../contrib/macdeploy/README.md#deterministic-macos-dmg-notes) from the libdmg-hfsplus project.
|
Loading…
Reference in New Issue
Block a user