Commit 854debd7 authored by Peter Seiderer's avatar Peter Seiderer Committed by Thomas Petazzoni
Browse files

qt5tools: new package



- host programs: lconvert, lrelease and lupdate
- target programs: pixeltool, qtdiag, qtpath and qtplugininfo

Signed-off-by: default avatarPeter Seiderer <ps.report@gmx.net>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 8e738967
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ source "package/qt5/qt5quickcontrols/Config.in"
source "package/qt5/qt5sensors/Config.in"
source "package/qt5/qt5serialport/Config.in"
source "package/qt5/qt5svg/Config.in"
source "package/qt5/qt5tools/Config.in"
source "package/qt5/qt5webchannel/Config.in"
source "package/qt5/qt5websockets/Config.in"
source "package/qt5/qt5x11extras/Config.in"
+42 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_QT5TOOLS
	bool "qt5tools"
	help
	  Qt is a cross-platform application and UI framework for
	  developers using C++.

	  This package corresponds to the qt5tools module.

	  http://qt.io

if BR2_PACKAGE_QT5TOOLS

config BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS
	bool "Linguist host tools (lconvert, lrelease, lupdate)"
	help
	  This option enables the linguist host tools
	  lconvert, lrelease and lupdate.

config BR2_PACKAGE_QT5TOOLS_PIXELTOOL
	bool "pixeltool"
	select BR2_PACKAGE_QT5BASE_GUI
	select BR2_PACKAGE_QT5BASE_WIDGETS
	select BR2_PACKAGE_QT5BASE_PNG # saving png images
	help
	  Compile and install the pixeltool program.

config BR2_PACKAGE_QT5TOOLS_QTDIAG
	bool "qtdiag"
	help
	  Compile and install the qtdiag program.

config BR2_PACKAGE_QT5TOOLS_QTPATHS
	bool "qtpaths"
	help
	  Compile and install the qtpaths program.

config BR2_PACKAGE_QT5TOOLS_QTPLUGININFO
	bool "qtplugininfo"
	help
	  Compile and install the qtplugininfo program.

endif
+2 −0
Original line number Diff line number Diff line
# Hash from: http://download.qt.io/official_releases/qt/5.5/5.5.1/submodules/qttools-opensource-src-5.5.1.tar.xz.mirrorlist
sha256 4361f6ce49717058160908297841a18b94645cec593d1b48fb126c9d06c87bfd qttools-opensource-src-5.5.1.tar.xz
+66 −0
Original line number Diff line number Diff line
################################################################################
#
# qt5tools
#
################################################################################

QT5TOOLS_VERSION = $(QT5_VERSION)
QT5TOOLS_SITE = $(QT5_SITE)
QT5TOOLS_SOURCE = qttools-opensource-src-$(QT5BASE_VERSION).tar.xz

QT5TOOLS_DEPENDENCIES = qt5base
QT5TOOLS_INSTALL_STAGING = YES

# linguist tools compile conditionally on qtHaveModule(qmldevtools-private),
# but the condition is used only used to decide if lupdate will support
# parsing qml files (via setting QT_NO_QML define), no linking against
# target qt5 will happen
ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
QT5TOOLS_DEPENDENCIES += qt5declarative
endif

ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
QT5TOOLS_LICENSE = LGPLv2.1 with exception or LGPLv3
QT5TOOLS_LICENSE_FILES = LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3
else
QT5TOOLS_LICENSE = Commercial license
QT5TOOLS_REDISTRIBUTE = NO
endif

QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS) += \
	linguist/lconvert linguist/lrelease linguist/lupdate
ifeq ($(BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS),y)
# use install target to copy cmake module files
define QT5TOOLS_INSTALL_STAGING_CMDS
	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/linguist install
endef
endif

QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_PIXELTOOL) += pixeltool
QT5TOOLS_INSTALL_TARGET_$(BR2_PACKAGE_QT5TOOLS_PIXELTOOL) += pixeltool

QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_QTDIAG) += qtdiag
QT5TOOLS_INSTALL_TARGET_$(BR2_PACKAGE_QT5TOOLS_QTDIAG) += qtdiag

QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_QTPATHS) += qtpaths
QT5TOOLS_INSTALL_TARGET_$(BR2_PACKAGE_QT5TOOLS_QTPATHS) += qtpaths

QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_QTPLUGININFO) += qtplugininfo
QT5TOOLS_INSTALL_TARGET_$(BR2_PACKAGE_QT5TOOLS_QTPLUGININFO) += qtplugininfo

define QT5TOOLS_CONFIGURE_CMDS
	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
endef

define QT5TOOLS_BUILD_CMDS
	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) sub-src-qmake_all
	$(foreach p,$(QT5TOOLS_BUILD_DIRS_y), \
		$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/$(p)$(sep))
endef

define QT5TOOLS_INSTALL_TARGET_CMDS
	$(foreach p,$(QT5TOOLS_INSTALL_TARGET_y), \
		$(INSTALL) -D -m0755 $(@D)/bin/$(p) $(TARGET_DIR)/usr/bin/$(p)$(sep))
endef

$(eval $(generic-package))