summaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
Diffstat (limited to 'external')
m---------external/ios-cmake0
-rwxr-xr-xexternal/ios/build_boost.sh25
-rwxr-xr-xexternal/ios/build_libiconv.sh16
-rwxr-xr-xexternal/ios/build_monero_all.sh14
-rwxr-xr-xexternal/ios/build_openssl.sh19
-rwxr-xr-xexternal/ios/build_sodium.sh19
-rwxr-xr-xexternal/ios/build_unbound.sh28
-rwxr-xr-xexternal/ios/build_zmq.sh22
-rwxr-xr-xexternal/ios/config.sh12
-rwxr-xr-xexternal/ios/install_missing_headers.sh69
10 files changed, 224 insertions, 0 deletions
diff --git a/external/ios-cmake b/external/ios-cmake
new file mode 160000
+Subproject 06465b27698424cf4a04a5ca4904d50a3c966c4
diff --git a/external/ios/build_boost.sh b/external/ios/build_boost.sh
new file mode 100755
index 0000000..1341c69
--- /dev/null
+++ b/external/ios/build_boost.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+set -e
+
+. ./config.sh
+
+MIN_IOS_VERSION=10.0
+BOOST_URL="https://github.com/cake-tech/Apple-Boost-BuildScript.git"
+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 ============================"
+
+echo "Cloning Apple-Boost-BuildScript from - $BOOST_URL"
+git clone -b build $BOOST_URL $BOOST_DIR_PATH
+cd $BOOST_DIR_PATH
+./boost.sh -ios \
+ --min-ios-version ${MIN_IOS_VERSION} \
+ --boost-libs "${BOOST_LIBS}" \
+ --boost-version ${BOOST_VERSION} \
+ --no-framework
+
+mv ${BOOST_DIR_PATH}/build/boost/${BOOST_VERSION}/ios/release/prefix/include/* $EXTERNAL_IOS_INCLUDE_DIR
+mv ${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_libiconv.sh b/external/ios/build_libiconv.sh
new file mode 100755
index 0000000..ad59e8a
--- /dev/null
+++ b/external/ios/build_libiconv.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+set -e
+
+. config.sh
+
+ICONV_DIR_PATH="${EXTERNAL_IOS_SOURCE_DIR}/libiconv"
+
+rm -rf $ICONV_DIR_PATH
+mkdir -p $ICONV_DIR_PATH
+pushd $ICONV_DIR_PATH
+ wget https://ftp.gnu.org/gnu/libiconv/libiconv-1.15.tar.gz -O -| tar xzv
+ pushd libiconv-1.15
+
+ popd
+popd \ No newline at end of file
diff --git a/external/ios/build_monero_all.sh b/external/ios/build_monero_all.sh
new file mode 100755
index 0000000..3f73933
--- /dev/null
+++ b/external/ios/build_monero_all.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+set -e
+
+rm -rf build
+
+. ./config.sh
+./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
new file mode 100755
index 0000000..1a2439b
--- /dev/null
+++ b/external/ios/build_openssl.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+set -e
+
+. ./config.sh
+
+OPEN_SSL_URL="https://github.com/x2on/OpenSSL-for-iPhone.git"
+OPEN_SSL_DIR_PATH="${EXTERNAL_IOS_SOURCE_DIR}/OpenSSL"
+
+echo "============================ OpenSSL ============================"
+
+echo "Cloning Open SSL from - $OPEN_SSL_URL"
+git clone $OPEN_SSL_URL $OPEN_SSL_DIR_PATH
+cd $OPEN_SSL_DIR_PATH
+./build-libssl.sh --version=1.1.1q --targets="ios-cross-arm64" --deprecated
+
+mv ${OPEN_SSL_DIR_PATH}/include/* $EXTERNAL_IOS_INCLUDE_DIR
+mv ${OPEN_SSL_DIR_PATH}/lib/libcrypto-iOS.a ${EXTERNAL_IOS_LIB_DIR}/libcrypto.a
+mv ${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
new file mode 100755
index 0000000..0d4b955
--- /dev/null
+++ b/external/ios/build_sodium.sh
@@ -0,0 +1,19 @@
+#!/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"
+git clone $SODIUM_URL $SODIUM_PATH
+cd $SODIUM_PATH
+git checkout 443617d7507498f7477703f0b51cb596d4539262
+./dist-build/apple-xcframework.sh
+
+mv ${SODIUM_PATH}/libsodium-apple/ios/include/* $EXTERNAL_IOS_INCLUDE_DIR
+mv ${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
new file mode 100755
index 0000000..86d1007
--- /dev/null
+++ b/external/ios/build_unbound.sh
@@ -0,0 +1,28 @@
+#!/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_DIR_PATH="${EXTERNAL_IOS_SOURCE_DIR}/unbound-1.16.2"
+
+echo "============================ Unbound ============================"
+rm -rf ${UNBOUND_DIR_PATH}
+git clone https://github.com/NLnetLabs/unbound.git -b ${UNBOUND_VERSION} ${UNBOUND_DIR_PATH}
+cd $UNBOUND_DIR_PATH
+test `git rev-parse HEAD` = ${UNBOUND_HASH} || exit 1
+
+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
+make install \ No newline at end of file
diff --git a/external/ios/build_zmq.sh b/external/ios/build_zmq.sh
new file mode 100755
index 0000000..0f71bdf
--- /dev/null
+++ b/external/ios/build_zmq.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+set -e
+
+. ./config.sh
+
+ZMQ_PATH="${EXTERNAL_IOS_SOURCE_DIR}/libzmq"
+ZMQ_URL="https://github.com/zeromq/libzmq.git"
+
+echo "============================ ZMQ ============================"
+
+echo "Cloning ZMQ from - $ZMQ_URL"
+git clone $ZMQ_URL $ZMQ_PATH
+cd $ZMQ_PATH
+mkdir cmake-build
+cd cmake-build
+cmake ..
+make
+
+
+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
new file mode 100755
index 0000000..f21f7f0
--- /dev/null
+++ b/external/ios/config.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+export IOS_SCRIPTS_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
new file mode 100755
index 0000000..5ae794a
--- /dev/null
+++ b/external/ios/install_missing_headers.sh
@@ -0,0 +1,69 @@
+#!/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