kumquat-buildroot/package/libglvnd/Config.in

52 lines
1.5 KiB
Plaintext
Raw Normal View History

package/libglvnd: new package libglvnd is the GL Vendor-Neutral Dispatch library, used to dispatch GL calls across multiple GL implementations at runtime. Full GL support, as usual, requires (parts of) the X11 stack: libX11, libXext, and xorgproto (for glproto). However, with just libX11, it is possible to do EGL on X11. EGL and GLES have no dependencies. Note: x11 and glx are 'features', so need to be 'enabled' or 'disabled' (or 'auto', but we don't care in Buildroot), while egl and gles1/2 are 'booleans', so need to be 'true' or 'false'. When an actual provider for GL, EGL, or GLES is enabled, so must the corresponding flavour be enabled in libglvnd. Conversely, when there is no actual provider, the corresponding support must be disabled in libglvnd. So we make each flavour selectable with hidden options, which actual providers will have to select. The license for libglvnd itself is a custom license by NVidia. It is pretty close to MIT, but it's different (although Debian does classify it as MIT); SPDX has no identifier for that license either. As such, we choose to just identify it as 'libglvnd license', and let users deal that with their legal department. Additionally, libglvnd bundles some code from other projects, so we list them explicitly as well. Signed-off-by: Jakub Skrzypnik <jskrzypnik@novomatic-tech.com> [yann.morin.1998@free.fr: - provide help text - don't force X11 libraries, split them between X11 and full GL - make each flavour selectable - fix make check-package issues - fix and complete licensing information - bump to 1.3.2 - expand commit log ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2020-07-27 10:47:01 +02:00
config BR2_PACKAGE_LIBGLVND
bool "libglvnd"
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_*_4 intrisics
depends on !BR2_STATIC_LIBS # dlfcn.h
depends on BR2_TOOLCHAIN_HAS_THREADS
package/libglvnd: new package libglvnd is the GL Vendor-Neutral Dispatch library, used to dispatch GL calls across multiple GL implementations at runtime. Full GL support, as usual, requires (parts of) the X11 stack: libX11, libXext, and xorgproto (for glproto). However, with just libX11, it is possible to do EGL on X11. EGL and GLES have no dependencies. Note: x11 and glx are 'features', so need to be 'enabled' or 'disabled' (or 'auto', but we don't care in Buildroot), while egl and gles1/2 are 'booleans', so need to be 'true' or 'false'. When an actual provider for GL, EGL, or GLES is enabled, so must the corresponding flavour be enabled in libglvnd. Conversely, when there is no actual provider, the corresponding support must be disabled in libglvnd. So we make each flavour selectable with hidden options, which actual providers will have to select. The license for libglvnd itself is a custom license by NVidia. It is pretty close to MIT, but it's different (although Debian does classify it as MIT); SPDX has no identifier for that license either. As such, we choose to just identify it as 'libglvnd license', and let users deal that with their legal department. Additionally, libglvnd bundles some code from other projects, so we list them explicitly as well. Signed-off-by: Jakub Skrzypnik <jskrzypnik@novomatic-tech.com> [yann.morin.1998@free.fr: - provide help text - don't force X11 libraries, split them between X11 and full GL - make each flavour selectable - fix make check-package issues - fix and complete licensing information - bump to 1.3.2 - expand commit log ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2020-07-27 10:47:01 +02:00
help
The GL Vendor-Neutral Dispatch library
libglvnd is a vendor-neutral dispatch layer for arbitrating
OpenGL API calls between multiple vendors. It allows multiple
drivers from different vendors to coexist on the same
filesystem, and determines which vendor to dispatch each API
call to at runtime.
Both GLX and EGL are supported, in any combination with OpenGL
and OpenGL ES.
if BR2_PACKAGE_LIBGLVND
# The following symbols should be selected by the libglvnd-aware
# GL/EGL/GLES providers.
config BR2_PACKAGE_LIBGLVND_DISPATCH_GL
bool
depends on BR2_PACKAGE_XORG7 # libx11, libXext, xorgproto
select BR2_PACKAGE_XLIB_LIBX11
select BR2_PACKAGE_XLIB_LIBXEXT
select BR2_PACKAGE_XORGPROTO
package/libglvnd: new package libglvnd is the GL Vendor-Neutral Dispatch library, used to dispatch GL calls across multiple GL implementations at runtime. Full GL support, as usual, requires (parts of) the X11 stack: libX11, libXext, and xorgproto (for glproto). However, with just libX11, it is possible to do EGL on X11. EGL and GLES have no dependencies. Note: x11 and glx are 'features', so need to be 'enabled' or 'disabled' (or 'auto', but we don't care in Buildroot), while egl and gles1/2 are 'booleans', so need to be 'true' or 'false'. When an actual provider for GL, EGL, or GLES is enabled, so must the corresponding flavour be enabled in libglvnd. Conversely, when there is no actual provider, the corresponding support must be disabled in libglvnd. So we make each flavour selectable with hidden options, which actual providers will have to select. The license for libglvnd itself is a custom license by NVidia. It is pretty close to MIT, but it's different (although Debian does classify it as MIT); SPDX has no identifier for that license either. As such, we choose to just identify it as 'libglvnd license', and let users deal that with their legal department. Additionally, libglvnd bundles some code from other projects, so we list them explicitly as well. Signed-off-by: Jakub Skrzypnik <jskrzypnik@novomatic-tech.com> [yann.morin.1998@free.fr: - provide help text - don't force X11 libraries, split them between X11 and full GL - make each flavour selectable - fix make check-package issues - fix and complete licensing information - bump to 1.3.2 - expand commit log ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2020-07-27 10:47:01 +02:00
select BR2_PACKAGE_HAS_LIBGL
config BR2_PACKAGE_LIBGLVND_DISPATCH_EGL
bool
select BR2_PACKAGE_HAS_LIBEGL
config BR2_PACKAGE_LIBGLVND_DISPATCH_GLES
bool
select BR2_PACKAGE_HAS_LIBGLES
config BR2_PACKAGE_PROVIDES_LIBGL
default "libglvnd" if BR2_PACKAGE_LIBGLVND_DISPATCH_GL
config BR2_PACKAGE_PROVIDES_LIBEGL
default "libglvnd" if BR2_PACKAGE_LIBGLVND_DISPATCH_EGL
config BR2_PACKAGE_PROVIDES_LIBGLES
default "libglvnd" if BR2_PACKAGE_LIBGLVND_DISPATCH_GLES
endif
comment "libglvnd needs a toolchain w/ dynamic library, threads"
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS