From d6b9bdd322f4b0318d8d5a2c54b3f1617e0dfe54 Mon Sep 17 00:00:00 2001 From: TheCharlatan Date: Sun, 18 Mar 2018 15:50:41 +0100 Subject: [PATCH] Update readmes to reflect the usage of depends Explain the role of the SDK in the darwin build. Add instructions to compile depends to the basic readme. --- README.md | 18 +++++++++++++++++- contrib/depends/README.md | 7 +++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 637be8ed7..2768d580d 100644 --- a/README.md +++ b/README.md @@ -477,7 +477,7 @@ Then you can run make as usual. # Get binaries docker cp monero-android:/opt/android/monero/build/release/bin . -### Building portable statically linked binaries +### Building portable statically linked binaries (Cross Compiling) By default, in either dynamically or statically linked builds, binaries target the specific host processor on which the build happens and are not portable to other processors. Portable binaries can be built using the following targets: @@ -532,6 +532,22 @@ Installing a snap is very quick. Snaps are secure. They are isolated with all of Packaging for your favorite distribution would be a welcome contribution! +You can also cross-compile binaries on linux for windows and macos with the depends system. Go to contrib/depends and type: + +* ```make HOST=x86_64-linux-gnu``` for 64-bit linux binaries. +* ```make HOST=x86_64-w64-mingw32``` for 64-bit windows binaries. Requires: python3 nsis g++-mingw-w64-x86-64 wine1.6 bc +* ```make HOST=x86_64-apple-darwin11``` for darwin binaries. Requires: cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev +* ```make HOST=i686-linux-gnu``` for 32-bit linux binaries. Requires: g++-multilib bc +* ```make HOST=i686-w64-mingw32``` for 32-bit windows binaries. Requires: python3 nsis g++-mingw-w64-i686 +* ```make HOST=arm-linux-gnueabihf``` for armv6 binaries. Requires: g++-arm-linux-gnueabihf + +The required packages are the names for each toolchain on apt. Depending on your distro, they may have different names. +Then go back to the source dir and type for example for windows 64bit: + +* ```cmake -DCMAKE_TOOLCHAIN_FILE=`pwd`/contrib/depends/x86_64-w64-mingw32``` + +Using depends might also be easier to compile monero on windows than using msys. Activate windows subsystem for linux (for example ubuntu) install the apt build-essentials and follow the depends steps as depicted above. + ## Running monerod The build places the binary in `bin/` sub-directory within the build directory diff --git a/contrib/depends/README.md b/contrib/depends/README.md index 6053c531b..dd2824569 100644 --- a/contrib/depends/README.md +++ b/contrib/depends/README.md @@ -52,6 +52,13 @@ Additional targets: 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). + ### Other documentation - [description.md](description.md): General description of the depends system