Add QT_QPA_EGLFS_HAS_ALPHACHANNEL option to enable alpha channel in EGL

Signed-off-by: Carsten Munk <carsten.munk@gmail.com>
Declare QPlatformScreenBuffer* as meta type in order to make usecase work in QtWayland

Signed-off-by: Carsten Munk <carsten.munk@jollamobile.com>
[packaging] Allow qt5_release_build to disable developer-build configuration option

Signed-off-by: Carsten Munk <carsten.munk@jollamobile.com>
[update] update to upstream commit e4484bb
Squashed 'qtbase/' changes from ebea15c..68fd687

68fd687 make requirement for -private suffix explicit
de54d7b headersclean: process private modules correctly
215f137 Restore header installation on Mac to always install to $includedir
cb79be2 remove qt_no_framework_direct_includes from qt build
933ae0a install qpa headers into frameworks as well
a3feba6 fix location of private headers in mac bundles
2f4cd18 Add Q_REVISION(1) to QWindow::alert().
12d45cd QWindow min/max width/height, contentOrientation are not new in 5.1
f7a7859 Deprecate Mac libc++ mkspecs
0fa29e2 Avoid crash when QOpenGLContext is destroyed before the VAO
f63369d Doc: Fixed link to "Downloads" page.
4a3edb5 QNX: Fix screen rotation
505617b mac frameworks: don't create bogus symlinks
9e89349 Fix compilation with ICC 13.1: the MSVC 2005 & 2008 code is bad
6086ff0 Replace win32-icc/qplatformdefs.h with the MSVC one
440a227 Fix win32-icc build: _CHAR16T is not an indication of C++11 support
8f8c29b Android: Fix initial window size for raster backend
7e33ec9 BlackBerry: fix delayed root window posting on OpenGL
e3cf87b Mac OSX: get the correct key code when the control key is pressed
3ffc86e install qconfig.h into framework bundles
01270cf fix bundled header creation for debug builds
6d61dfd disable non-framework header install also for debug builds
7ea8c9d install private headers into frameworks
c0d5a4e don't needlessly do QMAKE_BUNDLE_DATA+=FRAMEWORK_HEADERS
7090d4a un-nest conditionals
d0e82ed mac framework build: always set QMAKE_FRAMEWORKPATH
bd97768 Update for the newest Darwin-family operating systems.
1723a98 Fixed testbuild with QT_NO_CURSOR
74ca603 Fix QDir::mkpath failing for drive paths on Windows
d0d158f Mac: Ensure that C++11 is always used when linking against a static Qt build
d319057 Use BSD licensing for QtOpenGLExtensions instead of LGPL
a4f7bb8 Widgets: Set qt_button_down for each press.
91ca90d CMake: Fix test for value starting with -L
531b7d3 Fix missing shortcuts for WindowContainers
ad43d9a Fix missing focus events for mapped child windows
07a727f Android: handle keyboard connect/disconnect
172fa29 fix LD_LIBRARY_PATH manipulation in uic calls not being make-escaped
f5e0ec5 update QtNetwork changelog for 5.1.0
021264a Tagged all those examples that work on an Android device
732dcfe QFactoryLoader: Release unused libraries.
cf8647d Remove unused member QFactoryLoaderPrivate::keyList.
a5ecb0b Android Mute and FastForward keys mapped wrong
d135a31 make Makefiles not depend on .qmake.super
17c38b2 fix rcc & uic .depend_commands
9d48f14 always $-escape make commands
c932f2c fix command over-escaping in vcproj files
13e01fd assemble the tool commands at use time, after all
69554e4 OSX: Disable window restoration for the Mac color panel
e083aed Cocoa color dialog cannot be modal, but should show anyway
cf98d1e OSX color dialog can be accepted repeatedly
dd050d3 network requests: do not access 1st byte of empty byte array
19ed991 Doc: Remove Tweet Search demo from the list of highlighted examples
703cca8 Adjust the cmake files to find the dlls in the bin dir.
3e2cd8e fix QFileSystemEngine::createDirectory race condition
0bc96d1 Widgets: Do not create QWindow in createTLExtra().
b6f2442 Fix another type of crash when dragging QDockWidget in and out
443253c Let QTemporaryDir::stressTest() run in temporary directory.
eab6700 Fix crash for pressing Ctrl+C in a message box
2d9cd8e Fix xkbcommon.pri not to override QMAKE_CFLAGS
6bf5ef0 remove overquoting of extra compiler arguments
7f6c864 remove overquoting of extra compiler commands
aa3f1cc fix QMAKE_COMPILER fallback for clang specs
e276509 don't claim that we need perl for shadow builds any more
d8f4abe Cocoa: Make QWidget::showNormal() work on minimized windows
bfab741 Cocoa: Make sure internal minimized state is up to date
b8c007e Cocoa: Update window state when maximizing from the title bar
7ee15bf Cocoa: Make sure we update internal window fullscreen state
3b5954e Cocoa: Remove compilation warning
80d24a7 Update support status for older Mac OS X platforms.
c47b665 Qdoc: replaced example file qt.qdocconf with qtgui.qdocconf
70cb5db Fix gcc warnings about unused-value
85b4f0d Avoid floating point exceptions in rasterizeLine.
425af59 Disable long press on Android
900cccf Fix drawing of 0-width polylines from outside the devicerect.
1937012 Don't test existence of private header directories for mac frameworks
f2ea453 qdoc: QGLFrameBufferObject::bindDefault() was marked \internal
e1109df Remove the use of CMAKE_FIND_ROOT_PATH.
d7b79ff mkspecs/qml_plugin: adding -nonrelocatable flag to qmldump call
a90d932 Windows save file dialog: Set default suffix only once.
b2a0a14 Fix issue when QKeyEvent::text() was returning empty string
074c5c9 Doc: Fixed snippet issues in QDoc documentation
45d8bf3 Doc: Mark QOpenGLFunctions_4_1_Core as a wrapper class
4fd568f redo include path logic for pre-generated headers
f3331e1 reshuffle path setup
81b942f use correct variable for library base path
f533941 update some comments relating to forwarding module pri files
b35ea87 put ANGLE includes in a QtANGLE subdir
366d276 allow modules to extend their MODULE_{,PRIVATE_}INCLUDES
150408e don't process ANGLE and zlib headers like real qt modules
69fa001 use qtconcurrent instead of qtgui in test code

