[clutter/build-fix: 4/5] build: Update the pkg-config file generation



commit 5a9ce5b59a70493a72bbf6d114933dd84e2aa099
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Sun Mar 15 14:49:57 2020 +0000

    build: Update the pkg-config file generation
    
    Use non-deprecated syntax to generate the main pkg-config file; then,
    generate all the backend-specific pkg-config files by simply depending
    on clutter-1.0.

 clutter/meson.build | 57 ++++++++++++++++++++++++++++++++---------------------
 1 file changed, 34 insertions(+), 23 deletions(-)
---
diff --git a/clutter/meson.build b/clutter/meson.build
index fcc2b7180..13f981ead 100644
--- a/clutter/meson.build
+++ b/clutter/meson.build
@@ -386,7 +386,7 @@ if enabled_backends.contains('x11') or enabled_backends.contains('wayland') or e
   ]
 
   backend_pc_files += [
-    [ 'clutter-cogl-@0@'.format(clutter_api_version), [], ],
+    [ 'clutter-cogl-@0@'.format(clutter_api_version), 'Clutter (Cogl)', [], ],
   ]
 endif
 
@@ -467,8 +467,8 @@ if enabled_backends.contains('x11')
   )
 
   backend_pc_files += [
-    [ 'clutter-x11-@0@'.format(clutter_api_version), x11_deps ],
-    [ 'clutter-glx-@0@'.format(clutter_api_version), x11_deps ],
+    [ 'clutter-x11-@0@'.format(clutter_api_version), 'Clutter (X11)', x11_deps ],
+    [ 'clutter-glx-@0@'.format(clutter_api_version), 'Clutter (X11)', x11_deps ],
   ]
 endif
 
@@ -487,7 +487,7 @@ if enabled_backends.contains('gdk')
   ]
 
   backend_pc_files += [
-    [ 'clutter-gdk-@0@'.format(clutter_api_version), gdk_dep ],
+    [ 'clutter-gdk-@0@'.format(clutter_api_version), 'Clutter (GDK)', gdk_dep ],
   ]
 
   install_headers([
@@ -506,7 +506,7 @@ if enabled_backends.contains('win32')
   ]
 
   backend_pc_files += [
-    [ 'clutter-win32-@0@'.format(clutter_api_version), [] ],
+    [ 'clutter-win32-@0@'.format(clutter_api_version), 'Clutter (Windows)', [] ],
   ]
 
   install_headers([
@@ -537,7 +537,7 @@ if enabled_backends.contains('cex100')
   endif
 
   backend_pc_files += [
-    [ 'clutter-cex100-@0@'.format(clutter_api_version), [] ],
+    [ 'clutter-cex100-@0@'.format(clutter_api_version), 'Clutter (CEx100)', [] ],
   ]
 
   subdir('cex100')
@@ -554,7 +554,9 @@ if enabled_backends.contains('eglnative')
 
   config_h.set('CLUTTER_EGL_BACKEND_GENERIC', 1)
 
-  backend_pc_files += 'clutter-egl-@0@'.format(clutter_api_version)
+  backend_pc_files += [
+    [ 'clutter-egl-@0@'.format(clutter_api_version), 'Clutter (EGL native)', [] ],
+  ]
 
   install_headers([
       'egl/clutter-egl-headers.h',
@@ -593,7 +595,7 @@ if enabled_backends.contains('wayland')
   )
 
   backend_pc_files += [
-    [ 'clutter-wayland-@0@'.format(clutter_api_version), wayland_deps ],
+    [ 'clutter-wayland-@0@'.format(clutter_api_version), 'Clutter (Wayland client)', wayland_deps ],
   ]
 
   enable_wayland_compositor = get_option('wayland_compositor')
@@ -603,7 +605,7 @@ if enabled_backends.contains('wayland')
     ]
 
     backend_pc_files += [
-      [ 'clutter-wayland-compositor-@0@'.format(clutter_api_version), wayland_deps ],
+      [ 'clutter-wayland-compositor-@0@'.format(clutter_api_version), 'Clutter (Wayland compositor)', 
wayland_deps ],
     ]
 
     install_headers([
@@ -629,7 +631,7 @@ if enabled_backends.contains('mir')
   ]
 
   backend_pc_files += [
-    [ 'clutter-mir-@0@'.format(clutter_api_version), [] ],
+    [ 'clutter-mir-@0@'.format(clutter_api_version), 'Clutter (MIR)', [] ],
   ]
 
   install_headers([
@@ -649,7 +651,7 @@ if enabled_backends.contains('quartz')
   ]
 
   backend_pc_files += [
-    [ 'clutter-osx-@0@'.format(clutter_api_version), [] ],
+    [ 'clutter-osx-@0@'.format(clutter_api_version), 'Clutter (macOS)', [] ],
   ]
 
   install_headers([
@@ -784,26 +786,35 @@ libclutter_dep = declare_dependency(
   dependencies: clutter_deps + [mathlib_dep],
 )
 
-pkgconf_files = [
-  [ 'clutter-@0@'.format(clutter_api_version), clutter_deps ],
-] + backend_pc_files
+pkgconf.generate(
+  libclutter,
+  name: 'Clutter',
+  description: 'Dynamic, accelerated scene graph toolkit',
+  variables: [
+    'apiversion=@0@'.format(clutter_api_version),
+    'backends=@0@'.format(','.join(enabled_backends)),
+  ],
+  filebase: clutter_api_name,
+  subdirs: clutter_api_name,
+)
+
+# These are backend-specific pkg-config files; they make the
+# dependencies explicit for backward compatibility
+foreach pkg: backend_pc_files
+  pkg_base = pkg[0]
+  pkg_name = pkg[1]
+  pkg_deps = pkg[2]
 
-foreach pkg: pkgconf_files
-  pkg_name = pkg[0]
-  pkg_deps = pkg[1]
   pkgconf.generate(
-    libraries: libclutter,
-    name: 'Clutter',
+    name: pkg_name,
     description: 'Dynamic, accelerated scene graph toolkit',
-    version: meson.project_version(),
     variables: [
       'apiversion=@0@'.format(clutter_api_version),
       'backends=@0@'.format(','.join(enabled_backends)),
     ],
-    requires: pkg_deps,
-    filebase: pkg_name,
+    requires: ['clutter-1.0'] + pkg_deps,
+    filebase: pkg_base,
     subdirs: clutter_api_name,
-    install_dir: join_paths(clutter_libdir, 'pkgconfig'),
   )
 endforeach
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]