Disable only accessibility bridge without dbus on linux

Keeping accessibility and only disabling the bridge will
enable more builds to work.

Warning about disabling accessibility disabled is needed
because in QStyle it is used to discover semantics about widgets
(if a toolbutton is in a toolbar).

Change-Id: Iae4e6ab63479743bdd70cba4b1954ec7cf3f88e9
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
This commit is contained in:
Frederik Gladhorn 2013-01-18 16:36:42 +01:00 committed by The Qt Project
parent d5dec5d00d
commit 586fabb3b5
5 changed files with 28 additions and 18 deletions

30
configure vendored
View File

@ -831,6 +831,7 @@ CFG_AVX=auto
CFG_AVX2=auto CFG_AVX2=auto
CFG_REDUCE_RELOCATIONS=auto CFG_REDUCE_RELOCATIONS=auto
CFG_ACCESSIBILITY=auto CFG_ACCESSIBILITY=auto
CFG_ACCESSIBILITY_ATSPI_BRIDGE=no # will be enabled depending on dbus and accessibility being enabled
CFG_IWMMXT=no CFG_IWMMXT=no
CFG_NEON=auto CFG_NEON=auto
CFG_MIPS_DSP=auto CFG_MIPS_DSP=auto
@ -3093,6 +3094,10 @@ Configure options:
+ -largefile ......... Enables Qt to access files larger than 4 GB. + -largefile ......... Enables Qt to access files larger than 4 GB.
-no-accessibility .. Do not compile Accessibility support. -no-accessibility .. Do not compile Accessibility support.
Disabling accessibility is not recommended, as it will break QStyle
and may break other internal parts of Qt.
With this switch you create a source incompatible version of Qt,
which is unsupported.
+ -accessibility ..... Compile Accessibility support. + -accessibility ..... Compile Accessibility support.
-no-sql-<driver> ... Disable SQL <driver> entirely. -no-sql-<driver> ... Disable SQL <driver> entirely.
@ -4949,20 +4954,19 @@ if [ "$CFG_KMS" = "yes" ]; then
fi fi
# Detect accessibility support # Detect accessibility support
if [ "$CFG_ACCESSIBILITY" != "no" ]; then if [ "$CFG_ACCESSIBILITY" = "no" ]; then
if [ "$CFG_XCB" = "no" ]; then echo >&2 "Warning: Disabling Accessibility. This version of Qt is unsupported."
CFG_ACCESSIBILITY=yes else
else CFG_ACCESSIBILITY=yes
# linux/xcb accessibility needs dbus
if [ "$CFG_DBUS" != "no" ] && [ -n "$PKG_CONFIG" ]; then # linux/xcb accessibility bridge needs dbus
CFG_ACCESSIBILITY=yes if [ "$CFG_XCB" != "no" ]; then
if [ "$CFG_DBUS" != "no" ]; then
CFG_ACCESSIBILITY_ATSPI_BRIDGE=yes
QT_CONFIG="$QT_CONFIG accessibility-atspi-bridge"
else else
if [ "$CFG_ACCESSIBILITY" = "auto" ]; then echo >&2 "Warning: Disabling Linux Accessibility Bridge: DBus is missing."
CFG_ACCESSIBILITY=no QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ACCESSIBILITY_ATSPI_BRIDGE"
else
echo "Accessibility support needs DBus."
exit 101
fi
fi fi
fi fi
fi fi

View File

@ -1,4 +1,4 @@
qtHaveModule(dbus):contains(QT_CONFIG, xcb):contains(QT_CONFIG, accessibility) { contains(QT_CONFIG, accessibility-atspi-bridge) {
QT += dbus QT += dbus
include(../../3rdparty/atspi2/atspi2.pri) include(../../3rdparty/atspi2/atspi2.pri)

View File

@ -84,8 +84,10 @@
#include <QtGui/QScreen> #include <QtGui/QScreen>
#ifndef QT_NO_ACCESSIBILITY #ifndef QT_NO_ACCESSIBILITY
#include <qpa/qplatformaccessibility.h> #include <qpa/qplatformaccessibility.h>
#ifndef QT_NO_ACCESSIBILITY_ATSPI_BRIDGE
#include "../../../platformsupport/linuxaccessibility/bridge_p.h" #include "../../../platformsupport/linuxaccessibility/bridge_p.h"
#endif #endif
#endif
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
@ -112,7 +114,7 @@ QXcbIntegration::QXcbIntegration(const QStringList &parameters)
m_fontDatabase.reset(new QGenericUnixFontDatabase()); m_fontDatabase.reset(new QGenericUnixFontDatabase());
m_inputContext.reset(QPlatformInputContextFactory::create()); m_inputContext.reset(QPlatformInputContextFactory::create());
#ifndef QT_NO_ACCESSIBILITY #ifndef QT_NO_ACCESSIBILITY_ATSPI_BRIDGE
m_accessibility.reset(new QSpiAccessibleBridge()); m_accessibility.reset(new QSpiAccessibleBridge());
#endif #endif
} }

View File

@ -50,7 +50,7 @@ cross_compile: SUBDIRS -= \
wince*|!contains(QT_CONFIG, accessibility): SUBDIRS -= qaccessibility wince*|!contains(QT_CONFIG, accessibility): SUBDIRS -= qaccessibility
!contains(QT_CONFIG, accessibility)|!contains(QT_CONFIG, xcb): SUBDIRS -= qaccessibilitylinux !contains(QT_CONFIG, accessibility-atspi-bridge): SUBDIRS -= qaccessibilitylinux
!mac: SUBDIRS -= \ !mac: SUBDIRS -= \
macgui \ macgui \

View File

@ -1650,8 +1650,12 @@ bool Configure::displayHelp()
desc("WIDGETS", "no", "-no-widgets", "Disable QtWidgets module.\n"); desc("WIDGETS", "no", "-no-widgets", "Disable QtWidgets module.\n");
desc("ACCESSIBILITY", "no", "-no-accessibility", "Do not compile Windows Active Accessibility support."); desc("ACCESSIBILITY", "no", "-no-accessibility", "Disable accessibility support.\n");
desc("ACCESSIBILITY", "yes", "-accessibility", "Compile Windows Active Accessibility support.\n"); desc( "", "Disabling accessibility is not recommended, as it will break QStyle\n"
"and may break other internal parts of Qt.\n"
"With this switch you create a source incompatible version of Qt,\n"
"which is unsupported.\n");
desc("ACCESSIBILITY", "yes", "-accessibility", "Enable accessibility support.\n");
desc( "-no-sql-<driver>", "Disable SQL <driver> entirely, by default none are turned on."); desc( "-no-sql-<driver>", "Disable SQL <driver> entirely, by default none are turned on.");
desc( "-qt-sql-<driver>", "Enable a SQL <driver> in the Qt Library."); desc( "-qt-sql-<driver>", "Enable a SQL <driver> in the Qt Library.");