git-subtree-dir: qtbase
git-subtree-split: 68fd6878ab5f40ee00dad00e3f46f9a3368ef5d8
Merge commit 'e8a80f27c6154fb39634b5f6d0bed6b6d81f69fe'
evdevtouch: Disable threading.

This should never have been threaded. It isn't resource-intensive, and it needs
to communicate touches back to the main thread anyway.

Removing the threading significantly(!) improves latency.
evdevtouch: Don't try to keep reading if we get EAGAIN.

This stops touching the screen (and not moving) consuming 80-90% CPU. :)
Merge pull request #4 from rburchell/evdevtouch

Improve touch responsiveness and latency.
Add ability to pre-filter touch data
Bypass eglMakeCurrent where possible.

This has the possibility to be very slow on some GPUs. A nicer alternative would
have been to fix this in QOpenGLContext, but with makeCurrent and updateContext
having been merged in Qt 5, makeCurrent is required every frame call, and thus
cannot be fixed there.

Change-Id: Ib17dbb3a1e4e89c60dfd4f12a55eeff353f9075f
Done-with: Carsten Munk <carsten.munk@jollamobile.com>
Merge pull request #5 from rburchell/eglmakecurrent

Bypass eglMakeCurrent where possible.
Remove -arch

As configure says, such option is nowadays deprecated and unused. Qt's
compiler detection already does what's needed.
Remove -no-neon

Qt is smart enough to pick up whether NEON is supported (armv7tnhl)
or not by itself through compiler detection.
Merge pull request #6 from Ispirata/remove-config-options

Remove config options from configure
[packaging] With no-neon, PCH stops working, disable on ARM

Signed-off-by: Carsten Munk <carsten.munk@jollamobile.com>
correctly fix compilation of NEON_ASM sources

This reverts commit 1ef74a763a726829bfc26224d82acff207fdc8bb, as
assembler files in SOURCES break compiling with -pch, as we don't create
a respective PCH.

instead, compile assembler code with QMAKE_CC, not QMAKE_CXX.

the reason why this change is needed in the first place is not clear to
me, but i guess that CXX defines some c++-related macros when
preprocessing the file, which breaks further down the line. this is
counter-intuitive, as the g++ frontend should treat the same sources the
same way as the gcc frontend (differences should be limited the the ld
invocation).

Task-number: QTBUG-29765
Change-Id: Ic0116b3a5fa621f12ac41cadf3062ff00b538e85
[packaging] Re-enable PCH for ARM after upstream cherry-picking

Signed-off-by: Carsten Munk <carsten.munk@jollamobile.com>
Fix unprotected access to QDBusPendingCallPrivate::pending.

In QDBusConnectionPrivate::waitForFinished() pcall->pending was used
after the protection by pcall->mutex was released. A simultaneous
call to QDBusConnectionPrivate::processFinishedCall() was able
to reset pcall->pending to null before it was used for the
q_dbus_pending_call_block(pcall->pending) call.

Fixed by releasing (and setting to 0) of pcall->pending in
processFinishedCall() only in case no one is waiting yet, otherwise
release pcall->pending by the first thread waiting in waitForFinished().

There is still a race condition about deleting QDBusPendingCallPrivate
(too early) which will be fixed in the next two commits.

Task-number: QTBUG-27809
Change-Id: I040173810ad90653fe1bd1915f22d8dd70d47d8c
Remove QDBusPendingCallPrivate::autoDelete logic.

First step to fix race condition about deleting QDBusPendingCallPrivate.

In a multithreaded application on a slow/single core cpu the following
race (and segmentation fault) can occur:

First thread A is running:
A:  QDBusPendingReply<> reply = pi->asyncCallWithArgumentList(method, argumentList);

Then when the dbus answer arrives thread B will call:

B:  QDBusConnectionPrivate::processFinishedCall()
B:      ...
B:      locker.unlock()

and runs until here, go on with thread A:

A:  reply.waitForFinished();
A:    QDBusPendingCallPrivate::waitForFinished()
A:    {
A:        QMutexLocker locker(&mutex);
A:        if (replyMessage.type() != QDBusMessage::InvalidMessage)
A:            return;

which returns immediately (mutex acquired, replyMessage alread set), now
reply goes out of scope (destructor called) and QDBusPendingCall::d's
destructor of type QExplicitlySharedDataPointer<QDBusPendingCallPrivate>
deletes the reference counted object QDBusPendingCallPrivate.

Now thread B continues, still in processFinishedCall()

B:      if (call->watcherHelper)
B:          call->watcherHelper->emitSignals(msg, call->sentMessage);
B:
B:      if (msg.type() == QDBusMessage::ErrorMessage)
B:          emit connection->callWithCallbackFailed(QDBusError(msg),
B:              call->sentMessage);

accessing alread deleted object QDBusPendingCallPrivate via call->...

Fixed QDBusPendingCallPrivate deletion by proper reference counting
will be done in the next commit.

Task-number: QTBUG-27809
Change-Id: I15b3f0242471b62eaafadc763fb6a33339ff2fe1