summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCzarek Nakamoto <cyjan@mrcyjanek.net>2025-02-19 16:08:24 +0100
committerCzarek Nakamoto <cyjan@mrcyjanek.net>2025-02-19 16:08:24 +0100
commit17589734ea52c95e8a96481b2febd1b138f7170b (patch)
tree39b3bf3aa901a9ffa05023136219d0c91bb67c1d
parent65608c09e9093f1cd42c6afd8e9131016c82574b (diff)
Add documentation for building upstream dependenciescyjan-fix-upstream-targets
Fix libtinfow include
-rw-r--r--contrib/depends/toolchain.cmake.in3
-rw-r--r--docs/Writerside/in.tree1
-rw-r--r--docs/Writerside/topics/Building-Upstream.md35
3 files changed, 38 insertions, 1 deletions
diff --git a/contrib/depends/toolchain.cmake.in b/contrib/depends/toolchain.cmake.in
index ee982fe..7e9f5d4 100644
--- a/contrib/depends/toolchain.cmake.in
+++ b/contrib/depends/toolchain.cmake.in
@@ -1,5 +1,6 @@
cmake_minimum_required(VERSION 3.13) # Ensure CMake version supports CMP0077
cmake_policy(SET CMP0077 NEW) # Ensure 'option' honors normal variables
+cmake_policy(SET CMP0148 OLD) # Use FindPythonInterp
# Set the system name to one of Android, Darwin, iOS, FreeBSD, Linux, or Windows
SET(CMAKE_SYSTEM_NAME @depends@)
@@ -27,7 +28,7 @@ SET(ENV{PKG_CONFIG_PATH} @prefix@/lib/pkgconfig)
SET(Readline_ROOT_DIR @prefix@)
SET(Readline_INCLUDE_DIR @prefix@/include)
SET(Readline_LIBRARY @prefix@/lib/libreadline.a)
-SET(Terminfo_LIBRARY @prefix@/lib/libtinfo.a)
+SET(Terminfo_LIBRARY @prefix@/lib/libtinfow.a)
SET(UNBOUND_INCLUDE_DIR @prefix@/include)
SET(UNBOUND_LIBRARIES @prefix@/lib/libunbound.a)
diff --git a/docs/Writerside/in.tree b/docs/Writerside/in.tree
index b803dbb..610e0a0 100644
--- a/docs/Writerside/in.tree
+++ b/docs/Writerside/in.tree
@@ -14,4 +14,5 @@
<toc-element topic="Windows.md"/>
<toc-element topic="macOS.md"/>
</toc-element>
+ <toc-element topic="Building-Upstream.md"/>
</instance-profile> \ No newline at end of file
diff --git a/docs/Writerside/topics/Building-Upstream.md b/docs/Writerside/topics/Building-Upstream.md
new file mode 100644
index 0000000..a61729f
--- /dev/null
+++ b/docs/Writerside/topics/Building-Upstream.md
@@ -0,0 +1,35 @@
+# Building Upstream
+
+monero_c contains its own fork of contrib/depends system that is independent of monero, wownero or zano. In order to use said build system one needs to:
+
+```
+pushd contrib/depends
+env -i \
+PATH="$PATH" \
+CC=gcc CXX=g++ \
+make -j$(nproc) HOST=aarch64-apple-darwin
+popd
+```
+
+Then, get path to your desired toolchain.cmake
+
+```
+TOOLCHAIN_FILE=${PWD}/contrib/depends/aarch64-apple-darwin/share/toolchain.cmake
+```
+And finally use that as part of cmake invocation, for example to compile monero you can do the following:
+
+```
+pushd monero
+mkdir -p build/aarch64-apple-darwin
+cd $_
+cmake \
+-DCMAKE_TOOLCHAIN_FILE="$TOOLCHAIN_FILE" \
+-DBUILD_TESTS=ON \
+../..
+```
+
+From there you can build targets such as wallet_api
+
+```
+make wallet_api -j$(nproc)
+``` \ No newline at end of file