Skip to contentSkip to conversation

qt: Add option to build and install tools on the target

PATCH Superseded Ismael Luceno 2 participants 3 messages Mar 4, 2012

v2 of 6 Superseded Latest is v6 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 qt: Add option to build and install tools on the target

---
 package/qt/Config.in |   23 +++++++++++++++++++++++
 package/qt/qt.mk     |   10 ++++++++++
 2 files changed, 33 insertions(+), 0 deletions(-)
package/qt/Config.in +23 -0
index 3a552d0..e2c7400 100644
@@ -16,6 +16,29 @@ config BR2_PACKAGE_QT_DEBUG
 	help
 	  If unsure, say N.
 
+menuconfig BR2_PACKAGE_QT_TOOLS
+	bool "Compile and install tools"
+	depends on BR2_PACKAGE_QT_SQL_MODULE && BR2_PACKAGE_QT_GUI_MODULE
+
+if BR2_PACKAGE_QT_TOOLS
+
+config BR2_PACKAGE_QT_TOOLS_QTCONFIG
+	bool "qtconfig"
+	depends on BR2_PACKAGE_QT_GUI_X11
+
+config BR2_PACKAGE_QT_TOOLS_QMLVIEWER
+	bool "qmlviewer"
+	depends on BR2_PACKAGE_QT_DECLARATIVE
+
+config BR2_PACKAGE_QT_TOOLS_QMLPLUGINDUMP
+	bool "qmlplugindump"
+	depends on BR2_PACKAGE_QT_DECLARATIVE
+
+endif # BR2_PACKAGE_QT_TOOLS
+
+comment "Tools need the SQL and GUI modules"
+	depends on !BR2_PACKAGE_QT_SQL_MODULE || !BR2_PACKAGE_QT_GUI_MODULE
+
 config BR2_PACKAGE_QT_DEMOS
 	bool "Compile and install demos and examples (with code)"
 	help
package/qt/qt.mk +10 -0
index 776eb63..ee36b8c 100644
@@ -417,6 +417,12 @@ else
 QT_CONFIGURE_OPTS += -no-declarative
 endif
 
+ifeq ($(BR2_PACKAGE_QT_TOOLS),y)
+QT_CONFIGURE_OPTS += -make tools
+else
+QT_CONFIGURE_OPTS += -nomake tools
+endif
+
 # ccache and precompiled headers don't play well together
 ifeq ($(BR2_CCACHE),y)
 QT_CONFIGURE_OPTS += -no-pch
@@ -514,6 +520,9 @@ endef
 
 QT_INSTALL_LIBS    += QtCore
 QT_HOST_PROGRAMS   += moc rcc qmake lrelease
+QT_TARGET_PROGRAMS += $(if $(BR2_PACKAGE_QT_TOOLS_QTCONFIG),qtconfig) \
+		      $(if $(BR2_PACKAGE_QT_TOOLS_QMLVIEWER),qmlviewer) \
+		      $(if $(BR2_PACKAGE_QT_TOOLS_QMLPLUGINDUMP),qmlplugindump)
 
 ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y)
 QT_INSTALL_LIBS    += QtGui
@@ -583,6 +592,7 @@ define QT_INSTALL_STAGING_CMDS
 	$(MAKE) -C $(@D) install
 	mkdir -p $(HOST_DIR)/usr/bin
 	mv $(addprefix $(STAGING_DIR)/usr/bin/,$(QT_HOST_PROGRAMS)) $(HOST_DIR)/usr/bin
+	mv $(addprefix $(STAGING_DIR)/usr/bin/,$(QT_TARGET_PROGRAMS)) $(TARGET_DIR)/usr/bin
 	rm -rf $(HOST_DIR)/usr/mkspecs
 	mv $(STAGING_DIR)/usr/mkspecs $(HOST_DIR)/usr
 	$(QT_INSTALL_QT_CONF)
Signature · 1 line
1.7.9.1
#1 lore raw

PATCH v2 1/1 qt: Add option to build and install tools on the target

Quoted 2 lines · On Sunday 04 March 2012 04:04:47 Ismael Luceno wrote:

A few comments below, but nothing critical.

Quoted 10 lines
---
 package/qt/Config.in |   23 +++++++++++++++++++++++
 package/qt/qt.mk     |   10 ++++++++++
 2 files changed, 33 insertions(+), 0 deletions(-)
package/qt/Config.in +0 -0
index 3a552d0..e2c7400 100644

