* [Buildroot] [PATCH 1/5] package/opengl/libegl: switch to package-defined providers
2013-12-19 23:43 [Buildroot] [pull request] Pull request for branch yem/providers Yann E. MORIN
@ 2013-12-19 23:43 ` Yann E. MORIN
2013-12-19 23:43 ` [Buildroot] [PATCH 2/5] package/opengl/libgles: " Yann E. MORIN
` (4 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Yann E. MORIN @ 2013-12-19 23:43 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
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: David Corvoysier <david.corvoysier@orange.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
---
package/freescale-imx/gpu-viv-bin-mx6q/Config.in | 3 +++
package/opengl/Config.in | 3 +--
package/opengl/libegl/Config.in | 6 ++++++
package/opengl/libegl/libegl.mk | 17 +----------------
package/rpi-userland/Config.in | 7 +++++++
package/sunxi-mali/Config.in | 3 +++
package/ti-gfx/Config.in | 3 +++
7 files changed, 24 insertions(+), 18 deletions(-)
create mode 100644 package/opengl/libegl/Config.in
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/Config.in b/package/freescale-imx/gpu-viv-bin-mx6q/Config.in
index 64e42ba..68380a2 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 1636807..686543b 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 0000000..2d81a20
--- /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 c194b02..55e77a5 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 = $(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 8910211..3c8959e 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 2ca049d..7f07647 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 ec3a54c..e89660f 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
--
1.8.1.2
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Buildroot] [PATCH 2/5] package/opengl/libgles: switch to package-defined providers
2013-12-19 23:43 [Buildroot] [pull request] Pull request for branch yem/providers Yann E. MORIN
2013-12-19 23:43 ` [Buildroot] [PATCH 1/5] package/opengl/libegl: switch to package-defined providers Yann E. MORIN
@ 2013-12-19 23:43 ` Yann E. MORIN
2013-12-19 23:43 ` [Buildroot] [PATCH 3/5] package/opengl/libopenvg: " Yann E. MORIN
` (3 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Yann E. MORIN @ 2013-12-19 23:43 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
For the underlying reasons, see previous patch, titled:
package/opengl/libegl: switch to package-defined providers
Reported-by: David Corvoysier <david.corvoysier@orange.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Reported-by: David Corvoysier <david.corvoysier@orange.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
---
package/freescale-imx/gpu-viv-bin-mx6q/Config.in | 3 +++
package/opengl/Config.in | 4 +---
package/opengl/libgles/Config.in | 6 ++++++
package/opengl/libgles/libgles.mk | 17 +----------------
package/rpi-userland/Config.in | 3 +++
package/sunxi-mali/Config.in | 3 +++
package/ti-gfx/Config.in | 3 +++
7 files changed, 20 insertions(+), 19 deletions(-)
create mode 100644 package/opengl/libgles/Config.in
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/Config.in b/package/freescale-imx/gpu-viv-bin-mx6q/Config.in
index 68380a2..e084568 100644
--- a/package/freescale-imx/gpu-viv-bin-mx6q/Config.in
+++ b/package/freescale-imx/gpu-viv-bin-mx6q/Config.in
@@ -27,6 +27,9 @@ if BR2_PACKAGE_GPU_VIV_BIN_MX6Q
config BR2_PACKAGE_PROVIDES_OPENGL_EGL
default "gpu-viv-bin-mx6q"
+config BR2_PACKAGE_PROVIDES_OPENGL_ES
+ 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 686543b..3960082 100644
--- a/package/opengl/Config.in
+++ b/package/opengl/Config.in
@@ -1,7 +1,5 @@
source "package/opengl/libegl/Config.in"
-
-config BR2_PACKAGE_HAS_OPENGL_ES
- bool
+source "package/opengl/libgles/Config.in"
config BR2_PACKAGE_HAS_OPENVG
bool
diff --git a/package/opengl/libgles/Config.in b/package/opengl/libgles/Config.in
new file mode 100644
index 0000000..75ccfc8
--- /dev/null
+++ b/package/opengl/libgles/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HAS_OPENGL_ES
+ bool
+
+config BR2_PACKAGE_PROVIDES_OPENGL_ES
+ depends on BR2_PACKAGE_HAS_OPENGL_ES
+ string
diff --git a/package/opengl/libgles/libgles.mk b/package/opengl/libgles/libgles.mk
index ec157ac..f59ac72 100644
--- a/package/opengl/libgles/libgles.mk
+++ b/package/opengl/libgles/libgles.mk
@@ -5,22 +5,7 @@
################################################################################
LIBGLES_SOURCE =
-
-ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
-LIBGLES_DEPENDENCIES += rpi-userland
-endif
-
-ifeq ($(BR2_PACKAGE_TI_GFX),y)
-LIBGLES_DEPENDENCIES += ti-gfx
-endif
-
-ifeq ($(BR2_PACKAGE_SUNXI_MALI),y)
-LIBGLES_DEPENDENCIES += sunxi-mali
-endif
-
-ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),y)
-LIBGLES_DEPENDENCIES += gpu-viv-bin-mx6q
-endif
+LIBGLES_DEPENDENCIES = $(BR2_PACKAGE_PROVIDES_OPENGL_ES)
ifeq ($(LIBGLES_DEPENDENCIES),)
define LIBGLES_CONFIGURE_CMDS
diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in
index 3c8959e..b8860d6 100644
--- a/package/rpi-userland/Config.in
+++ b/package/rpi-userland/Config.in
@@ -22,6 +22,9 @@ if BR2_PACKAGE_RPI_USERLAND
config BR2_PACKAGE_PROVIDES_OPENGL_EGL
default "rpi-userland"
+config BR2_PACKAGE_PROVIDES_OPENGL_ES
+ default "rpi-userland"
+
endif
comment "rpi-userland needs a toolchain w/ C++, largefile, threads"
diff --git a/package/sunxi-mali/Config.in b/package/sunxi-mali/Config.in
index 7f07647..9f188a3 100644
--- a/package/sunxi-mali/Config.in
+++ b/package/sunxi-mali/Config.in
@@ -21,6 +21,9 @@ if BR2_PACKAGE_SUNXI_MALI
config BR2_PACKAGE_PROVIDES_OPENGL_EGL
default "sunxi-mali"
+config BR2_PACKAGE_PROVIDES_OPENGL_ES
+ 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 e89660f..929247b 100644
--- a/package/ti-gfx/Config.in
+++ b/package/ti-gfx/Config.in
@@ -14,6 +14,9 @@ if BR2_PACKAGE_TI_GFX
config BR2_PACKAGE_PROVIDES_OPENGL_EGL
default "ti-gfx"
+config BR2_PACKAGE_PROVIDES_OPENGL_ES
+ default "ti-gfx"
+
config BR2_PACKAGE_TI_GFX_DEBUG
bool "enable debug support"
help
--
1.8.1.2
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Buildroot] [PATCH 3/5] package/opengl/libopenvg: switch to package-defined providers
2013-12-19 23:43 [Buildroot] [pull request] Pull request for branch yem/providers Yann E. MORIN
2013-12-19 23:43 ` [Buildroot] [PATCH 1/5] package/opengl/libegl: switch to package-defined providers Yann E. MORIN
2013-12-19 23:43 ` [Buildroot] [PATCH 2/5] package/opengl/libgles: " Yann E. MORIN
@ 2013-12-19 23:43 ` Yann E. MORIN
2013-12-19 23:43 ` [Buildroot] [PATCH 4/5] package/opengl/libopenmax: " Yann E. MORIN
` (2 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Yann E. MORIN @ 2013-12-19 23:43 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
For the underlying reasons, see previous patch, titled:
package/opengl/libegl: switch to package-defined providers
Reported-by: David Corvoysier <david.corvoysier@orange.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: David Corvoysier <david.corvoysier@orange.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
---
package/opengl/Config.in | 4 +---
package/opengl/libopenvg/Config.in | 6 ++++++
package/opengl/libopenvg/libopenvg.mk | 5 +----
package/rpi-userland/Config.in | 3 +++
4 files changed, 11 insertions(+), 7 deletions(-)
create mode 100644 package/opengl/libopenvg/Config.in
diff --git a/package/opengl/Config.in b/package/opengl/Config.in
index 3960082..109cde8 100644
--- a/package/opengl/Config.in
+++ b/package/opengl/Config.in
@@ -1,8 +1,6 @@
source "package/opengl/libegl/Config.in"
source "package/opengl/libgles/Config.in"
-
-config BR2_PACKAGE_HAS_OPENVG
- bool
+source "package/opengl/libopenvg/Config.in"
config BR2_PACKAGE_HAS_OPENMAX
bool
diff --git a/package/opengl/libopenvg/Config.in b/package/opengl/libopenvg/Config.in
new file mode 100644
index 0000000..9d31525
--- /dev/null
+++ b/package/opengl/libopenvg/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HAS_OPENVG
+ bool
+
+config BR2_PACKAGE_PROVIDES_OPENVG
+ depends on BR2_PACKAGE_HAS_OPENVG
+ string
diff --git a/package/opengl/libopenvg/libopenvg.mk b/package/opengl/libopenvg/libopenvg.mk
index 3296f63..e1e00e9 100644
--- a/package/opengl/libopenvg/libopenvg.mk
+++ b/package/opengl/libopenvg/libopenvg.mk
@@ -5,10 +5,7 @@
################################################################################
LIBOPENVG_SOURCE =
-
-ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
-LIBOPENVG_DEPENDENCIES += rpi-userland
-endif
+LIBOPENVG_DEPENDENCIES = $(BR2_PACKAGE_PROVIDES_OPENVG)
ifeq ($(LIBOPENVG_DEPENDENCIES),)
define LIBOPENVG_CONFIGURE_CMDS
diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in
index b8860d6..271c71d 100644
--- a/package/rpi-userland/Config.in
+++ b/package/rpi-userland/Config.in
@@ -25,6 +25,9 @@ config BR2_PACKAGE_PROVIDES_OPENGL_EGL
config BR2_PACKAGE_PROVIDES_OPENGL_ES
default "rpi-userland"
+config BR2_PACKAGE_PROVIDES_OPENVG
+ default "rpi-userland"
+
endif
comment "rpi-userland needs a toolchain w/ C++, largefile, threads"
--
1.8.1.2
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Buildroot] [PATCH 4/5] package/opengl/libopenmax: switch to package-defined providers
2013-12-19 23:43 [Buildroot] [pull request] Pull request for branch yem/providers Yann E. MORIN
` (2 preceding siblings ...)
2013-12-19 23:43 ` [Buildroot] [PATCH 3/5] package/opengl/libopenvg: " Yann E. MORIN
@ 2013-12-19 23:43 ` Yann E. MORIN
2013-12-19 23:43 ` [Buildroot] [PATCH 5/5] package/powervr: " Yann E. MORIN
2013-12-20 9:31 ` [Buildroot] [pull request] Pull request for branch yem/providers Thomas Petazzoni
5 siblings, 0 replies; 11+ messages in thread
From: Yann E. MORIN @ 2013-12-19 23:43 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
For the underlying reasons, see previous patch, titled:
package/opengl/libegl: switch to package-defined providers
Reported-by: David Corvoysier <david.corvoysier@orange.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: David Corvoysier <david.corvoysier@orange.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
---
package/bellagio/Config.in | 7 +++++++
package/opengl/Config.in | 4 +---
package/opengl/libopenmax/Config.in | 6 ++++++
package/opengl/libopenmax/libopenmax.mk | 9 +--------
package/rpi-userland/Config.in | 3 +++
5 files changed, 18 insertions(+), 11 deletions(-)
create mode 100644 package/opengl/libopenmax/Config.in
diff --git a/package/bellagio/Config.in b/package/bellagio/Config.in
index e3da432..2beb658 100644
--- a/package/bellagio/Config.in
+++ b/package/bellagio/Config.in
@@ -17,5 +17,12 @@ config BR2_PACKAGE_BELLAGIO
http://omxil.sourceforge.net/
+if BR2_PACKAGE_BELLAGIO
+
+config BR2_PACKAGE_PROVIDES_OPENMAX
+ default "bellagio"
+
+endif
+
comment "bellagio needs a toolchain w/ C++, threads, dynamic library"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || BR2_PREFER_STATIC_LIB
diff --git a/package/opengl/Config.in b/package/opengl/Config.in
index 109cde8..ed81835 100644
--- a/package/opengl/Config.in
+++ b/package/opengl/Config.in
@@ -1,6 +1,4 @@
source "package/opengl/libegl/Config.in"
source "package/opengl/libgles/Config.in"
source "package/opengl/libopenvg/Config.in"
-
-config BR2_PACKAGE_HAS_OPENMAX
- bool
+source "package/opengl/libopenmax/Config.in"
diff --git a/package/opengl/libopenmax/Config.in b/package/opengl/libopenmax/Config.in
new file mode 100644
index 0000000..105c53e
--- /dev/null
+++ b/package/opengl/libopenmax/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HAS_OPENMAX
+ bool
+
+config BR2_PACKAGE_PROVIDES_OPENMAX
+ depends on BR2_PACKAGE_HAS_OPENMAX
+ string
diff --git a/package/opengl/libopenmax/libopenmax.mk b/package/opengl/libopenmax/libopenmax.mk
index 9e6f89a..8f46ca1 100644
--- a/package/opengl/libopenmax/libopenmax.mk
+++ b/package/opengl/libopenmax/libopenmax.mk
@@ -5,14 +5,7 @@
################################################################################
LIBOPENMAX_SOURCE =
-
-ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
-LIBOPENMAX_DEPENDENCIES += rpi-userland
-endif
-
-ifeq ($(BR2_PACKAGE_BELLAGIO),y)
-LIBOPENMAX_DEPENDENCIES += bellagio
-endif
+LIBOPENMAX_DEPENDENCIES = $(BR2_PACKAGE_PROVIDES_OPENMAX)
ifeq ($(LIBOPENMAX_DEPENDENCIES),)
define LIBOPENMAX_CONFIGURE_CMDS
diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in
index 271c71d..2303942 100644
--- a/package/rpi-userland/Config.in
+++ b/package/rpi-userland/Config.in
@@ -28,6 +28,9 @@ config BR2_PACKAGE_PROVIDES_OPENGL_ES
config BR2_PACKAGE_PROVIDES_OPENVG
default "rpi-userland"
+config BR2_PACKAGE_PROVIDES_OPENMAX
+ default "rpi-userland"
+
endif
comment "rpi-userland needs a toolchain w/ C++, largefile, threads"
--
1.8.1.2
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Buildroot] [PATCH 5/5] package/powervr: switch to package-defined providers
2013-12-19 23:43 [Buildroot] [pull request] Pull request for branch yem/providers Yann E. MORIN
` (3 preceding siblings ...)
2013-12-19 23:43 ` [Buildroot] [PATCH 4/5] package/opengl/libopenmax: " Yann E. MORIN
@ 2013-12-19 23:43 ` Yann E. MORIN
2013-12-20 9:31 ` [Buildroot] [pull request] Pull request for branch yem/providers Thomas Petazzoni
5 siblings, 0 replies; 11+ messages in thread
From: Yann E. MORIN @ 2013-12-19 23:43 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
For the underlying reasons, see previous patch, titled:
package/opengl/libegl: switch to package-defined providers
Reported-by: David Corvoysier <david.corvoysier@orange.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: David Corvoysier <david.corvoysier@orange.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
---
package/powervr/Config.in | 4 ++++
package/powervr/powervr.mk | 5 +----
package/ti-gfx/Config.in | 3 +++
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/package/powervr/Config.in b/package/powervr/Config.in
index d09ce74..746e15b 100644
--- a/package/powervr/Config.in
+++ b/package/powervr/Config.in
@@ -1,2 +1,6 @@
config BR2_PACKAGE_HAS_POWERVR
bool
+
+config BR2_PACKAGE_PROVIDES_POWERVR
+ depends on BR2_PACKAGE_HAS_POWERVR
+ string
diff --git a/package/powervr/powervr.mk b/package/powervr/powervr.mk
index 83392fd..d40411e 100644
--- a/package/powervr/powervr.mk
+++ b/package/powervr/powervr.mk
@@ -5,10 +5,7 @@
################################################################################
POWERVR_SOURCE =
-
-ifeq ($(BR2_PACKAGE_TI_GFX),y)
-POWERVR_DEPENDENCIES += ti-gfx
-endif
+POWERVR_DEPENDENCIES = $(BR2_PACKAGE_PROVIDES_POWERVR)
ifeq ($(POWERVR_DEPENDENCIES),)
define POWERVR_CONFIGURE_CMDS
diff --git a/package/ti-gfx/Config.in b/package/ti-gfx/Config.in
index 929247b..f455f4c 100644
--- a/package/ti-gfx/Config.in
+++ b/package/ti-gfx/Config.in
@@ -17,6 +17,9 @@ config BR2_PACKAGE_PROVIDES_OPENGL_EGL
config BR2_PACKAGE_PROVIDES_OPENGL_ES
default "ti-gfx"
+config BR2_PACKAGE_PROVIDES_POWERVR
+ default "ti-gfx"
+
config BR2_PACKAGE_TI_GFX_DEBUG
bool "enable debug support"
help
--
1.8.1.2
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Buildroot] [pull request] Pull request for branch yem/providers
2013-12-19 23:43 [Buildroot] [pull request] Pull request for branch yem/providers Yann E. MORIN
` (4 preceding siblings ...)
2013-12-19 23:43 ` [Buildroot] [PATCH 5/5] package/powervr: " Yann E. MORIN
@ 2013-12-20 9:31 ` Thomas Petazzoni
2013-12-20 9:43 ` Yann E. MORIN
2013-12-20 18:03 ` Yann E. MORIN
5 siblings, 2 replies; 11+ messages in thread
From: Thomas Petazzoni @ 2013-12-20 9:31 UTC (permalink / raw)
To: buildroot
Dear Yann E. MORIN,
On Fri, 20 Dec 2013 00:43:23 +0100, Yann E. MORIN wrote:
> This series is a third attempt at trying to fix the BR2_EXTERNAL issue,
> in that packages in BR2_EXTERNAL can't be providers of an implementation
> for a virtual package, such as libegl.
I must say I really like this proposal! It both makes virtual packages
better, and solves the BR2_EXTERNAL problem without making invasive
changes in the package infrastructure.
A few minor questions:
*) Shouldn't we use 'qstrip' when doing:
POWERVR_DEPENDENCIES = $(BR2_PACKAGE_PROVIDES_POWERVR)
*) The jpeg virtual package should also be converted in the same way.
*) In PATCH 1, in package/rpi-userland/Config.in, you're adding an if
BR2_PACKAGE_RPI_USERLAND ... endif block, but *before* the comment
related to the toolchain dependencies of rpi-userland. I never
remember if that is the situation causing indentation problem of the
comment in menuconfig or not. Would be good to check this.
Thanks for doing this!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 11+ messages in thread* [Buildroot] [pull request] Pull request for branch yem/providers
2013-12-20 9:31 ` [Buildroot] [pull request] Pull request for branch yem/providers Thomas Petazzoni
@ 2013-12-20 9:43 ` Yann E. MORIN
2013-12-20 9:49 ` Thomas Petazzoni
2013-12-20 18:03 ` Yann E. MORIN
1 sibling, 1 reply; 11+ messages in thread
From: Yann E. MORIN @ 2013-12-20 9:43 UTC (permalink / raw)
To: buildroot
Thomas, All,
On Friday 20 December 2013 10:31:43 Thomas Petazzoni wrote:
> On Fri, 20 Dec 2013 00:43:23 +0100, Yann E. MORIN wrote:
>
> > This series is a third attempt at trying to fix the BR2_EXTERNAL issue,
> > in that packages in BR2_EXTERNAL can't be providers of an implementation
> > for a virtual package, such as libegl.
>
> I must say I really like this proposal! It both makes virtual packages
> better, and solves the BR2_EXTERNAL problem without making invasive
> changes in the package infrastructure.
Note that I still intend to work on the post-pone patch, as this would
allow more integration of BR2_EXTERNAL.
> A few minor questions:
>
> *) Shouldn't we use 'qstrip' when doing:
>
> POWERVR_DEPENDENCIES = $(BR2_PACKAGE_PROVIDES_POWERVR)
Probably. I must say I forgot to mark this PR as an RFC. I did not
actually test it, besides checking the Kconfig variable was properly
set in .config.
I'll conduct more thourough tests tonight and this WE.
So: this was an RFC. ;-)
> *) The jpeg virtual package should also be converted in the same way.
I've looked at the jpeg and cryptodev packages, but they do not follow
the "standard" virtual packages scheme (or, as Gustavo put it on IRC
yesterday: "they are not real virtual packages").
> *) In PATCH 1, in package/rpi-userland/Config.in, you're adding an if
> BR2_PACKAGE_RPI_USERLAND ... endif block, but *before* the comment
> related to the toolchain dependencies of rpi-userland. I never
> remember if that is the situation causing indentation problem of the
> comment in menuconfig or not. Would be good to check this.
I'll look into that, too.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software Designer | \ / CAMPAIGN | ^ |
| --==< O_o >==-- '------------.-------: X AGAINST | /e\ There is no |
| http://ymorin.is-a-geek.org/ | (*_*) | / \ HTML MAIL | """ conspiracy. |
'------------------------------'-------'------------------'--------------------'
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [pull request] Pull request for branch yem/providers
2013-12-20 9:43 ` Yann E. MORIN
@ 2013-12-20 9:49 ` Thomas Petazzoni
2013-12-21 17:35 ` Yann E. MORIN
0 siblings, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2013-12-20 9:49 UTC (permalink / raw)
To: buildroot
Dear Yann E. MORIN,
On Fri, 20 Dec 2013 10:43:01 +0100, Yann E. MORIN wrote:
> > I must say I really like this proposal! It both makes virtual packages
> > better, and solves the BR2_EXTERNAL problem without making invasive
> > changes in the package infrastructure.
>
> Note that I still intend to work on the post-pone patch, as this would
> allow more integration of BR2_EXTERNAL.
Like what?
> > A few minor questions:
> >
> > *) Shouldn't we use 'qstrip' when doing:
> >
> > POWERVR_DEPENDENCIES = $(BR2_PACKAGE_PROVIDES_POWERVR)
>
> Probably. I must say I forgot to mark this PR as an RFC. I did not
> actually test it, besides checking the Kconfig variable was properly
> set in .config.
>
> I'll conduct more thourough tests tonight and this WE.
>
> So: this was an RFC. ;-)
Yeah, no problem. But it clearly does look nice.
> > *) The jpeg virtual package should also be converted in the same way.
>
> I've looked at the jpeg and cryptodev packages, but they do not follow
> the "standard" virtual packages scheme (or, as Gustavo put it on IRC
> yesterday: "they are not real virtual packages").
Don't know about cryptodev, but jpeg is really a virtual package, but
it's true that it is handled in a different way than the OpenGL
packages, in that jpeg/Config.in provides a choice between the
different providers. Not sure what we want to do here. Maybe nothing, I
don't know.
> > *) In PATCH 1, in package/rpi-userland/Config.in, you're adding an if
> > BR2_PACKAGE_RPI_USERLAND ... endif block, but *before* the comment
> > related to the toolchain dependencies of rpi-userland. I never
> > remember if that is the situation causing indentation problem of the
> > comment in menuconfig or not. Would be good to check this.
>
> I'll look into that, too.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [pull request] Pull request for branch yem/providers
2013-12-20 9:49 ` Thomas Petazzoni
@ 2013-12-21 17:35 ` Yann E. MORIN
0 siblings, 0 replies; 11+ messages in thread
From: Yann E. MORIN @ 2013-12-21 17:35 UTC (permalink / raw)
To: buildroot
Thomas, All,
On 2013-12-20 10:49 +0100, Thomas Petazzoni spake thusly:
> On Fri, 20 Dec 2013 10:43:01 +0100, Yann E. MORIN wrote:
> > > I must say I really like this proposal! It both makes virtual packages
> > > better, and solves the BR2_EXTERNAL problem without making invasive
> > > changes in the package infrastructure.
> >
> > Note that I still intend to work on the post-pone patch, as this would
> > allow more integration of BR2_EXTERNAL.
>
> Like what?
I just have to clear a case where a new external package enables a
feature for a built-in package. So, br2-external could provide extra
./configure options for a built-in package.
But that has deep implications, especially if Buildroot is then
distributed as part of a compliance effort: only providing Buildroot and
not br2-external would not be compliant.
So, in fact, I don't think we should make that easy.
> > > A few minor questions:
> > >
> > > *) Shouldn't we use 'qstrip' when doing:
> > >
> > > POWERVR_DEPENDENCIES = $(BR2_PACKAGE_PROVIDES_POWERVR)
OK, I've fixed that now.
> > > *) The jpeg virtual package should also be converted in the same way.
> Don't know about cryptodev,
cryptodev is like jpeg: it provides a choice.
> but jpeg is really a virtual package,
I've now converted both of them, too.
> but
> it's true that it is handled in a different way than the OpenGL
> packages, in that jpeg/Config.in provides a choice between the
> different providers. Not sure what we want to do here. Maybe nothing, I
> don't know.
I think we should just convert them over to how other virtual packages
are implemented: there is nothing to prevent, eg. rpi-userland and
ti-gfx (both providers of EGL) to be selected at the same time.
OK, those are a bit special, since they are tied to the hardware, when
neither jpeg nor cryptodev are. But still, I think we should have a
single way of doing virtual packages.
Peter, what's your opinion?
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [pull request] Pull request for branch yem/providers
2013-12-20 9:31 ` [Buildroot] [pull request] Pull request for branch yem/providers Thomas Petazzoni
2013-12-20 9:43 ` Yann E. MORIN
@ 2013-12-20 18:03 ` Yann E. MORIN
1 sibling, 0 replies; 11+ messages in thread
From: Yann E. MORIN @ 2013-12-20 18:03 UTC (permalink / raw)
To: buildroot
Thomas, All,
On 2013-12-20 10:31 +0100, Thomas Petazzoni spake thusly:
> On Fri, 20 Dec 2013 00:43:23 +0100, Yann E. MORIN wrote:
>
> > This series is a third attempt at trying to fix the BR2_EXTERNAL issue,
> > in that packages in BR2_EXTERNAL can't be providers of an implementation
> > for a virtual package, such as libegl.
[--SNIP--]
> A few minor questions:
[--SNIP--]
> *) The jpeg virtual package should also be converted in the same way.
As you said, jpeg is also a virtual package. But since it is not written
the same way the others are, the change will be more involved than the
one done in this series.
So, I'd prefer this series (which is relatively simple) stays as-is, and
that once it is applied, we take care of jpeg (and cryptodev), by turning
them into "real virtual" packages (can't help but use that phrase of
yours, Gustavo! :-p).
> *) In PATCH 1, in package/rpi-userland/Config.in, you're adding an if
> BR2_PACKAGE_RPI_USERLAND ... endif block, but *before* the comment
> related to the toolchain dependencies of rpi-userland. I never
> remember if that is the situation causing indentation problem of the
> comment in menuconfig or not. Would be good to check this.
Nope, since we're in a 'menu', not a 'menuconfig'.
The menu layout is still correct.
And even with a menuconfig, what is busted is if one option or a comment
is in the middle of other dependent options, such as:
menuconfig FOO
bool "foo"
config BAR
bool "bar"
depends on FOO
comment "FOO deps busted"
config BUZ
bool "buz"
depends on FOO
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 11+ messages in thread