[vlc-commits] contrib: harfbuff: use pkg-config to find freetype

Steve Lhomme git at videolan.org
Wed May 23 18:25:15 CEST 2018


vlc/vlc-3.0 | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Tue May 22 16:05:53 2018 +0200| [10eac8e6253e48676e1ae22ceb14e16d965b2da4] | committer: Thomas Guillem

contrib: harfbuff: use pkg-config to find freetype

It will grab the -lz depedency if needed

(cherry picked from commit de8991f4f16f69f78132d335e04cb91ba213b052)
Signed-off-by: Thomas Guillem <thomas at gllm.fr>

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

 contrib/src/harfbuzz/Cmake-test.patch              | 11 ------
 .../harfbuzz/harfbuzz-fix-freetype-detect.patch    | 39 ++++++++++++++++++++++
 contrib/src/harfbuzz/rules.mak                     |  2 +-
 3 files changed, 40 insertions(+), 12 deletions(-)

diff --git a/contrib/src/harfbuzz/Cmake-test.patch b/contrib/src/harfbuzz/Cmake-test.patch
deleted file mode 100644
index e9bda83b5c..0000000000
--- a/contrib/src/harfbuzz/Cmake-test.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- harfbuzz/CMakeLists.txt.old	2018-02-28 22:59:53.000000000 +0100
-+++ harfbuzz/CMakeLists.txt	2018-05-18 18:00:47.589767685 +0200
-@@ -272,7 +272,7 @@
-     message(FATAL_ERROR "HB_HAVE_FREETYPE was set, but we failed to find it. Maybe add a CMAKE_PREFIX_PATH= to your Freetype2 install prefix")
-   endif ()
- 
--  list(APPEND THIRD_PARTY_LIBS ${FREETYPE_LIBRARIES})
-+  list(APPEND THIRD_PARTY_LIBS ${FREETYPE_LIBRARIES} -lz)
-   include_directories(AFTER ${FREETYPE_INCLUDE_DIRS})
-   add_definitions(-DHAVE_FREETYPE=1)
- 
diff --git a/contrib/src/harfbuzz/harfbuzz-fix-freetype-detect.patch b/contrib/src/harfbuzz/harfbuzz-fix-freetype-detect.patch
new file mode 100644
index 0000000000..484dee2aef
--- /dev/null
+++ b/contrib/src/harfbuzz/harfbuzz-fix-freetype-detect.patch
@@ -0,0 +1,39 @@
+--- harfbuzz/CMakeLists.txt.pkg-freetype	2018-05-22 15:42:04.861877600 +0200
++++ harfbuzz/CMakeLists.txt	2018-05-22 15:53:50.808676800 +0200
+@@ -267,6 +267,14 @@ set (subset_project_headers
+ 
+ ## Find and include needed header folders and libraries
+ if (HB_HAVE_FREETYPE)
++  find_package(PkgConfig)
++  pkg_check_modules(PC_FREETYPE2 QUIET freetype2)
++  
++  if (PC_FREETYPE2_FOUND)
++    include_directories(AFTER ${PC_FREETYPE2_STATIC_INCLUDE_DIRS})
++    list(APPEND THIRD_PARTY_LIBS ${PC_FREETYPE2_STATIC_LIBRARIES})
++    add_definitions(${PC_FREETYPE2_STATIC_CFLAGS})
++  else ()
+   include (FindFreetype)
+   if (NOT FREETYPE_FOUND)
+     message(FATAL_ERROR "HB_HAVE_FREETYPE was set, but we failed to find it. Maybe add a CMAKE_PREFIX_PATH= to your Freetype2 install prefix")
+@@ -274,15 +282,17 @@ if (HB_HAVE_FREETYPE)
+ 
+   list(APPEND THIRD_PARTY_LIBS ${FREETYPE_LIBRARIES} -lz)
+   include_directories(AFTER ${FREETYPE_INCLUDE_DIRS})
+-  add_definitions(-DHAVE_FREETYPE=1)
+-
+-  list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-ft.cc)
+-  list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-ft.h)
+ 
+   # So check_funcs can find its headers
+   set (CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${FREETYPE_INCLUDE_DIRS})
+   set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${FREETYPE_LIBRARIES})
++  endif ()
+ 
++  list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-ft.cc)
++  list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-ft.h)
++
++  add_definitions(-DHAVE_FREETYPE=1)
++  
+   check_funcs(FT_Get_Var_Blend_Coordinates FT_Set_Var_Blend_Coordinates FT_Done_MM_Var)
+ endif ()
+ 
diff --git a/contrib/src/harfbuzz/rules.mak b/contrib/src/harfbuzz/rules.mak
index 294deb2ca9..473d0ac617 100644
--- a/contrib/src/harfbuzz/rules.mak
+++ b/contrib/src/harfbuzz/rules.mak
@@ -20,7 +20,7 @@ harfbuzz: harfbuzz-$(HARFBUZZ_VERSION).tar.bz2 .sum-harfbuzz
 	$(UNPACK)
 	$(APPLY) $(SRC)/harfbuzz/harfbuzz-aarch64.patch
 	$(APPLY) $(SRC)/harfbuzz/harfbuzz-clang.patch
-	$(APPLY) $(SRC)/harfbuzz/Cmake-test.patch
+	$(APPLY) $(SRC)/harfbuzz/harfbuzz-fix-freetype-detect.patch
 	$(MOVE)
 
 DEPS_harfbuzz = freetype2 $(DEPS_freetype2)



More information about the vlc-commits mailing list