upgrade to newer apple platform runners

This commit is contained in:
Taner Sener 2024-04-18 23:20:17 +01:00
parent 13d46b15b3
commit 8d0563e052
9 changed files with 183 additions and 177 deletions

View File

@ -27,58 +27,58 @@ on:
- 'ios.sh'
jobs:
build-main-on-macos-monterey:
name: ios main on monterey
build-main-on-macos-sonoma:
name: ios main on sonoma
runs-on: macos-14
strategy:
matrix:
xcode: [ '14.3.1', '15.3' ]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- name: prerequisites
run: brew install autoconf automake libtool pkg-config curl git cmake nasm
- name: set up xcode
run: echo "export DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer" > ~/.xcode.for.ffmpeg.kit.sh
- name: run the build script
run: ./ios.sh --xcframework --enable-ios-audiotoolbox --enable-ios-avfoundation --enable-ios-bzip2 --enable-ios-libiconv --enable-ios-videotoolbox --enable-ios-zlib
- name: print build logs
if: ${{ always() }}
run: cat build.log
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
build-main-on-macos-ventura:
name: ios main on ventura
runs-on: macos-13
strategy:
matrix:
xcode: [ '14.3.1', '15.2' ]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- name: prerequisites
run: brew install autoconf automake libtool pkg-config curl git cmake nasm
- name: set up xcode
run: echo "export DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer" > ~/.xcode.for.ffmpeg.kit.sh
- name: run the build script
run: ./ios.sh --xcframework --enable-ios-audiotoolbox --enable-ios-avfoundation --enable-ios-bzip2 --enable-ios-libiconv --enable-ios-videotoolbox --enable-ios-zlib
- name: print build logs
if: ${{ always() }}
run: cat build.log
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
build-lts-on-macos-monterey:
name: ios lts on monterey
runs-on: macos-12
strategy:
matrix:
xcode: [ '13.4.1', '14.0.1' ]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- name: prerequisites
run: brew install autoconf automake libtool pkg-config curl git cmake nasm
- name: set up xcode
run: echo "export DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer" > ~/.xcode.for.ffmpeg.kit.sh
- name: run the build script
run: ./ios.sh --xcframework --enable-ios-audiotoolbox --enable-ios-avfoundation --enable-ios-bzip2 --enable-ios-libiconv --enable-ios-videotoolbox --enable-ios-zlib
- name: print build logs
if: ${{ always() }}
run: cat build.log
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
build-main-on-macos-bigsur:
name: ios main on big sur
runs-on: macos-11
strategy:
matrix:
xcode: [ '12.5.1', '13.2.1' ]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- name: prerequisites
run: brew install autoconf automake libtool pkg-config curl git cmake nasm
- name: set up xcode
run: echo "export DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer" > ~/.xcode.for.ffmpeg.kit.sh
- name: run the build script
run: ./ios.sh --xcframework --enable-ios-audiotoolbox --enable-ios-avfoundation --enable-ios-bzip2 --enable-ios-libiconv --enable-ios-videotoolbox --enable-ios-zlib
- name: print build logs
if: ${{ always() }}
run: cat build.log
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
build-lts-on-macos-bigsur:
name: ios lts on big sur
runs-on: macos-11
strategy:
matrix:
xcode: [ '11.7', '12.4' ]
xcode: [ '13.4.1', '14.2' ]
defaults:
run:
shell: bash

View File

