androiddeployqt: Fix dependency order for XML dependencies
authorEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Mon, 27 Oct 2014 14:54:42 +0000 (15:54 +0100)
committerEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Tue, 28 Oct 2014 14:46:24 +0000 (15:46 +0100)
commit53261d90fc89a11fb44873b5bbee7836e830d568
tree2a9f94e25f536b9271985044b6b6e8edc9623615
parent05fd050598c43cb4f06b6b40f987c2fbd34defc2
androiddeployqt: Fix dependency order for XML dependencies

Although this bug was there in Qt 5.3 as well, something has changed
in our build system that causes readelf to return libraries in a
different order than before. In particular, the QtMultimedia dependency
is now listed before QtQuick if it's listed first in the QT variable in
the .pro file. This caused the following bug:

When we read the manual dependencies from the XML specification,
then we assume the dependencies of these are already met (otherwise
they should not be added). Therefore, we need to load these
dependencies last, not intermingled with the actual direct
dependencies of the application.

What would happen is that Qt5Multimedia came before Qt5Quick, and
triggered adding Qt5MultimediaQuick_p before Qt5Quick. This of course
depends on Qt5Quick so it needs to be added after it (which is why
it is only added if the application itself depends on Qt Quick).

Change-Id: Ifa97d85645cff49ebf65d4ce3fc2101506346695
Task-number: QTBUG-42012
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
src/androiddeployqt/main.cpp