qt5quickcontrols: fix installation of PrivateWidgets
authorArnout Vandecappelle <arnout@mind.be>
Tue, 28 Feb 2017 11:02:52 +0000 (12:02 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 28 Feb 2017 14:55:29 +0000 (15:55 +0100)
Commit e482ebf51d9e8e00c3e58eb65af0dfb70d05d8cc attempted to fix the
installation of qt5quickcontrols by only installing the PrivateWidgets
directory for the 5.8.0 version.

However, the availability of PrivateWidgets has nothing to do with the
version; in both 5.6.2 and 5.8.0, the installation is gated by the
following statement in src/src.pro:

qtHaveModule(quick):qtHaveModule(widgets): SUBDIRS += widgets

i.e. it is installed when both the Quick and the Widgets module are
available. The Widgets module is controlled by Buildroot's
BR2_PACKAGE_QT5BASE_WIDGETS symbol, the Quick module is controlled by
Buildroot's BR2_PACKAGE_QT5DECLARATIVE_QUICK. The qt5quickcontrols
package selects BR2_PACKAGE_QT5DECLARATIVE_QUICK so it is not really
needed to include it in the condition. However, it is theoretically
possible to build this package without QtQuick. Also, adding this
condition makes it consistent with src.pro.

Note that commit e482ebf51d9e8e00c3e58eb65af0dfb70d05d8cc introduces a
second fix (not mentioned in the commit message): for version 5.6.2, the
Layouts directory is installed, but in 5.8.0 this directory doesn't
exist any more. Therefore, a separate condition on the version is still
needed.

Fixes:
http://autobuild.buildroot.net/results/1ff3e9ad4ba518d0a37f9fc12038bf9020f28094

Cc: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/qt5/qt5quickcontrols/qt5quickcontrols.mk

index 8a63629c3533ad05ea7e534ed29d6887552c4edb..43254ba06b684cfdcc6b89d3395498ace2f5baf2 100644 (file)
@@ -30,20 +30,25 @@ define QT5QUICKCONTROLS_INSTALL_STAGING_CMDS
        $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
 endef
 
-ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
-define QT5QUICKCONTROLS_INSTALL_TARGET_CMDS
-       cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Controls $(TARGET_DIR)/usr/qml/QtQuick
-       cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Dialogs $(TARGET_DIR)/usr/qml/QtQuick
-       cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Extras $(TARGET_DIR)/usr/qml/QtQuick
+
+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK)$(BR2_PACKAGE_QT5BASE_WIDGETS),yy)
+define QT5QUICKCONTROLS_INSTALL_TARGET_PRIVATEWIDGETS
        cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/PrivateWidgets $(TARGET_DIR)/usr/qml/QtQuick
 endef
-else
+endif
+
+ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y)
+define QT5QUICKCONTROLS_INSTALL_TARGET_LAYOUTS
+       cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Layouts $(TARGET_DIR)/usr/qml/QtQuick
+endef
+endif
+
 define QT5QUICKCONTROLS_INSTALL_TARGET_CMDS
        cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Controls $(TARGET_DIR)/usr/qml/QtQuick
        cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Dialogs $(TARGET_DIR)/usr/qml/QtQuick
        cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Extras $(TARGET_DIR)/usr/qml/QtQuick
-       cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Layouts $(TARGET_DIR)/usr/qml/QtQuick
+       $(QT5QUICKCONTROLS_INSTALL_TARGET_PRIVATEWIDGETS)
+       $(QT5QUICKCONTROLS_INSTALL_TARGET_LAYOUTS)
 endef
-endif
 
 $(eval $(generic-package))