[OE-core] [yocto] opengl / libgl / libgles

Richard Purdie richard.purdie at linuxfoundation.org
Thu Sep 6 15:55:56 UTC 2012


On Thu, 2012-09-06 at 14:51 +0100, Burton, Ross wrote:
> On 6 September 2012 14:25, Koen Kooi <koen at dominion.thruhere.net> wrote:
> > It's not automatic, but you can do something like this:
> >
> >         http://git.yoctoproject.org/cgit/cgit.cgi/meta-ti/commit/?id=23b02134
> >
> > That recipe ships multiple copies of the libraries to account for different silicon revisions (the shader compiler will offload different things to the CPU), but we don't want the shlibs code to pickup the copies. So for mesa you can do:
> >
> >         PRIVATE_LIBS_${PN}-dri = "libGL.so"
> >         RPROVIDES_${PN}-dri = $magic_python_function(PACKAGE_CONFIG, sometthing, something, libgl)
> >
> > And in the recipes that link to a GL lib you do:
> >
> >         RDEPENDS_${PN} = "libGL"
> 
> Ah, interesting.  I'm not entirely keen on the manual dependencies but
> that's certainly a step in the right direction.
> 
> If automatic replacement dependencies were added to bitbake, how would
> you implement them?  In Debian, libgl1-mesa installs a
> libgl1-mesa-glx.shlibs file with this contents:
> 
> libGL 1 libgl1-mesa-glx | libgl1
> 
> "when linking to libGL.so, use the dependency 'libgl1-mesa-glx |
> libg1".  All packages which contain libgl.so.1 have Provides: libgl1,
> so they are interchangable.
> 
> Some way of expressing that in the bitbake recipe would be great.

Note that this needs to be expressed at the core level, not recipe level
since it needs to be injected into several places and we don't want to
teach each one this. At best each would have to inherit
opengllib.bbclass.

We might just want to add a table of these and have package.bbclass add
dependencies using the table?

Yes, its suboptimal and not pretty but it would probably be very
effective.

Cheers,

Richard





More information about the Openembedded-core mailing list