aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfuzzard <fuzzard@users.noreply.github.com>2023-10-25 09:36:00 +1000
committerGitHub <noreply@github.com>2023-10-25 09:36:00 +1000
commit43bacc09dd255827ad115662efa2b4c9d015a49c (patch)
tree782b0babe5b5f7f0141007d560a0d73906424678
parent3e13d1a3557f66b73928cf1eeaa49c1b6e10d667 (diff)
parent5c5ad2dd6d6493ce70dbfe637fabc74b5e902183 (diff)
Merge pull request #23949 from fuzzard/tvos_min12
[tvos] Resolve some build issues with Xcode 15
-rw-r--r--cmake/scripts/darwin_embedded/ArchSetup.cmake3
-rwxr-xr-xtools/darwin/Support/copyframeworks-darwin_embedded.command23
-rw-r--r--tools/depends/configure.ac2
-rw-r--r--tools/depends/target/Makefile1
-rw-r--r--tools/depends/target/Toolchain.cmake.in2
-rw-r--r--tools/depends/target/boblight/01-fix_fpermissive.patch11
-rw-r--r--tools/depends/target/boblight/02-fixandroid.patch35
-rw-r--r--tools/depends/target/boblight/03-fixtvos.patch42
-rw-r--r--tools/depends/target/boblight/Makefile57
9 files changed, 5 insertions, 171 deletions
diff --git a/cmake/scripts/darwin_embedded/ArchSetup.cmake b/cmake/scripts/darwin_embedded/ArchSetup.cmake
index b3258bebfd..2079c221cb 100644
--- a/cmake/scripts/darwin_embedded/ArchSetup.cmake
+++ b/cmake/scripts/darwin_embedded/ArchSetup.cmake
@@ -26,7 +26,8 @@ endif()
if(NOT APP_RENDER_SYSTEM OR APP_RENDER_SYSTEM STREQUAL "gles")
set(PLATFORM_REQUIRED_DEPS OpenGLES)
set(APP_RENDER_SYSTEM gles)
- list(APPEND SYSTEM_DEFINES -DGL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED)
+ list(APPEND SYSTEM_DEFINES -DGL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED
+ -DGLES_SILENCE_DEPRECATION)
else()
message(SEND_ERROR "Currently only OpenGLES rendering is supported. Please set APP_RENDER_SYSTEM to \"gles\"")
endif()
diff --git a/tools/darwin/Support/copyframeworks-darwin_embedded.command b/tools/darwin/Support/copyframeworks-darwin_embedded.command
index 1818224136..c960586d81 100755
--- a/tools/darwin/Support/copyframeworks-darwin_embedded.command
+++ b/tools/darwin/Support/copyframeworks-darwin_embedded.command
@@ -95,27 +95,6 @@ echo "Checking addons *.so for dylib dependencies"
check_xbmc_dylib_depends "$XBMC_HOME"/addons "*.so"
echo "Checking xbmc/DllPaths_generated.h for dylib dependencies"
-for a in $(grep .dylib "$BUILD_ROOT"/xbmc/DllPaths_generated.h | awk '{print $3}' | sed s/\"//g) ; do
+for a in $(grep .so "$BUILD_ROOT"/xbmc/DllPaths_generated.h | awk '{print $3}' | sed s/\"//g) ; do
check_dyloaded_depends $a
done
-
-echo "Checking $TARGET_FRAMEWORKS for missing dylib dependencies"
-REWIND="1"
-while [ $REWIND = "1" ]
-do
- let REWIND="0"
- for b in "$TARGET_FRAMEWORKS/"*dylib* ; do
- #echo " Processing $b"
- for a in $(otool -L "$b" | grep "$EXTERNAL_LIBS" | awk ' { print $1 } ') ; do
- #echo "Processing $a"
- if [ ! -f "$TARGET_FRAMEWORKS/$(basename $a)" ]; then
- echo " Packaging $a"
- cp -f "$a" "$TARGET_FRAMEWORKS/"
- chmod u+w "$TARGET_FRAMEWORKS/$(basename $a)"
- let REWIND="1"
- fi
- install_name_tool -change "$a" "$DYLIB_NAMEPATH/$(basename $a)" "$TARGET_FRAMEWORKS/$(basename $b)"
- done
- done
-done
-
diff --git a/tools/depends/configure.ac b/tools/depends/configure.ac
index d93e4aab5e..db74a00534 100644
--- a/tools/depends/configure.ac
+++ b/tools/depends/configure.ac
@@ -463,7 +463,7 @@ case $host in
case $platform_os in
darwin_embedded)
- target_minver="11.0"
+ target_minver="12.0"
;;
osx)
target_minver="11.0"
diff --git a/tools/depends/target/Makefile b/tools/depends/target/Makefile
index 9b730b7535..5e9f307e62 100644
--- a/tools/depends/target/Makefile
+++ b/tools/depends/target/Makefile
@@ -59,7 +59,6 @@ endif
ifeq ($(OS),darwin_embedded)
EXCLUDED_DEPENDS = libcec libusb gtest
ifeq ($(TARGET_PLATFORM),appletvos)
- DEPENDS += boblight
EXCLUDED_DEPENDS += libshairplay libplist
endif
DEPENDS += darwin-embedded-entitlements
diff --git a/tools/depends/target/Toolchain.cmake.in b/tools/depends/target/Toolchain.cmake.in
index a1d6b548a1..ffed3ce3f1 100644
--- a/tools/depends/target/Toolchain.cmake.in
+++ b/tools/depends/target/Toolchain.cmake.in
@@ -48,7 +48,7 @@ if(CORE_SYSTEM_NAME STREQUAL darwin_embedded)
set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
if(CORE_PLATFORM_NAME STREQUAL tvos)
set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "3")
- set(CMAKE_XCODE_ATTRIBUTE_TVOS_DEPLOYMENT_TARGET 11.0)
+ set(CMAKE_XCODE_ATTRIBUTE_TVOS_DEPLOYMENT_TARGET 12.0)
else()
set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")
set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET 11.0)
diff --git a/tools/depends/target/boblight/01-fix_fpermissive.patch b/tools/depends/target/boblight/01-fix_fpermissive.patch
deleted file mode 100644
index aab4788620..0000000000
--- a/tools/depends/target/boblight/01-fix_fpermissive.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/util/misc.cpp
-+++ b/src/util/misc.cpp
-@@ -64,7 +64,7 @@
- //convert . or , to the current locale for correct conversion of ascii float
- void ConvertFloatLocale(std::string& strfloat)
- {
-- static struct lconv* locale = localeconv();
-+ static const struct lconv* locale = localeconv();
-
- size_t pos = strfloat.find_first_of(",.");
-
diff --git a/tools/depends/target/boblight/02-fixandroid.patch b/tools/depends/target/boblight/02-fixandroid.patch
deleted file mode 100644
index ff4b5b1077..0000000000
--- a/tools/depends/target/boblight/02-fixandroid.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- a/src/lib/boblight.h
-+++ b/src/lib/boblight.h
-@@ -61,7 +61,7 @@
- //gets a functionpointer from dlsym, and returns char* from dlerror if it didn't work
- #define BOBLIGHT_FUNCTION(returnvalue, name, arguments) \
- name = BOBLIGHT_CAST(returnvalue (*) arguments)(dlsym(p_boblight, #name)); \
-- { char* error = dlerror(); if (error) return error; }
-+ { char* error = (char *)dlerror(); if (error) return error; }
-
- void* p_boblight = NULL; //where we put the lib
-
-@@ -79,7 +79,7 @@
-
- p_boblight = dlopen(filename, RTLD_NOW);
- if (p_boblight == NULL)
-- return dlerror();
-+ return (char *)dlerror();
-
- //generate dlsym lines
- #include "boblight-functions.h"
---- a/src/util/daemonize.cpp
-+++ b/src/util/daemonize.cpp
-@@ -35,10 +35,12 @@
- if (setsid() < 0)
- fprintf(stderr, "setsid(): %s", GetErrno().c_str());
-
-+#if !defined(__ANDROID__)
- //route stdout and stderr to /dev/null
- fclose(stdout);
- stdout = fopen("/dev/null", "w");
- fclose(stderr);
- stderr = fopen("/dev/null", "w");
-+#endif
- }
-
diff --git a/tools/depends/target/boblight/03-fixtvos.patch b/tools/depends/target/boblight/03-fixtvos.patch
deleted file mode 100644
index 13f8025568..0000000000
--- a/tools/depends/target/boblight/03-fixtvos.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- a/src/device/deviceltbl.cpp
-+++ b/src/device/deviceltbl.cpp
-@@ -51,7 +51,7 @@
-
- bool CDeviceLtbl::WriteOutput()
- {
-- uint8_t prefix[4] = {0x55, 0xAA, 0x00, m_channels.size()};
-+ uint8_t prefix[4] = {0x55, 0xAA, 0x00, (uint8_t)m_channels.size()};
-
- //get the channel values from the clienshandler
- int64_t now = GetTimeUs();
-@@ -114,7 +114,7 @@
- uint8_t buff[512];
- uint8_t prefix[2] = {0x55, 0xAA};
- uint8_t open[2] = {0x83, 0x00};
-- uint8_t getvalues[4] = {0x81, 0x02, 0x00, m_channels.size()};
-+ uint8_t getvalues[4] = {0x81, 0x02, 0x00, (uint8_t)m_channels.size()};
-
- if (m_isopened)
- return true; //nothing to do here
---- a/src/util/daemonize.cpp
-+++ b/src/util/daemonize.cpp
-@@ -25,7 +25,7 @@
- void Daemonize()
- {
- //fork a child process
-- pid_t pid = fork();
-+ pid_t pid = -1;//fork();
- if (pid == -1)
- fprintf(stderr, "fork(): %s", GetErrno().c_str());
- else if (pid > 0)
---- a/src/util/tcpsocket.cpp
-+++ b/src/util/tcpsocket.cpp
-@@ -31,8 +31,6 @@
- #include "tcpsocket.h"
- #include "misc.h"
-
--using namespace std;
--
- void CTcpData::SetData(uint8_t* data, int size, bool append)
- {
- CopyData(reinterpret_cast<char*>(data), size, append);
diff --git a/tools/depends/target/boblight/Makefile b/tools/depends/target/boblight/Makefile
deleted file mode 100644
index 641061cd38..0000000000
--- a/tools/depends/target/boblight/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-include ../../Makefile.include
-DEPS = ../../Makefile.include Makefile 01-fix_fpermissive.patch 02-fixandroid.patch 03-fixtvos.patch ../../download-files.include
-
-#hint for building a fat lib - "lipo -arch i386 libboblight-i386.dylib -arch x86_64 libboblight-x86_64.dylib -output libboblight-fat.dylib"
-
-# lib name, version
-LIBNAME=libboblight
-VERSION=r478
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
-SHA512=382e0b0f1ef2fca676cd64ec4190d3cfb791fed0f9477af8436e461cebfbc268058abc1fbba97a0337d3152a9b292580160b42157b4076d59b3847071deb1881
-include ../../download-files.include
-
-# configuration settings
-CONFIGURE=./configure --prefix=$(PREFIX) \
- --without-opengl \
- --without-portaudio \
- --without-x11 \
- --without-libusb
-
-LIBDYLIB=$(PLATFORM)/src/.libs/$(LIBNAME).a
-
-all: $(LIBDYLIB) .installed-$(PLATFORM)
-
-
-$(PLATFORM): $(DEPS) | $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE)
- rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
- cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); patch -p1 -i ../01-fix_fpermissive.patch
- cd $(PLATFORM); patch -p1 -i ../02-fixandroid.patch
- cd $(PLATFORM); autoreconf -vif
- cd $(PLATFORM); $(CONFIGURE)
-ifeq ($(CPU),arm64)
- cd $(PLATFORM); patch -p1 -i ../03-fixtvos.patch
- cd $(PLATFORM); sed -ie "s|-bind_at_load||" ./libtool
- cd $(PLATFORM); sed -ie "s|-bind_at_load||" ./ltmain.sh
-endif
-
-$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM)
-
-.installed-$(PLATFORM): $(LIBDYLIB)
-ifeq ($(OS),darwin_embedded)
-ifeq ($(TARGET_PLATFORM),appletvos)
- #deploy into source tree for tvos - we distribute libboblight with the bundle...
- cp $(PLATFORM)/src/.libs/libboblight.0.dylib $(CMAKE_SOURCE_DIR)/system/libboblight-tvos.0.dylib
-endif
-else
- echo "libboblight isn't a dependency of XBMC and won't be installed"
-endif
- touch $@
-clean:
- $(MAKE) -C $(PLATFORM) clean
- rm -r .installed-$(PLATFORM)
-
-distclean::
- rm -rf $(PLATFORM) .installed-$(PLATFORM)