package/opengl/libegl: remove BR2_PACKAGE_HAS_LIBEGL_WAYLAND

Since wayland 1.15 (upstream commit
549a5ea710f4da1a5749587176d39fef1ded4077), libwayland-egl.so is
provided by the wayland package, so there is no longer a question of
whether libwayland-egl.so is provided by the particular EGL
implementation. See the Wayland commit log:

    wayland-egl: import libwayland-egl.so frontend library from Mesa

    Currently the client-facing libwayland-egl API is defined by a header
    file shipped by Wayland, but the implementation is left to each vendor.

    This can cause collisions when multiple implementations are installed on
    the same system. Importing the implementation into Wayland with a stable
    and versioned driver-facing ABI allows multiple drivers to coexist on
    the same system.

    Pull the sample implementation from Mesa commit 677edff5cfd
    ("wayland-egl: rework and simplify wl_egl_window initialization")
    It has been used by the Mesa open source drivers, NVIDIA and others[1].

    v2: Reword commit message, rebase on top of newer Mesa.

    [1] https://github.com/thayama/wayland-egl

Consequently, we remove the BR2_PACKAGE_HAS_LIBEGL_WAYLAND
option. Packages that rely on BR2_PACKAGE_HAS_LIBGLES and
BR2_PACKAGE_WAYLAND are guaranteed to have libwayland-egl.so.

Note that this doesn't solve the problem that libwayland-egl.so will be
provided both by wayland itself and by by the implementation
(rockchip-mali, sunxi-mali-utgard, ...). Still, there is a dependency
from the implementation on wayland so at least it is predictable which
one will end up on the target.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Arnout: remove remaining references in sway and sunxi-mali-utgard]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This commit is contained in:
Thomas Petazzoni
2022-09-24 23:02:20 +02:00
committed by Arnout Vandecappelle
parent 709cc0f000
commit 4fad6b3c58
17 changed files with 23 additions and 39 deletions

View File

@@ -1,6 +1,5 @@
comment "cage needs udev, EGL w/ Wayland backend and OpenGL ES support"
comment "cage needs udev, EGL and OpenGL ES support"
depends on !BR2_PACKAGE_HAS_LIBEGL || \
!BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
!BR2_PACKAGE_HAS_LIBGLES || \
!BR2_PACKAGE_HAS_UDEV
@@ -13,7 +12,6 @@ config BR2_PACKAGE_CAGE
depends on !BR2_STATIC_LIBS # wlroots
depends on BR2_TOOLCHAIN_HAS_THREADS # wlroots
depends on BR2_PACKAGE_HAS_LIBEGL # wlroots
depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # wlroots
depends on BR2_PACKAGE_HAS_LIBGLES # wlroots
depends on BR2_PACKAGE_HAS_UDEV # wlroots
select BR2_PACKAGE_WLROOTS

View File

@@ -51,7 +51,6 @@ config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB
config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
bool "Wayland"
select BR2_PACKAGE_WAYLAND
select BR2_PACKAGE_HAS_LIBEGL_WAYLAND
endchoice

View File

@@ -36,7 +36,6 @@ config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND
bool
default y
depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES
depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # waylandpp
depends on BR2_HOST_GCC_AT_LEAST_4_9 # waylandpp
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # waylandpp
depends on BR2_INSTALL_LIBSTDCPP # waylandpp

View File

@@ -6,10 +6,10 @@ comment "libgtk3 needs a toolchain w/ wchar, threads, C++, gcc >= 4.9"
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
!BR2_TOOLCHAIN_HAS_THREADS
comment "libgtk3 needs an OpenGL or an OpenGL-EGL/wayland backend"
comment "libgtk3 needs an OpenGL or an OpenGL-EGL backend"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_PACKAGE_HAS_LIBEGL_WAYLAND && \
depends on !BR2_PACKAGE_HAS_LIBEGL && \
!BR2_PACKAGE_HAS_LIBGL
config BR2_PACKAGE_LIBGTK3
@@ -21,7 +21,7 @@ config BR2_PACKAGE_LIBGTK3
depends on BR2_INSTALL_LIBSTDCPP # pango
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango -> harfbuzz
depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
depends on BR2_PACKAGE_HAS_LIBEGL || \
BR2_PACKAGE_HAS_LIBGL
select BR2_PACKAGE_AT_SPI2_CORE
select BR2_PACKAGE_CAIRO
@@ -69,7 +69,7 @@ comment "Wayland GDK backend needs an OpenGL EGL backend provided by mesa3d w/ h
config BR2_PACKAGE_LIBGTK3_WAYLAND
bool "Wayland GDK backend"
default y
depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
depends on BR2_PACKAGE_HAS_LIBEGL
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
select BR2_PACKAGE_WAYLAND
select BR2_PACKAGE_WAYLAND_PROTOCOLS

View File

