mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 07:20:10 +01:00
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: 93df862b6a
("meson: re-add incorrect pkg-config files with GLVND for backward compatibility")
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
7e53bebcb5
commit
fafd20f67d
4 changed files with 24 additions and 21 deletions
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue