From ecfb3ba8a7eb116c838a1acd5b82ca59ce76b082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Br=C3=BCning?= Date: Tue, 22 Nov 2016 09:19:12 +0100 Subject: Add pkg-config test for system harfbuzz version on linux Older harfbuzz versions like the one bundled with Ubuntu 16.04 cause crashes of Qt WebEngine applications. Use the bundled copy although Qt was configured with -system-harfbuzz in those scenarios. Task-number: QTBUG-56895 Change-Id: I8fad6754447ba32c3630e6772ca2ae6d4fd710c1 Reviewed-by: Kai Koehne Reviewed-by: Allan Sandfeld Jensen --- src/core/config/linux.pri | 2 +- tools/qmake/mkspecs/features/configure.prf | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri index fc2b124fb..83c852f86 100644 --- a/src/core/config/linux.pri +++ b/src/core/config/linux.pri @@ -39,7 +39,7 @@ gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): GYP_CONFIG += no_delete_null_p qtConfig(system-zlib): use?(system_minizip): GYP_CONFIG += use_system_zlib=1 qtConfig(system-png): GYP_CONFIG += use_system_libpng=1 qtConfig(system-jpeg): GYP_CONFIG += use_system_libjpeg=1 -qtConfig(system-harfbuzz): GYP_CONFIG += use_system_harfbuzz=1 +qtConfig(system-harfbuzz): use?(system_harfbuzz): GYP_CONFIG += use_system_harfbuzz=1 !qtConfig(glib): GYP_CONFIG += use_glib=0 contains(QT_CONFIG, pulseaudio) { GYP_CONFIG += use_pulseaudio=1 diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf index e2bb44f20..c6f07e39d 100644 --- a/tools/qmake/mkspecs/features/configure.prf +++ b/tools/qmake/mkspecs/features/configure.prf @@ -28,7 +28,10 @@ defineTest(runConfigure) { !cross_compile: qtConfig(xcb): REQUIRED_PACKAGES += libdrm xcomposite xcursor xi xrandr xscrnsaver xtst contains(QT_CONFIG, pulseaudio): REQUIRED_PACKAGES += libpulse qtConfig(system-png): REQUIRED_PACKAGES += libpng - qtConfig(system-harfbuzz): REQUIRED_PACKAGES += harfbuzz + qtConfig(system-harfbuzz) { + packagesExist("\'harfbuzz >= 1.2.0\'"): WEBENGINE_CONFIG += use_system_harfbuzz + else: log("System harfbuzz is too old (min. version 1.2). Using Chromium's copy.$${EOL}") + } !cross_compile: REQUIRED_PACKAGES += libpci for(package, $$list($$REQUIRED_PACKAGES)) { -- cgit v1.2.3