Skip to contentSkip to conversation

package/webkit: Fix OpenGL-related dependencies

PATCH Superseded Bernd Kuhls 4 participants 6 messages May 19, 2014

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/webkit: Fix OpenGL-related dependencies

fixes
http://autobuild.buildroot.net/results/27a/27a674c6a19a729fae5cc33de0360b2a061930c1/

This patch indeed fixes two problems based on the autobuilder-defconfig used.

1) Add missing dependencies when opengl is detected by webkit to satisfy autobuilder:

checking which GPU acceleration backend to use... opengl checking for XCOMPOSITE... yes
checking for XDAMAGE... no
configure: error: Package requirements (xdamage) were not met:

2) ... but opengl should not have been detected with the used defconfig:

$ grep MESA .config
BR2_PACKAGE_MESA3D=y

which will lead to a link error although webkit configure found all dependencies:

/home/br2/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/4.7.3/../../../../mips-linux-gnu/bin/ld: cannot find -lGL

---
 package/webkit/webkit.mk |    7 +++++++
 1 file changed, 7 insertions(+)
package/webkit/webkit.mk +7 -0
index 21b535f..c693de7 100644
@@ -48,4 +48,11 @@ WEBKIT_CONF_OPT += \
 WEBKIT_CONF_OPT += --with-target=x11
 WEBKIT_DEPENDENCIES += xlib_libXt
 
+ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
+WEBKIT_CONF_OPT += --with-acceleration-backend=opengl
+WEBKIT_DEPENDENCIES += xlib_libXcomposite xlib_libXdamage
+else
+WEBKIT_CONF_OPT += --with-acceleration-backend=none
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH 1/1 package/webkit: Fix OpenGL-related dependencies

Quoted 5 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Bernd" == Bernd Kuhls <[email protected]> writes:

Bernd Kuhls <[email protected]> wrote in news:1400525369-32257-1-git-send-email-bernd.kuhls at t-online.de:

Quoted 8 lines
Quoted 3 lines

fixes
http://autobuild.buildroot.net/results/27a/27a674c6a19a729fae5cc33de0360b
2a061930c1/

Hi,

please do not commit the patch as is, it needs more polishing ;) (webkit takes ages to compile...)

Yes, I'm doing some tests as well. I'll reply to your patch and explain what I'm changing.

Signature · 1 line
Bye, Peter Korsgaard
#3 lore raw

PATCH 1/1 package/webkit: Fix OpenGL-related dependencies

In reply to Bernd Kuhls
Quoted 32 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Bernd" == Bernd Kuhls <[email protected]> writes:

fixes
http://autobuild.buildroot.net/results/27a/27a674c6a19a729fae5cc33de0360b2a061930c1/

This patch indeed fixes two problems based on the autobuilder-defconfig used.

1) Add missing dependencies when opengl is detected by webkit to satisfy autobuilder:

checking which GPU acceleration backend to use... opengl checking for XCOMPOSITE... yes
checking for XDAMAGE... no
configure: error: Package requirements (xdamage) were not met:

2) ... but opengl should not have been detected with the used defconfig:

$ grep MESA .config
BR2_PACKAGE_MESA3D=y

which will lead to a link error although webkit configure found all dependencies:

/home/br2/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/4.7.3/../../../../mips-linux-gnu/bin/ld: cannot find -lGL

---
 package/webkit/webkit.mk |    7 +++++++
 1 file changed, 7 insertions(+)
package/webkit/webkit.mk +0 -0
index 21b535f..c693de7 100644

package/webkit/webkit.mk WEBKIT_CONF_OPT += \ · line 53

Quoted 6 lines
package/webkit/webkit.mk +3 -0
@@ -48,4 +48,11 @@ WEBKIT_CONF_OPT += \
 WEBKIT_CONF_OPT += --with-target=x11
 WEBKIT_DEPENDENCIES += xlib_libXt
 
+ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
+WEBKIT_CONF_OPT += --with-acceleration-backend=opengl
+WEBKIT_DEPENDENCIES += xlib_libXcomposite xlib_libXdamage

We have to select the corresponding symbols in Config.in as well to ensure Kconfig is in sync with the makefiles - E.G. something like:

select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_HAS_LIBGL

and then in the .mk:

WEBKIT_DEPENDENCIES += \
       $(if $(BR_PACKAGE_XLIB_LIBXCOMPOSITE),xlib_libXcomposite) \
       $(if $(BR_PACKAGE_XLIB_LIBXDAMAGE),xlib_libXdamage)

ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) WEBKIT_CONF_OPT += --with-acceleration-backend=opengl WEBKIT_DEPENDENCIES += libgl
else
WEBKIT_CONF_OPT += --with-acceleration-backend=none endif

I'm currently doing a test build to verify.

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

PATCH 1/1 package/webkit: Fix OpenGL-related dependencies

Peter, All,

On 2014-05-19 22:37 +0200, Peter Korsgaard spake thusly:

Quoted 42 lines
Quoted 32 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Bernd" == Bernd Kuhls <[email protected]> writes:

fixes
http://autobuild.buildroot.net/results/27a/27a674c6a19a729fae5cc33de0360b2a061930c1/

This patch indeed fixes two problems based on the autobuilder-defconfig used.

1) Add missing dependencies when opengl is detected by webkit to satisfy autobuilder:

checking which GPU acceleration backend to use... opengl checking for XCOMPOSITE... yes
checking for XDAMAGE... no
configure: error: Package requirements (xdamage) were not met:

2) ... but opengl should not have been detected with the used defconfig:

$ grep MESA .config
BR2_PACKAGE_MESA3D=y

which will lead to a link error although webkit configure found all dependencies:

/home/br2/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/4.7.3/../../../../mips-linux-gnu/bin/ld: cannot find -lGL

---
 package/webkit/webkit.mk |    7 +++++++
 1 file changed, 7 insertions(+)
package/webkit/webkit.mk +0 -0
index 21b535f..c693de7 100644

package/webkit/webkit.mk WEBKIT_CONF_OPT += \ · line 53

Quoted 6 lines
package/webkit/webkit.mk +3 -0
@@ -48,4 +48,11 @@ WEBKIT_CONF_OPT += \
 WEBKIT_CONF_OPT += --with-target=x11
 WEBKIT_DEPENDENCIES += xlib_libXt
 
+ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
+WEBKIT_CONF_OPT += --with-acceleration-backend=opengl
+WEBKIT_DEPENDENCIES += xlib_libXcomposite xlib_libXdamage

We have to select the corresponding symbols in Config.in as well to ensure Kconfig is in sync with the makefiles - E.G. something like:

Quoted 8 lines

select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_HAS_LIBGL

and then in the .mk:

WEBKIT_DEPENDENCIES += \
       $(if $(BR_PACKAGE_XLIB_LIBXCOMPOSITE),xlib_libXcomposite) \
       $(if $(BR_PACKAGE_XLIB_LIBXDAMAGE),xlib_libXdamage)

Not that I dislike this, but we explicitly state in the manual that multi-lines are prefered over single-lines:
http://buildroot.net/downloads/manual/manual.html#writing-rules-config-in

Let's try to at least pretend we ourself respect our own rules. ;-)

Regards,
Yann E. MORIN.

Quoted 15 lines

ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) WEBKIT_CONF_OPT += --with-acceleration-backend=opengl WEBKIT_DEPENDENCIES += libgl
else
WEBKIT_CONF_OPT += --with-acceleration-backend=none endif

I'm currently doing a test build to verify.

Signature · 5 lines
Bye, Peter Korsgaard
_______________________________________________
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 1/1 package/webkit: Fix OpenGL-related dependencies

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Yann" == Yann E MORIN <[email protected]> writes:

Hi,

Quoted 9 lines
Quoted 3 lines

WEBKIT_DEPENDENCIES += \
$(if $(BR_PACKAGE_XLIB_LIBXCOMPOSITE),xlib_libXcomposite) \
$(if $(BR_PACKAGE_XLIB_LIBXDAMAGE),xlib_libXdamage)

Not that I dislike this, but we explicitly state in the manual that multi-lines are prefered over single-lines:
http://buildroot.net/downloads/manual/manual.html#writing-rules-config-in

Let's try to at least pretend we ourself respect our own rules. ;-)

True. I think what the manual means (atleast that's my opinion) is that single line syntax is fine for simple statements (like dependencies) - E.G.:

FOO_DEPENDENCIES += $(if $(BR2_PACKAGE_BAR),bar)

But not when you need to repeat the test for E.G. configure options and dependencies:

FOO_CONF_OPT += $(if $(BR2_PACKAGE_BAR),--with-bar,--without-bar) FOO_DEPENDENCIES += $(if $(BR2_PACKAGE_BAR),bar)

This should preferably only do the test once, E.G.:

ifeq ($(BR2_PACKAGE_BAR),y)
FOO_CONF_OPT += --with-bar
FOO_DEPENDENCIES += bar
else
FOO_CONF_OPT += --without-bar
endif

Signature · 1 line
Bye, Peter Korsgaard