summaryrefslogtreecommitdiff
path: root/external/ios
diff options
context:
space:
mode:
authorcyan <cyjan@mrcyjanek.net>2024-12-04 10:22:48 -0500
committerGitHub <noreply@github.com>2024-12-04 10:22:48 -0500
commit2a38bf29618a8ce163f9d6f83b7ae86924752e32 (patch)
tree585af02d98d0d042d7b873c5af96b80ddf776b08 /external/ios
parent40c1a1bda4b6f125c702f5a37ecc48a6ebec24b8 (diff)
cleanup patches (and other stuff) (#79)
* cleanup patches * fix polyseed patch * Fix iOS builds * fix polyseed dependencies * fix polyseed patch for macOS * update ledger patch * update wownero patches and version * update checksums * wip" * update gitmodules * update boost build script * update build_single.sh * vix verbosey_copy * fix __clear_cache bug on wownero * update randomwow * migrate build system * fix cross compilation issues * some more build issue * update polyseed * cleanup cmakelists * fix toolchain.cmake.in * add ssp * another attempt at building windows on CI * fix package name * migrate mirror to my own hosting * change download mirror priority (fallback first) * link ssp in monero module as well by using CMAKE_{C,CXX}_FLAGS * fix android builds * update polyseed source * 13 -> trixie * fix package name conflicts, update runner to sid * update boost to 1_84_0, disable patch that's no longer needed * switch to ubuntu:24.04 * add POLYSEED_STATIC to toolchain.cmake.in in order to properly link * drop patches * fixes to darwin * link missing wowner-seed library * a litte bit more of experiments * build locale only on windows * update iconv * update definitions * update ci builds * update my progress * ios fix, update depends, ci * multithread build system * fix android, mingw and linux build issues * remove dependency check * update Dockerfile to include pigz * show a message when pigz is missing * fix devcontainer mingw setup (missing ENV) * update android build runner * sailfishos dropped (you better go behave yourself and run actual linux programs) * fiz pigz issues * install llvm-ranlib for android * fix iOS build issues * fix dummy ledger patch * fix macos and darwin * fix macos ci * fix macos build command * install autoconf * add automake * add libtool * macos fixes, wownero fixes, idk what else, please help me * fix wownero iOS build * Cleanup patches * add try-catch into monero code * fix error handling * update checksums
Diffstat (limited to 'external/ios')
-rwxr-xr-xexternal/ios/build_boost.sh32
-rwxr-xr-xexternal/ios/build_monero_all.sh18
-rwxr-xr-xexternal/ios/build_openssl.sh28
-rwxr-xr-xexternal/ios/build_sodium.sh28
-rwxr-xr-xexternal/ios/build_unbound.sh38
-rwxr-xr-xexternal/ios/build_wownero_seed.sh48
-rwxr-xr-xexternal/ios/build_zmq.sh32
-rwxr-xr-xexternal/ios/config.sh13
-rwxr-xr-xexternal/ios/install_missing_headers.sh69
-rwxr-xr-xexternal/ios/libsodium_apple-ios.sh147
10 files changed, 0 insertions, 453 deletions
diff --git a/external/ios/build_boost.sh b/external/ios/build_boost.sh
deleted file mode 100755
index 805fbd0..0000000
--- a/external/ios/build_boost.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-
-set -e
-
-. ./config.sh
-
-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"
-
-echo "============================ Boost ============================"
-
-# Check if the directory already exists.
-if [ -d "$BOOST_DIR_PATH" ]; then
- echo "Boost directory already exists."
-else
- echo "Cloning Boost from $BOOST_URL"
- mkdir -p "$BOOST_DIR_PATH" || true
- rm -rf "$BOOST_DIR_PATH" || true
- cp -r "${MONEROC_DIR}/external/Apple-Boost-BuildScript" "$BOOST_DIR_PATH"
-fi
-cd "$BOOST_DIR_PATH"
-
-./boost.sh -ios \
- --min-ios-version ${MIN_IOS_VERSION} \
- --boost-libs "${BOOST_LIBS}" \
- --boost-version ${BOOST_VERSION} \
- --no-framework
-
-cp -r "${BOOST_DIR_PATH}/build/boost/${BOOST_VERSION}"/ios/release/prefix/include/boost "$EXTERNAL_IOS_INCLUDE_DIR/boost"
-cp -r "${BOOST_DIR_PATH}/build/boost/${BOOST_VERSION}"/ios/release/prefix/lib/* "$EXTERNAL_IOS_LIB_DIR/" \ No newline at end of file
diff --git a/external/ios/build_monero_all.sh b/external/ios/build_monero_all.sh
deleted file mode 100755
index 4957e69..0000000
--- a/external/ios/build_monero_all.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-
-set -e
-
-rm -rf build
-
-. ./config.sh
-
-rm -rf "$EXTERNAL_IOS_LIB_DIR"
-rm -rf "$EXTERNAL_IOS_INCLUDE_DIR"
-
-./install_missing_headers.sh
-./build_openssl.sh
-./build_boost.sh
-./build_sodium.sh
-./build_zmq.sh
-./build_unbound.sh
-
diff --git a/external/ios/build_openssl.sh b/external/ios/build_openssl.sh
deleted file mode 100755
index 4bf6aa2..0000000
--- a/external/ios/build_openssl.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-
-set -e
-
-. ./config.sh
-
-OPEN_SSL_DIR_PATH="${EXTERNAL_IOS_SOURCE_DIR}/OpenSSL"
-
-echo "============================ OpenSSL ============================"
-
-echo "Cloning Open SSL from - $OPEN_SSL_URL"
-
-# Check if the directory already exists.
-if [ -d "$OPEN_SSL_DIR_PATH" ]; then
- echo "OpenSSL directory already exists."
-else
- mkdir -p "$OPEN_SSL_DIR_PATH" || true
- rm -rf "$OPEN_SSL_DIR_PATH"
- cp -r "${MONEROC_DIR}/external/OpenSSL-for-iPhone" "$OPEN_SSL_DIR_PATH"
-fi
-cd "$OPEN_SSL_DIR_PATH"
-
-./build-libssl.sh --version=1.1.1q --targets="ios-cross-arm64" --deprecated
-
-
-cp -r "${OPEN_SSL_DIR_PATH}"/include/* "$EXTERNAL_IOS_INCLUDE_DIR/"
-cp "${OPEN_SSL_DIR_PATH}"/lib/libcrypto-iOS.a "${EXTERNAL_IOS_LIB_DIR}"/libcrypto.a
-cp "${OPEN_SSL_DIR_PATH}"/lib/libssl-iOS.a "${EXTERNAL_IOS_LIB_DIR}"/libssl.a \ No newline at end of file
diff --git a/external/ios/build_sodium.sh b/external/ios/build_sodium.sh
deleted file mode 100755
index d8f8777..0000000
--- a/external/ios/build_sodium.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-
-set -e
-
-. ./config.sh
-
-SODIUM_PATH="${EXTERNAL_IOS_SOURCE_DIR}/libsodium"
-SODIUM_URL="https://github.com/jedisct1/libsodium.git"
-
-echo "============================ SODIUM ============================"
-
-echo "Cloning SODIUM from - $SODIUM_URL"
-
-# Check if the directory already exists.
-if [ -d "$SODIUM_PATH" ]; then
- echo "Sodium directory already exists."
-else
- echo "Cloning Sodium from $SODIUM_URL"
- mkdir -p "$SODIUM_PATH" || true
- rm -rf "$SODIUM_PATH"
- cp -r "${MONEROC_DIR}/external/libsodium" "$SODIUM_PATH"
-fi
-
-cd "$SODIUM_PATH"
-../../../../libsodium_apple-ios.sh
-
-cp -r "${SODIUM_PATH}"/libsodium-apple/ios/include/* "$EXTERNAL_IOS_INCLUDE_DIR/"
-cp -r "${SODIUM_PATH}"/libsodium-apple/ios/lib/* "$EXTERNAL_IOS_LIB_DIR/" \ No newline at end of file
diff --git a/external/ios/build_unbound.sh b/external/ios/build_unbound.sh
deleted file mode 100755
index 14efef8..0000000
--- a/external/ios/build_unbound.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-
-set -e
-
-. ./config.sh
-
-UNBOUND_VERSION=release-1.16.2
-UNBOUND_HASH="cbed768b8ff9bfcf11089a5f1699b7e5707f1ea5"
-UNBOUND_URL="https://www.nlnetlabs.nl/downloads/unbound/unbound-${UNBOUND_VERSION}.tar.gz"
-UNBOUND_GIT_URL="https://github.com/NLnetLabs/unbound.git"
-UNBOUND_DIR_PATH="${EXTERNAL_IOS_SOURCE_DIR}/unbound-1.16.2"
-
-echo "============================ Unbound ============================"
-rm -rf ${UNBOUND_DIR_PATH}
-
-# Check if the directory already exists.
-if [ -d "$UNBOUND_DIR_PATH" ]; then
- echo "Unbound directory already exists."
-else
- echo "Cloning Unbound from $Unbound_URL"
- mkdir -p ${UNBOUND_DIR_PATH} || true
- rm -rf ${UNBOUND_DIR_PATH}
- cp -r "${MONEROC_DIR}/external/unbound" ${UNBOUND_DIR_PATH}
-fi
-
-cd $UNBOUND_DIR_PATH
-
-export IOS_SDK=iPhone
-export IOS_CPU=arm64
-export IOS_PREFIX=$EXTERNAL_IOS_DIR
-export AUTOTOOLS_HOST=aarch64-apple-ios
-export AUTOTOOLS_BUILD="$(./config.guess)"
-source ./contrib/ios/setenv_ios.sh
-./contrib/ios/install_tools.sh
-./contrib/ios/install_expat.sh
-./configure --build="$AUTOTOOLS_BUILD" --host="$AUTOTOOLS_HOST" --prefix="$IOS_PREFIX" --with-ssl="$IOS_PREFIX" --with-libexpat="$IOS_PREFIX"
-make -j$(sysctl -n hw.logicalcpu)
-make install \ No newline at end of file
diff --git a/external/ios/build_wownero_seed.sh b/external/ios/build_wownero_seed.sh
deleted file mode 100755
index 7672db5..0000000
--- a/external/ios/build_wownero_seed.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-
-set -x -e
-
-. ./config.sh
-
-SEED_VERSION=0.3.0
-SEED_SRC_DIR="${EXTERNAL_IOS_SOURCE_DIR}/seed"
-
-rm -rf "$SEED_SRC_DIR" > /dev/null
-
-echo "[*] cloning $SEED_URL"
-mkdir -p ${SEED_SRC_DIR} || true
-rm -rf ${SEED_SRC_DIR}
-cp -r "${MONEROC_DIR}/external/wownero-seed" ${SEED_SRC_DIR}
-cd $SEED_SRC_DIR
-
-patch -p1 < ../../../../../wownero-seed-0001-fix-duplicate-symbol-error.patch
-
-BUILD_TYPE=release
-PREFIX=${EXTERNAL_IOS_DIR}
-DEST_LIB_DIR=${EXTERNAL_IOS_LIB_DIR}/wownero-seed
-DEST_INCLUDE_DIR=${EXTERNAL_IOS_INCLUDE_DIR}/wownero-seed
-
-ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-if [ -z $INSTALL_PREFIX ]; then
- INSTALL_PREFIX=${ROOT_DIR}/wownero-seed
-fi
-
-for arch in "arm64" #"armv7" "arm64"
-do
-
-echo "Building wownero-seed IOS ${arch}"
-export CMAKE_INCLUDE_PATH="${PREFIX}/include"
-export CMAKE_LIBRARY_PATH="${PREFIX}/lib"
-
-case $arch in
- "armv7" )
- DEST_LIB=../../lib-armv7;;
- "arm64" )
- DEST_LIB=../../lib-armv8-a;;
-esac
-
-cmake -Bbuild -DCMAKE_INSTALL_PREFIX="${PREFIX}" -DCMAKE_SYSTEM_NAME="iOS" -DCMAKE_OSX_ARCHITECTURES="${arch}" .
-make -Cbuild -j$(nproc)
-make -Cbuild install
-
-done \ No newline at end of file
diff --git a/external/ios/build_zmq.sh b/external/ios/build_zmq.sh
deleted file mode 100755
index 63306b2..0000000
--- a/external/ios/build_zmq.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-
-set -e
-
-. ./config.sh
-
-ZMQ_PATH="${EXTERNAL_IOS_SOURCE_DIR}/libzmq"
-
-echo "============================ ZMQ ============================"
-
-echo "Cloning ZMQ from - $ZMQ_URL"
-
-# Check if the directory already exists.
-if [ -d "$ZMQ_PATH" ]; then
- echo "ZeroMQ directory already exists."
-else
- echo "Cloning ZeroMQ from $ZeroMQ_URL"
- mkdir -p $ZMQ_PATH || true
- rm -rf $ZMQ_PATH
- cp -r "${MONEROC_DIR}/external/libzmq" $ZMQ_PATH
-fi
-
-cd $ZMQ_PATH
-
-mkdir -p cmake-build
-cd cmake-build
-cmake ..
-make -j$(sysctl -n hw.logicalcpu)
-
-
-cp ${ZMQ_PATH}/include/* $EXTERNAL_IOS_INCLUDE_DIR
-cp ${ZMQ_PATH}/cmake-build/lib/libzmq.a $EXTERNAL_IOS_LIB_DIR \ No newline at end of file
diff --git a/external/ios/config.sh b/external/ios/config.sh
deleted file mode 100755
index e65c5a3..0000000
--- a/external/ios/config.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-export IOS_SCRIPTS_DIR="$(pwd)"
-export MONEROC_DIR="$(pwd)/../.."
-export CW_ROOT="${IOS_SCRIPTS_DIR}"
-export EXTERNAL_DIR="${CW_ROOT}/build"
-export EXTERNAL_IOS_DIR="${EXTERNAL_DIR}/ios"
-export EXTERNAL_IOS_SOURCE_DIR="${EXTERNAL_IOS_DIR}/sources"
-export EXTERNAL_IOS_LIB_DIR="${EXTERNAL_IOS_DIR}/lib"
-export EXTERNAL_IOS_INCLUDE_DIR="${EXTERNAL_IOS_DIR}/include"
-
-mkdir -p "$EXTERNAL_IOS_LIB_DIR"
-mkdir -p "$EXTERNAL_IOS_INCLUDE_DIR" \ No newline at end of file
diff --git a/external/ios/install_missing_headers.sh b/external/ios/install_missing_headers.sh
deleted file mode 100755
index 5ae794a..0000000
--- a/external/ios/install_missing_headers.sh
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/bash
-
-set -e
-
-. ./config.sh
-
-echo "Installing missing headers"
-
-# vmmeter
-mkdir -p ${EXTERNAL_IOS_INCLUDE_DIR}/sys
-
-if [ ! -f ${EXTERNAL_IOS_INCLUDE_DIR}/sys/vmmeter.h ]; then
- cp /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/vmmeter.h ${EXTERNAL_IOS_INCLUDE_DIR}/sys/vmmeter.h
-fi
-
-# netinet
-mkdir -p ${EXTERNAL_IOS_INCLUDE_DIR}/netinet
-if [ ! -f ${EXTERNAL_IOS_INCLUDE_DIR}/netinet/ip_var.h ]; then
- cp /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/netinet/ip_var.h ${EXTERNAL_IOS_INCLUDE_DIR}/netinet/ip_var.h
-fi
-
-if [ ! -f ${EXTERNAL_IOS_INCLUDE_DIR}/netinet/udp_var.h ]; then
- cp /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/netinet/udp_var.h ${EXTERNAL_IOS_INCLUDE_DIR}/netinet/udp_var.h
-fi
-
-# IOKit
-mkdir -p ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit
-if [ ! -f ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/IOTypes.h ]; then
- cp /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/IOTypes.h ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/IOTypes.h
-fi
-
-if [ ! -f ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/IOMapTypes.h ]; then
- cp /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/IOMapTypes.h ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/IOMapTypes.h
-fi
-
-if [ ! -f ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/IOKitLib.h ]; then
- cp /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/IOKitLib.h ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/IOKitLib.h
-fi
-
-if [ ! -f ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/IOReturn.h ]; then
- cp /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/IOReturn.h ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/IOReturn.h
-fi
-
-if [ ! -f ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/OSMessageNotification.h ]; then
- cp /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/OSMessageNotification.h ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/OSMessageNotification.h
-fi
-
-# IOKit/ps
-mkdir -p ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/ps
-
-if [ ! -f ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/ps/IOPSKeys.h ]; then
- cp /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/ps/IOPSKeys.h ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/ps/IOPSKeys.h
-fi
-
-if [ ! -f ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/ps/IOPowerSources.h ]; then
- cp /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/ps/IOPowerSources.h ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/ps/IOPowerSources.h
-fi
-
-
-# libkern
-mkdir -p ${EXTERNAL_IOS_INCLUDE_DIR}/libkern
-
-if [ ! -f ${EXTERNAL_IOS_INCLUDE_DIR}/libkern/OSTypes.h ]; then
- cp /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/OSTypes.h ${EXTERNAL_IOS_INCLUDE_DIR}/libkern/OSTypes.h
-fi
-
-if [ ! -f ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/IOKitKeys.h ]; then
- cp /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/IOKitKeys.h ${EXTERNAL_IOS_INCLUDE_DIR}/IOKit/IOKitKeys.h
-fi
diff --git a/external/ios/libsodium_apple-ios.sh b/external/ios/libsodium_apple-ios.sh
deleted file mode 100755
index 963ba32..0000000
--- a/external/ios/libsodium_apple-ios.sh
+++ /dev/null
@@ -1,147 +0,0 @@
-#! /bin/sh
-
-export PREFIX="$(pwd)/libsodium-apple"
-export MACOS_ARM64_PREFIX="${PREFIX}/tmp/macos-arm64"
-export MACOS_X86_64_PREFIX="${PREFIX}/tmp/macos-x86_64"
-export IOS32_PREFIX="${PREFIX}/tmp/ios32"
-export IOS32s_PREFIX="${PREFIX}/tmp/ios32s"
-export IOS64_PREFIX="${PREFIX}/tmp/ios64"
-export IOS_SIMULATOR_ARM64_PREFIX="${PREFIX}/tmp/ios-simulator-arm64"
-export IOS_SIMULATOR_I386_PREFIX="${PREFIX}/tmp/ios-simulator-i386"
-export IOS_SIMULATOR_X86_64_PREFIX="${PREFIX}/tmp/ios-simulator-x86_64"
-export WATCHOS32_PREFIX="${PREFIX}/tmp/watchos32"
-export WATCHOS64_32_PREFIX="${PREFIX}/tmp/watchos64_32"
-export WATCHOS64_PREFIX="${PREFIX}/tmp/watchos64"
-export WATCHOS_SIMULATOR_ARM64_PREFIX="${PREFIX}/tmp/watchos-simulator-arm64"
-export WATCHOS_SIMULATOR_I386_PREFIX="${PREFIX}/tmp/watchos-simulator-i386"
-export WATCHOS_SIMULATOR_X86_64_PREFIX="${PREFIX}/tmp/watchos-simulator-x86_64"
-export TVOS_PREFIX="${PREFIX}/tmp/tvos"
-export TVOS_SIMULATOR_ARM64_PREFIX="${PREFIX}/tmp/tvos-simulator-arm64"
-export TVOS_SIMULATOR_X86_64_PREFIX="${PREFIX}/tmp/tvos-simulator-x86_64"
-export VISIONOS_PREFIX="${PREFIX}/tmp/visionos"
-export VISIONOS_SIMULATOR_PREFIX="${PREFIX}/tmp/visionos-simulator"
-export CATALYST_ARM64_PREFIX="${PREFIX}/tmp/catalyst-arm64"
-export CATALYST_X86_64_PREFIX="${PREFIX}/tmp/catalyst-x86_64"
-export LOG_FILE="${PREFIX}/tmp/build_log"
-export XCODEDIR="$(xcode-select -p)"
-
-export MACOS_VERSION_MIN=${MACOS_VERSION_MIN-"10.10"}
-export IOS_SIMULATOR_VERSION_MIN=${IOS_SIMULATOR_VERSION_MIN-"9.0.0"}
-export IOS_VERSION_MIN=${IOS_VERSION_MIN-"9.0.0"}
-export WATCHOS_SIMULATOR_VERSION_MIN=${WATCHOS_SIMULATOR_VERSION_MIN-"4.0.0"}
-export WATCHOS_VERSION_MIN=${WATCHOS_VERSION_MIN-"4.0.0"}
-export TVOS_SIMULATOR_VERSION_MIN=${TVOS_SIMULATOR_VERSION_MIN-"9.0.0"}
-export TVOS_VERSION_MIN=${TVOS_VERSION_MIN-"9.0.0"}
-
-echo
-echo "Warnings related to headers being present but not usable are due to functions"
-echo "that didn't exist in the specified minimum iOS version level."
-echo "They can be safely ignored."
-echo
-echo "Define the LIBSODIUM_FULL_BUILD environment variable to build the full"
-echo "library (including all deprecated/undocumented/low-level functions)."
-echo
-echo "Define the LIBSODIUM_SKIP_SIMULATORS environment variable to skip building"
-echo "the simulators libraries (iOS, watchOS, tvOS, visionOS simulators)."
-echo
-
-if [ -z "$LIBSODIUM_FULL_BUILD" ]; then
- export LIBSODIUM_ENABLE_MINIMAL_FLAG="--enable-minimal"
-else
- export LIBSODIUM_ENABLE_MINIMAL_FLAG=""
-fi
-
-APPLE_SILICON_SUPPORTED=false
-echo 'int main(void){return 0;}' >comptest.c && cc --target=arm64-macos comptest.c 2>/dev/null && APPLE_SILICON_SUPPORTED=true
-rm -f comptest.c
-
-NPROCESSORS=$(getconf NPROCESSORS_ONLN 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null)
-PROCESSORS=${NPROCESSORS:-3}
-
-swift_module_map() {
- echo 'module Clibsodium {'
- echo ' header "sodium.h"'
- echo ' export *'
- echo '}'
-}
-
-build_ios() {
- export BASEDIR="${XCODEDIR}/Platforms/iPhoneOS.platform/Developer"
- export PATH="${BASEDIR}/usr/bin:$BASEDIR/usr/sbin:$PATH"
- export SDK="${BASEDIR}/SDKs/iPhoneOS.sdk"
-
- ## 32-bit iOS
- export CFLAGS="-O2 -mthumb -arch armv7 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN}"
- export LDFLAGS="-mthumb -arch armv7 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN}"
-
- make distclean >/dev/null 2>&1
- ./configure --host=arm-apple-darwin10 --prefix="$IOS32_PREFIX" \
- ${LIBSODIUM_ENABLE_MINIMAL_FLAG} || exit 1
- make -j${PROCESSORS} install || exit 1
-
- ## 32-bit armv7s iOS
- export CFLAGS="-O2 -mthumb -arch armv7s -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN}"
- export LDFLAGS="-mthumb -arch armv7s -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN}"
-
- make distclean >/dev/null 2>&1
- ./configure --host=arm-apple-darwin10 --prefix="$IOS32s_PREFIX" \
- ${LIBSODIUM_ENABLE_MINIMAL_FLAG} || exit 1
- make -j${PROCESSORS} install || exit 1
-
- ## 64-bit iOS
- export CFLAGS="-O2 -arch arm64 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN}"
- export LDFLAGS="-arch arm64 -isysroot ${SDK} -mios-version-min=${IOS_VERSION_MIN}"
-
- make distclean >/dev/null 2>&1
- ./configure --host=arm-apple-darwin10 --prefix="$IOS64_PREFIX" \
- ${LIBSODIUM_ENABLE_MINIMAL_FLAG} || exit 1
- make -j${PROCESSORS} install || exit 1
-}
-
-mkdir -p "${PREFIX}/tmp"
-
-echo "Building for iOS... ($LOG_FILE)"
-./autogen.sh
-./configure
-build_ios >"$LOG_FILE" 2>&1 || exit 1
-
-echo "Adding the Clibsodium module map for Swift..."
-
-find "$PREFIX" -name "include" -type d -print | while read -r f; do
- swift_module_map >"${f}/module.modulemap"
-done
-
-echo "Bundling iOS targets..."
-
-mkdir -p "${PREFIX}/ios/lib"
-cp -a "${IOS64_PREFIX}/include" "${PREFIX}/ios/"
-for ext in a dylib; do
- lipo -create \
- "$IOS32_PREFIX/lib/libsodium.${ext}" \
- "$IOS32s_PREFIX/lib/libsodium.${ext}" \
- "$IOS64_PREFIX/lib/libsodium.${ext}" \
- -output "$PREFIX/ios/lib/libsodium.${ext}"
-done
-
-echo "Creating Clibsodium.xcframework..."
-
-rm -rf "${PREFIX}/Clibsodium.xcframework"
-
-XCFRAMEWORK_ARGS=""
-for f in ios; do
- XCFRAMEWORK_ARGS="${XCFRAMEWORK_ARGS} -library ${PREFIX}/${f}/lib/libsodium.a"
- XCFRAMEWORK_ARGS="${XCFRAMEWORK_ARGS} -headers ${PREFIX}/${f}/include"
-done
-xcodebuild -create-xcframework \
- ${XCFRAMEWORK_ARGS} \
- -output "${PREFIX}/Clibsodium.xcframework" >/dev/null
-
-ls -ld -- "$PREFIX"
-ls -l -- "$PREFIX"
-ls -l -- "$PREFIX/Clibsodium.xcframework"
-
-echo "Done!"
-
-# Cleanup
-rm -rf -- "$PREFIX/tmp"
-make distclean >/dev/null