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