Skip to contentSkip to conversation

package/qt: Add optional support for OpenGL

PATCH New Bernd Kuhls 3 participants 11 messages Jun 12, 2016 – Jun 13, 2016

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/5 package/qt: Add optional support for OpenGL

OpenGL support is only available for the desktop variant of Qt4 and not the embedded one: http://code.qt.io/cgit/qt/qt.git/tree/configure#n6612

This patch is needed to fix a compile error with libv4l which depends on OpenGL support if qt4 is used by libv4l as optional dependency.

---
v2: Added "none" option (Yann)

 package/qt/Config.in | 20 ++++++++++++++++++++
 package/qt/qt.mk     |  3 +++
 2 files changed, 23 insertions(+)
package/qt/Config.in +20 -0
index 0ab8417..14b13ce 100644
@@ -350,6 +350,24 @@ config BR2_PACKAGE_QT_PHONON_BACKEND
 	  Build the platform Phonon plugin.
 	  If unsure, say n.
 
+choice
+	prompt "OpenGL API"
+	help
+	  Select OpenGL API.
+
+config BR2_PACKAGE_QT_OPENGL_NONE
+	bool "No OpenGL support"
+
+comment "Desktop OpenGL not available (needs Qt standard (X11))"
+	depends on !BR2_PACKAGE_QT_X11
+
+config BR2_PACKAGE_QT_OPENGL_GL_DESKTOP
+	bool "Desktop OpenGL"
+	depends on BR2_PACKAGE_HAS_LIBGL
+	depends on BR2_PACKAGE_QT_X11
+	help
+	  Use desktop OpenGL.
+
 config BR2_PACKAGE_QT_OPENGL_ES
 	bool "OpenGL ES v2.x support"
 	depends on BR2_PACKAGE_HAS_LIBGLES
@@ -357,6 +375,8 @@ config BR2_PACKAGE_QT_OPENGL_ES
 	help
 	  Enable the OpenGL ES v2.x support.
 
+endchoice
+
 endif
 
 config BR2_PACKAGE_QT_DBUS
