Add new virtual-package infrastructure
Subsystems (2)
v3 cover Add new virtual-package infrastructure
From: "Yann E. MORIN" <[email protected]>
Hello All!
Here is a quick series implementing a new infrastructure for virtual packages.
Basically, all a virtual package has to do in its .mk is:
$(eval $(virtual-package))
There is no need to:
- define the dependency against the provider,
- define _SOURCE="" (empty)
But it requires the config options for the virtual package be named after the package, eg.:
package | Selector option | Provider option
--------+------------------------+-----------------------------
libegl | BR2_PACKAGE_HAS_LIBEGL | BR2_PACKAGE_PROVIDES_LIBEGL
jpeg | BR2_PACKAGE_HAS_JPEG | BR2_PACKAGE_PROVIDES_JPEG
So the series:
- starts with renaming some config options in the current virtual packages
- then introduces the new virtual-package infra and the associated documentation in the manual
- and finally converts the virtual packages over to the new infra.
Special thanks to ?ric for his initial work on the manual, which prompted the idea for this new infra! That's partly for this that I kept his initial change to the manual almost unmolested.
Notes:
- the version string is strange. This does not work:
$(2)_VERSION = virtual
so I had to come up with the solution in patch 16.
- patch 17 is not to be applied. It contains only example virtual packages, to check the implementation.
Changes v2 -> v3:
- rename libegl and libgles: s/^/opengl-/ (Thomas P)
- add host variant, for the upcoming lua stuff (Fran?ois)
- add fake version string (Thomas DS)
Changes v1 -> v2:
- include ?ric's virtual package tutorial to the manual (?ric)
- split the renaimg of config options from the actual conversion to the virtual-package infra
- rebase on top of master after post-release merge
- add host-virtual-package (will be needed by a pending lua-related series by Fran?ois)
Regards,
Yann E. MORIN.
----------------------------------------------------------------
Yann E. MORIN (18):
package/libgles: rename package and the _HAS and _PROVIDES variables package/libegl: rename package and the _HAS and _PROVIDES variables package/libopenmax: rename the _HAS and _PROVIDES variables package/libopenvg: rename the _HAS and _PROVIDES variables package/luainterpreter: rename the _HAS and _PROVIDES variables package/lua: rename config options
packages: add infrastructure for virtual packages
manual: update the virtual package section with the new infrastructure package/powervr: convert to the virtual-package infrastructure package/opengl-libgles: convert to the virtual-package infrastructure package/opengl-libegl: convert to the virtual-package infrastructure package/libopenmax: convert to the virtual-package infrastructure package/libopenvg: convert to the virtual-package infrastructure package/luainterpreter: convert to the virtual-package infrastructure package/jpeg: convert to the virtual-package infrastructure package/cryptodev: convert to the virtual-package infrastructure
virtual-package: fake a version string for virtual packages
FOO: tentative target and host virt packages
eric.le.bihan.dev at free.fr (1):
manual: add virtual package tutorial
Config.in.legacy | 21 +++++ docs/manual/adding-packages-virtual.txt | 93 ++++++++++++++++++++++ docs/manual/adding-packages.txt | 2 + package/Config.in | 6 +- package/Makefile.in | 1 + package/bellagio/Config.in | 4 +- package/cairo/cairo.mk | 6 +- package/cryptodev/Config.in | 3 + package/cryptodev/cryptodev.mk | 12 +-- package/foo-prov/Config.in | 15 ++++ package/foo-prov/foo-prov.mk | 13 +++ package/foo-user/Config.in | 7 ++ package/foo-user/foo-user.mk | 16 ++++ package/foo-virt/Config.in | 13 +++ package/foo-virt/foo-virt.mk | 2 + package/freescale-imx/gpu-viv-bin-mx6q/Config.in | 8 +- package/gstreamer1/gst-omx/Config.in | 4 +- package/gstreamer1/gst1-plugins-bad/Config.in | 2 +- .../gst1-plugins-bad/gst1-plugins-bad.mk | 2 +- package/jpeg/Config.in | 3 + package/jpeg/jpeg.mk | 12 +-- package/lbase64/Config.in | 2 +- package/lpeg/Config.in | 2 +- package/lpty/Config.in | 2 +- package/lrandom/Config.in | 2 +- package/lsqlite3/Config.in | 2 +- package/lua-cjson/Config.in | 2 +- package/lua-ev/Config.in | 2 +- package/lua-msgpack-native/Config.in | 2 +- package/lua/Config.in | 14 ++-- package/lua/lua.mk | 4 +- package/luaexpat/Config.in | 2 +- package/luafilesystem/Config.in | 2 +- package/luainterpreter/Config.in | 6 +- package/luainterpreter/luainterpreter.mk | 11 +-- package/luajit/Config.in | 4 +- package/luaposix/Config.in | 2 +- package/luasec/Config.in | 2 +- package/luasocket/Config.in | 2 +- package/luasql-sqlite3/Config.in | 2 +- package/lzlib/Config.in | 2 +- package/opengl/Config.in | 4 +- package/opengl/libegl/Config.in | 6 -- package/opengl/libegl/libegl.mk | 16 ---- package/opengl/libgles/Config.in | 6 -- package/opengl/libgles/libgles.mk | 16 ---- package/opengl/libopenmax/Config.in | 6 +- package/opengl/libopenmax/libopenmax.mk | 11 +-- package/opengl/libopenvg/Config.in | 6 +- package/opengl/libopenvg/libopenvg.mk | 11 +-- package/opengl/opengl-libegl/Config.in | 6 ++ package/opengl/opengl-libegl/opengl-libegl.mk | 7 ++ package/opengl/opengl-libgles/Config.in | 6 ++ package/opengl/opengl-libgles/opengl-libgles.mk | 7 ++ package/pkg-virtual.mk | 70 ++++++++++++++++ package/powervr/powervr.mk | 11 +-- package/qt/Config.in | 4 +- package/qt/qt.mk | 2 +- package/qt5/qt5base/Config.in | 6 +- package/qt5/qt5base/qt5base.mk | 2 +- package/qt5/qt5declarative/Config.in | 6 +- package/qt5/qt5graphicaleffects/Config.in | 6 +- package/qt5/qt5multimedia/Config.in | 6 +- package/qt5/qt5quick1/Config.in | 6 +- package/qt5/qt5quickcontrols/Config.in | 6 +- package/rings/Config.in | 2 +- package/rpi-userland/Config.in | 16 ++-- package/sunxi-mali/Config.in | 8 +- package/ti-gfx/Config.in | 8 +- 69 files changed, 385 insertions(+), 196 deletions(-) create mode 100644 docs/manual/adding-packages-virtual.txt create mode 100644 package/foo-prov/Config.in create mode 100644 package/foo-prov/foo-prov.mk create mode 100644 package/foo-user/Config.in create mode 100644 package/foo-user/foo-user.mk create mode 100644 package/foo-virt/Config.in create mode 100644 package/foo-virt/foo-virt.mk delete mode 100644 package/opengl/libegl/Config.in delete mode 100644 package/opengl/libegl/libegl.mk delete mode 100644 package/opengl/libgles/Config.in delete mode 100644 package/opengl/libgles/libgles.mk create mode 100644 package/opengl/opengl-libegl/Config.in create mode 100644 package/opengl/opengl-libegl/opengl-libegl.mk create mode 100644 package/opengl/opengl-libgles/Config.in create mode 100644 package/opengl/opengl-libgles/opengl-libgles.mk create mode 100644 package/pkg-virtual.mk
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------'
PATCH v3 1/19 package/libgles: rename package and the _HAS and _PROVIDES variables
From: "Yann E. MORIN" <[email protected]>
The basic rule for a package is to have its options named after the package name. There is no reason this should not also be the case for virtual packages.
Besides, this will allow us to switch libgles to use the soon-to-be-introduced virtual-package infrastructure.
Rename the package to opnegl-libgles so:
- it has 'opengl' in its name, so it is easier to find
- it has 'libgles' (the name of the library file), as the other Khronos-related packages have
---
package/cairo/cairo.mk | 4 ++--
package/freescale-imx/gpu-viv-bin-mx6q/Config.in | 4 ++--
package/gstreamer1/gst1-plugins-bad/Config.in | 2 +-
package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk | 2 +-
package/opengl/Config.in | 2 +-
package/opengl/libgles/Config.in | 6 ------
package/opengl/opengl-libgles/Config.in | 6 ++++++
.../{libgles/libgles.mk => opengl-libgles/opengl-libgles.mk} | 10 +++++-----
package/qt/Config.in | 2 +-
package/qt/qt.mk | 2 +-
package/qt5/qt5base/Config.in | 4 ++--
package/qt5/qt5base/qt5base.mk | 2 +-
package/qt5/qt5declarative/Config.in | 4 ++--
package/qt5/qt5graphicaleffects/Config.in | 4 ++--
package/qt5/qt5multimedia/Config.in | 4 ++--
package/qt5/qt5quick1/Config.in | 4 ++--
package/qt5/qt5quickcontrols/Config.in | 4 ++--
package/rpi-userland/Config.in | 4 ++--
package/sunxi-mali/Config.in | 4 ++--
package/ti-gfx/Config.in | 4 ++--
20 files changed, 39 insertions(+), 39 deletions(-)
delete mode 100644 package/opengl/libgles/Config.in
create mode 100644 package/opengl/opengl-libgles/Config.in
rename package/opengl/{libgles/libgles.mk => opengl-libgles/opengl-libgles.mk} (56%)package/cairo/cairo.mk +2 -2
@@ -54,9 +54,9 @@ else CAIRO_CONF_OPT += --disable-directfb endif -ifeq ($(BR2_PACKAGE_HAS_OPENGL_ES),y) +ifeq ($(BR2_PACKAGE_HAS_OPENGL_LIBGLES),y) CAIRO_CONF_OPT += --enable-glesv2 - CAIRO_DEPENDENCIES += libgles + CAIRO_DEPENDENCIES += opengl-libgles else CAIRO_CONF_OPT += --disable-glesv2 endif
package/freescale-imx/gpu-viv-bin-mx6q/Config.in +2 -2
@@ -5,7 +5,7 @@ comment "gpu-viv-bin-mx6q needs an (e)glibc toolchain" config BR2_PACKAGE_GPU_VIV_BIN_MX6Q bool "gpu-viv-bin-mx6q" select BR2_PACKAGE_HAS_OPENGL_EGL - select BR2_PACKAGE_HAS_OPENGL_ES + select BR2_PACKAGE_HAS_OPENGL_LIBGLES select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 depends on BR2_arm # Only relevant for i.MX6
@@ -27,7 +27,7 @@ if BR2_PACKAGE_GPU_VIV_BIN_MX6Q config BR2_PACKAGE_PROVIDES_OPENGL_EGL default "gpu-viv-bin-mx6q" -config BR2_PACKAGE_PROVIDES_OPENGL_ES +config BR2_PACKAGE_PROVIDES_OPENGL_LIBGLES default "gpu-viv-bin-mx6q" config BR2_PACKAGE_GPU_VIV_BIN_MX6Q_EXAMPLES
package/gstreamer1/gst1-plugins-bad/Config.in +1 -1
@@ -463,7 +463,7 @@ comment "rsvg plugin needs a toolchain w/ C++, wchar, threads" config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_EGLGLES bool "eglgles" - depends on BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_ES + depends on BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_LIBGLES help EGL/GLES sink
package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +1 -1
@@ -651,7 +651,7 @@ endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_EGLGLES),y) GST1_PLUGINS_BAD_CONF_OPT += --enable-eglgles -GST1_PLUGINS_BAD_DEPENDENCIES += libegl libgles +GST1_PLUGINS_BAD_DEPENDENCIES += libegl opengl-libgles ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) # RPI has odd locations for several required headers.
package/opengl/Config.in +1 -1
@@ -1,4 +1,4 @@ source "package/opengl/libegl/Config.in" -source "package/opengl/libgles/Config.in" +source "package/opengl/opengl-libgles/Config.in" source "package/opengl/libopenvg/Config.in" source "package/opengl/libopenmax/Config.in"
package/opengl/libgles/Config.in deleted +0 -6
@@ -1,6 +0,0 @@ -config BR2_PACKAGE_HAS_OPENGL_ES - bool - -config BR2_PACKAGE_PROVIDES_OPENGL_ES - depends on BR2_PACKAGE_HAS_OPENGL_ES - string
package/opengl/opengl-libgles/Config.in new file +6 -0
@@ -0,0 +1,6 @@ +config BR2_PACKAGE_HAS_OPENGL_LIBGLES + bool + +config BR2_PACKAGE_PROVIDES_OPENGL_LIBGLES + depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES + string
package/opengl/opengl-libgles/opengl-libgles.mk renamed from package/opengl/libgles/libgles.mk +5 -5
@@ -1,14 +1,14 @@ ################################################################################ # -# libgles +# opengl-libgles # ################################################################################ -LIBGLES_SOURCE = -LIBGLES_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_OPENGL_ES)) +OPENGL_LIBGLES_SOURCE = +OPENGL_LIBGLES_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_OPENGL_LIBGLES)) -ifeq ($(BR2_PACKAGE_HAS_OPENGL_ES),y) -ifeq ($(LIBGLES_DEPENDENCIES),) +ifeq ($(BR2_PACKAGE_HAS_OPENGL_LIBGLES),y) +ifeq ($(OPENGL_LIBGLES_DEPENDENCIES),) $(error No libGLES implementation selected. Configuration error.) endif endif
package/qt/Config.in +1 -1
@@ -294,7 +294,7 @@ config BR2_PACKAGE_QT_PHONON_BACKEND config BR2_PACKAGE_QT_OPENGL_ES bool "OpenGL ES v2.x support" - depends on BR2_PACKAGE_HAS_OPENGL_ES + depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES depends on BR2_PACKAGE_HAS_OPENGL_EGL help Enable the OpenGL ES v2.x support.
package/qt/qt.mk +1 -1
@@ -326,7 +326,7 @@ endif ifeq ($(BR2_PACKAGE_QT_OPENGL_ES),y) QT_CONFIGURE_OPTS += -opengl es2 -egl -QT_DEPENDENCIES += libgles libegl +QT_DEPENDENCIES += opengl-libgles libegl QT_CFLAGS += $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl) QT_CXXFLAGS += $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl) QT_LDFLAGS += $(shell $(PKG_CONFIG_HOST_BINARY) --libs egl)
package/qt5/qt5base/Config.in +2 -2
@@ -138,10 +138,10 @@ comment "X.org XCB backend available if X.org is enabled" config BR2_PACKAGE_QT5BASE_EGLFS bool "eglfs support" depends on BR2_PACKAGE_HAS_OPENGL_EGL - depends on BR2_PACKAGE_HAS_OPENGL_ES + depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES comment "eglfs backend available if OpenGLES and EGL are enabled" - depends on !BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_ES + depends on !BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES config BR2_PACKAGE_QT5BASE_PRINTSUPPORT bool "print support module"
package/qt5/qt5base/qt5base.mk +1 -1
@@ -98,7 +98,7 @@ endif ifeq ($(BR2_PACKAGE_QT5BASE_EGLFS),y) QT5BASE_CONFIGURE_OPTS += -opengl es2 -eglfs -QT5BASE_DEPENDENCIES += libgles libegl +QT5BASE_DEPENDENCIES += opengl-libgles libegl ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),y) QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES = \ $(@D)/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp
package/qt5/qt5declarative/Config.in +2 -2
@@ -5,7 +5,7 @@ config BR2_PACKAGE_QT5DECLARATIVE select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5BASE_EGLFS depends on BR2_PACKAGE_HAS_OPENGL_EGL - depends on BR2_PACKAGE_HAS_OPENGL_ES + depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE help Qt is a cross-platform application and UI framework for
@@ -16,5 +16,5 @@ config BR2_PACKAGE_QT5DECLARATIVE http://qt-project.org comment "qt5declarative requires an OpenGL-capable backend" - depends on (!BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_ES) && \ + depends on (!BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES) && \ BR2_PACKAGE_QT5_JSCORE_AVAILABLE
package/qt5/qt5graphicaleffects/Config.in +2 -2
@@ -4,7 +4,7 @@ config BR2_PACKAGE_QT5GRAPHICALEFFECTS select BR2_PACKAGE_QT5DECLARATIVE depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE depends on BR2_PACKAGE_HAS_OPENGL_EGL - depends on BR2_PACKAGE_HAS_OPENGL_ES + depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES help Qt is a cross-platform application and UI framework for developers using C++.
@@ -14,5 +14,5 @@ config BR2_PACKAGE_QT5GRAPHICALEFFECTS http://qt-project.org comment "qt5graphicaleffects requires an OpenGL-capable backend" - depends on (!BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_ES) && \ + depends on (!BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES) && \ BR2_PACKAGE_QT5_JSCORE_AVAILABLE
package/qt5/qt5multimedia/Config.in +2 -2
@@ -3,7 +3,7 @@ config BR2_PACKAGE_QT5MULTIMEDIA select BR2_PACKAGE_QT5BASE select BR2_PACKAGE_QT5DECLARATIVE depends on BR2_PACKAGE_HAS_OPENGL_EGL - depends on BR2_PACKAGE_HAS_OPENGL_ES + depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE help Qt is a cross-platform application and UI framework for
@@ -14,5 +14,5 @@ config BR2_PACKAGE_QT5MULTIMEDIA http://qt-project.org comment "qt5multimedia requires an OpenGL-capable backend" - depends on (!BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_ES) && \ + depends on (!BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES) && \ BR2_PACKAGE_QT5_JSCORE_AVAILABLE
package/qt5/qt5quick1/Config.in +2 -2
@@ -9,7 +9,7 @@ config BR2_PACKAGE_QT5QUICK1 # This module does not support static linking depends on !BR2_PREFER_STATIC_LIB depends on BR2_PACKAGE_HAS_OPENGL_EGL - depends on BR2_PACKAGE_HAS_OPENGL_ES + depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE help Qt is a cross-platform application and UI framework for
@@ -21,5 +21,5 @@ config BR2_PACKAGE_QT5QUICK1 comment "qt5quick1 needs a toolchain w/ dynamic library and an OpenGL-capable backend" depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE - depends on !BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_ES || \ + depends on !BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES || \ BR2_PREFER_STATIC_LIB
package/qt5/qt5quickcontrols/Config.in +2 -2
@@ -5,7 +5,7 @@ config BR2_PACKAGE_QT5QUICKCONTROLS select BR2_PACKAGE_QT5DECLARATIVE depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE depends on BR2_PACKAGE_HAS_OPENGL_EGL - depends on BR2_PACKAGE_HAS_OPENGL_ES + depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES help Qt is a cross-platform application and UI framework for developers using C++.
@@ -15,5 +15,5 @@ config BR2_PACKAGE_QT5QUICKCONTROLS http://qt-project.org comment "qt5quickcontrols requires an OpenGL-capable backend" - depends on (!BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_ES) && \ + depends on (!BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES) && \ BR2_PACKAGE_QT5_JSCORE_AVAILABLE
package/rpi-userland/Config.in +2 -2
@@ -5,7 +5,7 @@ config BR2_PACKAGE_RPI_USERLAND depends on BR2_LARGEFILE depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_HAS_OPENGL_EGL - select BR2_PACKAGE_HAS_OPENGL_ES + select BR2_PACKAGE_HAS_OPENGL_LIBGLES select BR2_PACKAGE_HAS_OPENVG select BR2_PACKAGE_HAS_OPENMAX help
@@ -22,7 +22,7 @@ if BR2_PACKAGE_RPI_USERLAND config BR2_PACKAGE_PROVIDES_OPENGL_EGL default "rpi-userland" -config BR2_PACKAGE_PROVIDES_OPENGL_ES +config BR2_PACKAGE_PROVIDES_OPENGL_LIBGLES default "rpi-userland" config BR2_PACKAGE_PROVIDES_OPENVG
package/sunxi-mali/Config.in +2 -2
@@ -1,7 +1,7 @@ config BR2_PACKAGE_SUNXI_MALI bool "sunxi-mali" select BR2_PACKAGE_HAS_OPENGL_EGL - select BR2_PACKAGE_HAS_OPENGL_ES + select BR2_PACKAGE_HAS_OPENGL_LIBGLES # The egl/gles mali libraries are provided as a git submodule of the # sunxi-mali repo and are downloaded by the sunxi-mali-prop package. select BR2_PACKAGE_SUNXI_MALI_PROP
@@ -21,7 +21,7 @@ if BR2_PACKAGE_SUNXI_MALI config BR2_PACKAGE_PROVIDES_OPENGL_EGL default "sunxi-mali" -config BR2_PACKAGE_PROVIDES_OPENGL_ES +config BR2_PACKAGE_PROVIDES_OPENGL_LIBGLES default "sunxi-mali" config BR2_PACKAGE_SUNXI_MALI_DBG
package/ti-gfx/Config.in +2 -2
@@ -1,7 +1,7 @@ config BR2_PACKAGE_TI_GFX bool "ti-gfx" select BR2_PACKAGE_HAS_OPENGL_EGL - select BR2_PACKAGE_HAS_OPENGL_ES + select BR2_PACKAGE_HAS_OPENGL_LIBGLES select BR2_PACKAGE_HAS_POWERVR depends on BR2_LINUX_KERNEL && BR2_TOOLCHAIN_USES_GLIBC && BR2_arm help
@@ -14,7 +14,7 @@ if BR2_PACKAGE_TI_GFX config BR2_PACKAGE_PROVIDES_OPENGL_EGL default "ti-gfx" -config BR2_PACKAGE_PROVIDES_OPENGL_ES +config BR2_PACKAGE_PROVIDES_OPENGL_LIBGLES default "ti-gfx" config BR2_PACKAGE_PROVIDES_POWERVR
Signature · 1 line
1.8.3.2
PATCH 1/19 package/libgles: rename package and the _HAS and _PROVIDES variables
Quoted 14 lines · Yann E. MORIN
From: "Yann E. MORIN" <[email protected]>
The basic rule for a package is to have its options named after the package name. There is no reason this should not also be the case for virtual packages.
Besides, this will allow us to switch libgles to use the soon-to-be-introduced virtual-package infrastructure.
Rename the package to opnegl-libgles so:
- it has 'opengl' in its name, so it is easier to find
- it has 'libgles' (the name of the library file), as the other Khronos-related packages have
Quoted 6 lines
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Eric Le Bihan <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Thomas De Schampheleire <[email protected]>Cc Mike Zick <[email protected]>Cc Samuel Martin <[email protected]>
Regards,
Signature · 1 line
Samuel
PATCH v3 2/19 package/libegl: rename package and the _HAS and _PROVIDES variables
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
The basic rule for a package is to have its options named after the package name. There is no reason this should not also be the case for virtual packages.
Besides, this will allow us to switch libegl to use the soon-to-be-introduced virtual-package infrastructure.
Rename the package to opnegl-libgles so:
- it has 'opengl' in its name, so it is easier to find
- it has 'libgles' (the name of the library file), as the other Khronos-related packages do
---
package/freescale-imx/gpu-viv-bin-mx6q/Config.in | 4 ++--
package/gstreamer1/gst1-plugins-bad/Config.in | 2 +-
package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk | 2 +-
package/opengl/Config.in | 2 +-
package/opengl/libegl/Config.in | 6 ------
package/opengl/opengl-libegl/Config.in | 6 ++++++
.../{libegl/libegl.mk => opengl-libegl/opengl-libegl.mk} | 10 +++++-----
package/qt/Config.in | 2 +-
package/qt/qt.mk | 2 +-
package/qt5/qt5base/Config.in | 4 ++--
package/qt5/qt5base/qt5base.mk | 2 +-
package/qt5/qt5declarative/Config.in | 4 ++--
package/qt5/qt5graphicaleffects/Config.in | 4 ++--
package/qt5/qt5multimedia/Config.in | 4 ++--
package/qt5/qt5quick1/Config.in | 4 ++--
package/qt5/qt5quickcontrols/Config.in | 4 ++--
package/rpi-userland/Config.in | 4 ++--
package/sunxi-mali/Config.in | 4 ++--
package/ti-gfx/Config.in | 4 ++--
19 files changed, 37 insertions(+), 37 deletions(-)
delete mode 100644 package/opengl/libegl/Config.in
create mode 100644 package/opengl/opengl-libegl/Config.in
rename package/opengl/{libegl/libegl.mk => opengl-libegl/opengl-libegl.mk} (57%)package/freescale-imx/gpu-viv-bin-mx6q/Config.in +2 -2
@@ -4,7 +4,7 @@ comment "gpu-viv-bin-mx6q needs an (e)glibc toolchain" config BR2_PACKAGE_GPU_VIV_BIN_MX6Q bool "gpu-viv-bin-mx6q" - select BR2_PACKAGE_HAS_OPENGL_EGL + select BR2_PACKAGE_HAS_OPENGL_LIBEGL select BR2_PACKAGE_HAS_OPENGL_LIBGLES select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
@@ -24,7 +24,7 @@ config BR2_PACKAGE_GPU_VIV_BIN_MX6Q if BR2_PACKAGE_GPU_VIV_BIN_MX6Q -config BR2_PACKAGE_PROVIDES_OPENGL_EGL +config BR2_PACKAGE_PROVIDES_OPENGL_LIBEGL default "gpu-viv-bin-mx6q" config BR2_PACKAGE_PROVIDES_OPENGL_LIBGLES
package/gstreamer1/gst1-plugins-bad/Config.in +1 -1
@@ -463,7 +463,7 @@ comment "rsvg plugin needs a toolchain w/ C++, wchar, threads" config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_EGLGLES bool "eglgles" - depends on BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_LIBGLES + depends on BR2_PACKAGE_HAS_OPENGL_LIBEGL && BR2_PACKAGE_HAS_OPENGL_LIBGLES help EGL/GLES sink
package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +1 -1
@@ -651,7 +651,7 @@ endif ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_EGLGLES),y) GST1_PLUGINS_BAD_CONF_OPT += --enable-eglgles -GST1_PLUGINS_BAD_DEPENDENCIES += libegl opengl-libgles +GST1_PLUGINS_BAD_DEPENDENCIES += opengl-libegl opengl-libgles ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) # RPI has odd locations for several required headers.
package/opengl/Config.in +1 -1
@@ -1,4 +1,4 @@ -source "package/opengl/libegl/Config.in" +source "package/opengl/opengl-libegl/Config.in" source "package/opengl/opengl-libgles/Config.in" source "package/opengl/libopenvg/Config.in" source "package/opengl/libopenmax/Config.in"
package/opengl/libegl/Config.in deleted +0 -6
@@ -1,6 +0,0 @@ -config BR2_PACKAGE_HAS_OPENGL_EGL - bool - -config BR2_PACKAGE_PROVIDES_OPENGL_EGL - depends on BR2_PACKAGE_HAS_OPENGL_EGL - string
package/opengl/opengl-libegl/Config.in new file +6 -0
@@ -0,0 +1,6 @@ +config BR2_PACKAGE_HAS_OPENGL_LIBEGL + bool + +config BR2_PACKAGE_PROVIDES_OPENGL_LIBEGL + depends on BR2_PACKAGE_HAS_OPENGL_LIBEGL + string
package/opengl/opengl-libegl/opengl-libegl.mk renamed from package/opengl/libegl/libegl.mk +5 -5
@@ -1,14 +1,14 @@ ################################################################################ # -# libegl +# opengl-libegl # ################################################################################ -LIBEGL_SOURCE = -LIBEGL_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_OPENGL_EGL)) +OPENGL_LIBEGL_SOURCE = +OPENGL_LIBEGL_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_OPENGL_LIBEGL)) -ifeq ($(BR2_PACKAGE_HAS_OPENGL_EGL),y) -ifeq ($(LIBEGL_DEPENDENCIES),) +ifeq ($(BR2_PACKAGE_HAS_OPENGL_LIBEGL),y) +ifeq ($(OPENGL_LIBEGL_DEPENDENCIES),) $(error No libEGL implementation selected. Configuration error.) endif endif
package/qt/Config.in +1 -1
@@ -295,7 +295,7 @@ config BR2_PACKAGE_QT_PHONON_BACKEND config BR2_PACKAGE_QT_OPENGL_ES bool "OpenGL ES v2.x support" depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES - depends on BR2_PACKAGE_HAS_OPENGL_EGL + depends on BR2_PACKAGE_HAS_OPENGL_LIBEGL help Enable the OpenGL ES v2.x support.
package/qt/qt.mk +1 -1
@@ -326,7 +326,7 @@ endif ifeq ($(BR2_PACKAGE_QT_OPENGL_ES),y) QT_CONFIGURE_OPTS += -opengl es2 -egl -QT_DEPENDENCIES += opengl-libgles libegl +QT_DEPENDENCIES += opengl-libgles opengl-libegl QT_CFLAGS += $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl) QT_CXXFLAGS += $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl) QT_LDFLAGS += $(shell $(PKG_CONFIG_HOST_BINARY) --libs egl)
package/qt5/qt5base/Config.in +2 -2
@@ -137,11 +137,11 @@ comment "X.org XCB backend available if X.org is enabled" config BR2_PACKAGE_QT5BASE_EGLFS bool "eglfs support" - depends on BR2_PACKAGE_HAS_OPENGL_EGL + depends on BR2_PACKAGE_HAS_OPENGL_LIBEGL depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES comment "eglfs backend available if OpenGLES and EGL are enabled" - depends on !BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES + depends on !BR2_PACKAGE_HAS_OPENGL_LIBEGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES config BR2_PACKAGE_QT5BASE_PRINTSUPPORT bool "print support module"
package/qt5/qt5base/qt5base.mk +1 -1
@@ -98,7 +98,7 @@ endif ifeq ($(BR2_PACKAGE_QT5BASE_EGLFS),y) QT5BASE_CONFIGURE_OPTS += -opengl es2 -eglfs -QT5BASE_DEPENDENCIES += opengl-libgles libegl +QT5BASE_DEPENDENCIES += opengl-libgles opengl-libegl ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),y) QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES = \ $(@D)/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp
package/qt5/qt5declarative/Config.in +2 -2
@@ -4,7 +4,7 @@ config BR2_PACKAGE_QT5DECLARATIVE select BR2_PACKAGE_QT5BASE select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5BASE_EGLFS - depends on BR2_PACKAGE_HAS_OPENGL_EGL + depends on BR2_PACKAGE_HAS_OPENGL_LIBEGL depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE help
@@ -16,5 +16,5 @@ config BR2_PACKAGE_QT5DECLARATIVE http://qt-project.org comment "qt5declarative requires an OpenGL-capable backend" - depends on (!BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES) && \ + depends on (!BR2_PACKAGE_HAS_OPENGL_LIBEGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES) && \ BR2_PACKAGE_QT5_JSCORE_AVAILABLE
package/qt5/qt5graphicaleffects/Config.in +2 -2
@@ -3,7 +3,7 @@ config BR2_PACKAGE_QT5GRAPHICALEFFECTS select BR2_PACKAGE_QT5BASE select BR2_PACKAGE_QT5DECLARATIVE depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE - depends on BR2_PACKAGE_HAS_OPENGL_EGL + depends on BR2_PACKAGE_HAS_OPENGL_LIBEGL depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES help Qt is a cross-platform application and UI framework for
@@ -14,5 +14,5 @@ config BR2_PACKAGE_QT5GRAPHICALEFFECTS http://qt-project.org comment "qt5graphicaleffects requires an OpenGL-capable backend" - depends on (!BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES) && \ + depends on (!BR2_PACKAGE_HAS_OPENGL_LIBEGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES) && \ BR2_PACKAGE_QT5_JSCORE_AVAILABLE
package/qt5/qt5multimedia/Config.in +2 -2
@@ -2,7 +2,7 @@ config BR2_PACKAGE_QT5MULTIMEDIA bool "qt5multimedia" select BR2_PACKAGE_QT5BASE select BR2_PACKAGE_QT5DECLARATIVE - depends on BR2_PACKAGE_HAS_OPENGL_EGL + depends on BR2_PACKAGE_HAS_OPENGL_LIBEGL depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE help
@@ -14,5 +14,5 @@ config BR2_PACKAGE_QT5MULTIMEDIA http://qt-project.org comment "qt5multimedia requires an OpenGL-capable backend" - depends on (!BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES) && \ + depends on (!BR2_PACKAGE_HAS_OPENGL_LIBEGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES) && \ BR2_PACKAGE_QT5_JSCORE_AVAILABLE
package/qt5/qt5quick1/Config.in +2 -2
@@ -8,7 +8,7 @@ config BR2_PACKAGE_QT5QUICK1 select BR2_PACKAGE_QT5DECLARATIVE # This module does not support static linking depends on !BR2_PREFER_STATIC_LIB - depends on BR2_PACKAGE_HAS_OPENGL_EGL + depends on BR2_PACKAGE_HAS_OPENGL_LIBEGL depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE help
@@ -21,5 +21,5 @@ config BR2_PACKAGE_QT5QUICK1 comment "qt5quick1 needs a toolchain w/ dynamic library and an OpenGL-capable backend" depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE - depends on !BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES || \ + depends on !BR2_PACKAGE_HAS_OPENGL_LIBEGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES || \ BR2_PREFER_STATIC_LIB
package/qt5/qt5quickcontrols/Config.in +2 -2
@@ -4,7 +4,7 @@ config BR2_PACKAGE_QT5QUICKCONTROLS select BR2_PACKAGE_QT5BASE_NETWORK select BR2_PACKAGE_QT5DECLARATIVE depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE - depends on BR2_PACKAGE_HAS_OPENGL_EGL + depends on BR2_PACKAGE_HAS_OPENGL_LIBEGL depends on BR2_PACKAGE_HAS_OPENGL_LIBGLES help Qt is a cross-platform application and UI framework for
@@ -15,5 +15,5 @@ config BR2_PACKAGE_QT5QUICKCONTROLS http://qt-project.org comment "qt5quickcontrols requires an OpenGL-capable backend" - depends on (!BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES) && \ + depends on (!BR2_PACKAGE_HAS_OPENGL_LIBEGL || !BR2_PACKAGE_HAS_OPENGL_LIBGLES) && \ BR2_PACKAGE_QT5_JSCORE_AVAILABLE
package/rpi-userland/Config.in +2 -2
@@ -4,7 +4,7 @@ config BR2_PACKAGE_RPI_USERLAND depends on BR2_INSTALL_LIBSTDCPP depends on BR2_LARGEFILE depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_HAS_OPENGL_EGL + select BR2_PACKAGE_HAS_OPENGL_LIBEGL select BR2_PACKAGE_HAS_OPENGL_LIBGLES select BR2_PACKAGE_HAS_OPENVG select BR2_PACKAGE_HAS_OPENMAX
@@ -19,7 +19,7 @@ config BR2_PACKAGE_RPI_USERLAND if BR2_PACKAGE_RPI_USERLAND -config BR2_PACKAGE_PROVIDES_OPENGL_EGL +config BR2_PACKAGE_PROVIDES_OPENGL_LIBEGL default "rpi-userland" config BR2_PACKAGE_PROVIDES_OPENGL_LIBGLES
package/sunxi-mali/Config.in +2 -2
@@ -1,6 +1,6 @@ config BR2_PACKAGE_SUNXI_MALI bool "sunxi-mali" - select BR2_PACKAGE_HAS_OPENGL_EGL + select BR2_PACKAGE_HAS_OPENGL_LIBEGL select BR2_PACKAGE_HAS_OPENGL_LIBGLES # The egl/gles mali libraries are provided as a git submodule of the # sunxi-mali repo and are downloaded by the sunxi-mali-prop package.
@@ -18,7 +18,7 @@ config BR2_PACKAGE_SUNXI_MALI if BR2_PACKAGE_SUNXI_MALI -config BR2_PACKAGE_PROVIDES_OPENGL_EGL +config BR2_PACKAGE_PROVIDES_OPENGL_LIBEGL default "sunxi-mali" config BR2_PACKAGE_PROVIDES_OPENGL_LIBGLES
package/ti-gfx/Config.in +2 -2
@@ -1,6 +1,6 @@ config BR2_PACKAGE_TI_GFX bool "ti-gfx" - select BR2_PACKAGE_HAS_OPENGL_EGL + select BR2_PACKAGE_HAS_OPENGL_LIBEGL select BR2_PACKAGE_HAS_OPENGL_LIBGLES select BR2_PACKAGE_HAS_POWERVR depends on BR2_LINUX_KERNEL && BR2_TOOLCHAIN_USES_GLIBC && BR2_arm
@@ -11,7 +11,7 @@ config BR2_PACKAGE_TI_GFX if BR2_PACKAGE_TI_GFX -config BR2_PACKAGE_PROVIDES_OPENGL_EGL +config BR2_PACKAGE_PROVIDES_OPENGL_LIBEGL default "ti-gfx" config BR2_PACKAGE_PROVIDES_OPENGL_LIBGLES
Signature · 1 line
1.8.3.2
PATCH 2/19 package/libegl: rename package and the _HAS and _PROVIDES variables
Quoted 14 lines · Yann E. MORIN
From: "Yann E. MORIN" <[email protected]>
The basic rule for a package is to have its options named after the package name. There is no reason this should not also be the case for virtual packages.
Besides, this will allow us to switch libegl to use the soon-to-be-introduced virtual-package infrastructure.
Rename the package to opnegl-libgles so:
- it has 'opengl' in its name, so it is easier to find
- it has 'libgles' (the name of the library file), as the other Khronos-related packages do
Quoted 6 lines
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Eric Le Bihan <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Thomas De Schampheleire <[email protected]>Cc Mike Zick <[email protected]>Cc Samuel Martin <[email protected]>
Regards,
Signature · 1 line
Samuel
PATCH v3 3/19 package/libopenmax: rename the _HAS and _PROVIDES variables
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
The basic rule for a package is to have its options named after the package name. There is no reason this should not also be the case for virtual packages.
Besides, this will allow us to switch libopenmax to use the soon-to-be-introduced virtual-package infrastructure.
--- package/bellagio/Config.in | 4 ++-- package/gstreamer1/gst-omx/Config.in | 4 ++-- package/opengl/libopenmax/Config.in | 6 +++--- package/opengl/libopenmax/libopenmax.mk | 4 ++-- package/rpi-userland/Config.in | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-)
package/bellagio/Config.in +2 -2
@@ -3,7 +3,7 @@ config BR2_PACKAGE_BELLAGIO depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_PREFER_STATIC_LIB - select BR2_PACKAGE_HAS_OPENMAX + select BR2_PACKAGE_HAS_LIBOPENMAX help Bellagio is an opensource implementation of the OpenMAX IL API.
@@ -19,7 +19,7 @@ config BR2_PACKAGE_BELLAGIO if BR2_PACKAGE_BELLAGIO -config BR2_PACKAGE_PROVIDES_OPENMAX +config BR2_PACKAGE_PROVIDES_LIBOPENMAX default "bellagio" endif
package/gstreamer1/gst-omx/Config.in +2 -2
@@ -1,6 +1,6 @@ config BR2_PACKAGE_GST_OMX bool "gst-omx" - depends on BR2_PACKAGE_HAS_OPENMAX + depends on BR2_PACKAGE_HAS_LIBOPENMAX select BR2_PACKAGE_GST1_PLUGINS_BASE help GStreamer plug-in to use OpenMAX API.
@@ -8,4 +8,4 @@ config BR2_PACKAGE_GST_OMX http://cgit.freedesktop.org/gstreamer/gst-omx comment "gst-omx requires a OpenMAX implementation" - depends on !BR2_PACKAGE_HAS_OPENMAX + depends on !BR2_PACKAGE_HAS_LIBOPENMAX
package/opengl/libopenmax/Config.in +3 -3
@@ -1,6 +1,6 @@ -config BR2_PACKAGE_HAS_OPENMAX +config BR2_PACKAGE_HAS_LIBOPENMAX bool -config BR2_PACKAGE_PROVIDES_OPENMAX - depends on BR2_PACKAGE_HAS_OPENMAX +config BR2_PACKAGE_PROVIDES_LIBOPENMAX + depends on BR2_PACKAGE_HAS_LIBOPENMAX string
package/opengl/libopenmax/libopenmax.mk +2 -2
@@ -5,9 +5,9 @@ ################################################################################ LIBOPENMAX_SOURCE = -LIBOPENMAX_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_OPENMAX)) +LIBOPENMAX_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_LIBOPENMAX)) -ifeq ($(BR2_PACKAGE_HAS_OPENMAX),y) +ifeq ($(BR2_PACKAGE_HAS_LIBOPENMAX),y) ifeq ($(LIBOPENMAX_DEPENDENCIES),) $(error No libopenmax implementation selected. Configuration error.) endif
package/rpi-userland/Config.in +2 -2
@@ -7,7 +7,7 @@ config BR2_PACKAGE_RPI_USERLAND select BR2_PACKAGE_HAS_OPENGL_LIBEGL select BR2_PACKAGE_HAS_OPENGL_LIBGLES select BR2_PACKAGE_HAS_OPENVG - select BR2_PACKAGE_HAS_OPENMAX + select BR2_PACKAGE_HAS_LIBOPENMAX help Raspberry Pi Userland contains the necessary library to use the VideoCore driver.
@@ -28,7 +28,7 @@ config BR2_PACKAGE_PROVIDES_OPENGL_LIBGLES config BR2_PACKAGE_PROVIDES_OPENVG default "rpi-userland" -config BR2_PACKAGE_PROVIDES_OPENMAX +config BR2_PACKAGE_PROVIDES_LIBOPENMAX default "rpi-userland" endif
Signature · 1 line
1.8.3.2
PATCH v3 4/19 package/libopenvg: rename the _HAS and _PROVIDES variables
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
The basic rule for a package is to have its options named after the package name. There is no reason this should not also be the case for virtual packages.
Besides, this will allow us to switch libopenvg to use the soo-to-be-introduced virtual-package infrastructure.
--- package/cairo/cairo.mk | 2 +- package/opengl/libopenvg/Config.in | 6 +++--- package/opengl/libopenvg/libopenvg.mk | 4 ++-- package/rpi-userland/Config.in | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-)
package/cairo/cairo.mk +1 -1
@@ -61,7 +61,7 @@ else CAIRO_CONF_OPT += --disable-glesv2 endif -ifeq ($(BR2_PACKAGE_HAS_OPENVG),y) +ifeq ($(BR2_PACKAGE_HAS_LIBOPENVG),y) CAIRO_CONF_OPT += --enable-vg CAIRO_DEPENDENCIES += libopenvg else
package/opengl/libopenvg/Config.in +3 -3
@@ -1,6 +1,6 @@ -config BR2_PACKAGE_HAS_OPENVG +config BR2_PACKAGE_HAS_LIBOPENVG bool -config BR2_PACKAGE_PROVIDES_OPENVG - depends on BR2_PACKAGE_HAS_OPENVG +config BR2_PACKAGE_PROVIDES_LIBOPENVG + depends on BR2_PACKAGE_HAS_LIBOPENVG string
package/opengl/libopenvg/libopenvg.mk +2 -2
@@ -5,9 +5,9 @@ ################################################################################ LIBOPENVG_SOURCE = -LIBOPENVG_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_OPENVG)) +LIBOPENVG_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_LIBOPENVG)) -ifeq ($(BR2_PACKAGE_HAS_OPENVG),y) +ifeq ($(BR2_PACKAGE_HAS_LIBOPENVG),y) ifeq ($(LIBOPENVG_DEPENDENCIES),) $(error No libOpenVG implementation selected. Configuration error.) endif
package/rpi-userland/Config.in +2 -2
@@ -6,7 +6,7 @@ config BR2_PACKAGE_RPI_USERLAND depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_HAS_OPENGL_LIBEGL select BR2_PACKAGE_HAS_OPENGL_LIBGLES - select BR2_PACKAGE_HAS_OPENVG + select BR2_PACKAGE_HAS_LIBOPENVG select BR2_PACKAGE_HAS_LIBOPENMAX help Raspberry Pi Userland contains the necessary library to use the
@@ -25,7 +25,7 @@ config BR2_PACKAGE_PROVIDES_OPENGL_LIBEGL config BR2_PACKAGE_PROVIDES_OPENGL_LIBGLES default "rpi-userland" -config BR2_PACKAGE_PROVIDES_OPENVG +config BR2_PACKAGE_PROVIDES_LIBOPENVG default "rpi-userland" config BR2_PACKAGE_PROVIDES_LIBOPENMAX
Signature · 1 line
1.8.3.2
PATCH 4/19 package/libopenvg: rename the _HAS and _PROVIDES variables
Hi Yann,
Quoted 8 lines
From: "Yann E. MORIN" <[email protected]>
The basic rule for a package is to have its options named after the package name. There is no reason this should not also be the case for virtual packages.
Besides, this will allow us to switch libopenvg to use the soo-to-be-introduced virtual-package infrastructure.
soon-to-be-introduced
Regards,
Jerzy
Quoted 79 lines
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Eric Le Bihan <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Thomas De Schampheleire <[email protected]>Cc Mike Zick <[email protected]>Reviewed-by Samuel Martin <[email protected]>--- package/cairo/cairo.mk | 2 +- package/opengl/libopenvg/Config.in | 6 +++--- package/opengl/libopenvg/libopenvg.mk | 4 ++-- package/rpi-userland/Config.in | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-)package/cairo/cairo.mk +1
-1@@ -61,7 +61,7 @@ else CAIRO_CONF_OPT += --disable-glesv2 endif -ifeq ($(BR2_PACKAGE_HAS_OPENVG),y) +ifeq ($(BR2_PACKAGE_HAS_LIBOPENVG),y) CAIRO_CONF_OPT += --enable-vg CAIRO_DEPENDENCIES += libopenvg elsepackage/opengl/libopenvg/Config.in +3
-3@@ -1,6 +1,6 @@ -config BR2_PACKAGE_HAS_OPENVG +config BR2_PACKAGE_HAS_LIBOPENVG bool -config BR2_PACKAGE_PROVIDES_OPENVG - depends on BR2_PACKAGE_HAS_OPENVG +config BR2_PACKAGE_PROVIDES_LIBOPENVG + depends on BR2_PACKAGE_HAS_LIBOPENVG stringpackage/opengl/libopenvg/libopenvg.mk +2
-2@@ -5,9 +5,9 @@ ################################################################################ LIBOPENVG_SOURCE = -LIBOPENVG_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_OPENVG)) +LIBOPENVG_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_LIBOPENVG)) -ifeq ($(BR2_PACKAGE_HAS_OPENVG),y) +ifeq ($(BR2_PACKAGE_HAS_LIBOPENVG),y) ifeq ($(LIBOPENVG_DEPENDENCIES),) $(error No libOpenVG implementation selected. Configuration error.) endifpackage/rpi-userland/Config.in +2
-2@@ -6,7 +6,7 @@ config BR2_PACKAGE_RPI_USERLAND depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_HAS_OPENGL_LIBEGL select BR2_PACKAGE_HAS_OPENGL_LIBGLES - select BR2_PACKAGE_HAS_OPENVG + select BR2_PACKAGE_HAS_LIBOPENVG select BR2_PACKAGE_HAS_LIBOPENMAX help Raspberry Pi Userland contains the necessary library to use the@@ -25,7 +25,7 @@ config BR2_PACKAGE_PROVIDES_OPENGL_LIBEGL config BR2_PACKAGE_PROVIDES_OPENGL_LIBGLES default "rpi-userland" -config BR2_PACKAGE_PROVIDES_OPENVG +config BR2_PACKAGE_PROVIDES_LIBOPENVG default "rpi-userland" config BR2_PACKAGE_PROVIDES_LIBOPENMAX
PATCH v3 5/19 package/luainterpreter: rename the _HAS and _PROVIDES variables
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
The basic rule for a package is to have its options named after the package name. There is no reason this should not also be the case for virtual packages.
Besides, this will allow us to switch luainterpreter to use the soon-to-be-introduced virtual-package infrastructure.
--- package/Config.in | 2 +- package/lbase64/Config.in | 2 +- package/lpeg/Config.in | 2 +- package/lpty/Config.in | 2 +- package/lrandom/Config.in | 2 +- package/lsqlite3/Config.in | 2 +- package/lua-cjson/Config.in | 2 +- package/lua-ev/Config.in | 2 +- package/lua-msgpack-native/Config.in | 2 +- package/lua/Config.in | 4 ++-- package/luaexpat/Config.in | 2 +- package/luafilesystem/Config.in | 2 +- package/luainterpreter/Config.in | 6 +++--- package/luainterpreter/luainterpreter.mk | 4 ++-- package/luajit/Config.in | 4 ++-- package/luaposix/Config.in | 2 +- package/luasec/Config.in | 2 +- package/luasocket/Config.in | 2 +- package/luasql-sqlite3/Config.in | 2 +- package/lzlib/Config.in | 2 +- package/rings/Config.in | 2 +- 21 files changed, 26 insertions(+), 26 deletions(-)
package/Config.in +1 -1
@@ -366,7 +366,7 @@ source "package/jimtcl/Config.in" source "package/lua/Config.in" source "package/luainterpreter/Config.in" source "package/luajit/Config.in" -if BR2_PACKAGE_HAS_LUA_INTERPRETER && !BR2_PREFER_STATIC_LIB +if BR2_PACKAGE_HAS_LUAINTERPRETER && !BR2_PREFER_STATIC_LIB # lua modules are dynamically loaded, so not available on static builds menu "Lua libraries/modules" source "package/cgilua/Config.in"
package/lbase64/Config.in +1 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LBASE64 bool "lbase64" - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER depends on !BR2_PACKAGE_LUA_5_2 help A base64 library for Lua
package/lpeg/Config.in +1 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LPEG bool "lpeg" - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER help LPeg is a new pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs).
package/lpty/Config.in +1 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LPTY bool "lpty" - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER help A simple facility for lua to control other programs via PTYs.
package/lrandom/Config.in +1 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LRANDOM bool "lrandom" - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER help A library for generating random numbers based on the Mersenne Twister
package/lsqlite3/Config.in +1 -1
@@ -1,7 +1,7 @@ config BR2_PACKAGE_LSQLITE3 bool "lsqlite3" select BR2_PACKAGE_SQLITE - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER help a thin Lua wrapper for the SQLite3 library.
package/lua-cjson/Config.in +1 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LUA_CJSON bool "lua-cjson" - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER help The Lua CJSON module provides JSON support for Lua. It features: - Fast, standards compliant encoding/parsing routines
package/lua-ev/Config.in +1 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LUA_EV bool "lua-ev" - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER select BR2_PACKAGE_LIBEV depends on !(BR2_avr32 || BR2_bfin) # libev help
package/lua-msgpack-native/Config.in +1 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LUA_MSGPACK_NATIVE bool "lua-msgpack-native" - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER depends on !BR2_PACKAGE_LUA_5_2 help This is a native, C language implementation of msgpack
package/lua/Config.in +2 -2
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LUA bool "lua" - select BR2_PACKAGE_HAS_LUA_INTERPRETER + select BR2_PACKAGE_HAS_LUAINTERPRETER help Lua is a powerful, fast, light-weight, embeddable scripting language.
@@ -8,7 +8,7 @@ config BR2_PACKAGE_LUA if BR2_PACKAGE_LUA -config BR2_PACKAGE_PROVIDES_LUA_INTERPRETER +config BR2_PACKAGE_PROVIDES_LUAINTERPRETER default "lua" choice
package/luaexpat/Config.in +1 -1
@@ -1,7 +1,7 @@ config BR2_PACKAGE_LUAEXPAT bool "luaexpat" select BR2_PACKAGE_EXPAT - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER depends on !BR2_PACKAGE_LUA_5_2 help LuaExpat is a SAX XML parser based on the Expat library.
package/luafilesystem/Config.in +1 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LUAFILESYSTEM bool "luafilesystem" - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER help LuaFileSystem offers a portable way to access the underlying directory structure and file attributes.
package/luainterpreter/Config.in +3 -3
@@ -1,9 +1,9 @@ -config BR2_PACKAGE_HAS_LUA_INTERPRETER +config BR2_PACKAGE_HAS_LUAINTERPRETER bool -config BR2_PACKAGE_PROVIDES_LUA_INTERPRETER +config BR2_PACKAGE_PROVIDES_LUAINTERPRETER string - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION string
package/luainterpreter/luainterpreter.mk +2 -2
@@ -5,11 +5,11 @@ ############################################################# LUAINTERPRETER_SOURCE = -LUAINTERPRETER_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_LUA_INTERPRETER)) +LUAINTERPRETER_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_LUAINTERPRETER)) LUAINTERPRETER_ABIVER = $(call qstrip,$(BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION)) -ifeq ($(BR2_PACKAGE_HAS_LUA_INTERPRETER),y) +ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER),y) ifeq ($(LUAINTERPRETER_DEPENDENCIES),) $(error No lua interpreter implementation selected. Configuration error.) endif
package/luajit/Config.in +2 -2
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LUAJIT bool "luajit" - select BR2_PACKAGE_HAS_LUA_INTERPRETER + select BR2_PACKAGE_HAS_LUAINTERPRETER # Luajit is only available for some target architectures, and # has some complexity wrt 32/64. See luajit.mk for details. depends on BR2_i386 || (BR2_x86_64 && BR2_HOSTARCH='x86_64') || BR2_powerpc || BR2_arm || BR2_armeb
@@ -14,7 +14,7 @@ config BR2_PACKAGE_LUAJIT if BR2_PACKAGE_LUAJIT -config BR2_PACKAGE_PROVIDES_LUA_INTERPRETER +config BR2_PACKAGE_PROVIDES_LUAINTERPRETER default "luajit" config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION
package/luaposix/Config.in +1 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LUAPOSIX bool "luaposix" - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER select BR2_PACKAGE_LUABITOP if BR2_PACKAGE_LUA_5_1 # LuaBitOp is already included in LuaJIT help
package/luasec/Config.in +1 -1
@@ -2,7 +2,7 @@ config BR2_PACKAGE_LUASEC bool "luasec" select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_LUASOCKET - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER depends on !BR2_PACKAGE_LUA_5_2 help LuaSec is a binding for OpenSSL library to provide TLS/SSL
package/luasocket/Config.in +1 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LUASOCKET bool "luasocket" - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER help LuaSocket is the most comprehensive networking support library for the Lua language.
package/luasql-sqlite3/Config.in +1 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_LUASQL_SQLITE3 bool "luasql-sqlite3" - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER select BR2_PACKAGE_SQLITE help LuaSQL is a simple interface from Lua to a DBMS.
package/lzlib/Config.in +1 -1
@@ -1,7 +1,7 @@ config BR2_PACKAGE_LZLIB bool "lzlib" select BR2_PACKAGE_ZLIB - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER help This package provides a library to access zlib library functions and also to read/write gzip files using an
package/rings/Config.in +1 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_RINGS bool "rings" - depends on BR2_PACKAGE_HAS_LUA_INTERPRETER + depends on BR2_PACKAGE_HAS_LUAINTERPRETER help Provides a way to create new Lua states from within Lua.
Signature · 1 line
1.8.3.2
PATCH v3 6/19 package/lua: rename config options
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
Package's options should be named after the package.
Lua is an interpreter, but the package is named 'lua'. So we want to name the config option with '_LUA_', not with '_LUA_INTERPRETER_'
Besides, naming them with '_LUA_INTERPRETER_' might be confusing, since there is a package named 'luainterpreter'.
--- Config.in.legacy | 21 +++++++++++++++++++++ package/lua/Config.in | 10 +++++----- package/lua/lua.mk | 4 ++-- 3 files changed, 28 insertions(+), 7 deletions(-)
Config.in.legacy +21 -0
@@ -101,6 +101,27 @@ endif ############################################################################### comment "Legacy options removed in 2014.05" +config BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE + bool "Lua command-line editing none has been renamed" + help + The BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE option has been + renamed to BR2_PACKAGE_LUA_EDITING_NONE. You will have to select + it in the corresponding choice. + +config BR2_PACKAGE_LUA_INTERPRETER_READLINE + bool "Lua command-line editing using readline has been renamed" + help + The BR2_PACKAGE_LUA_INTERPRETER_READLINE option has been + renamed to BR2_PACKAGE_LUA_READLINE. You will have to select + it in the corresponding choice. + +config BR2_PACKAGE_LUA_INTERPRETER_LINENOISE + bool "Lua command-line editing using linenoise has been renamed" + help + The BR2_PACKAGE_LUA_INTERPRETER_LINENOISE option has been + renamed to BR2_PACKAGE_LUA_LINENOISE. You will have to select + it in the corresponding choice. + config BR2_KERNEL_HEADERS_SNAP bool "Local Linux snapshot support removed" select BR2_LEGACY
package/lua/Config.in +5 -5
@@ -30,22 +30,22 @@ config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION default "5.2" if BR2_PACKAGE_LUA_5_2 choice - prompt "Lua Interpreter command-line editing" - default BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE + prompt "Lua command-line editing" + default BR2_PACKAGE_LUA_EDITING_NONE -config BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE +config BR2_PACKAGE_LUA_EDITING_NONE bool "none" help None. -config BR2_PACKAGE_LUA_INTERPRETER_READLINE +config BR2_PACKAGE_LUA_READLINE bool "readline support" select BR2_PACKAGE_READLINE select BR2_PACKAGE_NCURSES help Enables command-line editing in the Lua interpreter. -config BR2_PACKAGE_LUA_INTERPRETER_LINENOISE +config BR2_PACKAGE_LUA_LINENOISE bool "linenoise support" select BR2_PACKAGE_LINENOISE help
package/lua/lua.mk +2 -2
@@ -31,12 +31,12 @@ else LUA_MYLIBS += -ldl endif -ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_READLINE),y) +ifeq ($(BR2_PACKAGE_LUA_READLINE),y) LUA_DEPENDENCIES = readline ncurses LUA_MYLIBS += -lreadline -lhistory -lncurses LUA_CFLAGS += -DLUA_USE_READLINE else -ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_LINENOISE),y) +ifeq ($(BR2_PACKAGE_LUA_LINENOISE),y) LUA_DEPENDENCIES = linenoise LUA_MYLIBS += -llinenoise LUA_CFLAGS += -DLUA_USE_LINENOISE
Signature · 1 line
1.8.3.2
PATCH v3 7/19 manual: add virtual package tutorial
In reply to Yann E. MORINFrom: "[email protected]" <[email protected]>
The manual now features a new section with instructions about how to add a virtual package.
--- docs/manual/adding-packages-virtual.txt | 99 +++++++++++++++++++++++++++++++++ docs/manual/adding-packages.txt | 2 + 2 files changed, 101 insertions(+) create mode 100644 docs/manual/adding-packages-virtual.txt
docs/manual/adding-packages-virtual.txt new file +99 -0
@@ -0,0 +1,99 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +[[virtual-package-tutorial]] + +Virtual package tutorial +~~~~~~~~~~~~~~~~~~~~~~~~ + +In Buildroot, a virtual package is a package whose functionalities are +provided by one or more packages, referred to as 'providers'. The virtual +package management is an extensible mechanism allowing the user to choose +the provider used in the rootfs. + +For example, 'OpenGL ES' is an API for 2D and 3D graphics on embedded systems. +The implementation of this API is different for the 'Allwinner Tech Sunxi' and +the 'Texas Instruments OMAP35xx' plaftorms. So +libgles+ will be a virtual +package and +sunxi-mali+ and +ti-gfx+ will be the providers. + +In the following example, we will explain how to add a new virtual package +('something-virtual') and a provider for it ('some-provider'). + +First, let's create the virtual package. + +Virtual package's +Config.in+ file +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The +Config.in+ file of virtual package 'something-virtual' should contain: + +--------------------------- +01: config BR2_PACKAGE_HAS_SOMETHING_VIRTUAL +02: bool +03: +04: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL +05: depends on BR2_PACKAGE_HAS_SOMETHING_VIRTUAL +06: string +--------------------------- + +In this file, we declare two options, +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+ and ++BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+, whose values will be used by the +providers. + +Virtual package's +*.mk+ file +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The Makefile +package/something-virtual/something-virtual.mk+ should contain: + +--------------------------- +01: ################################################################################ +02: # +03: # something-virtual +04: # +05: ################################################################################ +06: +07: SOMETHING_VIRTUAL_SOURCE = +08: SOMETHING_VIRTUAL_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL)) +09: +10: ifeq ($(BR2_PACKAGE_HAS_SOMETHING_VIRTUAL),y) +11: ifeq ($(SOMETHING_VIRTUAL_DEPENDENCIES),) +12: $(error No something-virtual implementation selected. Configuration error.) +13: endif +14: endif +15: +16: $(eval $(generic-package)) +--------------------------- + +The Makefile is quite small as it will only check if a provider for the +virtual package has been selected. + +Provider's +Config.in+ file +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +When adding a package as a provider, only the +Config.in+ file requires some +modifications. The +*.mk+ file should follow the Buildroot infrastructure with +no change at all. + +The +Config.in+ file of the package 'some-provider', which provides the +functionalities of 'something-virtual', should contain: + +--------------------------- +01: config BR2_PACKAGE_SOME_PROVIDER +02: bool "some-provider" +03: select BR2_PACKAGE_HAS_SOMETHING_VIRTUAL +04: help +05: This is a comment that explains what some-provider is. +06: +07: http://foosoftware.org/some-provider/ +08: +09: if BR2_PACKAGE_SOME_PROVIDER +10: config BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL +11: default "some-provider" +12: endif +--------------------------- + +On line 3, we select +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+, and on line 11, we +set the value of +BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+ to the name of the +provider, but only if it is selected. + +Of course, do not forget to add the proper build and runtime dependencies for +this package!
docs/manual/adding-packages.txt +2 -0
@@ -24,6 +24,8 @@ include::adding-packages-luarocks.txt[] include::adding-packages-perl.txt[] +include::adding-packages-virtual.txt[] + include::adding-packages-hooks.txt[] include::adding-packages-gettext.txt[]
Signature · 1 line
1.8.3.2
PATCH v3 8/19 packages: add infrastructure for virtual packages
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
The virtual-package infrastructure allows to easily define a virtual package in a single line:
$ package/some-virtual-package/some-virtual-package.mk:
$(eval $(virtual-package))And that's all. :-)
Thanks to ?ric for his work on the manual, that prompted the idea for this virtual-package infrastructure! ;-)
--- package/Makefile.in | 1 + package/pkg-virtual.mk | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 package/pkg-virtual.mk
package/Makefile.in +1 -0
@@ -362,4 +362,5 @@ include package/pkg-cmake.mk include package/pkg-luarocks.mk include package/pkg-perl.mk include package/pkg-python.mk +include package/pkg-virtual.mk include package/pkg-generic.mk
package/pkg-virtual.mk new file +66 -0
66 lines not on this page · raw message
Signature · 1 line
1.8.3.2
PATCH v3 9/19 manual: update the virtual package section with the new infrastructure
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
--- docs/manual/adding-packages-virtual.txt | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-)
docs/manual/adding-packages-virtual.txt +10 -16
@@ -1,10 +1,10 @@ // -*- mode:doc; -*- // vim: set syntax=asciidoc: -[[virtual-package-tutorial]] +Infrastructure for virtual packages +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Virtual package tutorial -~~~~~~~~~~~~~~~~~~~~~~~~ +[[virtual-package-tutorial]] In Buildroot, a virtual package is a package whose functionalities are provided by one or more packages, referred to as 'providers'. The virtual
@@ -16,6 +16,9 @@ The implementation of this API is different for the 'Allwinner Tech Sunxi' and the 'Texas Instruments OMAP35xx' plaftorms. So +libgles+ will be a virtual package and +sunxi-mali+ and +ti-gfx+ will be the providers. ++virtual-package+ tutorial +^^^^^^^^^^^^^^^^^^^^^^^^^^ + In the following example, we will explain how to add a new virtual package ('something-virtual') and a provider for it ('some-provider').
@@ -42,7 +45,7 @@ providers. Virtual package's +*.mk+ file ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The Makefile +package/something-virtual/something-virtual.mk+ should contain: +The +.mk+ for the virtual package should just evaluate the +virtual-package+ macro: --------------------------- 01: ################################################################################
@@ -51,20 +54,11 @@ The Makefile +package/something-virtual/something-virtual.mk+ should contain: 04: # 05: ################################################################################ 06: -07: SOMETHING_VIRTUAL_SOURCE = -08: SOMETHING_VIRTUAL_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL)) -09: -10: ifeq ($(BR2_PACKAGE_HAS_SOMETHING_VIRTUAL),y) -11: ifeq ($(SOMETHING_VIRTUAL_DEPENDENCIES),) -12: $(error No something-virtual implementation selected. Configuration error.) -13: endif -14: endif -15: -16: $(eval $(generic-package)) +07: $(eval $(virtual-package)) --------------------------- -The Makefile is quite small as it will only check if a provider for the -virtual package has been selected. +The ability to have target and host packages is also available, with the ++host-virtual-package+ macro. Provider's +Config.in+ file ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Signature · 1 line
1.8.3.2
PATCH v3 10/19 package/powervr: convert to the virtual-package infrastructure
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
--- package/powervr/powervr.mk | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-)
package/powervr/powervr.mk +1 -10
@@ -4,13 +4,4 @@ # ################################################################################ -POWERVR_SOURCE = -POWERVR_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_POWERVR)) - -ifeq ($(BR2_PACKAGE_HAS_POWERVR),y) -ifeq ($(POWERVR_DEPENDENCIES),) -$(error No PowerVR implementation selected. Configuration error.) -endif -endif - -$(eval $(generic-package)) +$(eval $(virtual-package))
Signature · 1 line
1.8.3.2
PATCH v3 11/19 package/opengl-libgles: convert to the virtual-package infrastructure
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
--- package/opengl/opengl-libgles/opengl-libgles.mk | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-)
package/opengl/opengl-libgles/opengl-libgles.mk +1 -10
@@ -4,13 +4,4 @@ # ################################################################################ -OPENGL_LIBGLES_SOURCE = -OPENGL_LIBGLES_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_OPENGL_LIBGLES)) - -ifeq ($(BR2_PACKAGE_HAS_OPENGL_LIBGLES),y) -ifeq ($(OPENGL_LIBGLES_DEPENDENCIES),) -$(error No libGLES implementation selected. Configuration error.) -endif -endif - -$(eval $(generic-package)) +$(eval $(virtual-package))
Signature · 1 line
1.8.3.2
PATCH v3 12/19 package/opengl-libegl: convert to the virtual-package infrastructure
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
--- package/opengl/opengl-libegl/opengl-libegl.mk | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-)
package/opengl/opengl-libegl/opengl-libegl.mk +1 -10
@@ -4,13 +4,4 @@ # ################################################################################ -OPENGL_LIBEGL_SOURCE = -OPENGL_LIBEGL_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_OPENGL_LIBEGL)) - -ifeq ($(BR2_PACKAGE_HAS_OPENGL_LIBEGL),y) -ifeq ($(OPENGL_LIBEGL_DEPENDENCIES),) -$(error No libEGL implementation selected. Configuration error.) -endif -endif - -$(eval $(generic-package)) +$(eval $(virtual-package))
Signature · 1 line
1.8.3.2
PATCH v3 13/19 package/libopenmax: convert to the virtual-package infrastructure
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
--- package/opengl/libopenmax/libopenmax.mk | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-)
package/opengl/libopenmax/libopenmax.mk +1 -10
@@ -4,13 +4,4 @@ # ################################################################################ -LIBOPENMAX_SOURCE = -LIBOPENMAX_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_LIBOPENMAX)) - -ifeq ($(BR2_PACKAGE_HAS_LIBOPENMAX),y) -ifeq ($(LIBOPENMAX_DEPENDENCIES),) -$(error No libopenmax implementation selected. Configuration error.) -endif -endif - -$(eval $(generic-package)) +$(eval $(virtual-package))
Signature · 1 line
1.8.3.2
PATCH v3 14/19 package/libopenvg: convert to the virtual-package infrastructure
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
--- package/opengl/libopenvg/libopenvg.mk | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-)
package/opengl/libopenvg/libopenvg.mk +1 -10
@@ -4,13 +4,4 @@ # ################################################################################ -LIBOPENVG_SOURCE = -LIBOPENVG_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_LIBOPENVG)) - -ifeq ($(BR2_PACKAGE_HAS_LIBOPENVG),y) -ifeq ($(LIBOPENVG_DEPENDENCIES),) -$(error No libOpenVG implementation selected. Configuration error.) -endif -endif - -$(eval $(generic-package)) +$(eval $(virtual-package))
Signature · 1 line
1.8.3.2
PATCH v3 15/19 package/luainterpreter: convert to the virtual-package infrastructure
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
--- package/luainterpreter/luainterpreter.mk | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-)
package/luainterpreter/luainterpreter.mk +1 -10
@@ -4,15 +4,6 @@ # ############################################################# -LUAINTERPRETER_SOURCE = -LUAINTERPRETER_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_LUAINTERPRETER)) - LUAINTERPRETER_ABIVER = $(call qstrip,$(BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION)) -ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER),y) -ifeq ($(LUAINTERPRETER_DEPENDENCIES),) -$(error No lua interpreter implementation selected. Configuration error.) -endif -endif - -$(eval $(generic-package)) +$(eval $(virtual-package))
Signature · 1 line
1.8.3.2
PATCH v3 16/19 package/jpeg: convert to the virtual-package infrastructure
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
Since this package is implemented via a choice rather than the usual separate-package providers, we only need BR2_PACKAGE_HAS_JPEG to be always defined when the 'jpeg' package is selected.
--- package/jpeg/Config.in | 3 +++ package/jpeg/jpeg.mk | 12 +----------- 2 files changed, 4 insertions(+), 11 deletions(-)
package/jpeg/Config.in +3 -0
@@ -30,6 +30,9 @@ config BR2_PACKAGE_JPEG_TURBO endchoice +config BR2_PACKAGE_HAS_JPEG + def_bool y + config BR2_PACKAGE_PROVIDES_JPEG string default "libjpeg" if BR2_PACKAGE_LIBJPEG
package/jpeg/jpeg.mk +1 -11
@@ -4,14 +4,4 @@ # ################################################################################ -JPEG_SOURCE = -JPEG_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_JPEG)) - -ifeq ($(JPEG_DEPENDENCIES),) -define JPEG_CONFIGURE_CMDS - echo "No JPEG implementation defined. Configuration error" - exit 1 -endef -endif - -$(eval $(generic-package)) +$(eval $(virtual-package))
Signature · 1 line
1.8.3.2
PATCH v3 17/19 package/cryptodev: convert to the virtual-package infrastructure
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
Since this package is implemented via a choice rather than the usual separate-package providers, we only need BR2_PACKAGE_HAS_CRYPTODEV to be always defined when the 'cryptodev' package is selected.
--- package/cryptodev/Config.in | 3 +++ package/cryptodev/cryptodev.mk | 12 +----------- 2 files changed, 4 insertions(+), 11 deletions(-)
package/cryptodev/Config.in +3 -0
@@ -37,6 +37,9 @@ config BR2_PACKAGE_OCF_LINUX endchoice +config BR2_PACKAGE_HAS_CRYPTODEV + def_bool y + config BR2_PACKAGE_PROVIDES_CRYPTODEV string default "cryptodev-linux" if BR2_PACKAGE_CRYPTODEV_LINUX
package/cryptodev/cryptodev.mk +1 -11
@@ -4,14 +4,4 @@ # ################################################################################ -CRYPTODEV_SOURCE = -CRYPTODEV_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_CRYPTODEV)) - -ifeq ($(CRYPTODEV_DEPENDENCIES),) -define CRYPTODEV_CONFIGURE_CMDS - echo "No CRYPTODEV implementation defined. Configuration error" - exit 1 -endef -endif - -$(eval $(generic-package)) +$(eval $(virtual-package))
Signature · 1 line
1.8.3.2
PATCH v3 18/19 virtual-package: fake a version string for virtual packages
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
--- package/pkg-virtual.mk | 4 ++++ 1 file changed, 4 insertions(+)
package/pkg-virtual.mk +4 -0
@@ -44,6 +44,10 @@ endif # A virtual package does not have any source associated $(2)_SOURCE = +# Fake a version string, so it looks nicer in the build log +$(3)_VERSION = virtual +HOST_$(3)_VERSION = virtual + # This must be repeated from inner-generic-package, otherwise we get an empty # _DEPENDENCIES $(2)_DEPENDENCIES ?= $(filter-out host-toolchain $(1),\
Signature · 1 line
1.8.3.2
PATCH 18/19 virtual-package: fake a version string for virtual packages
Quoted 5 lines · Yann E. MORIN
From: "Yann E. MORIN" <[email protected]>
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas De Schampheleire <[email protected]>Cc Thomas Petazzoni <[email protected]>
Regards,
Signature · 1 line
Samuel
PATCH v3 19/19 FOO: tentative target and host virt packages
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
NOT TO BE APPLIED. Just sampels to test virtual packages.
NOT SOB by me
--- package/Config.in | 4 ++++ package/foo-prov/Config.in | 15 +++++++++++++++ package/foo-prov/foo-prov.mk | 13 +++++++++++++ package/foo-user/Config.in | 7 +++++++ package/foo-user/foo-user.mk | 16 ++++++++++++++++ package/foo-virt/Config.in | 13 +++++++++++++ package/foo-virt/foo-virt.mk | 2 ++ 7 files changed, 70 insertions(+) create mode 100644 package/foo-prov/Config.in create mode 100644 package/foo-prov/foo-prov.mk create mode 100644 package/foo-user/Config.in create mode 100644 package/foo-user/foo-user.mk create mode 100644 package/foo-virt/Config.in create mode 100644 package/foo-virt/foo-virt.mk
package/Config.in +4 -0
@@ -1,5 +1,9 @@ menu "Target packages" +source "package/foo-virt/Config.in" +source "package/foo-prov/Config.in" +source "package/foo-user/Config.in" + source "package/busybox/Config.in" menu "Audio and video applications"
package/foo-prov/Config.in new file +15 -0
@@ -0,0 +1,15 @@ +config BR2_PACKAGE_FOO_PROV + bool "foo-prov" + select BR2_PACKAGE_HAS_FOO_VIRT + +config BR2_PACKAGE_PROVIDES_FOO_VIRT + depends on BR2_PACKAGE_FOO_PROV + default "foo-prov" + +#config BR2_PACKAGE_HOST_FOO_PROV +# bool "host-foo-prov" +# select BR2_PACKAGE_HAS_HOST_FOO_VIRT +# +#config BR2_PACKAGE_PROVIDES_HOST_FOO_VIRT +# depends on BR2_PACKAGE_FOO_PROV +# default "host-foo-prov"
package/foo-prov/foo-prov.mk new file +13 -0
@@ -0,0 +1,13 @@ +FOO_PROV_VERSION = 1.1.2.3.5.8 +FOO_PROV_SOURCE = +HOST_FOO_PROV_SOURCE = + +define FOO_PROV_BUILD_CMDS + @echo FOO_PROV build cmd +endef +define HOST_FOO_PROV_BUILD_CMDS + @echo HOST_FOO_PROV build cmd +endef + +$(eval $(generic-package)) +$(eval $(host-generic-package))
package/foo-user/Config.in new file +7 -0
@@ -0,0 +1,7 @@ +config BR2_PACKAGE_FOO_USER + bool "foo-user" + depends on BR2_PACKAGE_HAS_FOO_VIRT + +#config BR2_PACKAGE_HOST_FOO_USER +# bool "host-foo-user" +# depends on BR2_PACKAGE_HAS_HOST_FOO_VIRT
package/foo-user/foo-user.mk new file +16 -0
@@ -0,0 +1,16 @@ +FOO_USER_VERSION = 1.2.3 +FOO_USER_SOURCE = +HOST_FOO_USER_SOURCE = + +FOO_USER_DEPENDENCIES = foo-virt host-foo-user +define FOO_USER_BUILD_CMDS + @echo FOO_USER build cmd +endef + +HOST_FOO_USER_DEPENDENCIES = host-foo-virt +define HOST_FOO_USER_BUILD_CMDS + @echo HOST_FOO_USER build cmd +endef + +$(eval $(generic-package)) +$(eval $(host-generic-package))
package/foo-virt/Config.in new file +13 -0
@@ -0,0 +1,13 @@ +config BR2_PACKAGE_HAS_FOO_VIRT + bool + +config BR2_PACKAGE_PROVIDES_FOO_VIRT + depends on BR2_PACKAGE_HAS_FOO_VIRT + string + +#config BR2_PACKAGE_HAS_HOST_FOO_VIRT +# bool +# +#config BR2_PACKAGE_PROVIDES_HOST_FOO_VIRT +# depends on BR2_PACKAGE_HAS_HOST_FOO_VIRT +# string
package/foo-virt/foo-virt.mk new file +2 -0
@@ -0,0 +1,2 @@ +$(eval $(virtual-package)) +$(eval $(host-virtual-package))
Signature · 1 line
1.8.3.2
v3 cover Add new virtual-package infrastructure
In reply to Yann E. MORINHello All!
On 2014-03-02 17:52 +0100, Yann E. MORIN spake thusly:
Quoted 2 lines
Here is a quick series implementing a new infrastructure for virtual packages.
[--SNIP--]
Quoted 1 line
So the series:
[--SNIP--]
Quoted 1 line
- and finally converts the virtual packages over to the new infra.
Doh... It just occured to me I forgot to convert the package that spawn all this virtual-package stuff in the first place: udev.
It will be present in the next spin of the series.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------'