From f6c1a34972eb2d9132346ab4eb442855d3ef555e Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
Date: Mon, 20 Mar 2017 13:37:09 +0100
Subject: [PATCH] Do not use system libxml if not ICU capable
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Using a libxml without ICU capability will break some websites, so
better fall back to bundled libxml in that case.

Task-number: QTBUG-59094
Change-Id: Ia24c4045ed9eb9731367cca07d8467ea9b785f2e
Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org>
Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
---
 tools/qmake/mkspecs/features/configure.prf | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf
index 86665274f..6e61f2206 100644
--- a/tools/qmake/mkspecs/features/configure.prf
+++ b/tools/qmake/mkspecs/features/configure.prf
@@ -71,7 +71,14 @@ defineTest(runConfigure) {
             packagesExist(opus): WEBENGINE_CONFIG += use_system_opus
             else: log("System opus not found. Using Chromium's copy.$${EOL}")
         }
-        packagesExist(libxml-2.0,libxslt): WEBENGINE_CONFIG += use_system_libxslt use_system_libxml2
+        packagesExist(libxml-2.0,libxslt) {
+            PKGCONFIG_LIBS_STATIC = $$system($$PKG_CONFIG --libs --static $$PKGCONFIG_LIB)
+            contains(PKGCONFIG_LIBS_STATIC, icuuc) {
+                WEBENGINE_CONFIG += use_system_libxslt use_system_libxml2
+            } else {
+                log("System libxml2 or libxslt not configured with ICU. Using Chromium's copies.$${EOL}")
+            }
+        }
         else: log("System libxml2 or libxslt not found. Using Chromium's copies.$${EOL}")
         for(package, $$list("libevent jsoncpp protobuf")) {
             packagesExist($$package): WEBENGINE_CONFIG += use_system_$$package
-- 
GitLab