kumquat-buildroot/package/libglvnd/libglvnd.mk

54 lines
1.3 KiB
Makefile
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
################################################################################
#
# libglvnd
#
################################################################################
LIBGLVND_VERSION = 1.3.2
LIBGLVND_SOURCE = libglvnd-v$(LIBGLVND_VERSION).tar.gz
LIBGLVND_SITE = https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v$(LIBGLVND_VERSION)
LIBGLVND_LICENSE = \
libglvnd license, \
Apache-2.0 (Khronos headers), \
MIT (Xorg; mesa; cJSON), \
BSD-1=Clause (uthash)
LIBGLVND_LICENSE_FILES = \
README.md \
src/util/uthash/LICENSE \
src/util/cJSON/LICENSE
LIBGLVND_INSTALL_STAGING = YES
ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
LIBGLVND_DEPENDENCIES += xlib_libX11
LIBGLVND_CONF_OPTS += -Dx11=enabled
else
LIBGLVND_CONF_OPTS += -Dx11=disabled
endif
ifeq ($(BR2_PACKAGE_LIBGLVND_DISPATCH_GL),y)
LIBGLVND_DEPENDENCIES += xlib_libXext xorgproto
LIBGLVND_CONF_OPTS += -Dglx=enabled
LIBGLVND_PROVIDES += libgl
else
LIBGLVND_CONF_OPTS += -Dglx=disabled
endif
ifeq ($(BR2_PACKAGE_LIBGLVND_DISPATCH_EGL),y)
LIBGLVND_CONF_OPTS += -Degl=true
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
LIBGLVND_PROVIDES += libegl
else
LIBGLVND_CONF_OPTS += -Degl=false
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
endif
ifeq ($(BR2_PACKAGE_LIBGLVND_DISPATCH_GLES),y)
LIBGLVND_CONF_OPTS += -Dgles1=true -Dgles2=true
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
LIBGLVND_PROVIDES += libgles
else
LIBGLVND_CONF_OPTS += -Dgles1=false -Dgles2=false
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
endif
$(eval $(meson-package))