From 981e38d2dc82c047c6ad8ec19427d3ac7434dc3c Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Date: Mon, 12 Oct 2015 16:10:47 +0200
Subject: [PATCH] Fix build with freetype2 depending on harfbuzz
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Chromium uses system freetype2 by default but not harfbuzz by default,
since some newer versions of freetype2 depends on harfbuzz, we need to
configure Chromium to use system harfbuzz in those cases.

Change-Id: Ic15abe85c5b7e5ef1c3d82420efbc8605c2fe1ae
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
---
 src/core/config/linux.pri                  | 2 +-
 tools/qmake/mkspecs/features/configure.prf | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
index 8d736d0c1..7f269245e 100644
--- a/src/core/config/linux.pri
+++ b/src/core/config/linux.pri
@@ -27,9 +27,9 @@ GYP_CONFIG += \
 contains(QT_CONFIG, system-zlib): use?(system_minizip): GYP_CONFIG += use_system_zlib=1
 contains(QT_CONFIG, system-png): GYP_CONFIG += use_system_libpng=1
 contains(QT_CONFIG, system-jpeg): GYP_CONFIG += use_system_libjpeg=1
-contains(QT_CONFIG, system-harfbuzz): GYP_CONFIG += use_system_harfbuzz=1
 !contains(QT_CONFIG, pulseaudio): GYP_CONFIG += use_pulseaudio=0
 
+use?(system_harfbuzz): GYP_CONFIG += use_system_harfbuzz=1
 use?(system_libevent): GYP_CONFIG += use_system_libevent=1
 use?(system_libwebp):  GYP_CONFIG += use_system_libwebp=1
 use?(system_libsrtp):  GYP_CONFIG += use_system_libsrtp=1
diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf
index f117e214d..758cd9fde 100644
--- a/tools/qmake/mkspecs/features/configure.prf
+++ b/tools/qmake/mkspecs/features/configure.prf
@@ -25,11 +25,14 @@ defineTest(runConfigure) {
         !config_libcap:skipBuild("libcap development package appears to be missing")
         !config_khr:skipBuild("khronos development headers appear to be missing (mesa/libegl1-mesa-dev)")
 
-        REQUIRED_PACKAGES = dbus-1 fontconfig
+        REQUIRED_PACKAGES = dbus-1 fontconfig freetype2
         contains(QT_CONFIG, xcb): REQUIRED_PACKAGES += libdrm xcomposite xcursor xi xrandr xscrnsaver xtst
         contains(QT_CONFIG, pulseaudio): REQUIRED_PACKAGES += libpulse
         contains(QT_CONFIG, system-png): REQUIRED_PACKAGES += libpng
-        contains(QT_CONFIG, system-harfbuzz): REQUIRED_PACKAGES += harfbuzz
+        contains(QT_CONFIG, system-harfbuzz)|packagesExist("\'freetype2 >= 2.5.3\'"): {
+            WEBENGINE_CONFIG += use_system_harfbuzz
+            REQUIRED_PACKAGES += harfbuzz
+        }
         !cross_compile: REQUIRED_PACKAGES += libpci
 
         for(package, $$list($$REQUIRED_PACKAGES)) {
-- 
GitLab