package/opengl/libegl: switch to package-defined providers

It seems weird that the libegl package has to know all of the packages
that may provide the EGL implementation.

This also breaks implementation provided by packages in BR2_EXTERNAL,
since we can't easily depend on the order of packages before we can
derive the dependencies of libegl.

So, Arnout and I separately came up to the same conclusion: move the
dependency selection from out of libegl, and into each of the packages
that provides an EGL implementation. Here it is.

Since we no longer depend on the order packages are included, but on
values set at Kconfig-time, we can now have EGL providers in BR2_EXTERNAL.

Reported-by: David Corvoysier <david.corvoysier@orange.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Yann E. MORIN 2013-12-20 23:27:53 +01:00 committed by Thomas Petazzoni
parent 9e07d07d9d
commit 2c33417c9e
7 changed files with 24 additions and 18 deletions

View File

@ -24,6 +24,9 @@ config BR2_PACKAGE_GPU_VIV_BIN_MX6Q
if BR2_PACKAGE_GPU_VIV_BIN_MX6Q
config BR2_PACKAGE_PROVIDES_OPENGL_EGL
default "gpu-viv-bin-mx6q"
config BR2_PACKAGE_GPU_VIV_BIN_MX6Q_EXAMPLES
bool "install examples"
help

View File

@ -1,5 +1,4 @@
config BR2_PACKAGE_HAS_OPENGL_EGL
bool
source "package/opengl/libegl/Config.in"
config BR2_PACKAGE_HAS_OPENGL_ES
bool

View File

@ -0,0 +1,6 @@
config BR2_PACKAGE_HAS_OPENGL_EGL
bool
config BR2_PACKAGE_PROVIDES_OPENGL_EGL
depends on BR2_PACKAGE_HAS_OPENGL_EGL
string

View File

@ -5,22 +5,7 @@
################################################################################
LIBEGL_SOURCE =
ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
LIBEGL_DEPENDENCIES += rpi-userland
endif
ifeq ($(BR2_PACKAGE_TI_GFX),y)
LIBEGL_DEPENDENCIES += ti-gfx
endif
ifeq ($(BR2_PACKAGE_SUNXI_MALI),y)
LIBEGL_DEPENDENCIES += sunxi-mali
endif
ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),y)
LIBEGL_DEPENDENCIES += gpu-viv-bin-mx6q
endif
LIBEGL_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_OPENGL_EGL))
ifeq ($(LIBEGL_DEPENDENCIES),)
define LIBEGL_CONFIGURE_CMDS

View File

@ -17,6 +17,13 @@ config BR2_PACKAGE_RPI_USERLAND
https://github.com/raspberrypi/userland/
if BR2_PACKAGE_RPI_USERLAND
config BR2_PACKAGE_PROVIDES_OPENGL_EGL
default "rpi-userland"
endif
comment "rpi-userland needs a toolchain w/ C++, largefile, threads"
depends on BR2_arm
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -18,6 +18,9 @@ config BR2_PACKAGE_SUNXI_MALI
if BR2_PACKAGE_SUNXI_MALI
config BR2_PACKAGE_PROVIDES_OPENGL_EGL
default "sunxi-mali"
config BR2_PACKAGE_SUNXI_MALI_DBG
bool "install malitest and maliver tools"
help

View File

@ -11,6 +11,9 @@ config BR2_PACKAGE_TI_GFX
if BR2_PACKAGE_TI_GFX
config BR2_PACKAGE_PROVIDES_OPENGL_EGL
default "ti-gfx"
config BR2_PACKAGE_TI_GFX_DEBUG
bool "enable debug support"
help