mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-02 07:27:49 +00:00
Merge pull request #3873 from 5schatten/libglvnd_1.2.0
libglvnd: updated to v1.2.0 / dropped upstreamed pkgconfig patch
This commit is contained in:
commit
1ce6c23da7
@ -2,8 +2,8 @@
|
|||||||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="libglvnd"
|
PKG_NAME="libglvnd"
|
||||||
PKG_VERSION="1.1.1"
|
PKG_VERSION="1.2.0"
|
||||||
PKG_SHA256="baca5e1a78b96a112650cdc597be3f856d4754eb73a7bf3f6629e78a7e9f2b5a"
|
PKG_SHA256="37981bd3320261f14140b8aef6e2e6c08c7e75b6a98dcea034670017f3f1312a"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
PKG_SITE="https://github.com/NVIDIA/libglvnd"
|
PKG_SITE="https://github.com/NVIDIA/libglvnd"
|
||||||
PKG_URL="https://github.com/NVIDIA/libglvnd/archive/v${PKG_VERSION}.tar.gz"
|
PKG_URL="https://github.com/NVIDIA/libglvnd/archive/v${PKG_VERSION}.tar.gz"
|
||||||
@ -11,8 +11,10 @@ PKG_DEPENDS_TARGET="toolchain libX11 libXext xorgproto"
|
|||||||
PKG_LONGDESC="libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors."
|
PKG_LONGDESC="libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors."
|
||||||
PKG_TOOLCHAIN="autotools"
|
PKG_TOOLCHAIN="autotools"
|
||||||
|
|
||||||
|
PKG_CONFIGURE_OPTS_TARGET="--disable-headers"
|
||||||
|
|
||||||
if [ "$OPENGLES_SUPPORT" = "no" ]; then
|
if [ "$OPENGLES_SUPPORT" = "no" ]; then
|
||||||
PKG_CONFIGURE_OPTS_TARGET="--disable-gles"
|
PKG_CONFIGURE_OPTS_TARGET+=" --disable-gles"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
post_makeinstall_target() {
|
post_makeinstall_target() {
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,145 @@
|
|||||||
|
From fafd20f67dec9f5891838435ecde1dedb77ab742 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dylan Baker <dylan@pnwbakers.com>
|
||||||
|
Date: Wed, 25 Sep 2019 23:25:27 +0000
|
||||||
|
Subject: [PATCH] meson: fix logic for generating .pc files with old glvnd
|
||||||
|
|
||||||
|
We want to generate PC files for non-glvnd builds and for builds with
|
||||||
|
old glvnd, but the current logic doesn't do that, it builds them
|
||||||
|
unconditionally, and for GLES it builds the shared libraries, which is
|
||||||
|
also not what we want. This does not generate .pc files for gles1 or
|
||||||
|
gles2. Which it we weren't doing before either, making this not a
|
||||||
|
regression but a return to status-quo.o
|
||||||
|
|
||||||
|
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1838
|
||||||
|
Fixes: 93df862b6affb6b8507e40601212a58012bfa873
|
||||||
|
("meson: re-add incorrect pkg-config files with GLVND for backward compatibility")
|
||||||
|
Reviewed-by: Matt Turner <mattst88@gmail.com>
|
||||||
|
---
|
||||||
|
meson.build | 9 +++++----
|
||||||
|
src/egl/meson.build | 30 ++++++++++++++++--------------
|
||||||
|
src/mapi/meson.build | 2 +-
|
||||||
|
src/meson.build | 4 ++--
|
||||||
|
4 files changed, 24 insertions(+), 21 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/meson.build b/meson.build
|
||||||
|
index 0e46fde5edc..da4a07538df 100644
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -100,7 +100,7 @@ endif
|
||||||
|
|
||||||
|
# shared-glapi is required if at least two OpenGL APIs are being built
|
||||||
|
if not with_shared_glapi
|
||||||
|
- if ((with_gles1 == 'true' and with_gles2 == 'true') or
|
||||||
|
+ if ((with_gles1 == 'true' and with_gles2 == 'true') or
|
||||||
|
(with_gles1 == 'true' and with_opengl) or
|
||||||
|
(with_gles2 == 'true' and with_opengl))
|
||||||
|
error('shared-glapi required for building two or more of OpenGL, OpenGL ES 1.x, OpenGL ES 2.x')
|
||||||
|
@@ -397,7 +397,7 @@ endif
|
||||||
|
if with_glx != 'disabled'
|
||||||
|
if not (with_platform_x11 and with_any_opengl)
|
||||||
|
error('Cannot build GLX support without X11 platform support and at least one OpenGL API')
|
||||||
|
- elif with_glx == 'gallium-xlib'
|
||||||
|
+ elif with_glx == 'gallium-xlib'
|
||||||
|
if not with_gallium
|
||||||
|
error('Gallium-xlib based GLX requires at least one gallium driver')
|
||||||
|
elif not with_gallium_softpipe
|
||||||
|
@@ -405,7 +405,7 @@ if with_glx != 'disabled'
|
||||||
|
elif with_dri
|
||||||
|
error('gallium-xlib conflicts with any dri driver')
|
||||||
|
endif
|
||||||
|
- elif with_glx == 'xlib'
|
||||||
|
+ elif with_glx == 'xlib'
|
||||||
|
if with_dri
|
||||||
|
error('xlib conflicts with any dri driver')
|
||||||
|
endif
|
||||||
|
@@ -1326,6 +1326,7 @@ else
|
||||||
|
endif
|
||||||
|
|
||||||
|
dep_glvnd = null_dep
|
||||||
|
+glvnd_missing_pc_files = false
|
||||||
|
if with_glvnd
|
||||||
|
dep_glvnd = dependency('libglvnd', version : '>= 0.2.0')
|
||||||
|
# GLVND until commit 0dfaea2bcb7cdcc785f9 ("Add pkg-config files for EGL, GL,
|
||||||
|
@@ -1462,7 +1463,7 @@ if with_platform_x11
|
||||||
|
if with_glx == 'dri' or with_glx == 'gallium-xlib'
|
||||||
|
dep_glproto = dependency('glproto', version : '>= 1.4.14')
|
||||||
|
endif
|
||||||
|
- if with_glx == 'dri'
|
||||||
|
+ if with_glx == 'dri'
|
||||||
|
if with_dri_platform == 'drm'
|
||||||
|
dep_dri2proto = dependency('dri2proto', version : '>= 2.8')
|
||||||
|
dep_xxf86vm = dependency('xxf86vm')
|
||||||
|
diff --git a/src/egl/meson.build b/src/egl/meson.build
|
||||||
|
index 7038a68e955..7d738e2ebd1 100644
|
||||||
|
--- a/src/egl/meson.build
|
||||||
|
+++ b/src/egl/meson.build
|
||||||
|
@@ -176,21 +176,23 @@ libegl = shared_library(
|
||||||
|
# If using glvnd the pkg-config header should not point to EGL_mesa, it should
|
||||||
|
# point to EGL. glvnd is only available on unix like platforms so adding -l
|
||||||
|
# should be safe here
|
||||||
|
-if with_glvnd and glvnd_missing_pc_files
|
||||||
|
- _egl = '-L${libdir} -lEGL'
|
||||||
|
-else
|
||||||
|
- _egl = libegl
|
||||||
|
-endif
|
||||||
|
+if not with_glvnd or glvnd_missing_pc_files
|
||||||
|
+ if glvnd_missing_pc_files
|
||||||
|
+ _egl = '-L${libdir} -lEGL'
|
||||||
|
+ else
|
||||||
|
+ _egl = libegl
|
||||||
|
+ endif
|
||||||
|
|
||||||
|
-pkg.generate(
|
||||||
|
- name : 'egl',
|
||||||
|
- description : 'Mesa EGL Library',
|
||||||
|
- version : meson.project_version(),
|
||||||
|
- libraries : _egl,
|
||||||
|
- libraries_private: gl_priv_libs,
|
||||||
|
- requires_private : gl_priv_reqs,
|
||||||
|
- extra_cflags : gl_pkgconfig_c_flags,
|
||||||
|
-)
|
||||||
|
+ pkg.generate(
|
||||||
|
+ name : 'egl',
|
||||||
|
+ description : 'Mesa EGL Library',
|
||||||
|
+ version : meson.project_version(),
|
||||||
|
+ libraries : _egl,
|
||||||
|
+ libraries_private: gl_priv_libs,
|
||||||
|
+ requires_private : gl_priv_reqs,
|
||||||
|
+ extra_cflags : gl_pkgconfig_c_flags,
|
||||||
|
+ )
|
||||||
|
+endif
|
||||||
|
|
||||||
|
if with_tests and prog_nm.found()
|
||||||
|
if with_glvnd
|
||||||
|
diff --git a/src/mapi/meson.build b/src/mapi/meson.build
|
||||||
|
index 39c1dba7ce0..2c79a04f1df 100644
|
||||||
|
--- a/src/mapi/meson.build
|
||||||
|
+++ b/src/mapi/meson.build
|
||||||
|
@@ -35,7 +35,7 @@ if with_shared_glapi
|
||||||
|
else
|
||||||
|
libglapi = []
|
||||||
|
endif
|
||||||
|
-if not with_glvnd or glvnd_missing_pc_files
|
||||||
|
+if not with_glvnd
|
||||||
|
if with_gles1
|
||||||
|
subdir('es1api')
|
||||||
|
endif
|
||||||
|
diff --git a/src/meson.build b/src/meson.build
|
||||||
|
index ddbcd7f3ae4..d01f84c0d46 100644
|
||||||
|
--- a/src/meson.build
|
||||||
|
+++ b/src/meson.build
|
||||||
|
@@ -111,12 +111,12 @@ endif
|
||||||
|
|
||||||
|
# This must be after at least mesa, glx, and gallium, since libgl will be
|
||||||
|
# defined in one of those subdirs depending on the glx provider.
|
||||||
|
-if with_glx != 'disabled'
|
||||||
|
+if with_glx != 'disabled' and (not with_glvnd or glvnd_missing_pc_files)
|
||||||
|
# If using glvnd the pkg-config header should not point to GL_mesa, it should
|
||||||
|
# point to GL. glvnd is only available on unix like platforms so adding -l
|
||||||
|
# should be safe here
|
||||||
|
# TODO: in the glvnd case glvnd itself should really be providing this.
|
||||||
|
- if with_glvnd and glvnd_missing_pc_files
|
||||||
|
+ if glvnd_missing_pc_files
|
||||||
|
_gl = '-L${libdir} -lGL'
|
||||||
|
else
|
||||||
|
_gl = libgl
|
@ -0,0 +1,64 @@
|
|||||||
|
From c16186f700e9763ba25cb3475cab34c28b1d13a0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Marvin Schmidt <marv@exherbo.org>
|
||||||
|
Date: Tue, 24 Sep 2019 09:58:43 +0200
|
||||||
|
Subject: [PATCH] build: glx: Lower gl version to work with libglvnd
|
||||||
|
|
||||||
|
When using mesa with libglvnd support, mesa will no longer install the
|
||||||
|
gl, glx, egl pkg-config files but instead let libglvnd provide them.
|
||||||
|
libglvnd maintainers decided to change the versioning as it was
|
||||||
|
mesa-specific previously. Now the libraries have versions of the API
|
||||||
|
they expose[1].
|
||||||
|
This causes problems when building the X server:
|
||||||
|
|
||||||
|
checking for glproto >= 1.4.17 gl >= 9.2.0... no
|
||||||
|
configure: error: Package requirements (glproto >= 1.4.17 gl >= 9.2.0) were not met:
|
||||||
|
|
||||||
|
Requested 'gl >= 9.2.0' but version of gl is 1.2
|
||||||
|
|
||||||
|
Lower the version requirement to 1.2 to allow building against libglvnd
|
||||||
|
provided libraries
|
||||||
|
|
||||||
|
[1] https://github.com/NVIDIA/libglvnd/commit/0dfaea2bcb7cdcc785f95e244223bd004a2d7fba
|
||||||
|
---
|
||||||
|
configure.ac | 4 ++--
|
||||||
|
glx/meson.build | 2 +-
|
||||||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 4b71f8559..56ef410f0 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -763,7 +763,7 @@ LIBDRI="dri >= 7.8.0"
|
||||||
|
LIBDRM="libdrm >= 2.4.89"
|
||||||
|
LIBEGL="egl"
|
||||||
|
LIBGBM="gbm >= 10.2.0"
|
||||||
|
-LIBGL="gl >= 7.1.0"
|
||||||
|
+LIBGL="gl >= 1.2"
|
||||||
|
LIBXEXT="xext >= 1.0.99.4"
|
||||||
|
LIBXFONT="xfont2 >= 2.0.0"
|
||||||
|
LIBXI="xi >= 1.2.99.1"
|
||||||
|
@@ -1118,7 +1118,7 @@ case "$DRI2,$HAVE_DRI2PROTO" in
|
||||||
|
yes,yes | auto,yes)
|
||||||
|
AC_DEFINE(DRI2, 1, [Build DRI2 extension])
|
||||||
|
DRI2=yes
|
||||||
|
- LIBGL="gl >= 9.2.0"
|
||||||
|
+ LIBGL="gl >= 1.2"
|
||||||
|
SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI2PROTO"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
diff --git a/glx/meson.build b/glx/meson.build
|
||||||
|
index 7f9e549f0..745814336 100644
|
||||||
|
--- a/glx/meson.build
|
||||||
|
+++ b/glx/meson.build
|
||||||
|
@@ -39,7 +39,7 @@ if build_glx
|
||||||
|
common_dep,
|
||||||
|
dl_dep,
|
||||||
|
dependency('glproto', version: '>= 1.4.17'),
|
||||||
|
- dependency('gl', version: '>= 9.2.0'),
|
||||||
|
+ dependency('gl', version: '>= 1.2'),
|
||||||
|
],
|
||||||
|
c_args: [
|
||||||
|
glx_align64,
|
||||||
|
--
|
||||||
|
2.22.0
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user