From 3bc2d7a22323f2f4b214a520c0713e0f7d71f51b Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Mon, 5 Jan 2026 23:00:58 +0100 Subject: [PATCH] apple-xcframework.sh: force cross-compilation to avoid rosetta --- dist-build/apple-xcframework.sh | 35 ++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/dist-build/apple-xcframework.sh b/dist-build/apple-xcframework.sh index f8a5dd0e..5e78fb91 100755 --- a/dist-build/apple-xcframework.sh +++ b/dist-build/apple-xcframework.sh @@ -33,16 +33,19 @@ export CATALYST_X86_64_PREFIX="${PREFIX}/tmp/catalyst-x86_64" export LOG_FILE="${PREFIX}/tmp/build_log" XCODEDIR="$(xcode-select -p)" if [ ! -d "${XCODEDIR}/Platforms/iPhoneOS.platform" ]; then - if [ -d "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform" ]; then - XCODEDIR="/Applications/Xcode.app/Contents/Developer" - else - echo "Error: Xcode with iOS SDK not found." >&2 - echo "Please install Xcode or run: sudo xcode-select -s /Applications/Xcode.app/Contents/Developer" >&2 - exit 1 - fi + echo "Error: Xcode with iOS SDK not found." >&2 + echo "Please install Xcode or run: sudo xcode-select -s /Applications/Xcode.app/Contents/Developer" >&2 + exit 1 fi export XCODEDIR +NATIVE_ARCH=$(uname -m) +if [ "$NATIVE_ARCH" = "arm64" ]; then + X86_CROSS_COMPILE="cross_compiling=yes" +else + X86_CROSS_COMPILE="" +fi + export MACOS_VERSION_MIN=${MACOS_VERSION_MIN-"10.10"} export IOS_VERSION_MIN=${IOS_VERSION_MIN-"9.0.0"} export IOS_SIMULATOR_VERSION_MIN=${IOS_SIMULATOR_VERSION_MIN-$IOS_VERSION_MIN} @@ -116,7 +119,7 @@ build_macos() { export LDFLAGS="-arch x86_64 -mmacosx-version-min=${MACOS_VERSION_MIN}" make distclean >/dev/null 2>&1 - ./configure --host=x86_64-apple-darwin23 --prefix="$MACOS_X86_64_PREFIX" \ + ./configure ${X86_CROSS_COMPILE} --host=x86_64-apple-darwin23 --prefix="$MACOS_X86_64_PREFIX" \ ${LIBSODIUM_ENABLE_MINIMAL_FLAG} || exit 1 make -j${PROCESSORS} install || exit 1 } @@ -174,7 +177,7 @@ build_ios_simulator() { export LDFLAGS="-arch i386 -isysroot ${SDK} -mios-simulator-version-min=${IOS_SIMULATOR_VERSION_MIN}" make distclean >/dev/null 2>&1 - ./configure --host=i686-apple-darwin23 --prefix="$IOS_SIMULATOR_I386_PREFIX" \ + ./configure ${X86_CROSS_COMPILE} --host=i686-apple-darwin23 --prefix="$IOS_SIMULATOR_I386_PREFIX" \ ${LIBSODIUM_ENABLE_MINIMAL_FLAG} || exit 1 make -j${PROCESSORS} install || exit 1 fi @@ -184,8 +187,8 @@ build_ios_simulator() { export LDFLAGS="-arch x86_64 -isysroot ${SDK} -mios-simulator-version-min=${IOS_SIMULATOR_VERSION_MIN}" make distclean >/dev/null 2>&1 - ./configure --host=x86_64-apple-darwin23 --prefix="$IOS_SIMULATOR_X86_64_PREFIX" \ - ${LIBSODIUM_ENABLE_MINIMAL_FLAG} + ./configure ${X86_CROSS_COMPILE} --host=x86_64-apple-darwin23 --prefix="$IOS_SIMULATOR_X86_64_PREFIX" \ + ${LIBSODIUM_ENABLE_MINIMAL_FLAG} || exit 1 make -j${PROCESSORS} install || exit 1 } @@ -259,7 +262,7 @@ build_watchos_simulator() { export LDFLAGS="-arch i386 -isysroot ${SDK} -mwatchos-simulator-version-min=${WATCHOS_SIMULATOR_VERSION_MIN}" make distclean >/dev/null 2>&1 - ./configure --host=i686-apple-darwin23 --prefix="$WATCHOS_SIMULATOR_I386_PREFIX" \ + ./configure ${X86_CROSS_COMPILE} --host=i686-apple-darwin23 --prefix="$WATCHOS_SIMULATOR_I386_PREFIX" \ ${LIBSODIUM_ENABLE_MINIMAL_FLAG} || exit 1 make -j${PROCESSORS} install || exit 1 @@ -268,7 +271,7 @@ build_watchos_simulator() { export LDFLAGS="-arch x86_64 -isysroot ${SDK} -mwatchos-simulator-version-min=${WATCHOS_SIMULATOR_VERSION_MIN}" make distclean >/dev/null 2>&1 - ./configure --host=x86_64-apple-darwin23 --prefix="$WATCHOS_SIMULATOR_X86_64_PREFIX" \ + ./configure ${X86_CROSS_COMPILE} --host=x86_64-apple-darwin23 --prefix="$WATCHOS_SIMULATOR_X86_64_PREFIX" \ ${LIBSODIUM_ENABLE_MINIMAL_FLAG} || exit 1 make -j${PROCESSORS} install || exit 1 } @@ -325,8 +328,8 @@ build_tvos_simulator() { export LDFLAGS="-arch x86_64 -isysroot ${SDK} -mtvos-simulator-version-min=${TVOS_SIMULATOR_VERSION_MIN}" make distclean >/dev/null 2>&1 - ./configure --host=x86_64-apple-darwin23 --prefix="$TVOS_SIMULATOR_X86_64_PREFIX" \ - ${LIBSODIUM_ENABLE_MINIMAL_FLAG} + ./configure ${X86_CROSS_COMPILE} --host=x86_64-apple-darwin23 --prefix="$TVOS_SIMULATOR_X86_64_PREFIX" \ + ${LIBSODIUM_ENABLE_MINIMAL_FLAG} || exit 1 make -j${PROCESSORS} install || exit 1 } @@ -402,7 +405,7 @@ build_catalyst() { export LDFLAGS="-arch x86_64 -target x86_64-apple-ios13.1-macabi -isysroot ${SDK}" make distclean >/dev/null 2>&1 - ./configure --host=x86_64-apple-ios --prefix="$CATALYST_X86_64_PREFIX" \ + ./configure ${X86_CROSS_COMPILE} --host=x86_64-apple-ios --prefix="$CATALYST_X86_64_PREFIX" \ ${LIBSODIUM_ENABLE_MINIMAL_FLAG} || exit 1 make -j${PROCESSORS} install || exit 1 }