summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2018-02-20 10:36:44 -0800
committerDaniel Stone <daniels@collabora.com>2018-02-23 13:30:28 +0000
commit5c460337fd9c1096dea4bc569bd876a112ed6f16 (patch)
tree00dd13f57dec526d722f9d975ae0e1924431faf0
parent6160bf97db8bc493512795b1fa49c072a703df50 (diff)
meson: Fix GL and EGL pkg-config files with glvnd
Currently meson will generate a pkg-config that links to EGL_mesa (or GLX_mesa), but this isn't correct, it should always link to EGL or GL. Probably the "right" solution is to have glvnd itself provide the pkg config files for GL and EGL, but that also means that glvnd needs to provide many of the header files, which makes it a more involved job. Fixes: a47c525f3281a27 ("meson: build glx") Fixes: 035ec7a2bb2d5e4 ("meson: Add support for EGL glvnd") Signed-off-by: Dylan Baker <dylan.c.baker@intel.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
-rw-r--r--src/egl/meson.build12
-rw-r--r--src/meson.build11
2 files changed, 21 insertions, 2 deletions
diff --git a/src/egl/meson.build b/src/egl/meson.build
index cf9320aecb2..abf60855737 100644
--- a/src/egl/meson.build
+++ b/src/egl/meson.build
@@ -174,11 +174,21 @@ libegl = shared_library(
version : egl_lib_version,
)
+# 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
+# TODO: in the glvnd case glvnd itself should really be providing this.
+if with_glvnd
+ _egl = '-L${libdir} -lEGL'
+else
+ _egl = libegl
+endif
+
pkg.generate(
name : 'egl',
description : 'Mesa EGL Library',
version : meson.project_version(),
- libraries : libegl,
+ libraries : _egl,
libraries_private: gl_priv_libs,
requires_private : gl_priv_reqs,
extra_cflags : gl_pkgconfig_c_flags,
diff --git a/src/meson.build b/src/meson.build
index 4d5637f0aaf..b2c045fce10 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -82,6 +82,15 @@ if with_gallium
subdir('gallium')
endif
+# 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
+ _gl = '-L${libdir} -lGL'
+else
+ _gl = libgl
+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'
@@ -89,7 +98,7 @@ if with_glx != 'disabled'
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'],