meson: re-add incorrect pkg-config files with GLVND for backward compatibility
[mesa.git] / src / egl / meson.build
index b433ccb7600ce0793106cf92998b21d8504ac58b..7038a68e955f3587b7679cac83d4e54668324762 100644 (file)
@@ -92,7 +92,8 @@ if with_dri2
     'drivers/dri2/egl_dri2.h',
     'drivers/dri2/egl_dri2_fallbacks.h',
   )
-  link_for_egl += [libloader, libxmlconfig]
+  deps_for_egl += idep_xmlconfig
+  link_for_egl += libloader
   incs_for_egl += inc_loader
 
   files_egl += files('drivers/dri2/platform_device.c')
@@ -165,25 +166,32 @@ libegl = shared_library(
     '-D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_@0@'.format(egl_native_platform.to_upper()),
   ],
   include_directories : incs_for_egl,
-  link_with : [link_for_egl, libglapi, libmesa_util],
+  link_with : [link_for_egl, libglapi],
   link_args : [ld_args_bsymbolic, ld_args_gc_sections],
-  dependencies : [deps_for_egl, dep_dl, dep_libdrm, dep_clock, dep_thread],
+  dependencies : [deps_for_egl, dep_dl, dep_libdrm, dep_clock, dep_thread, idep_mesautil],
   install : true,
   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')