aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphunkyfish <phunkyfish@gmail.com>2020-02-06 17:48:21 +0000
committerphunkyfish <phunkyfish@gmail.com>2020-02-27 12:51:41 +0000
commit8810f7ecab3eedc859dd1acebc342ffea4d60b34 (patch)
tree0dfa4f6e7d06c0c5f42a74e52974ee31dd68e9ad
parentcde760b94e57b2e07ab09dcdd25f61ca525266d2 (diff)
[ios] set minimum ios version to 11.0 and cleanup dependencies
-rw-r--r--cmake/scripts/common/PrepareEnv.cmake4
-rw-r--r--cmake/scripts/darwin_embedded/ArchSetup.cmake4
-rw-r--r--docs/README.iOS.md30
-rw-r--r--tools/buildsteps/defaultenv7
-rwxr-xr-xtools/buildsteps/ios/configure-depends1
-rwxr-xr-xtools/buildsteps/ios/package9
-rwxr-xr-xtools/darwin/Support/Codesign.command11
-rw-r--r--tools/darwin/packaging/darwin_embedded/mkdeb-darwin_embedded.sh.in26
-rw-r--r--tools/depends/README.md5
-rw-r--r--tools/depends/configure.ac47
-rw-r--r--tools/depends/native/ldid/Makefile25
-rw-r--r--tools/depends/target/Toolchain.cmake.in2
-rw-r--r--tools/depends/target/config-binaddons.site.in4
-rw-r--r--tools/depends/target/config.site.in6
-rw-r--r--tools/depends/target/ffmpeg/CMakeLists.txt6
-rw-r--r--tools/depends/target/ffmpeg/Makefile10
-rw-r--r--tools/depends/target/samba-gplv3/02-cross_compile.patch12
-rw-r--r--tools/depends/target/samba-gplv3/Makefile6
-rw-r--r--xbmc/addons/addoninfo/AddonInfoBuilder.cpp4
-rw-r--r--xbmc/platform/darwin/DarwinUtils.mm2
-rw-r--r--xbmc/platform/darwin/ios/Info.plist.in2
-rw-r--r--xbmc/platform/darwin/ios/XBMCController.mm6
-rw-r--r--xbmc/windowing/ios/WinSystemIOS.mm2
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;
}