summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2019-07-12 11:17:40 +0200
committerMichal Klocek <michal.klocek@qt.io>2019-07-12 11:42:05 +0200
commitbb2a0bbd71019c44a38ba8608f8a7b3cd2106f7e (patch)
tree917e977ef5b8036754f09fdf5eefcf0a8f6679c5
parentd35cd072c3f56aa285871a151adc30d9d81f3ea3 (diff)
Fix detection of ozone x11 support
Fixes: QTBUG-77011 Change-Id: I0136b360c74970b912124f6f308f598c80eceba3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r--mkspecs/features/configure.prf10
-rw-r--r--mkspecs/features/functions.prf8
-rw-r--r--src/core/config/linux.pri2
-rw-r--r--src/core/configure.json20
-rw-r--r--src/core/core_chromium.pri2
-rw-r--r--src/core/ozone/surface_factory_qt.cpp4
6 files changed, 25 insertions, 21 deletions
diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
index 42e5b40c9..e407ede17 100644
--- a/mkspecs/features/configure.prf
+++ b/mkspecs/features/configure.prf
@@ -94,13 +94,9 @@ defineTest(runConfigure) {
}
}
- !qtConfig(webengine-embedded-build): qtConfig(xcb) {
- for(package, $$list("libdrm xcomposite xcursor xi xtst")) {
- !qtConfig(webengine-system-$$package) {
- skipBuild("A suitable version of $$package could not be found.")
- return(false)
- }
- }
+ !qtConfig(webengine-embedded-build): qtConfig(xcb) : !qtConfig(webengine-ozone-x11) {
+ skipBuild("Could not find all necessary libraries for qpa-xcb support")
+ return(false)
}
}
}
diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf
index 9efa8958f..d3eda85b2 100644
--- a/mkspecs/features/functions.prf
+++ b/mkspecs/features/functions.prf
@@ -121,11 +121,3 @@ defineReplace(pkgConfigHostExecutable) {
return($$system_quote($$system_path($$wrapper_name)))
}
-defineTest(hasX11Dependencies) {
- for(package, $$list("libdrm xcomposite xcursor xi xtst")) {
- !qtConfig(webengine-system-$$package) {
- return(false)
- }
- }
- return(true)
-}
diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
index e75764239..eaecab3c9 100644
--- a/src/core/config/linux.pri
+++ b/src/core/config/linux.pri
@@ -175,7 +175,7 @@ host_build {
}
!packagesExist(libpci): gn_args += use_libpci=false
- qtConfig(webengine-system-x11): hasX11Dependencies() {
+ qtConfig(webengine-ozone-x11) {
gn_args += ozone_platform_x11=true
packagesExist(xscrnsaver): gn_args += use_xscrnsaver=true
}
diff --git a/src/core/configure.json b/src/core/configure.json
index 6dccd1644..9e4eb62ac 100644
--- a/src/core/configure.json
+++ b/src/core/configure.json
@@ -642,6 +642,17 @@
"condition": "config.unix && libs.webengine-x11",
"output": [ "privateFeature" ]
},
+ "webengine-ozone-x11" : {
+ "label": "Support qpa-xcb",
+ "condition": "config.unix
+ && features.webengine-system-x11
+ && features.webengine-system-libdrm
+ && features.webengine-system-xcomposite
+ && features.webengine-system-xcursor
+ && features.webengine-system-xi
+ && features.webengine-system-xtst",
+ "output": [ "privateFeature" ]
+ },
"webengine-sanitizer" : {
"label": "Sanitizer",
"autoDetect": "config.sanitizer && tests.webengine-sanitizer",
@@ -732,6 +743,11 @@
"webengine-kerberos",
{
"type": "feature",
+ "args": "webengine-ozone-x11",
+ "condition": "config.unix"
+ },
+ {
+ "type": "feature",
"args": "webengine-v8-snapshot-support",
"condition": "config.unix && config.cross_compile && features.webengine-v8-snapshot"
},
@@ -802,8 +818,7 @@
"webengine-system-png",
"webengine-system-jpeg",
"webengine-system-harfbuzz",
- "webengine-system-freetype",
- "webengine-system-x11"
+ "webengine-system-freetype"
]
},
{
@@ -821,6 +836,7 @@
"section": "Required system libraries for qpa-xcb",
"condition": "config.unix && !config.macos",
"entries": [
+ "webengine-system-x11",
"webengine-system-libdrm",
"webengine-system-xcomposite",
"webengine-system-xcursor",
diff --git a/src/core/core_chromium.pri b/src/core/core_chromium.pri
index 60eaf1f06..5566dbef7 100644
--- a/src/core/core_chromium.pri
+++ b/src/core/core_chromium.pri
@@ -219,7 +219,7 @@ HEADERS = \
web_event_factory.h
-qtConfig(webengine-system-x11): hasX11Dependencies() {
+qtConfig(webengine-ozone-x11) {
HEADERS += ozone/gl_ozone_glx_qt.h \
ozone/gl_surface_glx_qt.h
SOURCES += ozone/gl_surface_glx_qt.cpp \
diff --git a/src/core/ozone/surface_factory_qt.cpp b/src/core/ozone/surface_factory_qt.cpp
index 9570852c9..f69520b70 100644
--- a/src/core/ozone/surface_factory_qt.cpp
+++ b/src/core/ozone/surface_factory_qt.cpp
@@ -41,7 +41,7 @@
#include "qtwebenginecoreglobal_p.h"
#include "gl_context_qt.h"
#include "gl_ozone_egl_qt.h"
-#if QT_CONFIG(webengine_system_x11)
+#if QT_CONFIG(webengine_ozone_x11)
#include "gl_ozone_glx_qt.h"
#endif
@@ -58,7 +58,7 @@ namespace QtWebEngineCore {
SurfaceFactoryQt::SurfaceFactoryQt()
{
Q_ASSERT(qApp);
-#if QT_CONFIG(webengine_system_x11)
+#if QT_CONFIG(webengine_ozone_x11)
if (GLContextHelper::getGlXConfig()) {
m_impl = gl::kGLImplementationDesktopGL;
m_ozone.reset(new ui::GLOzoneGLXQt());