configure: fix detection of xcb extensions

- Properly detect xcb-render and xkb features.
  a) when -qt-xcb, use bundled versions
  b) when -system-xcb, detect from system

- Be consistent with other features (jpeg, png)
  in "enable"/"disable" field handling.

- And move the "xkb" feature higer up in configure.json.
  It is an X11 extension, so keep them all together (instead
  of grouping it with libxkbcommon).

Task-number: QTBUG-59064
Change-Id: I60f95fb37060b8abde4c611cdef178ba3795982c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
This commit is contained in:
Gatis Paeglis 2017-02-28 14:11:44 +01:00
parent 9091a058bc
commit e893e657e5

View File

@ -224,7 +224,7 @@
] ]
}, },
"xcb_syslibs": { "xcb_syslibs": {
"label": "XCB (secondary)", "label": "XCB (extensions)",
"test": "qpa/xcb-syslibs", "test": "qpa/xcb-syslibs",
"sources": [ "sources": [
{ "type": "pkgConfig", { "type": "pkgConfig",
@ -701,11 +701,11 @@
"output": [ "privateFeature" ] "output": [ "privateFeature" ]
}, },
"system-xcb": { "system-xcb": {
"label": "Using system provided XCB libraries", "label": "Using system-provided XCB libraries",
"enable": "input.xcb == 'system' || input.xcb == 'yes'", "enable": "input.xcb == 'system'",
"disable": "input.xcb == 'qt' || input.xcb == 'no'", "disable": "input.xcb == 'qt'",
"autoDetect": "!config.darwin", "autoDetect": "!config.darwin",
"condition": "libs.xcb && libs.xcb_syslibs", "condition": "features.xcb && libs.xcb_syslibs",
"output": [ "privateFeature" ] "output": [ "privateFeature" ]
}, },
"x11-prefix": { "x11-prefix": {
@ -721,8 +721,14 @@
}, },
"xcb-render": { "xcb-render": {
"label": "XCB render", "label": "XCB render",
"emitIf": "features.system-xcb", "emitIf": "features.xcb",
"condition": "libs.xcb_render", "condition": "!features.system-xcb || libs.xcb_render",
"output": [ "privateFeature" ]
},
"xkb": {
"label": "XCB XKB",
"emitIf": "features.xcb",
"condition": "!features.system-xcb || libs.xcb_xkb",
"output": [ "privateFeature" ] "output": [ "privateFeature" ]
}, },
"xcb-xlib": { "xcb-xlib": {
@ -739,6 +745,7 @@
}, },
"xinput2": { "xinput2": {
"label": "Xinput2", "label": "Xinput2",
"emitIf": "features.xcb",
"condition": "libs.xinput2", "condition": "libs.xinput2",
"output": [ "privateFeature" ] "output": [ "privateFeature" ]
}, },
@ -755,11 +762,6 @@
"condition": "libs.xkbcommon_x11", "condition": "libs.xkbcommon_x11",
"output": [ "privateFeature" ] "output": [ "privateFeature" ]
}, },
"xkb": {
"label": "XCB XKB",
"condition": "features.system-xcb && libs.xcb_xkb",
"output": [ "privateFeature" ]
},
"xkb-config-root": { "xkb-config-root": {
"label": "XKB config root", "label": "XKB config root",
"emitIf": "features.xcb", "emitIf": "features.xcb",