package/qt/qt.mk +3 -0
index f29a671..d56fe7e 100644
@@ -336,6 +336,9 @@ QT_DEPENDENCIES += libgles libegl
 QT_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl`
 QT_CXXFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl`
 QT_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs egl`
+else ifeq ($(BR2_PACKAGE_QT_OPENGL_GL_DESKTOP),y)
+QT_CONFIGURE_OPTS += -opengl desktop
+QT_DEPENDENCIES += libgl
 else
 QT_CONFIGURE_OPTS += -no-opengl
 endif
Signature · 1 line
2.8.1
#1 lore raw

PATCH v2 2/5 package/libv4l: qt4 support depends on OpenGL

Fixes
http://autobuild.buildroot.net/results/8fc/8fc8cbc85dacebce5cb6ab13f5ff3b0764117471/

---
v2: no changes

 package/libv4l/libv4l.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/libv4l/libv4l.mk +1 -1
index bdd28bf..d0a0369 100644
@@ -54,7 +54,7 @@ LIBV4L_CONF_ENV += \
 	ac_cv_prog_MOC=$(HOST_DIR)/usr/bin/moc \
 	ac_cv_prog_RCC=$(HOST_DIR)/usr/bin/rcc \
 	ac_cv_prog_UIC=$(HOST_DIR)/usr/bin/uic
-else ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y)
+else ifeq ($(BR2_PACKAGE_QT_OPENGL_GL_DESKTOP),y)
 LIBV4L_CONF_OPTS += --enable-qv4l2
 LIBV4L_DEPENDENCIES += qt
 else
Signature · 1 line
2.8.1
#2 lore raw

PATCH v2 2/5 package/libv4l: qt4 support depends on OpenGL

Bernd, All,

On 2016-06-12 22:07 +0200, Bernd Kuhls spake thusly:

Quoted 4 lines

Fixes
http://autobuild.buildroot.net/results/8fc/8fc8cbc85dacebce5cb6ab13f5ff3b0764117471/

You forgot to carry my reviewed-by tag. Here it is again:

Regards,
Yann E. MORIN.

Quoted 26 lines

---
v2: no changes

 package/libv4l/libv4l.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/libv4l/libv4l.mk +1 -1
index bdd28bf..d0a0369 100644
@@ -54,7 +54,7 @@ LIBV4L_CONF_ENV += \
 	ac_cv_prog_MOC=$(HOST_DIR)/usr/bin/moc \
 	ac_cv_prog_RCC=$(HOST_DIR)/usr/bin/rcc \
 	ac_cv_prog_UIC=$(HOST_DIR)/usr/bin/uic
-else ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y)
+else ifeq ($(BR2_PACKAGE_QT_OPENGL_GL_DESKTOP),y)
 LIBV4L_CONF_OPTS += --enable-qv4l2
 LIBV4L_DEPENDENCIES += qt
 else
Signature · 6 lines
2.8.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH v2 3/5 package/libv4l: add optional support for alsa-lib

In reply to Bernd Kuhls

Add alsa-lib as optional dependency to get a reproducable build. Without this patch configure logs:

checking for ALSA... no
configure: WARNING: ALSA library not available

After this patch alsa-lib was built before libv4l:
checking for ALSA... yes

---
v2: no changes

 package/libv4l/libv4l.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/libv4l/libv4l.mk +4 -0
index d0a0369..e7a57f0 100644
@@ -18,6 +18,10 @@ LIBV4L_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99'
 LIBV4L_LICENSE = GPLv2+ (utilities), LGPLv2.1+ (libraries)
 LIBV4L_LICENSE_FILES = COPYING COPYING.libv4l lib/libv4l1/libv4l1-kernelcode-license.txt
 
+ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
+LIBV4L_DEPENDENCIES += alsa-lib
+endif
+
 ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y)
 LIBV4L_DEPENDENCIES += argp-standalone
 LIBV4L_LIBS += -largp
Signature · 1 line
2.8.1
#4 lore raw

PATCH v2 3/5 package/libv4l: add optional support for alsa-lib

Bernd, All,

On 2016-06-12 22:07 +0200, Bernd Kuhls spake thusly:

Quoted 10 lines

Add alsa-lib as optional dependency to get a reproducable build. Without this patch configure logs:

checking for ALSA... no
configure: WARNING: ALSA library not available

After this patch alsa-lib was built before libv4l:
checking for ALSA... yes

I've had a cursory look at their configure.ac, and it seems there is no way to explicitly disable support for alsa. Hopefully, it will not pick up host libs when the target is the same as the host and alsa-libs is disabled...

Regards,
Yann E. MORIN.

Quoted 28 lines

---
v2: no changes

 package/libv4l/libv4l.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/libv4l/libv4l.mk +4 -0
index d0a0369..e7a57f0 100644
@@ -18,6 +18,10 @@ LIBV4L_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99'
 LIBV4L_LICENSE = GPLv2+ (utilities), LGPLv2.1+ (libraries)
 LIBV4L_LICENSE_FILES = COPYING COPYING.libv4l lib/libv4l1/libv4l1-kernelcode-license.txt
 
+ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
+LIBV4L_DEPENDENCIES += alsa-lib
+endif
+
 ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y)
 LIBV4L_DEPENDENCIES += argp-standalone
 LIBV4L_LIBS += -largp
Signature · 6 lines
2.8.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#5 lore raw

PATCH v2 4/5 package/libv4l: add optional support for libgl

In reply to Bernd Kuhls

libv4l has optional support for OpenGL:
https://git.linuxtv.org/v4l-utils.git/tree/configure.ac#n160

---
v2: no changes

 package/libv4l/libv4l.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/libv4l/libv4l.mk +4 -0
index e7a57f0..a73b6cf 100644
@@ -36,6 +36,10 @@ else
 LIBV4L_CONF_OPTS += --without-jpeg
 endif
 
+ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
+LIBV4L_DEPENDENCIES += libgl
+endif
+
 ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
 LIBV4L_CONF_OPTS += --with-libudev
 LIBV4L_DEPENDENCIES += udev
Signature · 1 line
2.8.1
#6 lore raw

PATCH v2 4/5 package/libv4l: add optional support for libgl

Bernd, All,

On 2016-06-12 22:07 +0200, Bernd Kuhls spake thusly:

Quoted 4 lines

libv4l has optional support for OpenGL:
https://git.linuxtv.org/v4l-utils.git/tree/configure.ac#n160

Same cursory look, no way to explicitly disable libgl support... :-/ (It would have been nice if you had said so in the commit log, btw...)

Regards,
Yann E. MORIN.

Quoted 28 lines

---
v2: no changes

 package/libv4l/libv4l.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/libv4l/libv4l.mk +4 -0
index e7a57f0..a73b6cf 100644
@@ -36,6 +36,10 @@ else
 LIBV4L_CONF_OPTS += --without-jpeg
 endif
 
+ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
+LIBV4L_DEPENDENCIES += libgl
+endif
+
 ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
 LIBV4L_CONF_OPTS += --with-libudev
 LIBV4L_DEPENDENCIES += udev
Signature · 6 lines
2.8.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#7 lore raw

PATCH v2 5/5 package/libv4l: add optional support for libglu

In reply to Bernd Kuhls

libv4l has optional support for libglu:
https://git.linuxtv.org/v4l-utils.git/tree/configure.ac#n166

---
v2: no changes

 package/libv4l/libv4l.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/libv4l/libv4l.mk +4 -0
index a73b6cf..d0a3f2b 100644
@@ -47,6 +47,10 @@ else
 LIBV4L_CONF_OPTS += --without-libudev
 endif
 
+ifeq ($(BR2_PACKAGE_LIBGLU),y)
+LIBV4L_DEPENDENCIES += libglu
+endif
+
 ifeq ($(BR2_PACKAGE_LIBV4L_UTILS),y)
 LIBV4L_CONF_OPTS += --enable-v4l-utils
 # clock_gettime is used, which is provided by librt for glibc < 2.17
Signature · 1 line
2.8.1
#8 lore raw

PATCH v2 5/5 package/libv4l: add optional support for libglu

Bernd, All,

On 2016-06-12 22:07 +0200, Bernd Kuhls spake thusly:

Quoted 4 lines

libv4l has optional support for libglu:
https://git.linuxtv.org/v4l-utils.git/tree/configure.ac#n166

Again, no way to explicitly disable libglu support...

Regards,
Yann E. MORIN.

Quoted 28 lines

---
v2: no changes

 package/libv4l/libv4l.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/libv4l/libv4l.mk +4 -0
index a73b6cf..d0a3f2b 100644
@@ -47,6 +47,10 @@ else
 LIBV4L_CONF_OPTS += --without-libudev
 endif
 
+ifeq ($(BR2_PACKAGE_LIBGLU),y)
+LIBV4L_DEPENDENCIES += libglu
+endif
+
 ifeq ($(BR2_PACKAGE_LIBV4L_UTILS),y)
 LIBV4L_CONF_OPTS += --enable-v4l-utils
 # clock_gettime is used, which is provided by librt for glibc < 2.17
Signature · 6 lines
2.8.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#9 lore raw

PATCH v2 1/5 package/qt: Add optional support for OpenGL

In reply to Bernd Kuhls

Bernd, All,

On 2016-06-12 22:07 +0200, Bernd Kuhls spake thusly:

Quoted 7 lines

OpenGL support is only available for the desktop variant of Qt4 and not the embedded one: http://code.qt.io/cgit/qt/qt.git/tree/configure#n6612

This patch is needed to fix a compile error with libv4l which depends on OpenGL support if qt4 is used by libv4l as optional dependency.

Regards,
Yann E. MORIN.

Quoted 66 lines

---
v2: Added "none" option (Yann)

 package/qt/Config.in | 20 ++++++++++++++++++++
 package/qt/qt.mk     |  3 +++
 2 files changed, 23 insertions(+)
package/qt/Config.in +20 -0
index 0ab8417..14b13ce 100644
@@ -350,6 +350,24 @@ config BR2_PACKAGE_QT_PHONON_BACKEND
 	  Build the platform Phonon plugin.
 	  If unsure, say n.
 
+choice
+	prompt "OpenGL API"
+	help
+	  Select OpenGL API.
+
+config BR2_PACKAGE_QT_OPENGL_NONE
+	bool "No OpenGL support"
+
+comment "Desktop OpenGL not available (needs Qt standard (X11))"
+	depends on !BR2_PACKAGE_QT_X11
+
+config BR2_PACKAGE_QT_OPENGL_GL_DESKTOP
+	bool "Desktop OpenGL"
+	depends on BR2_PACKAGE_HAS_LIBGL
+	depends on BR2_PACKAGE_QT_X11
+	help
+	  Use desktop OpenGL.
+
 config BR2_PACKAGE_QT_OPENGL_ES
 	bool "OpenGL ES v2.x support"
 	depends on BR2_PACKAGE_HAS_LIBGLES
@@ -357,6 +375,8 @@ config BR2_PACKAGE_QT_OPENGL_ES
 	help
 	  Enable the OpenGL ES v2.x support.
 
+endchoice
+
 endif
 
 config BR2_PACKAGE_QT_DBUS
package/qt/qt.mk +3 -0
index f29a671..d56fe7e 100644
@@ -336,6 +336,9 @@ QT_DEPENDENCIES += libgles libegl
 QT_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl`
 QT_CXXFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl`
 QT_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs egl`
+else ifeq ($(BR2_PACKAGE_QT_OPENGL_GL_DESKTOP),y)
+QT_CONFIGURE_OPTS += -opengl desktop
+QT_DEPENDENCIES += libgl
 else
 QT_CONFIGURE_OPTS += -no-opengl
 endif
Signature · 6 lines
2.8.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#10 lore raw

PATCH v2 1/5 package/qt: Add optional support for OpenGL

In reply to Bernd Kuhls

Hello,

Quoted 7 lines · Bernd Kuhls

OpenGL support is only available for the desktop variant of Qt4 and not the embedded one: http://code.qt.io/cgit/qt/qt.git/tree/configure#n6612

This patch is needed to fix a compile error with libv4l which depends on OpenGL support if qt4 is used by libv4l as optional dependency.

Not sure this is related directly, but it's Qt/OpenGL related, could you have a look at:

http://autobuild.buildroot.net/results/2a8/2a8edb18ab7f8a9e324966282858014e9b5bbea0/build-end.log

Thanks!

Thomas

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