diff --git a/ios.sh b/ios.sh index 237c639b..7a111013 100755 --- a/ios.sh +++ b/ios.sh @@ -160,13 +160,9 @@ if [[ -n ${DISPLAY_HELP} ]]; then fi # DISABLE NOT SUPPORTED ARCHITECTURES -disable_ios_architecture_not_supported_on_detected_sdk_version "${ARCH_ARMV7}" "${DETECTED_IOS_SDK_VERSION}" -disable_ios_architecture_not_supported_on_detected_sdk_version "${ARCH_ARMV7S}" "${DETECTED_IOS_SDK_VERSION}" -disable_ios_architecture_not_supported_on_detected_sdk_version "${ARCH_I386}" "${DETECTED_IOS_SDK_VERSION}" -disable_ios_architecture_not_supported_on_detected_sdk_version "${ARCH_ARM64E}" "${DETECTED_IOS_SDK_VERSION}" -disable_ios_architecture_not_supported_on_detected_sdk_version "${ARCH_X86_64_MAC_CATALYST}" "${DETECTED_IOS_SDK_VERSION}" -disable_ios_architecture_not_supported_on_detected_sdk_version "${ARCH_ARM64_MAC_CATALYST}" "${DETECTED_IOS_SDK_VERSION}" -disable_ios_architecture_not_supported_on_detected_sdk_version "${ARCH_ARM64_SIMULATOR}" "${DETECTED_IOS_SDK_VERSION}" +disable_ios_architecture_not_supported_on_detected_sdk_version "${ARCH_ARMV7}" +disable_ios_architecture_not_supported_on_detected_sdk_version "${ARCH_ARMV7S}" +disable_ios_architecture_not_supported_on_detected_sdk_version "${ARCH_I386}" # CHECK SOME RULES FOR .framework BUNDLES diff --git a/macos.sh b/macos.sh index 208ff732..fce67fa2 100755 --- a/macos.sh +++ b/macos.sh @@ -154,9 +154,6 @@ if [[ -n ${DISPLAY_HELP} ]]; then exit 0 fi -# DISABLE NOT SUPPORTED ARCHITECTURES -disable_macos_architecture_not_supported_on_detected_sdk_version "${ARCH_ARM64}" "${DETECTED_MACOS_SDK_VERSION}" - echo -e "\nBuilding ffmpeg-kit ${BUILD_TYPE_ID}shared library for macOS\n" echo -e -n "INFO: Building ffmpeg-kit ${BUILD_VERSION} ${BUILD_TYPE_ID}for macOS: " 1>>"${BASEDIR}"/build.log 2>&1 echo -e "$(date)\n" 1>>"${BASEDIR}"/build.log 2>&1 diff --git a/scripts/function-apple.sh b/scripts/function-apple.sh index f60664d3..b49cde0b 100755 --- a/scripts/function-apple.sh +++ b/scripts/function-apple.sh @@ -22,7 +22,6 @@ get_external_library_version() { # # 1. architecture index -# 2. detected sdk version # disable_ios_architecture_not_supported_on_detected_sdk_version() { local ARCH_NAME=$(get_arch_name $1) @@ -31,7 +30,7 @@ disable_ios_architecture_not_supported_on_detected_sdk_version() { armv7 | armv7s | i386) # SUPPORTED UNTIL IOS SDK 10.3.1 - if [[ $(compare_versions "$2" "10.3.1") -le 0 ]]; then + if [[ $(compare_versions "$IOS_MIN_VERSION" "10.3.1") -le 0 ]]; then local SUPPORTED=1 else local SUPPORTED=0 @@ -40,7 +39,7 @@ disable_ios_architecture_not_supported_on_detected_sdk_version() { arm64e) # INTRODUCED IN IOS SDK 10.1 - if [[ $(compare_versions "$2" "10.1") -ge 1 ]]; then + if [[ $(compare_versions "$IOS_MIN_VERSION" "10.1") -ge 1 ]]; then local SUPPORTED=1 else local SUPPORTED=0 @@ -49,16 +48,25 @@ disable_ios_architecture_not_supported_on_detected_sdk_version() { x86-64-mac-catalyst) # INTRODUCED IN IOS SDK 13.0 - if [[ $(compare_versions "$2" "13") -ge 1 ]]; then + if [[ $(compare_versions "$MAC_CATALYST_MIN_VERSION" "13.0") -ge 1 ]]; then local SUPPORTED=1 else local SUPPORTED=0 fi ;; - arm64-*) + arm64-mac-catalyst) # INTRODUCED IN IOS SDK 14.0 - if [[ $(compare_versions "$2" "14") -ge 1 ]]; then + if [[ $(compare_versions "$MAC_CATALYST_MIN_VERSION" "14.0") -ge 1 ]]; then + local SUPPORTED=1 + else + local SUPPORTED=0 + fi + ;; + arm64-simulator) + + # INTRODUCED IN IOS SDK 14.0 + if [[ $(compare_versions "$IOS_MIN_VERSION" "14.0") -ge 1 ]]; then local SUPPORTED=1 else local SUPPORTED=0 @@ -71,7 +79,7 @@ disable_ios_architecture_not_supported_on_detected_sdk_version() { if [[ ${SUPPORTED} -ne 1 ]]; then if [[ -z ${BUILD_FORCE} ]]; then - echo -e "INFO: Disabled ${ARCH_NAME} architecture which is not supported on SDK $2\n" 1>>"${BASEDIR}"/build.log 2>&1 + echo -e "INFO: Disabled ${ARCH_NAME} architecture which is not supported on iOS SDK $IOS_MIN_VERSION and Mac Catalyst $MAC_CATALYST_MIN_VERSION\n" 1>>"${BASEDIR}"/build.log 2>&1 disable_arch "${ARCH_NAME}" fi fi @@ -79,7 +87,6 @@ disable_ios_architecture_not_supported_on_detected_sdk_version() { # # 1. architecture index -# 2. detected sdk version # disable_tvos_architecture_not_supported_on_detected_sdk_version() { local ARCH_NAME=$(get_arch_name $1) @@ -88,7 +95,7 @@ disable_tvos_architecture_not_supported_on_detected_sdk_version() { arm64-simulator) # INTRODUCED IN TVOS SDK 14.0 - if [[ $(compare_versions "$2" "14") -ge 1 ]]; then + if [[ $(compare_versions "$TVOS_MIN_VERSION" "14.0") -ge 1 ]]; then local SUPPORTED=1 else local SUPPORTED=0 @@ -101,7 +108,7 @@ disable_tvos_architecture_not_supported_on_detected_sdk_version() { if [[ ${SUPPORTED} -ne 1 ]]; then if [[ -z ${BUILD_FORCE} ]]; then - echo -e "INFO: Disabled ${ARCH_NAME} architecture which is not supported on SDK $2\n" 1>>"${BASEDIR}"/build.log 2>&1 + echo -e "INFO: Disabled ${ARCH_NAME} architecture which is not supported on tvOS SDK $TVOS_MIN_VERSION\n" 1>>"${BASEDIR}"/build.log 2>&1 disable_arch "${ARCH_NAME}" fi fi @@ -109,7 +116,6 @@ disable_tvos_architecture_not_supported_on_detected_sdk_version() { # # 1. architecture index -# 2. detected sdk version # disable_macos_architecture_not_supported_on_detected_sdk_version() { local ARCH_NAME=$(get_arch_name $1) @@ -118,7 +124,7 @@ disable_macos_architecture_not_supported_on_detected_sdk_version() { arm64) # INTRODUCED IN MACOS SDK 11.0 - if [[ $(compare_versions "$2" "11") -ge 1 ]]; then + if [[ $(compare_versions "$MACOS_MIN_VERSION" "11.0") -ge 1 ]]; then local SUPPORTED=1 else local SUPPORTED=0 @@ -131,7 +137,7 @@ disable_macos_architecture_not_supported_on_detected_sdk_version() { if [[ ${SUPPORTED} -ne 1 ]]; then if [[ -z ${BUILD_FORCE} ]]; then - echo -e "INFO: Disabled ${ARCH_NAME} architecture which is not supported on SDK $2\n" 1>>"${BASEDIR}"/build.log 2>&1 + echo -e "INFO: Disabled ${ARCH_NAME} architecture which is not supported on macOS SDK $MACOS_MIN_VERSION\n" 1>>"${BASEDIR}"/build.log 2>&1 disable_arch "${ARCH_NAME}" fi fi diff --git a/scripts/function-ios.sh b/scripts/function-ios.sh index 10e75b6e..508fea21 100755 --- a/scripts/function-ios.sh +++ b/scripts/function-ios.sh @@ -25,7 +25,7 @@ libraries are created under the prebuilt folder.\n" echo -e "Usage: ./$COMMAND [OPTION]...\n" echo -e "Specify environment variables as VARIABLE=VALUE to override default build options.\n" - display_help_options " -x, --xcframework\t\tbuild xcframework bundles instead of framework bundles and universal libraries" " -l, --lts build lts packages to support sdk 9.3+ devices" " --target=ios sdk version\t\t\toverride minimum deployment target" " --mac-catalyst-target=ios sdk version\toverride minimum deployment target for mac catalyst" + display_help_options " -x, --xcframework\t\tbuild xcframework bundles instead of framework bundles and universal libraries" " -l, --lts build lts packages to support sdk 9.3+ devices" " --target=ios sdk version\t\t\toverride minimum deployment target [12.1]" " --mac-catalyst-target=ios sdk version\toverride minimum deployment target for mac catalyst [14.0]" display_help_licensing echo -e "Architectures:" diff --git a/scripts/function-macos.sh b/scripts/function-macos.sh index c17ae23e..ccf2ac07 100755 --- a/scripts/function-macos.sh +++ b/scripts/function-macos.sh @@ -17,7 +17,7 @@ When compilation ends, libraries are created under the prebuilt folder.\n" echo -e "Usage: ./$COMMAND [OPTION]...\n" echo -e "Specify environment variables as VARIABLE=VALUE to override default build options.\n" - display_help_options " -x, --xcframework\t\tbuild xcframework bundles instead of framework bundles and universal libraries" " -l, --lts build lts packages to support sdk 10.11+ devices" " --target=macos sdk version\toverride minimum deployment target" + display_help_options " -x, --xcframework\t\tbuild xcframework bundles instead of framework bundles and universal libraries" " -l, --lts build lts packages to support sdk 10.11+ devices" " --target=macos sdk version\toverride minimum deployment target [10.15]" display_help_licensing echo -e "Architectures:" diff --git a/scripts/function-tvos.sh b/scripts/function-tvos.sh index 931c9229..6460e5fb 100755 --- a/scripts/function-tvos.sh +++ b/scripts/function-tvos.sh @@ -18,7 +18,7 @@ set explicitly. When compilation ends, libraries are created under the prebuilt echo -e "Usage: ./$COMMAND [OPTION]...\n" echo -e "Specify environment variables as VARIABLE=VALUE to override default build options.\n" - display_help_options " -x, --xcframework\t\tbuild xcframework bundles instead of framework bundles and universal libraries" " -l, --lts build lts packages to support sdk 9.2+ devices" " --target=tvos sdk version\toverride minimum deployment target" + display_help_options " -x, --xcframework\t\tbuild xcframework bundles instead of framework bundles and universal libraries" " -l, --lts build lts packages to support sdk 9.2+ devices" " --target=tvos sdk version\toverride minimum deployment target [11.0]" display_help_licensing echo -e "Architectures:" diff --git a/scripts/function.sh b/scripts/function.sh index b0eb6802..7bf23cc4 100755 --- a/scripts/function.sh +++ b/scripts/function.sh @@ -1981,23 +1981,26 @@ compare_versions() { for((i=0;(i<${#VERSION_PARTS_1[@]})&&(i<${#VERSION_PARTS_2[@]});i++)) do - if [[ ${VERSION_PARTS_1[$i]} -gt ${VERSION_PARTS_2[$i]} ]]; then + local CURRENT_PART_1=${VERSION_PARTS_1[$i]} + local CURRENT_PART_2=${VERSION_PARTS_2[$i]} + + if [[ -z ${CURRENT_PART_1} ]]; then + CURRENT_PART_1=0 + fi + + if [[ -z ${CURRENT_PART_2} ]]; then + CURRENT_PART_2=0 + fi + + if [[ CURRENT_PART_1 -gt CURRENT_PART_2 ]]; then echo "1" return; - elif [[ ${VERSION_PARTS_1[$i]} -lt ${VERSION_PARTS_2[$i]} ]]; then + elif [[ CURRENT_PART_1 -lt CURRENT_PART_2 ]]; then echo "-1" return; fi done - if [[ ${#VERSION_PARTS_1[@]} -gt ${#VERSION_PARTS_2[@]} ]]; then - echo "1" - return; - elif [[ ${#VERSION_PARTS_1[@]} -lt ${#VERSION_PARTS_2[@]} ]]; then - echo "-1" - return; - else - echo "0" - return; - fi + echo "0" + return; } diff --git a/tvos.sh b/tvos.sh index 18422c3b..1b1da327 100755 --- a/tvos.sh +++ b/tvos.sh @@ -154,9 +154,6 @@ if [[ -n ${DISPLAY_HELP} ]]; then exit 0 fi -# DISABLE NOT SUPPORTED ARCHITECTURES -disable_tvos_architecture_not_supported_on_detected_sdk_version "${ARCH_ARM64_SIMULATOR}" "${DETECTED_TVOS_SDK_VERSION}" - # CHECK SOME RULES FOR .framework BUNDLES # 1. DISABLE arm64-simulator WHEN arm64 IS ENABLED IN framework BUNDLES