diff options
author | phunkyfish <phunkyfish@gmail.com> | 2020-02-06 17:48:21 +0000 |
---|---|---|
committer | phunkyfish <phunkyfish@gmail.com> | 2020-02-27 12:51:41 +0000 |
commit | 8810f7ecab3eedc859dd1acebc342ffea4d60b34 (patch) | |
tree | 0dfa4f6e7d06c0c5f42a74e52974ee31dd68e9ad | |
parent | cde760b94e57b2e07ab09dcdd25f61ca525266d2 (diff) |
[ios] set minimum ios version to 11.0 and cleanup dependencies
23 files changed, 51 insertions, 180 deletions
diff --git a/cmake/scripts/common/PrepareEnv.cmake b/cmake/scripts/common/PrepareEnv.cmake index a547d82cc1..559788f2fc 100644 --- a/cmake/scripts/common/PrepareEnv.cmake +++ b/cmake/scripts/common/PrepareEnv.cmake @@ -56,9 +56,7 @@ if(CORE_SYSTEM_NAME STREQUAL android) endif() elseif(CORE_SYSTEM_NAME STREQUAL darwin_embedded) set(PLATFORM_TAG ${CORE_PLATFORM_NAME}) - if (CPU MATCHES armv7) - set(PLATFORM_TAG ${PLATFORM_TAG}-armv7) - elseif (CPU MATCHES arm64) + if (CPU MATCHES arm64) set(PLATFORM_TAG ${PLATFORM_TAG}-aarch64) else() message(FATAL_ERROR "Unsupported architecture") diff --git a/cmake/scripts/darwin_embedded/ArchSetup.cmake b/cmake/scripts/darwin_embedded/ArchSetup.cmake index 27f403b8af..cbfe100fa1 100644 --- a/cmake/scripts/darwin_embedded/ArchSetup.cmake +++ b/cmake/scripts/darwin_embedded/ArchSetup.cmake @@ -19,9 +19,7 @@ set(CMAKE_SYSTEM_NAME Darwin) if(WITH_ARCH) set(ARCH ${WITH_ARCH}) else() - if(CPU STREQUAL armv7) - set(ARCH arm) - elseif(CPU STREQUAL arm64) + if(CPU STREQUAL arm64) set(ARCH aarch64) else() message(SEND_ERROR "Unknown CPU: ${CPU}") diff --git a/docs/README.iOS.md b/docs/README.iOS.md index 0cff5ced38..11dd5aae66 100644 --- a/docs/README.iOS.md +++ b/docs/README.iOS.md @@ -1,7 +1,7 @@ ![Kodi Logo](resources/banner_slim.png) # iOS build guide -This guide has been tested with macOS 10.13.4()17E199 High Sierra and Xcode 9.3(9E145). It is meant to cross-compile Kodi for iOS using **[Kodi's unified depends build system](../tools/depends/README.md)**. Please read it in full before you proceed to familiarize yourself with the build procedure. +This guide has been tested with macOS 10.13.4(17E199) High Sierra and 10.14.4(18E226) Mojave on Xcode 9.4.1(9F2000) and Xcode 10.2(10E125). It is meant to cross-compile Kodi for iOS using **[Kodi's unified depends build system](../tools/depends/README.md)**. Please read it in full before you proceed to familiarize yourself with the build procedure. ## Table of Contents 1. **[Document conventions](#1-document-conventions)** @@ -52,10 +52,11 @@ Several different strategies are used to draw your attention to certain pieces o ## 2. Prerequisites * **[Java Development Kit (JDK)](http://www.oracle.com/technetwork/java/javase/downloads/index.html)** * **[Xcode](https://developer.apple.com/xcode/)**. Install it from the AppStore or from the **[Apple Developer Homepage](https://developer.apple.com/)**. -* Device with **iOS 9.0 or newer** to install Kodi after build. +* Device with **iOS 11.0 or newer** to install Kodi after build. Building for iOS should work with the following constellations of Xcode and macOS versions: * Xcode 9.x against iOS SDK 11.x on 10.13.x (High Sierra)(recommended) + * Xcode 9.x against iOS SDK 11.x on 10.14.x (Mojave)(recommended) **WARNING:** Start Xcode after installation finishes. You need to accept the licenses and install missing components. @@ -75,25 +76,17 @@ git clone https://github.com/xbmc/xbmc kodi **[back to top](#table-of-contents)** ## 4. Configure and build tools and dependencies -Kodi can be built as either a 32bit or 64bit program. The dependencies are built in `$HOME/kodi/tools/depends` and installed into `/Users/Shared/xbmc-depends`. +Kodi can be built as a 64bit program for iOS. The dependencies are built in `$HOME/kodi/tools/depends` and installed into `/Users/Shared/xbmc-depends`. **TIP:** Look for comments starting with `Or ...` and only execute the command(s) you need. -Configure build for 64bit (**recommended**): +Configure build: ``` cd $HOME/kodi/tools/depends ./bootstrap -./configure --host=arm-apple-darwin --with-cpu=arm64 +./configure --host=arm-apple-darwin ``` -Or configure build for 32bit: -``` -cd $HOME/kodi/tools/depends -./bootstrap -./configure --host=arm-apple-darwin --with-sdk=9.3 -``` -**WARNING:** iOS SDK 11 no longer supports 32bit. - Build tools and dependencies: ``` make -j$(getconf _NPROCESSORS_ONLN) @@ -103,9 +96,9 @@ make -j$(getconf _NPROCESSORS_ONLN) **WARNING:** Look for the `Dependencies built successfully.` success message. If in doubt run a single threaded `make` command until the message appears. If the single make fails, clean the specific library by issuing `make -C target/<name_of_failed_lib> distclean` and run `make`again. -**NOTE:** **Advanced developers** may want to specify an iOS SDK version (if multiple versions are installed) in the configure line(s) shown above. The example below would use the iOS SDK 9.0: +**NOTE:** **Advanced developers** may want to specify an iOS SDK version (if multiple versions are installed) in the configure line(s) shown above. The example below would use the iOS SDK 11.0: ``` -./configure --host=arm-apple-darwin --with-cpu=arm64 --with-sdk=9.0 +./configure --host=arm-apple-darwin --with-sdk=11.0 ``` **[back to top](#table-of-contents)** | **[back to section top](#4-configure-and-build-tools-and-dependencies)** @@ -163,12 +156,7 @@ cd $HOME/kodi-build /Users/Shared/xbmc-depends/x86_64-darwin17.5.0-native/bin/cmake -G Xcode -DCMAKE_TOOLCHAIN_FILE=/Users/Shared/xbmc-depends/iphoneos11.3_arm64-target-debug/share/Toolchain.cmake $HOME/kodi ``` -Or generate Xcode project for ARM 32bit: -``` -/Users/Shared/xbmc-depends/x86_64-darwin15.6.0-native/bin/cmake -G Xcode -DCMAKE_TOOLCHAIN_FILE=/Users/Shared/xbmc-depends/iphoneos9.3_armv7-target/share/Toolchain.cmake $HOME/kodi -``` - -**WARNING:** The toolchain file location differs depending on your iOS and SDK version. You have to replace `x86_64-darwin15.6.0-native` and `iphoneos11.3_arm64-target-debug` or `iphoneos9.3_armv7-target` in the paths above with the correct ones on your system. +**WARNING:** The toolchain file location differs depending on your iOS and SDK version. You have to replace `x86_64-darwin15.6.0-native` and `iphoneos11.3_arm64-target-debug` in the paths above with the correct ones on your system. You can check `Users/Shared/xbmc-depends` directory content with: ``` diff --git a/tools/buildsteps/defaultenv b/tools/buildsteps/defaultenv index 22514e35dc..becf6ae8f8 100644 --- a/tools/buildsteps/defaultenv +++ b/tools/buildsteps/defaultenv @@ -4,7 +4,6 @@ NDK_VERSION=${NDK_VERSION:-"Default"} NDK_API=${NDK_API:-"Default"} Configuration=${Configuration:-"Default"} XBMC_DEPENDS_ROOT=${XBMC_DEPENDS_ROOT:-"Default"} -DARWIN_ARM_CPU=${DARWIN_ARM_CPU:-"Default"} XCODE_APP=${XCODE_APP:-"Default"} PATH_CHANGE_REV_FILENAME=".last_success_revision" FAILED_BUILD_FILENAME=".last_failed_revision" @@ -22,7 +21,6 @@ case $XBMC_PLATFORM_DIR in DEFAULT_SDK_VERSION=12.2 DEFAULT_XBMC_DEPENDS_ROOT=$WORKSPACE/tools/depends/xbmc-depends DEFAULT_CONFIGURATION="Debug" - DEFAULT_DARWIN_ARM_CPU="armv7" DEFAULT_XCODE_APP="Xcode10.2.app" ;; @@ -83,11 +81,6 @@ then XBMC_DEPENDS_ROOT=$DEFAULT_XBMC_DEPENDS_ROOT fi -if [ "$DARWIN_ARM_CPU" == "Default" ] -then - DARWIN_ARM_CPU=$DEFAULT_DARWIN_ARM_CPU -fi - if [ "$XCODE_APP" == "Default" ] then XCODE_APP=$DEFAULT_XCODE_APP diff --git a/tools/buildsteps/ios/configure-depends b/tools/buildsteps/ios/configure-depends index b53893f869..2f1187d054 100755 --- a/tools/buildsteps/ios/configure-depends +++ b/tools/buildsteps/ios/configure-depends @@ -8,6 +8,5 @@ then --with-tarballs=/Users/Shared/xbmc-depends/tarballs \ --host=arm-apple-darwin \ --with-sdk=$SDK_VERSION \ - --with-cpu=$DARWIN_ARM_CPU \ --prefix=$XBMC_DEPENDS_ROOT $DEBUG_SWITCH fi diff --git a/tools/buildsteps/ios/package b/tools/buildsteps/ios/package index 4f549fe974..72feea0453 100755 --- a/tools/buildsteps/ios/package +++ b/tools/buildsteps/ios/package @@ -6,12 +6,7 @@ cd $WORKSPACE/build;xcodebuild -target deb -jobs $BUILDTHREADS cd $WORKSPACE/build/tools/darwin/packaging/darwin_embedded/ #rename for upload -#e.x. kodi-20130314-8c2fb31-Frodo-ios.deb -if [ "$DARWIN_ARM_CPU" == "arm64" ] -then - UPLOAD_FILENAME="kodi-$(getBuildRevDateStr)-ios64.deb" -else - UPLOAD_FILENAME="kodi-$(getBuildRevDateStr)-ios.deb" -fi +#e.x. kodi-20130314-8c2fb31-Frodo-ios64.deb +UPLOAD_FILENAME="kodi-$(getBuildRevDateStr)-ios64.deb" mkdir $WORKSPACE/tools/darwin/packaging/ios mv *.deb $WORKSPACE/tools/darwin/packaging/ios/$UPLOAD_FILENAME diff --git a/tools/darwin/Support/Codesign.command b/tools/darwin/Support/Codesign.command index 8772013e62..5c9ebce10c 100755 --- a/tools/darwin/Support/Codesign.command +++ b/tools/darwin/Support/Codesign.command @@ -7,16 +7,7 @@ LIST_BINARY_EXTENSIONS="dylib so 0 vis pvr app" GEN_ENTITLEMENTS="$NATIVEPREFIX/bin/gen_entitlements.py" IOS11_ENTITLEMENTS="$XBMC_DEPENDS/share/ios11_entitlements.xml" -LDID32="$NATIVEPREFIX/bin/ldid32" -LDID64="$NATIVEPREFIX/bin/ldid64" -LDID=${LDID32} - -if [ "${CURRENT_ARCH}" == "arm64" ] || [ "${CURRENT_ARCH}" == "aarch64" ]; then - LDID=${LDID64} - echo "using LDID64" -else - echo "using LDID32" -fi +LDID="$NATIVEPREFIX/bin/ldid" if [ ! -f ${GEN_ENTITLEMENTS} ]; then echo "error: $GEN_ENTITLEMENTS not found. Codesign won't work." diff --git a/tools/darwin/packaging/darwin_embedded/mkdeb-darwin_embedded.sh.in b/tools/darwin/packaging/darwin_embedded/mkdeb-darwin_embedded.sh.in index 23d654f1a5..b5d9e10dca 100644 --- a/tools/darwin/packaging/darwin_embedded/mkdeb-darwin_embedded.sh.in +++ b/tools/darwin/packaging/darwin_embedded/mkdeb-darwin_embedded.sh.in @@ -9,7 +9,6 @@ SWITCH=`echo $1 | tr [A-Z] [a-z]` DIRNAME=`dirname $0` DSYM_TARGET_DIR=/Users/Shared/xbmc-depends/dSyms DSYM_FILENAME=@APP_NAME@.app.dSYM -ARM64=false PP_DEVICE=iOS if [ "@PLATFORM@" == "appletvos" ]; then PP_DEVICE=tvOS @@ -28,11 +27,6 @@ else exit 1 fi -# check if build is 64-bit -if [[ "$(lipo -info "$APP/@APP_NAME@" | awk '{print $NF}')" == "arm64" ]]; then - ARM64=true -fi - #copy bzip2 of dsym to xbmc-depends install dir if [ -d $DSYM ]; then if [ -d $DSYM_TARGET_DIR ]; then @@ -64,10 +58,7 @@ fi # customize revision string [ ! -z "$2" ] && REVISION="$2" -ARCHIVE=${PACKAGE}_${VERSION}-${REVISION}_@PLATFORM@-arm.deb - -# package identifier for arm64 -$ARM64 && ARCHIVE=${PACKAGE_ARM64}_${VERSION}-${REVISION}_@PLATFORM@-arm.deb +ARCHIVE=${PACKAGE_ARM64}_${VERSION}-${REVISION}_@PLATFORM@-arm.deb SIZE="$(du -s -k ${APP} | awk '{print $1}')" @@ -77,16 +68,11 @@ rm -rf $DIRNAME/$ARCHIVE # create debian control file. mkdir -p $DIRNAME/$PACKAGE/DEBIAN -if $ARM64; then - echo "Package: $PACKAGE_ARM64" > $DIRNAME/$PACKAGE/DEBIAN/control - echo "Name: @APP_NAME@-${PP_DEVICE} (64-bit)" >> $DIRNAME/$PACKAGE/DEBIAN/control - echo "Pre-Depends: cy+cpu.arm64" >> $DIRNAME/$PACKAGE/DEBIAN/control - echo "Conflicts: $PACKAGE" >> $DIRNAME/$PACKAGE/DEBIAN/control - echo "Replaces: $PACKAGE" >> $DIRNAME/$PACKAGE/DEBIAN/control -else - echo "Package: $PACKAGE" > $DIRNAME/$PACKAGE/DEBIAN/control - echo "Name: @APP_NAME@-${PP_DEVICE}" >> $DIRNAME/$PACKAGE/DEBIAN/control -fi +echo "Package: $PACKAGE_ARM64" > $DIRNAME/$PACKAGE/DEBIAN/control +echo "Name: @APP_NAME@-${PP_DEVICE} (64-bit)" >> $DIRNAME/$PACKAGE/DEBIAN/control +echo "Pre-Depends: cy+cpu.arm64" >> $DIRNAME/$PACKAGE/DEBIAN/control +echo "Conflicts: $PACKAGE" >> $DIRNAME/$PACKAGE/DEBIAN/control +echo "Replaces: $PACKAGE" >> $DIRNAME/$PACKAGE/DEBIAN/control echo "Priority: Extra" >> $DIRNAME/$PACKAGE/DEBIAN/control echo "Version: $VERSION-$REVISION" >> $DIRNAME/$PACKAGE/DEBIAN/control echo "Architecture: @CMAKE_SYSTEM_NAME@-@CPU@" >> $DIRNAME/$PACKAGE/DEBIAN/control diff --git a/tools/depends/README.md b/tools/depends/README.md index ecc1633d50..e9b6be8e08 100644 --- a/tools/depends/README.md +++ b/tools/depends/README.md @@ -23,11 +23,8 @@ Paths below are examples. If you want to build Kodi, follow our **[build guides] **macOS (x86_64)** `./configure --host=x86_64-apple-darwin` -**iOS (armv7)** -`./configure --host=arm-apple-darwin` - **iOS (arm64)** -`./configure --host=arm-apple-darwin --with-cpu=arm64` +`./configure --host=arm-apple-darwin` **tvOS** `./configure --host=arm-apple-darwin --with-platform=tvos` diff --git a/tools/depends/configure.ac b/tools/depends/configure.ac index ddf4040a5d..ecab75518f 100644 --- a/tools/depends/configure.ac +++ b/tools/depends/configure.ac @@ -346,51 +346,32 @@ case $host in # setup which sdk to use if test "$use_platform" = "tvos"; then - use_cpu=arm64 target_platform=appletvos - platform_min_version="$target_platform-version-min=11.0" else - # setup which cpu to use - if test "x$use_cpu" = "xauto"; then - use_cpu=armv7 - fi - target_platform=iphoneos - platform_min_version="$target_platform-version-min=9.0" + fi + platform_min_version="$target_platform-version-min=11.0" + + # setup which cpu to use + if test "x$use_cpu" = "xauto"; then + use_cpu=arm64 fi found_sdk_version=[`$use_xcodebuild -showsdks | grep "\-sdk $target_platform" | awk '{ print $2}'`] use_sdk="${use_sdk:-$found_sdk_version}" sdk_name=$target_platform$use_sdk - if test "$use_platform" = "tvos"; then - case $use_sdk in - 11.*);; - 12.*);; - 13.*);; - *) - AC_MSG_ERROR(error in configure of --with-sdk=$use_sdk) - ;; - esac - else - case $use_sdk in - 9.*);; - 10.*);; - 11.*);; - 12.*);; - 13.*);; - *) - AC_MSG_ERROR(error in configure of --with-sdk=$use_sdk) - ;; - esac - fi + case $use_sdk in + 11.*);; + 12.*);; + 13.*);; + *) + AC_MSG_ERROR(error in configure of --with-sdk=$use_sdk) + ;; + esac platform_os="darwin_embedded" - if [ ! test "x$use_cpu" = "xarm64" ]; then - platform_cflags+=" -mcpu=cortex-a8 -mfpu=neon" - platform_ldflags+=" -Wl,-segalign,4000" - fi platform_cflags+=" -ftree-vectorize -pipe -Wno-trigraphs -fpascal-strings" platform_cflags+=" -Wreturn-type -Wunused-variable -fmessage-length=0 -gdwarf-2" platform_cflags+=" -Wno-error=implicit-function-declaration" diff --git a/tools/depends/native/ldid/Makefile b/tools/depends/native/ldid/Makefile index 970b4cccb3..36149b47c3 100644 --- a/tools/depends/native/ldid/Makefile +++ b/tools/depends/native/ldid/Makefile @@ -5,30 +5,21 @@ DEPS= ../../Makefile.include Makefile # lib name, version LIBNAME=ldid -VERSION32=1.0.0 -VERSION64=2 -SOURCE32=$(LIBNAME)-$(VERSION32) -SOURCE64=$(LIBNAME)-$(VERSION64) -ARCHIVE32=$(SOURCE32).tar.gz -ARCHIVE64=$(SOURCE64).tar.gz +VERSION=2 +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.gz all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE32): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE32) +$(TARBALLS_LOCATION)/$(ARCHIVE): + cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(TARBALLS_LOCATION)/$(ARCHIVE64): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE64) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE32) $(TARBALLS_LOCATION)/$(ARCHIVE64) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) - cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE32) - mv $(PLATFORM)/ldid $(PLATFORM)/ldid32 - cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE64) - mv $(PLATFORM)/ldid $(PLATFORM)/ldid64 + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) .installed-$(PLATFORM):$(PLATFORM) - cp $(PLATFORM)/ldid* $(NATIVEPREFIX)/bin + cp $(PLATFORM)/ldid $(NATIVEPREFIX)/bin touch $@ clean: diff --git a/tools/depends/target/Toolchain.cmake.in b/tools/depends/target/Toolchain.cmake.in index fd39b2c80c..d51c89383f 100644 --- a/tools/depends/target/Toolchain.cmake.in +++ b/tools/depends/target/Toolchain.cmake.in @@ -66,7 +66,7 @@ if(CORE_SYSTEM_NAME STREQUAL darwin_embedded) # set this to YES once we have a deployment target of at least iOS 6.0 set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO") set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2") - set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET 9.0) + set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET 11.0) endif() endif() endif() diff --git a/tools/depends/target/config-binaddons.site.in b/tools/depends/target/config-binaddons.site.in index 8958057778..9e47373a2d 100644 --- a/tools/depends/target/config-binaddons.site.in +++ b/tools/depends/target/config-binaddons.site.in @@ -69,10 +69,6 @@ if test "@platform_os@" = "android"; then fi if test "@platform_os@" = "darwin_embedded"; then - ac_cv_search_clock_gettime=no - ac_cv_func_clock_gettime=no - ac_cv_func_getentropy=no - # tweaks for flac if test "${ac_unique_file}" = "src/flac/main.c" ; then # compiler barfs if we use -O3/O2 for flac diff --git a/tools/depends/target/config.site.in b/tools/depends/target/config.site.in index 734776a69b..36fef0a689 100644 --- a/tools/depends/target/config.site.in +++ b/tools/depends/target/config.site.in @@ -81,12 +81,8 @@ if test "@platform_os@" = "android"; then fi if test "@platform_os@" = "darwin_embedded"; then - ac_cv_search_clock_gettime=no - ac_cv_func_clock_gettime=no + # there is no clock_settime on iOS/tvOS as of latest version 13.X ac_cv_func_clock_settime=no - ac_cv_func_futimens=no - ac_cv_func_getentropy=no - ac_cv_func_utimensat=no # tweaks for libffi if test "${PACKAGE_NAME}" = "libffi" ; then diff --git a/tools/depends/target/ffmpeg/CMakeLists.txt b/tools/depends/target/ffmpeg/CMakeLists.txt index 9227dc9427..f3959f9bb7 100644 --- a/tools/depends/target/ffmpeg/CMakeLists.txt +++ b/tools/depends/target/ffmpeg/CMakeLists.txt @@ -66,11 +66,7 @@ elseif(CORE_SYSTEM_NAME STREQUAL android) endif() list(APPEND ffmpeg_conf --target-os=linux --extra-libs=-liconv --disable-linux-perf) elseif(CORE_SYSTEM_NAME STREQUAL darwin_embedded) - if(NOT CPU MATCHES arm64) - list(APPEND ffmpeg_conf --cpu=cortex-a8) - else() - list(APPEND ffmpeg_conf "--as=${NATIVEPREFIX}/bin/gas-preprocessor.pl -arch aarch64 -- ${CMAKE_C_COMPILER}") - endif() + list(APPEND ffmpeg_conf "--as=${NATIVEPREFIX}/bin/gas-preprocessor.pl -arch aarch64 -- ${CMAKE_C_COMPILER}") list(APPEND ffmpeg_conf --disable-decoder=mpeg_xvmc --disable-crystalhd --enable-videotoolbox --target-os=darwin) elseif(CORE_SYSTEM_NAME STREQUAL osx) diff --git a/tools/depends/target/ffmpeg/Makefile b/tools/depends/target/ffmpeg/Makefile index c5f5c2a370..d3ce41fe36 100644 --- a/tools/depends/target/ffmpeg/Makefile +++ b/tools/depends/target/ffmpeg/Makefile @@ -48,12 +48,7 @@ ifeq ($(OS), android) ffmpg_config += --target-os=linux --extra-libs=-liconv --disable-linux-perf endif ifeq ($(OS), darwin_embedded) - ifneq ($(CPU), arm64) - ffmpg_config += --cpu=cortex-a8 - ffmpg_config += --as="$(NATIVEPREFIX)/bin/gas-preprocessor.pl -- $(CC)" - else - ffmpg_config += --as="$(NATIVEPREFIX)/bin/gas-preprocessor.pl -arch aarch64 -- $(CC)" - endif + ffmpg_config += --as="$(NATIVEPREFIX)/bin/gas-preprocessor.pl -arch aarch64 -- $(CC)" ffmpg_config += --yasmexe=$(NATIVEPREFIX)/bin/yasm ffmpg_config += --disable-decoder=mpeg_xvmc --disable-crystalhd --enable-videotoolbox ffmpg_config += --target-os=darwin @@ -85,9 +80,6 @@ $(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) cd $(PLATFORM);\ CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \ ./configure $(ffmpg_config) -ifeq ($(OS), darwin_embedded) - cd $(PLATFORM); sed -i -- 's/HAVE_CLOCK_GETTIME 1/HAVE_CLOCK_GETTIME 0/g' config.h -endif .build-$(PLATFORM): $(PLATFORM) $(MAKE) -C $(PLATFORM) diff --git a/tools/depends/target/samba-gplv3/02-cross_compile.patch b/tools/depends/target/samba-gplv3/02-cross_compile.patch index a6dd9aa2ef..01a8bbebbc 100644 --- a/tools/depends/target/samba-gplv3/02-cross_compile.patch +++ b/tools/depends/target/samba-gplv3/02-cross_compile.patch @@ -77,18 +77,6 @@ headers='stdio.h', msg='Checking simple C program') ---- a/lib/replace/system/time.h -+++ b/lib/replace/system/time.h -@@ -74,9 +74,6 @@ - #endif - - #ifndef HAVE_CLOCK_GETTIME --/* CLOCK_REALTIME is required by POSIX */ --#define CLOCK_REALTIME 0 --typedef int clockid_t; - int rep_clock_gettime(clockid_t clk_id, struct timespec *tp); - #endif - /* make sure we have a best effort CUSTOM_CLOCK_MONOTONIC we can rely on. --- a/lib/replace/wscript +++ b/lib/replace/wscript @@ -37,6 +37,7 @@ diff --git a/tools/depends/target/samba-gplv3/Makefile b/tools/depends/target/samba-gplv3/Makefile index 71a0e8ecdf..b051561d82 100644 --- a/tools/depends/target/samba-gplv3/Makefile +++ b/tools/depends/target/samba-gplv3/Makefile @@ -51,12 +51,6 @@ ifeq ($(OS), darwin_embedded) cd $(PLATFORM); patch -p1 -i ../crt_extensions.patch endif cd $(PLATFORM); $(CONFIGURE) -ifeq ($(TARGET_PLATFORM), iphoneos) - # clock_gettime is only available since macOS 10.12, iOS 10.0 and tvOS 10.0 - # build sytem doesn't include time.h for the check, - # so the version guards have no effect - sed -ie -E "s/#define (HAVE_(CLOCK_GETTIME|CLOCK_MONOTONIC|CLOCK_PROCESS_CPUTIME_ID|CLOCK_REALTIME)) 1/\/* #undef \1 *\//g" $(PLATFORM)/bin/default/include/config.h -endif $(LIBDYLIB): $(PLATFORM) cd $(PLATFORM); WAF_MAKE=1 ./buildtools/bin/waf --targets=smbclient diff --git a/xbmc/addons/addoninfo/AddonInfoBuilder.cpp b/xbmc/addons/addoninfo/AddonInfoBuilder.cpp index bc17dba915..cfb00bfe98 100644 --- a/xbmc/addons/addoninfo/AddonInfoBuilder.cpp +++ b/xbmc/addons/addoninfo/AddonInfoBuilder.cpp @@ -606,9 +606,7 @@ bool CAddonInfoBuilder::PlatformSupportsAddon(const AddonInfoPtr& addon) "darwin_embedded", #if defined(TARGET_DARWIN_IOS) "ios", -#if defined(__ARM_ARCH_7A__) - "ios-armv7", -#elif defined(__aarch64__) +#if defined(__aarch64__) "ios-aarch64", #else #warning no architecture dependant platform tag diff --git a/xbmc/platform/darwin/DarwinUtils.mm b/xbmc/platform/darwin/DarwinUtils.mm index e572054b17..08e6603ca2 100644 --- a/xbmc/platform/darwin/DarwinUtils.mm +++ b/xbmc/platform/darwin/DarwinUtils.mm @@ -175,8 +175,6 @@ bool CDarwinUtils::IsIosSandboxed(void) std::call_once(flag, [] { auto executablePath = getExecutablePath(); auto sandboxPrefixPaths = { - // since iOS 8 - @"/var/mobile/Containers/Bundle/", // since iOS later than 9.0.2 but before 9.3.5 @"/var/containers/Bundle/", // since iOS 13 diff --git a/xbmc/platform/darwin/ios/Info.plist.in b/xbmc/platform/darwin/ios/Info.plist.in index de89acd9b6..640128067e 100644 --- a/xbmc/platform/darwin/ios/Info.plist.in +++ b/xbmc/platform/darwin/ios/Info.plist.in @@ -119,7 +119,7 @@ <true/> <key>UIRequiredDeviceCapabilities</key> <array> - <string>armv7</string> + <string>arm64</string> <string>opengles-2</string> <string>wifi</string> </array> diff --git a/xbmc/platform/darwin/ios/XBMCController.mm b/xbmc/platform/darwin/ios/XBMCController.mm index b8dbc196a3..308f2ec48e 100644 --- a/xbmc/platform/darwin/ios/XBMCController.mm +++ b/xbmc/platform/darwin/ios/XBMCController.mm @@ -706,11 +706,7 @@ public: //-------------------------------------------------------------- - (CGRect)fullscreenSubviewFrame { - auto rect = self.view.bounds; - if (@available(ios 11.0, *)) - return UIEdgeInsetsInsetRect(rect, m_window.safeAreaInsets); - else - return rect; + return UIEdgeInsetsInsetRect(self.view.bounds, m_window.safeAreaInsets); } //-------------------------------------------------------------- - (void)onXbmcAlive diff --git a/xbmc/windowing/ios/WinSystemIOS.mm b/xbmc/windowing/ios/WinSystemIOS.mm index b51431adaa..2ee94b9c08 100644 --- a/xbmc/windowing/ios/WinSystemIOS.mm +++ b/xbmc/windowing/ios/WinSystemIOS.mm @@ -400,7 +400,7 @@ bool CWinSystemIOS::InitDisplayLink(CVideoSyncIos *syncImpl) [m_pDisplayLink->callbackClass SetVideoSyncImpl:syncImpl]; m_pDisplayLink->impl = [currentScreen displayLinkWithTarget:m_pDisplayLink->callbackClass selector:@selector(runDisplayLink)]; - [m_pDisplayLink->impl setFrameInterval:1]; + [m_pDisplayLink->impl setPreferredFramesPerSecond:0]; [m_pDisplayLink->impl addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes]; return m_pDisplayLink->impl != nil; } |