[Buildroot] [PATCH 1/2] infra: improve dependency check in virtual packages.

Eric Le Bihan eric.le.bihan.dev at free.fr
Tue Feb 25 12:04:48 UTC 2014


Hi!

On Mon, Feb 24, 2014 at 07:29:51PM +0100, Yann E. MORIN wrote:
[...]
> I don't know about you folks, but I'm beginning to see a pattern here...
>
> If all of our BR2_PACKAGE_HAS_FOOBAR options would match the corresponding
> FOOBAR_DEPENDENCIES, then we could use something like (absolutely untested,
> only pure random thoughts):
>
>     $(eval $(call virtual-package,FooBar))
>
> whith 'virtual-package' something like:
>
>     define virtual-package
>     ifeq ($(BR2_PACKAGE_HAS_$(call upper,$(1))),y)
>     ifeq ($($(call upper,$(1))_DEPENDENCIES),)
>     $(error No $(1) implementation selected. Configuration error.)
>     endif
>     endif
>     endef
>
> But then we would need:
>     s/BR2_PACKAGE_HAS_OPENGL_EGL/BR2_PACKAGE_HAS_LIBEGL/
>     s/BR2_PACKAGE_HAS_OPENGL_GLES/BR2_PACKAGE_HAS_LIBGLES/
>     s/BR2_PACKAGE_HAS_OPENMAX/BR2_PACKAGE_HAS_LIBOPENMAX/
>     s/BR2_PACKAGE_HAS_OPENVG/BR2_PACKAGE_HAS_LIBOPENVG/
IMHO, renaming BR2_PACKAGE_HAS_OPENGL_GLES to BR2_PACKAGE_HAS_LIBGLES and
friends is OK, as it matches the mesa3d naming and sounds less redundant.
> Lua interpreter and PowerVR already match this.
>
> We could even go further, so as to only require a call to 'virtual-package'
> and not to 'generic-package', with some carefully-crafted Makefile
> constructs (but we would loose the capitalisation of eg. lbEGL, since the
> package is named 'libegl', all in lower-case). 'virtual-package' could
> even override FOOBAR_SOURCE="" before calling generic-package behind the
> hood. This would make writing virtual packages even easier.
>
> Thought?
I like the idea. The virtual packages would become one-liners :-)
I'll test it.

Best regards,
ELB


More information about the buildroot mailing list