commit ed2ba0b86f3b882fa27b79c013bbd12295984bf2
parent 11d14c260a467cf494a61b3a0d5bf3ed85fa4653
Author: Iván Ávalos <avalos@disroot.org>
Date: Thu, 19 Feb 2026 23:10:52 +0100
ios: only build for simulator of Mac arch
Diffstat:
1 file changed, 63 insertions(+), 4 deletions(-)
diff --git a/cross/package-ios.sh b/cross/package-ios.sh
@@ -11,10 +11,14 @@ trap handle_error ERR
# Inspiration: https://github.com/stasel/WebRTC/blob/latest/scripts/build.sh
+case $(arch) in
+ i368) ARCH=x86_64 ;;
+ arm64) ARCH=arm64 ;;
+esac
+
targets=(
iphoneos-arm64
- iphonesimulator-arm64
- iphonesimulator-x86_64
+ iphonesimulator-$(ARCH)
# macosx-arm64
# macosx-x86_64
)
@@ -92,6 +96,26 @@ package_frameworks() {
# iphonesimulator
if contains_element "iphonesimulator-x86_64" "${targets[@]}" &&
+ ! contains_element "iphonesimulator-arm64" "${targets[@]}"; then
+ build_static_monolith "${base_build_folder}/iphonesimulator-x86_64" "${library}"
+ universal_output="${base_build_folder}/iphonesimulator-universal"
+ mkdir -p "${universal_output}"
+ cp "${base_build_folder}/iphonesimulator-x86_64/${library}" \
+ "${universal_output}/${library}"
+ xcodebuild_flags+=(
+ -library "${universal_output}/${library}"
+ "${headers_flag[@]}")
+ elif ! contains_element "iphonesimulator-x86_64" "${targets[@]}" &&
+ contains_element "iphonesimulator-arm64" "${targets[@]}"; then
+ build_static_monolith "${base_build_folder}/iphonesimulator-arm64" "${library}"
+ universal_output="${base_build_folder}/iphonesimulator-universal"
+ mkdir -p "${universal_output}"
+ cp "${base_build_folder}/iphonesimulator-arm64/${library}" \
+ "${universal_output}/${library}"
+ xcodebuild_flags+=(
+ -library "${universal_output}/${library}"
+ "${headers_flag[@]}")
+ elif contains_element "iphonesimulator-x86_64" "${targets[@]}" &&
contains_element "iphonesimulator-arm64" "${targets[@]}"; then
build_static_monolith "${base_build_folder}/iphonesimulator-x86_64" "${library}"
build_static_monolith "${base_build_folder}/iphonesimulator-arm64" "${library}"
@@ -105,12 +129,32 @@ package_frameworks() {
"${headers_flag[@]}")
fi
- # macosx
+ # macosx
if contains_element "macosx-x86_64" "${targets[@]}" &&
+ ! contains_element "macosx-arm64" "${targets[@]}"; then
+ build_static_monolith "${base_build_folder}/macosx-x86_64" "${library}"
+ universal_output="${base_build_folder}/macosx-universal"
+ mkdir -p "${universal_output}"
+ cp "${base_build_folder}/macosx-x86_64/${library}" \
+ "${universal_output}/${library}"
+ xcodebuild_flags+=(
+ -library "${universal_output}/${library}"
+ "${headers_flag[@]}")
+ elif ! contains_element "macosx-x86_64" "${targets[@]}" &&
+ contains_element "macosx-arm64" "${targets[@]}"; then
+ build_static_monolith "${base_build_folder}/macosx-arm64" "${library}"
+ universal_output="${base_build_folder}/macosx-universal"
+ mkdir -p "${universal_output}"
+ cp "${base_build_folder}/macosx-arm64/${library}" \
+ "${universal_output}/${library}"
+ xcodebuild_flags+=(
+ -library "${universal_output}/${library}"
+ "${headers_flag[@]}")
+ elif contains_element "macosx-x86_64" "${targets[@]}" &&
contains_element "macosx-arm64" "${targets[@]}"; then
build_static_monolith "${base_build_folder}/macosx-x86_64" "${library}"
build_static_monolith "${base_build_folder}/macosx-arm64" "${library}"
- universal_output="${base_build_dir}/macosx-universal"
+ universal_output="${base_build_folder}/macosx-universal"
mkdir -p "${universal_output}"
lipo "${base_build_folder}/macosx-x86_64/${library}" \
"${base_build_folder}/macosx-arm64/${library}" \
@@ -120,6 +164,21 @@ package_frameworks() {
"${headers_flag[@]}")
fi
+ # # macosx
+ # if contains_element "macosx-x86_64" "${targets[@]}" &&
+ # contains_element "macosx-arm64" "${targets[@]}"; then
+ # build_static_monolith "${base_build_folder}/macosx-x86_64" "${library}"
+ # build_static_monolith "${base_build_folder}/macosx-arm64" "${library}"
+ # universal_output="${base_build_dir}/macosx-universal"
+ # mkdir -p "${universal_output}"
+ # lipo "${base_build_folder}/macosx-x86_64/${library}" \
+ # "${base_build_folder}/macosx-arm64/${library}" \
+ # -output "${universal_output}/${library}" -create
+ # xcodebuild_flags+=(
+ # -library "${universal_output}/${library}"
+ # "${headers_flag[@]}")
+ # fi
+
xcodebuild -create-xcframework \
"${xcodebuild_flags[@]}" \
-output "${xcframework_dir}"