@ -27,58 +27,58 @@ on:
- 'macos.sh'
jobs:
build-main-on-macos-monterey:
name: macos main on monterey
build-main-on-macos-sonoma:
name: macos main on sonoma
runs-on: macos-14
strategy:
matrix:
xcode: [ '14.3.1', '15.3' ]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- name: prerequisites
run: brew install autoconf automake libtool pkg-config curl git cmake nasm
- name: set up xcode
run: echo "export DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer" > ~/.xcode.for.ffmpeg.kit.sh
- name: run the build script
run: ./macos.sh --xcframework --enable-macos-audiotoolbox --enable-macos-avfoundation --enable-macos-bzip2 --enable-macos-coreimage --enable-macos-libiconv --enable-macos-opencl --enable-macos-opengl --enable-macos-videotoolbox --enable-macos-zlib
- name: print build logs
if: ${{ always() }}
run: cat build.log
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
build-main-on-macos-ventura:
name: macos main on ventura
runs-on: macos-13
strategy:
matrix:
xcode: [ '14.3.1', '15.2' ]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- name: prerequisites
run: brew install autoconf automake libtool pkg-config curl git cmake nasm
- name: set up xcode
run: echo "export DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer" > ~/.xcode.for.ffmpeg.kit.sh
- name: run the build script
run: ./macos.sh --xcframework --enable-macos-audiotoolbox --enable-macos-avfoundation --enable-macos-bzip2 --enable-macos-coreimage --enable-macos-libiconv --enable-macos-opencl --enable-macos-opengl --enable-macos-videotoolbox --enable-macos-zlib
- name: print build logs
if: ${{ always() }}
run: cat build.log
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
build-lts-on-macos-monterey:
name: macos lts on monterey
runs-on: macos-12
strategy:
matrix:
xcode: [ '13.4.1', '14.0.1' ]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- name: prerequisites
run: brew install autoconf automake libtool pkg-config curl git cmake nasm
- name: set up xcode
run: echo "export DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer" > ~/.xcode.for.ffmpeg.kit.sh
- name: run the build script
run: ./macos.sh --xcframework --enable-macos-audiotoolbox --enable-macos-avfoundation --enable-macos-bzip2 --enable-macos-coreimage --enable-macos-libiconv --enable-macos-opencl --enable-macos-opengl --enable-macos-videotoolbox --enable-macos-zlib
- name: print build logs
if: ${{ always() }}
run: cat build.log
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
build-main-on-macos-bigsur:
name: macos main on big sur
runs-on: macos-11
strategy:
matrix:
xcode: [ '12.5.1', '13.2.1' ]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- name: prerequisites
run: brew install autoconf automake libtool pkg-config curl git cmake nasm
- name: set up xcode
run: echo "export DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer" > ~/.xcode.for.ffmpeg.kit.sh
- name: run the build script
run: ./macos.sh --xcframework --enable-macos-audiotoolbox --enable-macos-avfoundation --enable-macos-bzip2 --enable-macos-coreimage --enable-macos-libiconv --enable-macos-opencl --enable-macos-opengl --enable-macos-videotoolbox --enable-macos-zlib
- name: print build logs
if: ${{ always() }}
run: cat build.log
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
build-lts-on-macos-bigsur:
name: macos lts on big sur
runs-on: macos-11
strategy:
matrix:
xcode: [ '11.7', '12.4' ]
xcode: [ '13.4.1', '14.2' ]
defaults:
run:
shell: bash

View File

@ -5,12 +5,12 @@ on:
- cron: '0 1 * * 0'
jobs:
build-ios-main-on-macos-ventura:
name: ios main on ventura
runs-on: macos-13
build-ios-main-on-macos-sonoma:
name: ios main on sonoma
runs-on: macos-14
strategy:
matrix:
xcode: [ '14.3.1' ]
xcode: [ '14.3.1', '15.3' ]
branches: [ 'main', 'development' ]
defaults:
run:
@ -36,7 +36,7 @@ jobs:
runs-on: macos-12
strategy:
matrix:
xcode: [ '14.2' ]
xcode: [ '13.4.1' ]
branches: [ 'main', 'development' ]
defaults:
run:
@ -57,12 +57,12 @@ jobs:
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
build-macos-main-on-macos-ventura:
name: macos main on ventura
runs-on: macos-13
build-macos-main-on-macos-sonoma:
name: macos main on sonoma
runs-on: macos-14
strategy:
matrix:
xcode: [ '14.3.1' ]
xcode: [ '14.3.1', '15.3' ]
branches: [ 'main', 'development' ]
defaults:
run:
@ -88,7 +88,7 @@ jobs:
runs-on: macos-12
strategy:
matrix:
xcode: [ '14.2' ]
xcode: [ '13.4.1' ]
branches: [ 'main', 'development' ]
defaults:
run:
@ -109,12 +109,12 @@ jobs:
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
build-tvos-main-on-macos-ventura:
name: tvos main on ventura
runs-on: macos-13
build-tvos-main-on-macos-sonoma:
name: tvos main on sonoma
runs-on: macos-14
strategy:
matrix:
xcode: [ '14.3.1' ]
xcode: [ '14.3.1', '15.3' ]
branches: [ 'main', 'development' ]
defaults:
run:
@ -140,7 +140,7 @@ jobs:
runs-on: macos-12
strategy:
matrix:
xcode: [ '14.2' ]
xcode: [ '13.4.1' ]
branches: [ 'main', 'development' ]
defaults:
run:

View File

