29c03e2wallet_api: enable set_strict_default_file_permissions (tobtoht)1c26d34epee: add missing header (selsta)1d451a6depends: update zeromq package to 4.3.4 (selsta)5180610cmake: use CMAKE_CURRENT_LIST_DIR for git version (selsta)5aae00aepee: avoid ADL selecting C++14 std::quoted (selsta)cf31136cmake: set cpp14 standard (selsta)945665ffix median overflow bug (koe)908ecb3LMDB: fix deadlock in resized detection (Howard Chu)a492c4eblockchain: fix pedantic assert (selsta)1e663e8Increase timeout for the mining test 4 times (to 240s) (mj-xmr)4760f8bWallet2: Update 'approximate_testnet_rolled_back_blocks' (rbrunner7)76b6120cmake: set required C/C++ standard to 11 (selsta)3067987Fix parallel make of OpenSSL (Howard Chu)1219c74add singapore.node.xmr.pm to seed nodes (lza_menace)689dd52net_node: add seed node (selsta)95936a3depends: update unwind, fix build with ubuntu 21.04 (selsta)e2c802fOnly INFO log for short seed words with ALLOW_SHORT_WORDS active (rbrunner7)14df8adepee: don't log raw packet data (moneromooo-monero)5fa7208Mac: Enable on ARM, by not enforcing x86_64 (mj-xmr)fe6ab93daemon: allow proxy configuration (anon)52dcc03bootstrap_daemon: proxy configuration support (xiphon)a6df656wallet2: 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-mingw32for Win32x86_64-w64-mingw32for Win64x86_64-apple-darwin11for MacOSXarm-linux-gnueabihffor Linux ARM 32 bitaarch64-linux-gnufor Linux ARM 64 bitriscv64-linux-gnufor 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