Skip to contentSkip to conversation

package/qwt : prepared package for other versions of Qt.

PATCH New David Picard 3 participants 9 messages Mar 24, 2016 – Mar 26, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 package/qwt : prepared package for other versions of Qt.

Reformatted the package configuration to make it more generic. It will thus be easier to handle more than one version of Qt. Indeed, multiple versions of Qt are compatible with the current Qwt. Dropped comment, considered uninformative.

---
 package/qwt/Config.in | 10 +++-------
 package/qwt/qwt.mk    |  5 ++++-
 2 files changed, 7 insertions(+), 8 deletions(-)
package/qwt/Config.in +3 -7
index 8c7bc56..876d465 100644
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_QWT
 	bool "qwt"
 	depends on BR2_PACKAGE_QT
-	depends on BR2_PACKAGE_QT_GUI_MODULE
+	select BR2_PACKAGE_QT_GUI_MODULE if BR2_PACKAGE_QT
 	help
 	  Qwt is a graphics extension to the Qt GUI application
 	  framework. It provides a 2D plotting widget and more.
@@ -12,7 +12,7 @@ if BR2_PACKAGE_QWT
 
 config BR2_PACKAGE_QWT_SVG
 	bool "SVG support"
-	select BR2_PACKAGE_QT_SVG
+	select BR2_PACKAGE_QT_SVG if BR2_PACKAGE_QT
 
 config BR2_PACKAGE_QWT_MATHML
 	bool "MathML support"
@@ -21,10 +21,6 @@ config BR2_PACKAGE_QWT_OPENGL
 	bool "OpenGL support"
 	depends on BR2_PACKAGE_HAS_LIBGLES
 	depends on BR2_PACKAGE_HAS_LIBEGL
-	select BR2_PACKAGE_QT_OPENGL_ES
+	select BR2_PACKAGE_QT_OPENGL_ES if BR2_PACKAGE_QT
 
 endif
-
-comment "qwt depends on QT gui module"
-	depends on BR2_PACKAGE_QT
-	depends on !BR2_PACKAGE_QT_GUI_MODULE
package/qwt/qwt.mk +4 -1
index 8a46c25..4d481fb 100644
@@ -8,7 +8,10 @@ QWT_VERSION = 6.1.2
 QWT_SOURCE = qwt-$(QWT_VERSION).tar.bz2
 QWT_SITE = http://downloads.sourceforge.net/project/qwt/qwt/$(QWT_VERSION)
 QWT_INSTALL_STAGING = YES
+ifeq ($(BR2_PACKAGE_QT),y)
 QWT_DEPENDENCIES = qt
+QWT_QMAKE = $(QT_QMAKE)
+endif
 
 QWT_LICENSE = LGPLv2.1 with exceptions
 QWT_LICENSE_FILES = COPYING
@@ -37,7 +40,7 @@ endif
 
 define QWT_CONFIGURE_CMDS
 	$(SED) $(QWT_CONFIG) $(@D)/qwtconfig.pri
-	(cd $(@D); $(TARGET_MAKE_ENV) $(QT_QMAKE))
+	(cd $(@D); $(TARGET_MAKE_ENV) $(QWT_QMAKE))
 endef
 
 define QWT_BUILD_CMDS
Signature · 1 line
1.9.1
#1 lore raw

PATCH 2/2 package/qwt : added support for Qt5.

This version of Qwt is compatible with both Qt and Qt5. This patch adds the option to compile it for Qt5.

---
 package/qwt/Config.in | 10 +++++++---
 package/qwt/qwt.mk    |  3 +++
 2 files changed, 10 insertions(+), 3 deletions(-)
package/qwt/Config.in +7 -3
index 876d465..05d5253 100644
@@ -1,7 +1,9 @@
 config BR2_PACKAGE_QWT
 	bool "qwt"
-	depends on BR2_PACKAGE_QT
+	depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5
 	select BR2_PACKAGE_QT_GUI_MODULE if BR2_PACKAGE_QT
+	select BR2_PACKAGE_QT5BASE_GUI if BR2_PACKAGE_QT5
+	select BR2_PACKAGE_QT5BASE_CONCURRENT if BR2_PACKAGE_QT5
 	help
 	  Qwt is a graphics extension to the Qt GUI application
 	  framework. It provides a 2D plotting widget and more.
