apple-xcframework.sh: force cross-compilation to avoid rosetta

This commit is contained in:
Frank Denis
2026-01-05 15:10:27 +01:00
parent 417c6f36ec
commit 3bc2d7a223
+19 -16
View File
@@ -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
}