[vlc-commits] contrib/harfbuzz: fix CoreText detection and linking

Felix Paul Kühne git at videolan.org
Sat May 26 18:38:56 CEST 2018


vlc/vlc-3.0 | branch: master | Felix Paul Kühne <felix at feepk.net> | Sat May 26 17:55:32 2018 +0200| [c51959db744767ed9d9a13627430b1d6396bb1d6] | committer: Felix Paul Kühne

contrib/harfbuzz: fix CoreText detection and linking

Manual backport of aff7066a

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=c51959db744767ed9d9a13627430b1d6396bb1d6
---

 .../harfbuzz/harfbuzz-fix-coretext-detection.patch | 51 ++++++++++++++++++++++
 contrib/src/harfbuzz/rules.mak                     |  5 +--
 2 files changed, 52 insertions(+), 4 deletions(-)

diff --git a/contrib/src/harfbuzz/harfbuzz-fix-coretext-detection.patch b/contrib/src/harfbuzz/harfbuzz-fix-coretext-detection.patch
new file mode 100644
index 0000000000..977600c5ed
--- /dev/null
+++ b/contrib/src/harfbuzz/harfbuzz-fix-coretext-detection.patch
@@ -0,0 +1,51 @@
+diff -ru harfbuzz/CMakeLists.txt harfbuzz/CMakeLists.txt
+--- harfbuzz/CMakeLists.txt	2018-05-26 17:51:35.000000000 +0200
++++ harfbuzz/CMakeLists.txt	2018-05-26 17:47:57.000000000 +0200
+@@ -364,16 +364,41 @@
+ if (APPLE AND HB_HAVE_CORETEXT)
+   # Apple Advanced Typography
+   add_definitions(-DHAVE_CORETEXT)
++  
++  set(CMAKE_FIND_ROOT_PATH ${CMAKE_IOS_DEVELOPER_ROOT} ${CMAKE_OSX_SYSROOT}
++    ${CMAKE_PREFIX_PATH} CACHE string  "appleOS find search path root" FORCE)
++  # Default to searching for frameworks first.
++  set(CMAKE_FIND_FRAMEWORK FIRST)
++  # Set up the default search directories for frameworks.
++  set(CMAKE_SYSTEM_FRAMEWORK_PATH
++    ${CMAKE_OSX_SYSROOT}/System/Library/Frameworks
++    ${CMAKE_OSX_SYSROOT}/System/Library/PrivateFrameworks
++    ${CMAKE_OSX_SYSROOT}/Developer/Library/Frameworks)
++  # Only search the specified iOS SDK, not the remainder of the host filesystem.
++  set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
++  set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
++  set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+ 
+   list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-coretext.cc)
+   list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-coretext.h)
+ 
+-  find_library(APPLICATION_SERVICES_FRAMEWORK ApplicationServices)
+-  if (APPLICATION_SERVICES_FRAMEWORK)
+-    list(APPEND THIRD_PARTY_LIBS ${APPLICATION_SERVICES_FRAMEWORK})
+-  endif (APPLICATION_SERVICES_FRAMEWORK)
+-
+-  mark_as_advanced(APPLICATION_SERVICES_FRAMEWORK)
++  find_library(CORETEXT_FRAMEWORK CoreText)
++  if (CORETEXT_FRAMEWORK)
++    list(APPEND THIRD_PARTY_LIBS ${CORETEXT_FRAMEWORK})
++  endif (CORETEXT_FRAMEWORK)
++  mark_as_advanced(CORETEXT_FRAMEWORK)
++  
++  find_library(COREFOUNDATION_FRAMEWORK CoreFoundation)
++  if (COREFOUNDATION_FRAMEWORK)
++    list(APPEND THIRD_PARTY_LIBS ${COREFOUNDATION_FRAMEWORK})
++  endif (COREFOUNDATION_FRAMEWORK)
++  mark_as_advanced(COREFOUNDATION_FRAMEWORK)
++  
++  find_library(COREGRAPHICS_FRAMEWORK CoreGraphics)
++  if (COREGRAPHICS_FRAMEWORK)
++    list(APPEND THIRD_PARTY_LIBS ${COREGRAPHICS_FRAMEWORK})
++  endif (COREGRAPHICS_FRAMEWORK)
++  mark_as_advanced(COREGRAPHICS_FRAMEWORK)
+ endif ()
+ 
+ if (WIN32 AND HB_HAVE_UNISCRIBE)
diff --git a/contrib/src/harfbuzz/rules.mak b/contrib/src/harfbuzz/rules.mak
index 473d0ac617..c65b8d1172 100644
--- a/contrib/src/harfbuzz/rules.mak
+++ b/contrib/src/harfbuzz/rules.mak
@@ -7,10 +7,6 @@ ifeq ($(call need_pkg,"harfbuzz"),)
 PKGS_FOUND += harfbuzz
 endif
 
-ifdef HAVE_DARWIN_OS
-HARFBUZZCONF += --with-coretext=yes
-endif
-
 $(TARBALLS)/harfbuzz-$(HARFBUZZ_VERSION).tar.bz2:
 	$(call download_pkg,$(HARFBUZZ_URL),harfbuzz)
 
@@ -21,6 +17,7 @@ harfbuzz: harfbuzz-$(HARFBUZZ_VERSION).tar.bz2 .sum-harfbuzz
 	$(APPLY) $(SRC)/harfbuzz/harfbuzz-aarch64.patch
 	$(APPLY) $(SRC)/harfbuzz/harfbuzz-clang.patch
 	$(APPLY) $(SRC)/harfbuzz/harfbuzz-fix-freetype-detect.patch
+	$(APPLY) $(SRC)/harfbuzz/harfbuzz-fix-coretext-detection.patch
 	$(MOVE)
 
 DEPS_harfbuzz = freetype2 $(DEPS_freetype2)



More information about the vlc-commits mailing list