aboutsummaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
authorGravatar Yann E. MORIN <yann.morin.1998@free.fr>2013-12-20 23:27:53 +0100
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-12-25 18:20:42 +0100
commit2c33417c9e777ab5eb5d21bc5354208d9b79ba11 (patch)
tree97a1c3ba278a11a5c22aa8082625beffda0c047c /package
parent9e07d07d9d9e065e00bd54f4f9c78912d94b2fdf (diff)
downloadbuildroot-2c33417c9e777ab5eb5d21bc5354208d9b79ba11.tar.gz
buildroot-2c33417c9e777ab5eb5d21bc5354208d9b79ba11.tar.bz2
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>
Diffstat (limited to 'package')
-rw-r--r--package/freescale-imx/gpu-viv-bin-mx6q/Config.in3
-rw-r--r--package/opengl/Config.in3
-rw-r--r--package/opengl/libegl/Config.in6
-rw-r--r--package/opengl/libegl/libegl.mk17
-rw-r--r--package/rpi-userland/Config.in7
-rw-r--r--package/sunxi-mali/Config.in3
-rw-r--r--package/ti-gfx/Config.in3
7 files changed, 24 insertions, 18 deletions
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/Config.in b/package/freescale-imx/gpu-viv-bin-mx6q/Config.in
index 64e42bad0e..68380a2996 100644
--- a/package/freescale-imx/gpu-viv-bin-mx6q/Config.in
+++ b/package/freescale-imx/gpu-viv-bin-mx6q/Config.in
@@ -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
diff --git a/package/opengl/Config.in b/package/opengl/Config.in
index 1636807a84..686543b27f 100644
--- a/package/opengl/Config.in
+++ b/package/opengl/Config.in
@@ -1,5 +1,4 @@
-config BR2_PACKAGE_HAS_OPENGL_EGL
- bool
+source "package/opengl/libegl/Config.in"
config BR2_PACKAGE_HAS_OPENGL_ES
bool
diff --git a/package/opengl/libegl/Config.in b/package/opengl/libegl/Config.in
new file mode 100644
index 0000000000..2d81a20774
--- /dev/null
+++ b/package/opengl/libegl/Config.in
@@ -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
diff --git a/package/opengl/libegl/libegl.mk b/package/opengl/libegl/libegl.mk
index c194b02764..b2b74f13a7 100644
--- a/package/opengl/libegl/libegl.mk
+++ b/package/opengl/libegl/libegl.mk
@@ -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
diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in
index 8910211836..3c8959e293 100644
--- a/package/rpi-userland/Config.in
+++ b/package/rpi-userland/Config.in
@@ -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
diff --git a/package/sunxi-mali/Config.in b/package/sunxi-mali/Config.in
index 2ca049db6c..7f07647d6a 100644
--- a/package/sunxi-mali/Config.in
+++ b/package/sunxi-mali/Config.in
@@ -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
diff --git a/package/ti-gfx/Config.in b/package/ti-gfx/Config.in
index ec3a54cec7..e89660f3e7 100644
--- a/package/ti-gfx/Config.in
+++ b/package/ti-gfx/Config.in
@@ -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