@ -27,58 +27,58 @@ on:
- 'tvos.sh'
jobs:
build-main-on-macos-monterey:
name: tvos main on monterey
build-main-on-macos-sonoma:
name: tvos main on sonoma
runs-on: macos-14
strategy:
matrix:
xcode: [ '14.3.1', '15.3' ]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- name: prerequisites
run: brew install autoconf automake libtool pkg-config curl git cmake nasm
- name: set up xcode
run: echo "export DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer" > ~/.xcode.for.ffmpeg.kit.sh
- name: run the build script
run: ./tvos.sh --xcframework --enable-tvos-bzip2 --enable-tvos-audiotoolbox --enable-tvos-libiconv --enable-tvos-videotoolbox --enable-tvos-zlib
- name: print build logs
if: ${{ always() }}
run: cat build.log
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
build-main-on-macos-ventura:
name: tvos main on ventura
runs-on: macos-13
strategy:
matrix:
xcode: [ '14.3.1', '15.2' ]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- name: prerequisites
run: brew install autoconf automake libtool pkg-config curl git cmake nasm
- name: set up xcode
run: echo "export DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer" > ~/.xcode.for.ffmpeg.kit.sh
- name: run the build script
run: ./tvos.sh --xcframework --enable-tvos-bzip2 --enable-tvos-audiotoolbox --enable-tvos-libiconv --enable-tvos-videotoolbox --enable-tvos-zlib
- name: print build logs
if: ${{ always() }}
run: cat build.log
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
build-lts-on-macos-monterey:
name: tvos lts on monterey
runs-on: macos-12
strategy:
matrix:
xcode: [ '13.4.1', '14.0.1' ]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- name: prerequisites
run: brew install autoconf automake libtool pkg-config curl git cmake nasm
- name: set up xcode
run: echo "export DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer" > ~/.xcode.for.ffmpeg.kit.sh
- name: run the build script
run: ./tvos.sh --xcframework --enable-tvos-bzip2 --enable-tvos-audiotoolbox --enable-tvos-libiconv --enable-tvos-videotoolbox --enable-tvos-zlib
- name: print build logs
if: ${{ always() }}
run: cat build.log
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
build-main-on-macos-bigsur:
name: tvos main on big sur
runs-on: macos-11
strategy:
matrix:
xcode: [ '12.5.1', '13.2.1' ]
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- name: prerequisites
run: brew install autoconf automake libtool pkg-config curl git cmake nasm
- name: set up xcode
run: echo "export DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer" > ~/.xcode.for.ffmpeg.kit.sh
- name: run the build script
run: ./tvos.sh --xcframework --enable-tvos-bzip2 --enable-tvos-audiotoolbox --enable-tvos-libiconv --enable-tvos-videotoolbox --enable-tvos-zlib
- name: print build logs
if: ${{ always() }}
run: cat build.log
- name: print ffbuild logs
if: ${{ failure() }}
run: '[[ -f ./src/ffmpeg/ffbuild/config.log ]] && tail -50 ./src/ffmpeg/ffbuild/config.log'
build-lts-on-macos-bigsur:
name: tvos lts on big sur
runs-on: macos-11
strategy:
matrix:
xcode: [ '11.7', '12.4' ]
xcode: [ '13.4.1', '14.2' ]
defaults:
run:
shell: bash

View File

@ -10,12 +10,9 @@ ${SED_INLINE} 's/\-mno-ieee-fp//g' "${BASEDIR}"/src/"${LIB_NAME}"/configure.ac |
# ALWAYS REGENERATE BUILD FILES - NECESSARY TO APPLY THE WORKAROUNDS
autoreconf_library "${LIB_NAME}" 1>>"${BASEDIR}"/build.log 2>&1 || return 1
if [[ ${FFMPEG_KIT_BUILD_TYPE} != "macos" ]]; then
# WORKAROUND TO REMOVE -force_cpusubtype_ALL FLAG DUE TO THE FOLLOWING ERROR
# ld: -force_cpusubtype_ALL and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
${SED_INLINE} 's/-force_cpusubtype_ALL//g' ${BASEDIR}/src/${LIB_NAME}/configure
fi
# WORKAROUND TO REMOVE -force_cpusubtype_ALL FLAG DUE TO THE FOLLOWING ERROR
# ld: -force_cpusubtype_ALL and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
${SED_INLINE} 's/-force_cpusubtype_ALL//g' ${BASEDIR}/src/${LIB_NAME}/configure
PKG_CONFIG= ./configure \
--prefix="${LIB_INSTALL_PREFIX}" \

View File