@@ -356,7 +356,6 @@ config BR2_PACKAGE_MESA3D_OPENGL_EGL
depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
select BR2_PACKAGE_HAS_LIBEGL if !BR2_PACKAGE_LIBGLVND
select BR2_PACKAGE_LIBGLVND_DISPATCH_EGL if BR2_PACKAGE_LIBGLVND
select BR2_PACKAGE_HAS_LIBEGL_WAYLAND
select BR2_PACKAGE_MESA3D_GBM
help
Use the Khronos EGL APIs. EGL is a window manager for OpenGL

View File

@@ -26,7 +26,6 @@ config BR2_PACKAGE_NVIDIA_DRIVER_XORG
select BR2_PACKAGE_XLIB_LIBXEXT
select BR2_PACKAGE_HAS_LIBGL
select BR2_PACKAGE_HAS_LIBEGL
select BR2_PACKAGE_HAS_LIBEGL_WAYLAND
select BR2_PACKAGE_HAS_LIBGLES
if BR2_PACKAGE_NVIDIA_DRIVER_XORG

View File

@@ -1,10 +1,6 @@
config BR2_PACKAGE_HAS_LIBEGL
bool
config BR2_PACKAGE_HAS_LIBEGL_WAYLAND
bool
depends on BR2_PACKAGE_HAS_LIBEGL
config BR2_PACKAGE_PROVIDES_LIBEGL
string
depends on BR2_PACKAGE_HAS_LIBEGL

View File

@@ -53,7 +53,6 @@ config BR2_PACKAGE_SUNXI_MALI_UTGARD_FBDEV
config BR2_PACKAGE_SUNXI_MALI_UTGARD_WAYLAND
bool "wayland"
depends on BR2_PACKAGE_SUNXI_MALI_UTGARD_R6P2
select BR2_PACKAGE_HAS_LIBEGL_WAYLAND
select BR2_PACKAGE_HAS_LIBGBM
select BR2_PACKAGE_WAYLAND

View File

@@ -4,7 +4,6 @@ config BR2_PACKAGE_SWAY
depends on !BR2_STATIC_LIBS # wlroots
depends on BR2_TOOLCHAIN_HAS_THREADS # pango, wlroots
depends on BR2_PACKAGE_HAS_LIBEGL # wlroots
depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # wlroots
depends on BR2_PACKAGE_HAS_LIBGLES # wlroots
depends on BR2_PACKAGE_HAS_UDEV # wlroots
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c, pango
@@ -54,11 +53,10 @@ config BR2_PACKAGE_SWAY_SWAYNAG
endif # BR2_PACKAGE_SWAY
comment "sway needs systemd, udev, EGL w/ Wayland backend and OpenGL ES support"
comment "sway needs systemd, udev, EGL and OpenGL ES support"
depends on !BR2_PACKAGE_SYSTEMD || \
!BR2_PACKAGE_HAS_UDEV || \
!BR2_PACKAGE_HAS_LIBEGL || \
!BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
!BR2_PACKAGE_HAS_LIBGLES
comment "sway needs a toolchain w/ wchar, threads, C++, dynamic library, gcc >= 4.9"

View File

@@ -8,7 +8,7 @@ config BR2_PACKAGE_VTE
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # C++20
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_USES_MUSL
depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
depends on BR2_PACKAGE_HAS_LIBEGL || \
BR2_PACKAGE_HAS_LIBGL
depends on BR2_PACKAGE_XORG7
select BR2_PACKAGE_LIBGTK3
@@ -31,9 +31,9 @@ comment "vte needs a uClibc or glibc toolchain w/ wchar, threads, C++, gcc >= 10
!BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \
BR2_TOOLCHAIN_USES_MUSL
comment "vte needs an OpenGL or an OpenGL-EGL/wayland backend"
comment "vte needs an OpenGL or an OpenGL-EGL backend"
depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_PACKAGE_HAS_LIBEGL_WAYLAND && \
depends on !BR2_PACKAGE_HAS_LIBEGL && \
!BR2_PACKAGE_HAS_LIBGL

View File

@@ -4,7 +4,7 @@ config BR2_PACKAGE_WAFFLE_SUPPORTS_GLX
config BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND
bool
default y if BR2_PACKAGE_WAYLAND && BR2_PACKAGE_HAS_LIBEGL_WAYLAND
default y if BR2_PACKAGE_WAYLAND && BR2_PACKAGE_HAS_LIBEGL
config BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL
bool

View File

@@ -1,6 +1,6 @@
config BR2_PACKAGE_WAYLANDPP
bool "waylandpp"
depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
depends on BR2_PACKAGE_HAS_LIBEGL
depends on BR2_HOST_GCC_AT_LEAST_4_9
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
depends on BR2_INSTALL_LIBSTDCPP
@@ -10,9 +10,9 @@ config BR2_PACKAGE_WAYLANDPP
https://github.com/NilsBrause/waylandpp
comment "waylandpp needs an OpenGL-EGL/wayland backend, a toolchain w/ gcc >= 4.9, host gcc >= 4.9, C++ support"
comment "waylandpp needs an OpenGL-EGL backend, a toolchain w/ gcc >= 4.9, host gcc >= 4.9, C++ support"
depends on BR2_PACKAGE_WAYLAND
depends on !BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
depends on !BR2_PACKAGE_HAS_LIBEGL || \
!BR2_HOST_GCC_AT_LEAST_4_9 || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
!BR2_INSTALL_LIBSTDCPP

