[webkit-gtk] How can I build webkitGTK with openGL ES 2.0 only.

Víctor M. Jáquez L. vjaquez at igalia.com
Fri Aug 9 02:59:23 PDT 2013


Hi Chan,

On Thu, Jun 13, 2013 at 11:28:41AM +0900, 김병찬 wrote:
> Because my target ARM device doesn't support desktop openGL, So I want to
> know "Does webkitgtk support openGL ES well?" before cross compiling. But
> I'm not sure my binary use desktop GL or not.

I natively compiled in a ARM device using jhbuild to make a bleeding edge gtk+
environment and then used that for compiling webkitgtk+, just as this page
explains; 

https://wiki.gnome.org/Epiphany%20/Development

And for building WKGTK+ I used this command:

$ jhbuild shell
$ cd WebKit
$ Tools/Scripts/build-webkit \
        --makeargs=-j4 \
        --gtk \
        --prefix=/opt/gnome \
        --webgl \
        --no-svg \
        --disable-gtk-doc \
        --enable-glx=no \
        --disable-jit \
        2>&1 | tee output.log


> 
> Anyway as you say, If build with EGL and OpenGL ES support doesn't use
> desktop GL, then every things OK.
> 
> Now I'm going to cross compile webkitgtk. (maybe it's more hard work to me
> :( )
> Thanks for your help, Martin. (REALLY)

I eager to know about your results with the cross compilation!

I've tried several approaches, and none of them have worked for me.

I've tried these approaches without success:

1\ Installed emdebian toolchain, debootstrapped a ubuntu-raring/debian-sid
image, installed scratchbox2 for the qemu's magic.

This doesn't work because the libc is different, and the multiarch setup of
the boostrapped images mangles the headers, so jhbuild within sb2 seems
impossible.

2\ Use buildroot & crosstool-ng to build a whole image that will run chrooted
when deployed in the SoC. And again scratchbox2 for qemu's magic for doing
jhbuild.

I've been working on this approach a lot of time, because crafting a correct
toolchain has been very time-consuming. Also I had to patch scrachtbox2 witha
very esoteric mapping problem with the python libraries -
http://comments.gmane.org/gmane.comp.compilers.scratchbox.devel/468 

And everything start to go well until I found that gobject-introspection can't
be built in a cross-compilation environment -
https://bugzilla.gnome.org/show_bug.cgi?id=592311

This issue trashes my intention of a complete chroot to work.

3\ Install all the dependencies through the mutiarch, and build epiphany and
webkit2gtk+ with dpkg-buildpackage.

This approach looked very promising but it still very limited, it was
developed partly by Linaro and partly by a GSoC estudent, but I couldn't have
a crossed compilation environment with this multiarch setup. At the end I have
to have a qemu-lated system.


My last two options are:

1\ This is a finally intention for a pseudo-cross compilation using a qemu'ed
chroot.

Today I'll try compile webkit in a armhf ubuntu raring chroot, under qemu, and
see if it is a better option than doing it in the board.

2\ Forget about a pure cross-compilation and try to use icecc for distributed
compilation:
http://www.politreco.com/2011/05/cross-compiling-with-iceccicecream/

vmjl

> 
> 
> -- Chan
> 
> 2013/6/13 Martin Robinson <mrobinson at webkit.org>
> 
> > curiosity Wed, Jun 12, 2013 at 12:31 AM, 김병찬 <woanggun at gmail.com> wrote:
> > > Maybe you right.
> > >
> > > I saw this message "checking for CAIRO_GL....yes" In my build log.
> > > If turn off this, libcairo unlinked with GLX and GL?
> > >
> > > But I couldn't find how turn off the CAIRO_GL..
> > > "--disable-cairogl, --disable-cairo_gl" not work..
> > >
> > > How can I unlink with GLX and desktop GL?
> >
> > If you want to use a special configuration like this, you can build
> > using autotools directly. Out of curiosity though, why do you have  to
> > remove desktop GL? If you build WebKit with EGL and OpenGL ES support
> > it won't use desktop GL.
> >
> > --Martni
> >

> _______________________________________________
> webkit-gtk mailing list
> webkit-gtk at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-gtk



More information about the webkit-gtk mailing list