@ -1287,6 +1287,15 @@ EOF
create_libiconv_system_package_config() {
local LIB_ICONV_VERSION=$(grep '_LIBICONV_VERSION' "${SDK_PATH}"/usr/include/iconv.h | grep -Eo '0x.*' | grep -Eo '.* ')
# AFTER XCODE 15.0, libcharset DOES NOT CONTAIN ALL ARCHITECTURES WE SUPPORT
if [[ -n "$DETECTED_IOS_SDK_VERSION" && $(compare_versions "$DETECTED_IOS_SDK_VERSION" "17.0") -ge 0 ]] ||
[[ -n "$DETECTED_MACOS_SDK_VERSION" && $(compare_versions "$DETECTED_MACOS_SDK_VERSION" "14.0") -ge 0 ]] ||
[[ -n "$DETECTED_TVOS_SDK_VERSION" && $(compare_versions "$DETECTED_TVOS_SDK_VERSION" "17.0") -ge 0 ]]; then
local _REQUIRES_LIBS="-liconv"
else
local _REQUIRES_LIBS="-liconv -lcharset"
fi
cat >"${INSTALL_PKG_CONFIG_DIR}/libiconv.pc" <<EOF
prefix=${SDK_PATH}/usr
exec_prefix=\${prefix}
@ -1298,7 +1307,7 @@ Description: Character set conversion library
Version: ${LIB_ICONV_VERSION}
Requires:
Libs: -L\${libdir} -liconv -lcharset
Libs: -L\${libdir} ${_REQUIRES_LIBS}
Cflags: -I\${includedir}
EOF
}

View File

@ -111,13 +111,13 @@ get_common_cflags() {
case ${ARCH} in
i386 | x86-64 | arm64-simulator)
echo "-fstrict-aliasing -DIOS ${LTS_BUILD_FLAG}${BUILD_DATE} -isysroot ${SDK_PATH}"
echo "-fstrict-aliasing -DIOS ${LTS_BUILD_FLAG}${BUILD_DATE} -Wno-incompatible-function-pointer-types -isysroot ${SDK_PATH}"
;;
*-mac-catalyst)
echo "-fstrict-aliasing ${BITCODE_FLAGS} -DMACOSX ${LTS_BUILD_FLAG}${BUILD_DATE} -isysroot ${SDK_PATH}"
echo "-fstrict-aliasing ${BITCODE_FLAGS} -DMACOSX ${LTS_BUILD_FLAG}${BUILD_DATE} -Wno-incompatible-function-pointer-types -isysroot ${SDK_PATH}"
;;
*)
echo "-fstrict-aliasing ${BITCODE_FLAGS} -DIOS ${LTS_BUILD_FLAG}${BUILD_DATE} -isysroot ${SDK_PATH}"
echo "-fstrict-aliasing ${BITCODE_FLAGS} -DIOS ${LTS_BUILD_FLAG}${BUILD_DATE} -Wno-incompatible-function-pointer-types -isysroot ${SDK_PATH}"
;;
esac
}

View File

@ -82,10 +82,10 @@ get_common_cflags() {
case ${ARCH} in
arm64)
echo "-fstrict-aliasing -DMACOSX ${LTS_BUILD_FLAG}${BUILD_DATE} -isysroot ${SDK_PATH}"
echo "-fstrict-aliasing -DMACOSX ${LTS_BUILD_FLAG}${BUILD_DATE} -Wno-incompatible-function-pointer-types -isysroot ${SDK_PATH}"
;;
*)
echo "-fstrict-aliasing -DMACOSX ${LTS_BUILD_FLAG}${BUILD_DATE} -isysroot ${SDK_PATH}"
echo "-fstrict-aliasing -DMACOSX ${LTS_BUILD_FLAG}${BUILD_DATE} -Wno-incompatible-function-pointer-types -isysroot ${SDK_PATH}"
;;
esac
}
@ -149,7 +149,7 @@ get_app_specific_cflags() {
APP_FLAGS="-std=c99 -Wno-unused-function"
;;
gnutls)
APP_FLAGS="-std=c99 -Wno-unused-function -D_GL_USE_STDLIB_ALLOC=1"
APP_FLAGS="-std=c99 -Wno-unused-function -Wno-implicit-int -D_GL_USE_STDLIB_ALLOC=1"
;;
jpeg)
APP_FLAGS="-Wno-nullability-completeness"

View File

@ -85,10 +85,10 @@ get_common_cflags() {
case ${ARCH} in
arm64)
echo "-fstrict-aliasing ${BITCODE_FLAGS} -DTVOS ${LTS_BUILD_FLAG}${BUILD_DATE} -isysroot ${SDK_PATH}"
echo "-fstrict-aliasing ${BITCODE_FLAGS} -DTVOS ${LTS_BUILD_FLAG}${BUILD_DATE} -Wno-incompatible-function-pointer-types -isysroot ${SDK_PATH}"
;;
x86-64 | arm64-simulator)
echo "-fstrict-aliasing -DTVOS ${LTS_BUILD_FLAG}${BUILD_DATE} -isysroot ${SDK_PATH}"
echo "-fstrict-aliasing -DTVOS ${LTS_BUILD_FLAG}${BUILD_DATE} -Wno-incompatible-function-pointer-types -isysroot ${SDK_PATH}"
;;
esac
}