8ab036d26f
The KMS/DRM video driver of SDL2 can currently only be enabled when mesa3d is the OpenGL provider, as the option has a dependency on BR2_PACKAGE_MESA3D_GBM. Now that we have a libgbm virtual package and BR2_PACKAGE_HAS_LIBGBM, we can do better. However, this has uncovered a number of additional related issues that are resolved at the same time. Here are some details: * the 'depends on BR2_PACKAGE_LIBDRM' is changed to a select, as we normally do for library dependencies. Due to this, we inherit a BR2_TOOLCHAIN_HAS_THREADS dependency. * the 'depends on BR2_PACKAGE_MESA3D_GBM' is changed to 'depends on BR2_PACKAGE_HAS_LIBGBM', and the 'mesa3d' dependency is changed to 'libgbm'. * the KMS/DRM video driver in SDL2 needs EGL (hence the additional 'depends on BR2_PACKAGE_HAS_LIBEGL' and the libegbl dependency is added in the .mk file). But in turn, EGL support is only checked when either OpenGL or OpenGLES support is enabled in SDL2, which is why we add logic to select the appropriate options. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> [yann.morin.1998@free.fr: - fix dependency on comment (invert the symbol dependencies) - split comment ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
70 lines
1.9 KiB
Plaintext
70 lines
1.9 KiB
Plaintext
config BR2_PACKAGE_SDL2
|
|
bool "sdl2"
|
|
depends on !BR2_STATIC_LIBS
|
|
help
|
|
Simple DirectMedia Layer 2 - SDL2 is a library that allows
|
|
programs portable low level access to a video framebuffer,
|
|
audio output, mouse, and keyboard. It is not compatible with
|
|
SDL1.
|
|
|
|
http://www.libsdl.org/
|
|
|
|
if BR2_PACKAGE_SDL2
|
|
|
|
config BR2_PACKAGE_SDL2_DIRECTFB
|
|
bool "DirectFB video driver"
|
|
depends on BR2_PACKAGE_DIRECTFB
|
|
|
|
comment "DirectFB video driver needs directfb"
|
|
depends on !BR2_PACKAGE_DIRECTFB
|
|
|
|
config BR2_PACKAGE_SDL2_X11
|
|
bool "X11 video driver"
|
|
depends on BR2_PACKAGE_XORG7
|
|
depends on BR2_USE_MMU # fork()
|
|
select BR2_PACKAGE_XLIB_LIBX11
|
|
select BR2_PACKAGE_XLIB_LIBXEXT
|
|
|
|
comment "X11 video driver needs X.org"
|
|
depends on !BR2_PACKAGE_XORG7
|
|
depends on BR2_USE_MMU
|
|
|
|
config BR2_PACKAGE_SDL2_KMSDRM
|
|
bool "KMS/DRM video driver"
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
|
|
depends on BR2_PACKAGE_HAS_LIBGBM
|
|
depends on BR2_PACKAGE_HAS_LIBEGL
|
|
depends on BR2_PACKAGE_SDL2_OPENGL || BR2_PACKAGE_SDL2_OPENGLES
|
|
select BR2_PACKAGE_LIBDRM
|
|
|
|
comment "KMS/DRM video driver needs a toolchain w/ threads"
|
|
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
|
|
|
comment "KMS/DRM video driver needs a GBM provider, and OpenGL or OpenGLES+EGL"
|
|
depends on !BR2_PACKAGE_HAS_LIBGBM || \
|
|
!BR2_PACKAGE_HAS_LIBEGL || \
|
|
!(BR2_PACKAGE_SDL2_OPENGL || BR2_PACKAGE_SDL2_OPENGLES)
|
|
|
|
config BR2_PACKAGE_SDL2_OPENGL
|
|
bool "OpenGL (GLX)"
|
|
depends on BR2_PACKAGE_HAS_LIBGL
|
|
depends on BR2_PACKAGE_XORG7
|
|
depends on BR2_USE_MMU # X11 video driver
|
|
select BR2_PACKAGE_SDL2_X11
|
|
|
|
comment "OpenGL support needs X11 and an OpenGL provider"
|
|
depends on BR2_USE_MMU
|
|
depends on !BR2_PACKAGE_HAS_LIBGL || !BR2_PACKAGE_XORG7
|
|
|
|
config BR2_PACKAGE_SDL2_OPENGLES
|
|
bool "OpenGL ES"
|
|
depends on BR2_PACKAGE_HAS_LIBGLES
|
|
|
|
comment "OpenGL ES support needs an OpenGL ES provider"
|
|
depends on !BR2_PACKAGE_HAS_LIBGLES
|
|
|
|
endif
|
|
|
|
comment "sdl2 needs a toolchain w/ dynamic library"
|
|
depends on BR2_STATIC_LIBS
|