summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/xcb
Commit message (Collapse)AuthorAgeFilesLines
* 3rdparty: remove xcb libs and bump minimal required version to 1.11Gatis Paeglis2019-08-2744-70298/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With libxcb 1.11 as minimal required version we can: (a) (Maybe) Enable threaded GL for MESA, see QTBUG-67277. (b) Avoid performance issues described in QTBUG-46017. Bundled xcb libs don't contain the more modern SHM fd passing APIs. The official binaries use "-qt-xcb", therefore we were shipping with the performance fix #ifdef-ed out. (c) Make xcb-xkb a mandatory dependency avoiding issues described in QTBUG-30911. Issues that appear when Qt was configure with "-no-xkb -xcb-xlib", but X server has the XKB extension. (d) Drop all, but xcb-xinput sources from src/3rdparty/xcb/, for which we need "xcb-xinput >= 1.12". This way we can reduce maintenance work. The xcb libraries were origianlly bundled because of lack of availability on supported distributions. This is not the case anymore: CI for Qt 5.13 has: Ubuntu 18.04 - libxcb 1.13 RHEL 7.4 - libxcb 1.13 openSUSE 15.0 - libxcb 1.13 CI for Qt 5.12 has: Ubuntu 16.04 - libxcb 1.11 RHEL 7.4 - libxcb 1.13 openSUSE 42.3 - libxcb 1.11 RHEL 6.x - not relevant because it was dropped from supported platforms. Why 1.11 (released on Aug, 2014), but not 1.13 (released on March 2018)? Based on what we have in CI for 5.13 and 5.14 we could update to 1.13, but it means that Qt would require a very recent version of 3rd party dependency. [ChangeLog][Configure][X11] The minimal required version of libxcb now is 1.11. [ChangeLog][Third-Party Code][X11] Removed all bundled XCB libs, with the exception of xcb-xinput, which is not available on systems with libxcb 1.11. [ChangeLog][Configure][X11] Removed -qt-xcb, -system-xcb, -xkb, -xcb-xinput switches. [ChangeLog][Platform Specific Changes][X11] XKB and XInput2 now are mandatory dependencies for XCB plugin. XCB-XKB is a part of libxcb 1.11 releases. XCB-XInput is not part of libxcb 1.11 releases, but Qt builders can use -bundled-xcb-xinput switch. Fixes: QTBUG-73862 Fixes: QTBUG-73888 Task-number: QTBUG-67277 Task-number: QTBUG-30939 Change-Id: I4c2bd2a0e667220d32fd1fbfa1419c844f17fcce Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* configure: properly atomize render vs. renderutilGatis Paeglis2019-01-033-15/+27
| | | | | | | | | | | | | | | | | | xcb-render is a C interface for X11 extension. xcb-render-util is a utility library that complements xcb-render by providing convenience functions and interfaces which make the raw X protocol more usable. Bumped xcb-render-util version to avoid having include hacks. We were bundling 8 years old release 0.3.8 (Apr, 2011). 0.3.9 is the latest release and it was relesed 4,5 years ago (Jun, 2014). All CI machines have 0.3.9. The only thing that have changed in xcb-render-util sources since 2011 is that we don't need to have various hacks to include xcb_renderutil.h in C++ files. Upgrading bundled XCB libs was also requested in QTBUG-71109. Task-number: QTBUG-71109 Change-Id: Ib261f7584ad81be95660123b007e2200a3042f4c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Update READMEs for the bundled xcb sources and the xcb pluginAlexander Volkov2018-03-231-1/+2
| | | | | | | | | | | | Mention that the current minimal supported version of libxcb is 1.9.1, amend 1f5d791708d5d256a76872f254251dac66e82cdb. Remove the specific package requirements for the xcb plugin: these lists are unmaintained and besides there are build instructions in wiki: https://wiki.qt.io/Building_Qt_5_from_Git Change-Id: I4d5b0583a1ba8a355ee1649022845f6c8d520e7c Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Add xcb-xinput to 3rd party libsAlexander Volkov2018-03-203-0/+23464
| | | | | | | | | | | | | | | | The added xcb-xinput code was produced by build of libxcb 1.13 with xcb-proto 1.13. The following parts were removed from it: - Pointer Barriers API (requires xcb-xfixes 1.9 with xcb-proto 1.9) - SendExtensionEvent API (requires definition of xcb_raw_generic_event_t from libxcb 1.13) [ChangeLog][Third-Party Code] Sources of xcb-xinput 1.13 were bundled and are available via -qt-xcb. Change-Id: I43d2f43bee0ba874d099c9fb858e74b0e3edc970 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Bump up the required libxcb version to 1.9Alexander Volkov2018-03-2017-710/+4105
| | | | | | | | | | | | | | | | | | | | ...and update bundled xcb sources to libxcb 1.9.1 with xcb-proto 1.8. These are the minimal versions of libxcb and xcb-proto available on officially supported platforms (they are present on RHEL 6.6). Remove support_libxcb_versions_where_xcb_sumof_not_available.patch and revert it for xkb.c, because libxcb 1.9 implements xcb_sumof(). This change makes it easier to bundle xcb libs from newer versions of libxcb (e.g. xcb-xinput). [ChangeLog][Third-Party Code][X11] The minimal required version of libxcb is now 1.9. Bundled xcb sources were updated to libxcb 1.9.1 built with xcb-proto 1.8. Change-Id: Iebcd05656c4a5ed5dd95e898d497acef857423f0 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Add qt_attribution.json filesKai Koehne2016-08-122-0/+47
| | | | | | | | | | | | | | The format is documented in http://wiki.qt.io/Qt_attribution.json Also add a LICENSE file in case there is none yet (usually copied from the source headers). Task-number: QTBUG-55139 Change-Id: Ib54c73d0bb9946cfd8579e86c6858035184ca516 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* xcb: Add Xinerama 3rd party source code for static buildBłażej Szczygieł2015-12-223-1/+1464
| | | | | Change-Id: I421d0bcf3fd6362ad6e95db5cfcdefd1a9ec096f Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* Update bundled libxcb-xkb version to 1.10Gatis Paeglis2014-03-065-10721/+1984
| | | | | | | | To utilize the new xkb_x11_* API from libxkbcommon 0.4.0, we need to update the bundled libxcb-xkb version to 1.10, which is the minimal required version. Change-Id: I0b72a2684bd11cbe5ae65d6dab7292be3a76464c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix xkb.h compile warning on 32 bit systemsGatis Paeglis2013-11-212-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | The message: ../../../3rdparty/xcb/include/xcb/xkb.h:118:5: error: this decimal constant is unsigned only in ISO C90 [-Werror] From the C89 standard: "The type of an integer constant is the first of the corresponding list in which its value can be represented. Unsuffixed decimal: int, long int, unsigned long int;" In the later standards "unsigned long int" is removed from the "Unsuffixed decimal" list. If integer constant is suffixed by the letter u or U, then the list is: unsigned int, unsigned long int, .. "unsigned long int" is sufficient on 32 bit systems to store the values of XCB_XKB_CONTROL_PER_KEY_REPEAT and XCB_XKB_CONTROL_CONTROLS_ENABLED Task-number: QTBUG-34142 Change-Id: Ic23781fcd00d4901ec9bb5a85068f4315c14bfb8 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add xcb-xkb to 3rd party libsGatis Paeglis2013-05-074-0/+37065
| | | | | | | | | | | | | | | | | | 1) -qt-xcb a) Use xkb from the 3rd party libs. As it is done for the other xcb dependencies when qt configure with -qt-xcb. 2) -system-xcb (default) a) If xkb found then use xkb from the system. (Currenly xkb is not enabled by default when configuring libxcb library). b) If xkb can't be found on the system then keyboard state will be updated from X11 core events. Change-Id: I7c3dbce6daa2cec52067cd5af80f19040233a0db Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Add configure option to minimize xcb runtime dependenciesKai Koehne2012-11-0734-0/+37063
Some of the xcb- libraries we depend upon are not (yet) common across distributions. This is problematic for binaries that should be working on different distributions. The patch mitigates this by: Adding the files from libxcb-proto (version 0.1.6), compiled with libxcb-1.5 xcb-util (version 0.3.9) xcb-util-image (version 0.3.9) xcb-util-keysyms (version 0.3.9) xcb-util-renderutil (version 0.3.8) xcb-util-wm (version 0.3.9) from xcb.freedesktop.org/dist to src/3rdparty/xcb. Adding a configure option '-qt-xcb' to use the sources instead of linking to the respective runtime libraries. Task-number: QTBUG-27803 Change-Id: I6ea87daa382871b2b9072a601511523fa0b9f44b Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>