@@ -13,14 +15,16 @@ if BR2_PACKAGE_QWT
 config BR2_PACKAGE_QWT_SVG
 	bool "SVG support"
 	select BR2_PACKAGE_QT_SVG if BR2_PACKAGE_QT
+	select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5
 
 config BR2_PACKAGE_QWT_MATHML
 	bool "MathML support"
 
 config BR2_PACKAGE_QWT_OPENGL
 	bool "OpenGL support"
-	depends on BR2_PACKAGE_HAS_LIBGLES
-	depends on BR2_PACKAGE_HAS_LIBEGL
+	depends on (BR2_PACKAGE_HAS_LIBGLES && BR2_PACKAGE_HAS_LIBEG) || \
+		BR2_PACKAGE_QT5_GL_AVAILABLE
 	select BR2_PACKAGE_QT_OPENGL_ES if BR2_PACKAGE_QT
+	select BR2_PACKAGE_QT5BASE_OPENGL_LIB if BR2_PACKAGE_QT5
 
 endif
package/qwt/qwt.mk +3 -0
index 4d481fb..594b141 100644
@@ -11,6 +11,9 @@ QWT_INSTALL_STAGING = YES
 ifeq ($(BR2_PACKAGE_QT),y)
 QWT_DEPENDENCIES = qt
 QWT_QMAKE = $(QT_QMAKE)
+else ifeq ($(BR2_PACKAGE_QT5),y)
+QWT_DEPENDENCIES += qt5
+QWT_QMAKE = $(QT5_QMAKE)
 endif
 
 QWT_LICENSE = LGPLv2.1 with exceptions
Signature · 1 line
1.9.1
#2 lore raw

PATCH 2/2 package/qwt : added support for Qt5.

Hello,

package/qwt/Config.in if BR2_PACKAGE_QWT · line 26

Quoted 2 lines · David Picard
package/qwt/Config.in +2 -0
+	depends on (BR2_PACKAGE_HAS_LIBGLES && BR2_PACKAGE_HAS_LIBEG) || \
+		BR2_PACKAGE_QT5_GL_AVAILABLE

I know I told you to use this, but in fact I think a more correct dependency is:

	(BR2_PACKAGE_HAS_LIBGLES && BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_QT) || \
	(BR2_PACKAGE_QT5_GL_AVAILABLE && BR2_PACKAGE_QT5)

so that we are sure that if we're using Qt, we have the dependencies that are needed to have OpenGL support in Qt, and if we have Qt5, we have the dependencies that are needed to have OpenGL support in Qt5.

I've applied after fixing this.

Also, after applying, I noticed there was a typo: BR2_PACKAGE_HAS_LIBEG in your patch should have been BR2_PACKAGE_HAS_LIBEGL. I've fixed that up with a following commit, as I only noticed while replying to this e-mail.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH 2/2 package/qwt : added support for Qt5.

Hello,

OK, thanks for your help and patience. It was very instructive.

Cheers,
David.

Le 25/03/2016 10:51, Thomas Petazzoni a ?crit :

Quoted 28 lines

Hello,

package/qwt/Config.in if BR2_PACKAGE_QWT · line 26

Quoted 2 lines · David Picard
package/qwt/Config.in +2 -0
+	depends on (BR2_PACKAGE_HAS_LIBGLES && BR2_PACKAGE_HAS_LIBEG) || \
+		BR2_PACKAGE_QT5_GL_AVAILABLE

I know I told you to use this, but in fact I think a more correct dependency is:

	(BR2_PACKAGE_HAS_LIBGLES && BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_QT) || \
	(BR2_PACKAGE_QT5_GL_AVAILABLE && BR2_PACKAGE_QT5)

so that we are sure that if we're using Qt, we have the dependencies that are needed to have OpenGL support in Qt, and if we have Qt5, we have the dependencies that are needed to have OpenGL support in Qt5.

I've applied after fixing this.

Also, after applying, I noticed there was a typo: BR2_PACKAGE_HAS_LIBEG in your patch should have been BR2_PACKAGE_HAS_LIBEGL. I've fixed that up with a following commit, as I only noticed while replying to this e-mail.

Thanks!

Thomas

#4 lore raw

PATCH 1/2 package/qwt : prepared package for other versions of Qt.

In reply to David Picard

Hello,

Quoted 9 lines · David Picard

Reformatted the package configuration to make it more generic. It will thus be easier to handle more than one version of Qt. Indeed, multiple versions of Qt are compatible with the current Qwt. Dropped comment, considered uninformative.

---
 package/qwt/Config.in | 10 +++-------
 package/qwt/qwt.mk    |  5 ++++-
 2 files changed, 7 insertions(+), 8 deletions(-)

I've tweaked the commit log to explain a bit more that we are switching to use "select" rather than "depends on" for the Qt sub-options, and applied. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

PATCH 1/2 package/qwt : prepared package for other versions of Qt.

Hi,

I get an error like :
make[1]: *** no rule to make target "qt5", needed by "<BASEDIR>/build/qwt-6.1.2/.stamp_configured". Stopping.

Wouldn't it be because of line 15 in package/qwt/qwt.mk ?
https://git.buildroot.net/buildroot/tree/package/qwt/qwt.mk?id=a976ee0dc834c56e67e1c832ded00ce23b5ccdb0

I changed it from :
QWT_DEPENDENCIES += qt5
to :
QWT_DEPENDENCIES += qt5base
and then I could build on. It seems like "qt5" is not a valid target name. By the way, where can you find what are the valid values ?

Le 25/03/2016 10:48, Thomas Petazzoni a ?crit :

Quoted 19 lines

Hello,

Quoted 9 lines · David Picard

Reformatted the package configuration to make it more generic. It will thus be easier to handle more than one version of Qt. Indeed, multiple versions of Qt are compatible with the current Qwt. Dropped comment, considered uninformative.

---
  package/qwt/Config.in | 10 +++-------
  package/qwt/qwt.mk    |  5 ++++-
  2 files changed, 7 insertions(+), 8 deletions(-)

I've tweaked the commit log to explain a bit more that we are switching to use "select" rather than "depends on" for the Qt sub-options, and applied. Thanks!

Thomas

#6 lore raw

PATCH 1/2 package/qwt : prepared package for other versions of Qt.

Hello,

Quoted 11 lines · David Picard

I get an error like :
make[1]: *** no rule to make target "qt5", needed by "<BASEDIR>/build/qwt-6.1.2/.stamp_configured". Stopping.

Wouldn't it be because of line 15 in package/qwt/qwt.mk ?
https://git.buildroot.net/buildroot/tree/package/qwt/qwt.mk?id=a976ee0dc834c56e67e1c832ded00ce23b5ccdb0

I changed it from :
QWT_DEPENDENCIES += qt5
to :
QWT_DEPENDENCIES += qt5base

Correct. Can you send a new patch to fix this?

Quoted 2 lines

and then I could build on. It seems like "qt5" is not a valid target name. By the way, where can you find what are the valid values ?

The possible values are the list of all packages in Buildroot. Whenever you have a .mk file that calls one of the generic-package, autotools-package, *-package macro, then there is a make target with the same name.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#7 lore raw

PATCH 1/2 package/qwt : prepared package for other versions of Qt.

Hi,

I saw you merged the patches into the master branch. So should I make a new patch based on the current master, or issue a new version of the 2 previous patches ?

David.

Le 25/03/2016 16:30, Thomas Petazzoni a ?crit :

Quoted 30 lines

Hello,

Quoted 11 lines · David Picard

I get an error like :
make[1]: *** no rule to make target "qt5", needed by "<BASEDIR>/build/qwt-6.1.2/.stamp_configured". Stopping.

Wouldn't it be because of line 15 in package/qwt/qwt.mk ?
https://git.buildroot.net/buildroot/tree/package/qwt/qwt.mk?id=a976ee0dc834c56e67e1c832ded00ce23b5ccdb0

I changed it from :
QWT_DEPENDENCIES += qt5
to :
QWT_DEPENDENCIES += qt5base

Correct. Can you send a new patch to fix this?

Quoted 2 lines

and then I could build on. It seems like "qt5" is not a valid target name. By the way, where can you find what are the valid values ?

The possible values are the list of all packages in Buildroot. Whenever you have a .mk file that calls one of the generic-package, autotools-package, *-package macro, then there is a make target with the same name.

Best regards,

Thomas

#8 lore raw

PATCH 1/2 package/qwt : prepared package for other versions of Qt.

Quoted 3 lines · David Picard

I saw you merged the patches into the master branch. So should I make a new patch based on the current master, or issue a new version of the 2 previous patches ?

A new patch based on the master.

How else could it be applied? If you create a new version of the previous
patches, the ones that are already committed would have to be reverted first, making things unnecessarily complicated.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF