aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEric Engestrom <[email protected]>2019-09-19 14:18:55 +0100
committerEric Engestrom <[email protected]>2019-09-25 17:27:54 +0100
commit93df862b6affb6b8507e40601212a58012bfa873 (patch)
tree1c789af81c81d79f155067f25611664990f46a14 /src
parentdb2ca45102753f9af62d4fe339599a357239b781 (diff)
meson: re-add incorrect pkg-config files with GLVND for backward compatibility
This is a bit counter-intuitive, but the issue is that GLVND is broken in versions <= 1.1.1, so we need to keep wrongly providing these files to cover up their mistake, otherwise the rest of the world ends up broken. Suggested-by: Dylan Baker <[email protected]> Cc: [email protected] Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/egl/meson.build27
-rw-r--r--src/mapi/meson.build2
-rw-r--r--src/meson.build14
3 files changed, 30 insertions, 13 deletions
diff --git a/src/egl/meson.build b/src/egl/meson.build
index 14aca2a2186..7038a68e955 100644
--- a/src/egl/meson.build
+++ b/src/egl/meson.build
@@ -173,18 +173,25 @@ libegl = shared_library(
version : egl_lib_version,
)
-if not with_glvnd
- pkg.generate(
- name : 'egl',
- description : 'Mesa EGL Library',
- version : meson.project_version(),
- libraries : libegl,
- libraries_private: gl_priv_libs,
- requires_private : gl_priv_reqs,
- extra_cflags : gl_pkgconfig_c_flags,
- )
+# 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
+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,
+)
+
if with_tests and prog_nm.found()
if with_glvnd
egl_symbols = files('egl-glvnd-symbols.txt')
diff --git a/src/mapi/meson.build b/src/mapi/meson.build
index 2c79a04f1df..39c1dba7ce0 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
+if not with_glvnd or glvnd_missing_pc_files
if with_gles1
subdir('es1api')
endif
diff --git a/src/meson.build b/src/meson.build
index 11e0011c057..ddbcd7f3ae4 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -111,12 +111,22 @@ 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' and not with_glvnd
+if with_glx != 'disabled'
+ # 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
+ _gl = '-L${libdir} -lGL'
+ else
+ _gl = libgl
+ endif
+
pkg.generate(
name : 'gl',
description : 'Mesa OpenGL Library',
version : meson.project_version(),
- libraries : libgl,
+ libraries : _gl,
libraries_private : gl_priv_libs,
requires_private : gl_priv_reqs,
variables : ['glx_tls=yes'],