View File

@@ -195,7 +195,7 @@ config BR2_PACKAGE_WESTON_DEMO_CLIENTS
depends on BR2_TOOLCHAIN_HAS_THREADS # pango
depends on BR2_USE_WCHAR # pango
depends on BR2_PACKAGE_HAS_LIBGLES
depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
depends on BR2_PACKAGE_HAS_LIBEGL
select BR2_PACKAGE_PANGO
help
This enables the installation of Weston's demo clients.
@@ -212,11 +212,11 @@ config BR2_PACKAGE_WESTON_DEMO_CLIENTS
Note: Weston has two sets of clients. See also the weston
"simple clients" option.
comment "demo clients needs an OpenGL ES provider, an OpenEGL-capable Wayland backend and a toolchain w/ wchar, threads, C++, gcc >= 4.9"
comment "demo clients needs an OpenGL ES/EGL provider and a toolchain w/ wchar, threads, C++, gcc >= 4.9"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_USE_WCHAR || !BR2_PACKAGE_HAS_LIBGLES || \
!BR2_PACKAGE_HAS_LIBEGL_WAYLAND || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
!BR2_PACKAGE_HAS_LIBEGL || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
endif

View File

@@ -49,7 +49,7 @@ else
WESTON_CONF_OPTS += -Dimage-webp=false
endif
ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGBM)$(BR2_PACKAGE_HAS_LIBGLES),yyy)
ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGBM)$(BR2_PACKAGE_HAS_LIBGLES),yyy)
WESTON_CONF_OPTS += -Drenderer-gl=true
WESTON_DEPENDENCIES += libegl libgbm libgles
ifeq ($(BR2_PACKAGE_WESTON_SIMPLE_CLIENTS),y)

View File

@@ -1,6 +1,6 @@
comment "wlroots needs udev, EGL w/ Wayland backend and OpenGL ES support"
comment "wlroots needs udev, EGL and OpenGL ES support"
depends on !BR2_PACKAGE_HAS_LIBEGL || \
!BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
!BR2_PACKAGE_HAS_LIBEGL || \
!BR2_PACKAGE_HAS_LIBGLES || \
!BR2_PACKAGE_HAS_UDEV
@@ -14,7 +14,6 @@ config BR2_PACKAGE_WLROOTS
depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm, wayland
depends on BR2_PACKAGE_HAS_UDEV # libinput
depends on BR2_PACKAGE_HAS_LIBEGL
depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
depends on BR2_PACKAGE_HAS_LIBGLES
select BR2_PACKAGE_HWDATA
select BR2_PACKAGE_HWDATA_PNP_IDS

View File

@@ -1,5 +1,5 @@
comment "wpebackend-fdo needs a toolchain w/ C++, wchar, threads, dynamic library and an OpenEGL-capable Wayland backend"
depends on !BR2_PACKAGE_HAS_LIBEGL_WAYLAND || !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \
comment "wpebackend-fdo needs a toolchain w/ C++, wchar, threads, dynamic library and EGL support"
depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \
|| !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
config BR2_PACKAGE_WPEBACKEND_FDO
@@ -9,7 +9,7 @@ config BR2_PACKAGE_WPEBACKEND_FDO
depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, libglib2
depends on BR2_USE_WCHAR # libglib2
depends on BR2_USE_MMU # libglib2
depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
depends on BR2_PACKAGE_HAS_LIBEGL
select BR2_PACKAGE_LIBEPOXY
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_LIBWPE

View File

@@ -27,8 +27,7 @@ comment "wpewebkit needs a toolchain w/ C++, wchar, threads, dynamic library, gc
comment "wpewebkit needs an OpenGL ES w/ EGL-capable Wayland backend"
depends on BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS
depends on !BR2_BINFMT_FLAT
depends on !BR2_PACKAGE_HAS_LIBGLES || !BR2_PACKAGE_HAS_LIBEGL \
|| !BR2_PACKAGE_HAS_LIBEGL_WAYLAND
depends on !BR2_PACKAGE_HAS_LIBGLES || !BR2_PACKAGE_HAS_LIBEGL
config BR2_PACKAGE_WPEWEBKIT
bool "wpewebkit"
@@ -41,7 +40,6 @@ config BR2_PACKAGE_WPEWEBKIT
depends on BR2_USE_WCHAR # icu, libsoup3
depends on BR2_PACKAGE_HAS_LIBGLES # libepoxy
depends on BR2_PACKAGE_HAS_LIBEGL # libepoxy
depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # wpebackend-fdo
depends on BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG