[gdk-pixbuf] meson: Generate the pkg-config file



commit 4c34df371106adee9dd51332682225c249a8a1ad
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Wed Apr 25 17:44:27 2018 +0100

    meson: Generate the pkg-config file
    
    Instead of using a template, use Meson's pkgconfig module to generate
    the pkg-config file for us from the build targets.

 contrib/gdk-pixbuf-xlib/meson.build |   24 ++++++++++--------------
 gdk-pixbuf/meson.build              |   18 ++++++++++++++++++
 meson.build                         |   19 -------------------
 3 files changed, 28 insertions(+), 33 deletions(-)
---
diff --git a/contrib/gdk-pixbuf-xlib/meson.build b/contrib/gdk-pixbuf-xlib/meson.build
index 34f945b..7684118 100644
--- a/contrib/gdk-pixbuf-xlib/meson.build
+++ b/contrib/gdk-pixbuf-xlib/meson.build
@@ -32,17 +32,13 @@ gdkpixbuf_xlib = library('gdk_pixbuf_xlib-2.0',
                          dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep, x11_dep ],
                          install: true)
 
-# Compat variables for pkgconfig
-pkgconf = configuration_data()
-pkgconf.set('prefix', gdk_pixbuf_prefix)
-pkgconf.set('exec_prefix', gdk_pixbuf_prefix)
-pkgconf.set('libdir', gdk_pixbuf_libdir)
-pkgconf.set('includedir', gdk_pixbuf_includedir)
-pkgconf.set('GDK_PIXBUF_API_VERSION', gdk_pixbuf_api_version)
-pkgconf.set('VERSION', meson.project_version())
-
-configure_file(input: 'gdk-pixbuf-xlib-2.0.pc.in',
-               output: 'gdk-pixbuf-xlib-2.0.pc',
-               configuration: pkgconf,
-               install: true,
-               install_dir: join_paths(gdk_pixbuf_libdir, 'pkgconfig'))
+pkgconfig.generate(
+  name: 'GdkPixbuf Xlib',
+  description: 'GdkPixbuf rendering for Xlib',
+  version: meson.project_version(),
+  libraries: gdkpixbuf_xlib,
+  requires: 'gdk-pixbuf-2.0',
+  filebase: 'gdk-pixbuf-xlib-2.0',
+  subdirs: gdk_pixbuf_api_name,
+  install_dir: join_paths(gdk_pixbuf_libdir, 'pkgconfig'),
+)
diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build
index 0e6be21..cfef474 100644
--- a/gdk-pixbuf/meson.build
+++ b/gdk-pixbuf/meson.build
@@ -271,3 +271,21 @@ if build_gir
     extra_args: gir_args,
   )
 endif
+
+pkgconfig = import('pkgconfig')
+pkgconfig.generate(
+  name: 'GdkPixbuf',
+  description: 'Image loading and scaling',
+  version: meson.project_version(),
+  variables: [
+    'gdk_pixbuf_binary_version=@0@'.format(gdk_pixbuf_binary_version),
+    'gdk_pixbuf_binarydir=${libdir}/@0@/@1@'.format(gdk_pixbuf_api_name, gdk_pixbuf_binary_version),
+    'gdk_pixbuf_moduledir=${gdk_pixbuf_binarydir}/loaders',
+    'gdk_pixbuf_cache_file=${gdk_pixbuf_binarydir}/loaders.cache',
+  ],
+  libraries: gdkpixbuf,
+  requires: 'gobject-2.0',
+  subdirs: gdk_pixbuf_api_name,
+  filebase: gdk_pixbuf_api_name,
+  install_dir: join_paths(gdk_pixbuf_libdir, 'pkgconfig'),
+)
diff --git a/meson.build b/meson.build
index 5558c99..79bcb05 100644
--- a/meson.build
+++ b/meson.build
@@ -368,25 +368,6 @@ gdk_pixbuf_conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
 
 configure_file(output: 'config.h', configuration: gdk_pixbuf_conf)
 
-# Compat variables for pkgconfig
-pkgconf = configuration_data()
-pkgconf.set('prefix', gdk_pixbuf_prefix)
-pkgconf.set('exec_prefix', gdk_pixbuf_prefix)
-pkgconf.set('libdir', gdk_pixbuf_libdir)
-pkgconf.set('includedir', gdk_pixbuf_includedir)
-pkgconf.set('GDK_PIXBUF_API_VERSION', gdk_pixbuf_api_version)
-pkgconf.set('GDK_PIXBUF_BINARY_VERSION', gdk_pixbuf_binary_version)
-pkgconf.set('GDK_PIXBUF_EXTRA_CFLAGS', '')
-pkgconf.set('GDK_PIXBUF_EXTRA_LIBS', '')
-pkgconf.set('PNG_DEP_CFLAGS_PACKAGES', '')
-pkgconf.set('VERSION', meson.project_version())
-
-configure_file(input: 'gdk-pixbuf-2.0.pc.in',
-               output: 'gdk-pixbuf-2.0.pc',
-               configuration: pkgconf,
-               install: true,
-               install_dir: join_paths(gdk_pixbuf_libdir, 'pkgconfig'))
-
 root_inc = include_directories('.')
 
 # Auxiliary scripts


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