mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-15 12:51:00 +02:00
See here for background: https://bugreports.qt.io/browse/QTBUG-34748 libxcb temporarily had an abi breakage which caused crashes when qt was compiled against a non-compatible version. Building qt with -qt-xcb should have shielded us from this issue, except that incompatible headers were used when building qt's wrapper. Make sure those headers aren't picked up by qt's build. Details: qt's build adds a wrapper around the xcb libs when -qt-xcb is used. This is done to avoid having to link to a handful of different libs, which may not be api/abi stable. This build depends on include-order, so that its files are found before the real libxcb headers. Our build (for other reasons related to qt's complicated build-system) injects our prefix into CXXFLAGS. Because libxcb is found in this path, that reverses the include-order, negating the purpose of the wrapper. To fix, libxcb's includes are simply moved to a subdir. pkg-config ensures that they're still found properly when needed. To make things even more interesting, this behavior in qt's .pro files is broken: INCLUDEPATH += $$QMAKE_CFLAGS_XCB The INCLUDEPATH variable is processed by qmake which automatically prefixes each entry with "-I". The QMAKE_CFLAGS_XCB variable comes from pkg-config and already contains -I, making the path look like "-I-I/path/to/xcb/headers". To work around that, CFLAGS/CXXFLAGS are used here rather than INCLUDEPATH. |
||
|---|---|---|
| .. | ||
| bdb.mk | ||
| boost.mk | ||
| dbus.mk | ||
| expat.mk | ||
| fontconfig.mk | ||
| freetype.mk | ||
| libICE.mk | ||
| libSM.mk | ||
| libX11.mk | ||
| libXau.mk | ||
| libxcb.mk | ||
| libXext.mk | ||
| miniupnpc.mk | ||
| native_ccache.mk | ||
| native_cctools.mk | ||
| native_cdrkit.mk | ||
| native_comparisontool.mk | ||
| native_libdmg-hfsplus.mk | ||
| native_protobuf.mk | ||
| openssl.mk | ||
| packages.mk | ||
| protobuf.mk | ||
| qrencode.mk | ||
| qt.mk | ||
| qt46.mk | ||
| xcb_proto.mk | ||
| xextproto.mk | ||
| xproto.mk | ||
| xtrans.mk | ||