
29c03e2 wallet_api: enable set_strict_default_file_permissions (tobtoht) 1c26d34 epee: add missing header (selsta) 1d451a6 depends: update zeromq package to 4.3.4 (selsta) 5180610 cmake: use CMAKE_CURRENT_LIST_DIR for git version (selsta) 5aae00a epee: avoid ADL selecting C++14 std::quoted (selsta) cf31136 cmake: set cpp14 standard (selsta) 945665f fix median overflow bug (koe) 908ecb3 LMDB: fix deadlock in resized detection (Howard Chu) a492c4e blockchain: fix pedantic assert (selsta) 1e663e8 Increase timeout for the mining test 4 times (to 240s) (mj-xmr) 4760f8b Wallet2: Update 'approximate_testnet_rolled_back_blocks' (rbrunner7) 76b6120 cmake: set required C/C++ standard to 11 (selsta) 3067987 Fix parallel make of OpenSSL (Howard Chu) 1219c74 add singapore.node.xmr.pm to seed nodes (lza_menace) 689dd52 net_node: add seed node (selsta) 95936a3 depends: update unwind, fix build with ubuntu 21.04 (selsta) e2c802f Only INFO log for short seed words with ALLOW_SHORT_WORDS active (rbrunner7) 14df8ad epee: don't log raw packet data (moneromooo-monero) 5fa7208 Mac: Enable on ARM, by not enforcing x86_64 (mj-xmr) fe6ab93 daemon: allow proxy configuration (anon) 52dcc03 bootstrap_daemon: proxy configuration support (xiphon) a6df656 wallet2: chunk get_outs.bin calls to avoid sanity limits (moneromooo-monero)
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 toolchain will be generated that's suitable for plugging into Monero's cmake. In the above example, a dir named x86_64-w64-mingw32 will be created. To use it for Monero:
cmake -DCMAKE_TOOLCHAIN=`pwd`/contrib/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 32 bitaarch64-linux-gnu
for Linux ARM 64 bitriscv64-linux-gnu
for Linux RISCV 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
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
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
#Darwin (macos) builds:
To build with the x86_64-apple-darwin11 you require the mac os developer tools in MacOSX10.11.sdk. Download it from apple, or search for it on github. Create a new directoty called SDKs in this directory and place the entire MacOSX10.11.sdk folder in it. The depends build will then pick it up automatically (without requiring SDK_PATH).
#Mingw builds
Building for 32/64bit mingw requires switching alternatives to a posix mode
update-alternatives --set x86_64-w64-mingw32-g++ x86_64-w64-mingw32-g++-posix
update-alternatives --set x86_64-w64-mingw32-gcc x86_64-w64-mingw32-gcc-posix
Other documentation
- description.md: General description of the depends system
- packages.md: Steps for adding packages