mirror of
https://github.com/monero-project/monero.git
synced 2025-01-13 16:30:32 -05:00
afe5167531
The files are exact copies from the original repository (git://git.savannah.gnu.org/config.git), in commit 28ea239c53a2d5d8800c472bc2452eaa16e37af2. The main reason for the update is because loongarch was mentioned in PR #9114 and new the latest config files handle loongarch, as well as WASM64, since the old files only cover WASM32. Tandem NSX and IA16, are also handled in the newest config files, which covers the changes TheCharlatan made in 2018. |
||
---|---|---|
.. | ||
builders | ||
hosts | ||
packages | ||
patches | ||
.gitignore | ||
config.guess | ||
config.sub | ||
description.md | ||
funcs.mk | ||
Makefile | ||
packages.md | ||
README.md | ||
toolchain.cmake.in |
Usage
To build dependencies for the current arch+OS, from this working directory:
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, from the top of the Monero source tree:
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=$PWD/../contrib/depends/x86_64-w64-mingw32/share/toolchain.cmake ..
Common host-platform-triplets
for cross compilation are:
i686-w64-mingw32
for Win32x86_64-w64-mingw32
for Win64x86_64-apple-darwin
for MacOSX x86_64arm-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
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
#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