qt5base-lts/mkspecs
Laszlo Agocs b7f0583f31 Pluginize the eglfs hooks
Following the principle of device integrations in QtWayland and soon
xcb, a plugin interface is being introduced to gradually replace the
statically compiled-in hooks.

The interface is same as before for the time being, for compatibility
with the existing device-specific hooks.

QEglFSHooks is now just a dummy subclass for QEGLDeviceIntegration to
support the legacy, compiled-in, device-specific hooks. When -device
is not used with configure and so there is no hook active, the new
plugin-based approach kicks in.

The environment variable QT_QPA_EGLFS_INTEGRATION can be set to
indicate the preferred integration name (e.g. eglfs_x11, eglfs_kms).

It can also be set to "none", indicating that no plugins should be
considered and the default, non-specialized integration is to be used.
(this is for devices, like Beagleboard|bone, that do not need any special
code to set up EGL)

Device makespecs can set EGLFS_DEVICE_INTEGRATION. The value is then used
as the default, preferred plugin name when QT_QPA_EGLFS_INTEGRATION is not
set. In the future device makespecs are expected to set a plugin name instead
of relying on the traditional EGLFS_PLATFORM_HOOKS_*.

When neither the QT_QPA_EGLFS_INTEGRATION nor EGLFS_DEVICE_INTEGRATION are
set, all plugins will be tried in an unspecified order. The first one that
succeeds to load is used. If all fails or there are no plugins, the built-in,
non-specialized integration is used.

To debug what integration is being used, enable the logging category
qt.qpa.egldeviceintegration.

There is some built-in logic for desktop/Mesa based systems: Under X,
eglfs_x11 is preferred, otherwise eglfs_kms is prioritized. This, assuming
sufficient permissions to video and input devices, allows simply launching
apps with -platform eglfs. No more editing of eglfs.pri.

[ChangeLog][QtGui] Added support for device-specific backend plugins in eglfs.

Change-Id: Ia2ddcddac014c25817171dc140cd8cf913784ac6
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
2014-12-08 14:16:41 +01:00
..
aix-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
aix-g++-64 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
aix-xlc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
aix-xlc-64 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
android-g++ Android: Initial support for arm64-v8a, x86_64, mips64 architectures. 2014-11-18 17:17:18 +01:00
blackberry-armle-v7-qcc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
blackberry-armv7le-qcc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
blackberry-x86-qcc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
common Merge remote-tracking branch 'origin/5.4' into dev 2014-11-24 13:39:13 +01:00
cygwin-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
darwin-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
devices Pluginize the eglfs hooks 2014-12-08 14:16:41 +01:00
features Merge remote-tracking branch 'origin/5.4' into dev 2014-11-24 13:39:13 +01:00
freebsd-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
freebsd-g++46 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
freebsd-icc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
hpux-acc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
hpux-acc-64 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
hpux-acc-o64 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
hpux-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
hpux-g++-64 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
hpuxi-acc-32 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
hpuxi-acc-64 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
hpuxi-g++-64 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
hurd-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
irix-cc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
irix-cc-64 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
irix-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
irix-g++-64 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
linux-arm-gnueabi-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
linux-clang Update license headers and add new license files 2014-09-24 12:26:19 +02:00
linux-clang-libc++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
linux-cxx Update license headers and add new license files 2014-09-24 12:26:19 +02:00
linux-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
linux-g++-32 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
linux-g++-64 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
linux-icc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
linux-icc-32 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
linux-icc-64 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
linux-kcc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
linux-llvm Update license headers and add new license files 2014-09-24 12:26:19 +02:00
linux-lsb-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
linux-pgcc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
lynxos-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
macx-clang Add CFBundleIdentifier to the bundle Info.plist's 2014-11-10 16:04:12 +01:00
macx-clang-32 Add CFBundleIdentifier to the bundle Info.plist's 2014-11-10 16:04:12 +01:00
macx-g++ Add CFBundleIdentifier to the bundle Info.plist's 2014-11-10 16:04:12 +01:00
macx-g++40 Add CFBundleIdentifier to the bundle Info.plist's 2014-11-10 16:04:12 +01:00
macx-g++42 Add CFBundleIdentifier to the bundle Info.plist's 2014-11-10 16:04:12 +01:00
macx-g++-32 Add CFBundleIdentifier to the bundle Info.plist's 2014-11-10 16:04:12 +01:00
macx-icc Work around ICC compatibility problem with Apple headers 2014-11-22 20:02:49 +01:00
macx-ios-clang Merge remote-tracking branch 'origin/5.4.0' into 5.4 2014-11-21 13:44:26 +01:00
macx-llvm Add CFBundleIdentifier to the bundle Info.plist's 2014-11-10 16:04:12 +01:00
macx-xcode Update license headers and add new license files 2014-09-24 12:26:19 +02:00
modules update readme to current reality 2012-01-27 13:55:27 +01:00
netbsd-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
openbsd-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
qnx-armle-v7-qcc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
qnx-armv7le-qcc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
qnx-x86-qcc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
sco-cc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
sco-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
solaris-cc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
solaris-cc-64 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
solaris-cc-64-stlport Update license headers and add new license files 2014-09-24 12:26:19 +02:00
solaris-cc-stlport Update license headers and add new license files 2014-09-24 12:26:19 +02:00
solaris-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
solaris-g++-64 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
tru64-cxx Update license headers and add new license files 2014-09-24 12:26:19 +02:00
tru64-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
unixware-cc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
unixware-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
unsupported Merge remote-tracking branch 'origin/5.3' into 5.4.0 2014-11-10 11:39:35 +01:00
win32-g++ Update license headers and add new license files 2014-09-24 12:26:19 +02:00
win32-icc Update license headers and add new license files 2014-09-24 12:26:19 +02:00
win32-msvc2005 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
win32-msvc2008 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
win32-msvc2010 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
win32-msvc2012 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
win32-msvc2013 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
wince60standard-armv4i-msvc2005 WinCE: fix DLL build errors with CONFIG+=console 2014-10-08 13:05:05 +02:00
wince60standard-x86-msvc2005 WinCE: fix DLL build errors with CONFIG+=console 2014-10-08 13:05:05 +02:00
wince70embedded-armv4i-msvc2008 WinCE: fix DLL build errors with CONFIG+=console 2014-10-08 13:05:05 +02:00
wince70embedded-x86-msvc2008 WinCE: fix DLL build errors with CONFIG+=console 2014-10-08 13:05:05 +02:00
winphone-arm-msvc2012 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
winphone-arm-msvc2013 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
winphone-x86-msvc2012 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
winphone-x86-msvc2013 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
winrt-arm-msvc2012 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
winrt-arm-msvc2013 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
winrt-x64-msvc2012 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
winrt-x64-msvc2013 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
winrt-x86-msvc2012 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
winrt-x86-msvc2013 Update license headers and add new license files 2014-09-24 12:26:19 +02:00