diff options
| author | Czarek Nakamoto <cyjan@mrcyjanek.net> | 2024-11-05 16:53:30 +0100 |
|---|---|---|
| committer | Czarek Nakamoto <cyjan@mrcyjanek.net> | 2024-11-05 10:54:02 -0500 |
| commit | 956d3da30358d2d91721b70714efa6c0fab620d5 (patch) | |
| tree | 1f96929db38287b9746a2340007092f116564f76 | |
| parent | 188617de0617b9a21643c5fc00910f7c12e29a0e (diff) | |
fix zano builds for ios
| -rwxr-xr-x | build_single.sh | 33 | ||||
| -rwxr-xr-x | external/ios/build_boost.sh | 4 | ||||
| -rw-r--r-- | monero_libwallet2_api_c/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | patches/zano/0009-fix-ios-builds.patch | 53 |
4 files changed, 83 insertions, 18 deletions
diff --git a/build_single.sh b/build_single.sh index 31e16f9..53814c0 100755 --- a/build_single.sh +++ b/build_single.sh @@ -233,18 +233,18 @@ pushd $repo/contrib/depends echo "= =" echo "====================================" pwd - pushd ../../../external/ios - ./install_missing_headers.sh - ./build_openssl.sh - ./build_boost.sh - ./build_sodium.sh - ./build_zmq.sh - ./build_unbound.sh - if [[ "$repo" == "wownero" ]]; - then - ./build_wownero_seed.sh - fi - popd + #pushd ../../../external/ios + # ./install_missing_headers.sh + # ./build_openssl.sh + # ./build_boost.sh + # ./build_sodium.sh + # ./build_zmq.sh + # ./build_unbound.sh + # if [[ "$repo" == "wownero" ]]; + # then + # ./build_wownero_seed.sh + # fi + #popd POLYSEED_DIR=../../../external/polyseed/build/${HOST_ABI} rm -rf ${POLYSEED_DIR} mkdir -p ${POLYSEED_DIR} @@ -354,10 +354,14 @@ pushd $repo/build/${HOST_ABI} PREFIX="$(realpath "${PWD}/../../../external/ios/build/ios")" # echo $PREFIX # exit 1 + if [[ "$repo" == "zano" ]]; + then + BUILD_EXTRA_CONFIG="-DCMAKE_SYSTEM_NAME=iOS -DOPENSSL_INCLUDE_DIR=${PREFIX}/include -DOPENSSL_CRYPTO_LIBRARY=${PREFIX}/lib/libcrypto.a -DOPENSSL_SSL_LIBRARY=${PREFIX}/lib/libssl.a -DBoost_INCLUDE_DIRS=${PREFIX}/include -DBoost_LIBRARY_DIRS=${PREFIX}/lib" + fi env \ CMAKE_INCLUDE_PATH="${PREFIX}/include" \ CMAKE_LIBRARY_PATH="${PREFIX}/lib" \ - CC="${IOS_CC}" CXX="${IOS_CXX}" cmake -DHIDAPI_DUMMY=ON -D IOS=ON -D ARCH=arm64 -D CMAKE_BUILD_DYPE=$buildType -D STATIC=ON -D BUILD_GUI_DEPS=1 -D UNBOUND_INCLUDE_DIR="${PREFIX}/lib" ../.. + CC="${IOS_CC}" CXX="${IOS_CXX}" cmake -DHIDAPI_DUMMY=ON -D IOS=ON -D ARCH=arm64 -D CMAKE_BUILD_TYPE=$buildType -D STATIC=ON -D BUILD_GUI_DEPS=1 -D UNBOUND_INCLUDE_DIR="${PREFIX}/lib" $BUILD_EXTRA_CONFIG ../.. ;; *) echo "we don't know how to compile monero for '$HOST_ABI'" @@ -369,6 +373,9 @@ pushd $repo/build/${HOST_ABI} if [[ $HOST_ABI == *android* ]]; then CC=gcc CXX=g++ make $NPROC + elif [[ $HOST_ABI == *ios* ]]; + then + make version common crypto currency_core ethash tor-connect wallet zlibstatic $NPROC else CC=gcc CXX=g++ make libminiupnpc-static version common crypto currency_core ethash lmdb mdbx rpc stratum tor-connect wallet zlibstatic $NPROC fi diff --git a/external/ios/build_boost.sh b/external/ios/build_boost.sh index 4bfbfeb..bd78e35 100755 --- a/external/ios/build_boost.sh +++ b/external/ios/build_boost.sh @@ -7,7 +7,7 @@ set -e MIN_IOS_VERSION=10.0 BOOST_DIR_PATH="${EXTERNAL_IOS_SOURCE_DIR}/Apple-Boost-BuildScript" BOOST_VERSION=1.84.0 -BOOST_LIBS="random regex graph random chrono thread filesystem system date_time locale serialization program_options" +BOOST_LIBS="random regex graph random chrono thread filesystem system date_time locale serialization program_options timer atomic log" echo "============================ Boost ============================" @@ -29,4 +29,4 @@ cd $BOOST_DIR_PATH --no-framework mv -f ${BOOST_DIR_PATH}/build/boost/${BOOST_VERSION}/ios/release/prefix/include/* $EXTERNAL_IOS_INCLUDE_DIR -mv -f ${BOOST_DIR_PATH}/build/boost/${BOOST_VERSION}/ios/release/prefix/lib/* $EXTERNAL_IOS_LIB_DIR
\ No newline at end of file +mv -f ${BOOST_DIR_PATH}/build/boost/${BOOST_VERSION}/ios/release/prefix/lib/* $EXTERNAL_IOS_LIB_DIR diff --git a/monero_libwallet2_api_c/CMakeLists.txt b/monero_libwallet2_api_c/CMakeLists.txt index df3cb73..c7e0f31 100644 --- a/monero_libwallet2_api_c/CMakeLists.txt +++ b/monero_libwallet2_api_c/CMakeLists.txt @@ -445,6 +445,8 @@ if (${MONERO_FLAVOR} STREQUAL "monero") set(BCUR_ENABLED bc-ur) elseif(${MONERO_FLAVOR} STREQUAL "wownero") target_compile_definitions(wallet2_api_c PRIVATE FLAVOR_WOWNERO) +elseif(${MONERO_FLAVOR} STREQUAL "zano") + target_compile_definitions(wallet2_api_c PRIVATE FLAVOR_ZANO) endif() if(NOT ${HOST_ABI} STREQUAL "x86_64-apple-darwin11" AND NOT ${HOST_ABI} STREQUAL "aarch64-apple-darwin11" AND NOT ${HOST_ABI} STREQUAL "host-apple-darwin" AND NOT ${HOST_ABI} STREQUAL "x86_64-host-apple-darwin" AND NOT ${HOST_ABI} STREQUAL "aarch64-host-apple-darwin" AND NOT ${HOST_ABI} STREQUAL "host-apple-ios") @@ -456,6 +458,8 @@ if(${HOST_ABI} STREQUAL "x86_64-apple-darwin11" OR ${HOST_ABI} STREQUAL "aarch64 set(EXPORTED_SYMBOLS_FILE ${CMAKE_CURRENT_SOURCE_DIR}/monero_libwallet2_api_c.exp) elseif(${MONERO_FLAVOR} STREQUAL "wownero") set(EXPORTED_SYMBOLS_FILE ${CMAKE_CURRENT_SOURCE_DIR}/wownero_libwallet2_api_c.exp) + elseif(${MONERO_FLAVOR} STREQUAL "zano") + set(EXPORTED_SYMBOLS_FILE ${CMAKE_CURRENT_SOURCE_DIR}/zano_libwallet2_api_c.exp) endif() set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -exported_symbols_list ${EXPORTED_SYMBOLS_FILE}") @@ -467,9 +471,11 @@ if (${MONERO_FLAVOR} STREQUAL "zano") ${HOST_ABI} STREQUAL "i686-linux-android" OR ${HOST_ABI} STREQUAL "aarch64-linux-android" OR ${HOST_ABI} STREQUAL "armv7a-linux-androideabi") + set(EXTRA_LIBS_ANDROID_ZANO charset iconv-win) + elseif(${HOST_ABI} STREQUAL "host-apple-ios") set(EXTRA_LIBS_ANDROID_ZANO) else() - set(EXTRA_LIBS_ANDROID_ZANO lmdb mdbx stratum miniupnpc rpc) + set(EXTRA_LIBS_ANDROID_ZANO charset iconv-win lmdb mdbx stratum miniupnpc rpc) endif() set(API_IMPORTS wallet @@ -485,9 +491,7 @@ if (${MONERO_FLAVOR} STREQUAL "zano") currency_core crypto-zano - iconv-win ssl - charset ) else() set(API_IMPORTS @@ -560,3 +564,4 @@ target_link_libraries( wallet2_api_c ${EXTRA_LIBS_APPLE} ${EXTRA_LIBS_ANDROID} ) + diff --git a/patches/zano/0009-fix-ios-builds.patch b/patches/zano/0009-fix-ios-builds.patch new file mode 100644 index 0000000..73f0cb6 --- /dev/null +++ b/patches/zano/0009-fix-ios-builds.patch @@ -0,0 +1,53 @@ +From 38fa77b0b86891d3b5e6128746f36a2b9f069bef Mon Sep 17 00:00:00 2001 +From: Czarek Nakamoto <cyjan@mrcyjanek.net> +Date: Tue, 5 Nov 2024 16:52:23 +0100 +Subject: [PATCH] fix ios builds + +--- + CMakeLists.txt | 6 +++--- + contrib/depends/.gitignore | 1 + + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 04790815..5e6a9ae7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -130,6 +130,8 @@ else() + set(ARCH default CACHE STRING "CPU to build for: -march value or default") + if("${ARCH}" STREQUAL "default") + set(ARCH_FLAG "") ++ elseif(CMAKE_SYSTEM_NAME STREQUAL "iOS") ++ set(ARCH_FLAG "") + else() + set(ARCH_FLAG "-march=${ARCH}") + endif() +@@ -201,7 +203,7 @@ else() + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${RELEASE_FLAGS}") + if(STATIC) + if(APPLE) +- message(SEND_ERROR "Static build is not supported on MacOS X") ++ message("Static build is not supported on MacOS X") + else() + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++") + endif() +@@ -245,8 +247,6 @@ else() + find_package(Boost 1.70 REQUIRED COMPONENTS system filesystem thread timer date_time chrono regex serialization atomic program_options locale log) + endif() + +- +- + message(STATUS "Boost: ${Boost_VERSION} from ${Boost_LIBRARY_DIRS}") + + +diff --git a/contrib/depends/.gitignore b/contrib/depends/.gitignore +index 3cb4b9ac..85d2e249 100644 +--- a/contrib/depends/.gitignore ++++ b/contrib/depends/.gitignore +@@ -8,3 +8,4 @@ i686* + mips* + arm* + aarch64* ++host-* +-- +2.39.3 (Apple Git-146) + |