package/qt/Config.in config BR2_PACKAGE_QT_DEBUG · line 21

Quoted 6 lines
package/qt/Config.in +3 -0
@@ -16,6 +16,29 @@ config BR2_PACKAGE_QT_DEBUG
 	help
 	  If unsure, say N.
 
+menuconfig BR2_PACKAGE_QT_TOOLS
+	bool "Compile and install tools"
+	depends on BR2_PACKAGE_QT_SQL_MODULE && BR2_PACKAGE_QT_GUI_MODULE

This is annoying... SQL is only needed for assistant and designer, not
for qtconfig or qmlplugindump. Is there a possibility to tell qt to just build the selected tools? That probably requires hacking tools/tools.pro...

Maybe add to the help text of the comment, that sql isn't actually
needed except for building.

package/qt/Config.in config BR2_PACKAGE_QT_DEBUG · line 27

Quoted 6 lines
package/qt/Config.in +6 -0
+
+if BR2_PACKAGE_QT_TOOLS
+
+config BR2_PACKAGE_QT_TOOLS_QTCONFIG
+       bool "qtconfig"
+       depends on BR2_PACKAGE_QT_GUI_X11

Doesn't qtconfig work in qws?

[snip]

package/qt/Config.in endef · line 525

Quoted 7 lines
package/qt/Config.in +3 -0
@@ -514,6 +520,9 @@ endef
 
 QT_INSTALL_LIBS    += QtCore
 QT_HOST_PROGRAMS   += moc rcc qmake lrelease
+QT_TARGET_PROGRAMS += $(if $(BR2_PACKAGE_QT_TOOLS_QTCONFIG),qtconfig) \
+		      $(if $(BR2_PACKAGE_QT_TOOLS_QMLVIEWER),qmlviewer) \
+		      $(if $(BR2_PACKAGE_QT_TOOLS_QMLPLUGINDUMP),qmlplugindump)

Personally, I prefer the
QT_TARGET_PROGRAMS-$(BR2_PACKAGE_QT_TOOLS_QTCONFIG) += qtconfig approach, but that's a matter of taste I guess.

package/qt/Config.in define QT_INSTALL_STAGING_CMDS · line 595

Quoted 8 lines
package/qt/Config.in +1 -0
 ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y)
 QT_INSTALL_LIBS    += QtGui
@@ -583,6 +592,7 @@ define QT_INSTALL_STAGING_CMDS
 	$(MAKE) -C $(@D) install
 	mkdir -p $(HOST_DIR)/usr/bin
 	mv $(addprefix $(STAGING_DIR)/usr/bin/,$(QT_HOST_PROGRAMS)) $(HOST_DIR)/usr/bin
+	mv $(addprefix $(STAGING_DIR)/usr/bin/,$(QT_TARGET_PROGRAMS)) $(TARGET_DIR)/usr/bin

(so that would mean putting $(QT_TARGET_PROGRAMS-y) here)

package/qt/Config.in define QT_INSTALL_STAGING_CMDS · line 598

Quoted 4 lines
package/qt/Config.in +0 -0
 	rm -rf $(HOST_DIR)/usr/mkspecs
 	mv $(STAGING_DIR)/usr/mkspecs $(HOST_DIR)/usr
 	$(QT_INSTALL_QT_CONF)

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#2 lore raw

PATCH v2 1/1 qt: Add option to build and install tools on the target

Quoted 2 lines · On Sun, 4 Mar 2012 16:13:47 +0100 Arnout Vandecappelle <[email protected]> wrote:

This is annoying... SQL is only needed for assistant and designer, not for qtconfig or qmlplugindump.

Indeed, it requires touching tools.pro :/.

Quoted 2 lines

Is there a possibility to tell qt to just build the selected tools? That probably requires hacking tools/tools.pro...

It is also required by qmlviewer.

Quoted 8 lines

package/qt/Config.in config BR2_PACKAGE_QT_DEBUG · line 27

Quoted 6 lines
package/qt/Config.in +6 -0
+
+if BR2_PACKAGE_QT_TOOLS
+
+config BR2_PACKAGE_QT_TOOLS_QTCONFIG
+       bool "qtconfig"
+       depends on BR2_PACKAGE_QT_GUI_X11

Doesn't qtconfig work in qws?

I guess it should work, but it's excluded for embedded systems...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120304/fb6ca797/attachment.asc>