[libgit2-glib] meson: Use the pkgconfig module



commit b617886f14d88803e2d98096d91071778900935a
Author: Iñigo Martínez <inigomartinez gmail com>
Date:   Fri Jan 19 10:59:10 2018 +0100

    meson: Use the pkgconfig module
    
    meson features a module called `pkgconfig` that can be used to
    generate pkgconfig `.pc` files.
    
    This patch takes advantage of this module to generate the pkgconfig
    `.pc` file.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=792699

 libgit2-glib/meson.build |   13 ++++++++++++-
 meson.build              |   22 ++--------------------
 2 files changed, 14 insertions(+), 21 deletions(-)
---
diff --git a/libgit2-glib/meson.build b/libgit2-glib/meson.build
index 8204a4a..8ee3013 100644
--- a/libgit2-glib/meson.build
+++ b/libgit2-glib/meson.build
@@ -168,7 +168,6 @@ enum_types = gnome.mkenums('ggit-enum-types',
 
 install_headers(headers, subdir: join_paths(libgit2_glib_api_name, meson.project_name()))
 
-pkgconfig_files = [ 'libgit2-glib-@0@'.format(libgit2_glib_api_version) ]
 platform_deps = [ glib, gobject, gio, libgit2 ]
 
 if cc.get_id() == 'msvc'
@@ -188,6 +187,18 @@ libgit2_glib = shared_library('git2-glib-@0@'.format(libgit2_glib_api_version),
             '-DG_LOG_DOMAIN="Ggit"' ],
   link_args: libgit2_glib_link_args)
 
+pkg.generate(
+  libraries: libgit2_glib,
+  version: meson.project_version(),
+  name: meson.project_name(),
+  description: 'libgit2-glib, a a glib wrapper library around the libgit2 git access library.',
+  filebase: libgit2_glib_api_name,
+  subdirs: join_paths(libgit2_glib_api_name, meson.project_name()),
+  requires: 'libgit2 >= @0@, glib-2.0 >= @1@, gobject-2.0 >= @1@, gio-2.0 >= @1@'.format(git2_req, glib_req),
+  variables: 'exec_prefix=${prefix}',
+  extra_cflags: extra_args
+)
+
 # Internal dependency, for tests and benchmarks
 libgit2_glib_inc = include_directories([ '.', '..' ])
 libgit2_glib_dep = declare_dependency(link_with: libgit2_glib,
diff --git a/meson.build b/meson.build
index c7440c4..491bad1 100644
--- a/meson.build
+++ b/meson.build
@@ -42,17 +42,6 @@ libgit2_glib_pkgincludedir = join_paths(libgit2_glib_includedir, libgit2_glib_ap
 cc = meson.get_compiler('c')
 host_system = host_machine.system()
 
-conf = configuration_data()
-
-# Compat variables for pkgconfig
-conf.set('prefix', libgit2_glib_prefix)
-conf.set('exec_prefix', libgit2_glib_prefix)
-conf.set('libdir', libgit2_glib_libdir)
-conf.set('includedir', libgit2_glib_includedir)
-
-# Version macros
-conf.set('VERSION', libgit2_glib_version)
-
 # Compiler flags
 if cc.get_id() == 'msvc'
   # Compiler options taken from msvc_recommended_pragmas.h
@@ -138,8 +127,7 @@ core_inc = include_directories('.')
 # Required dependencies
 git2_req = '0.25.0'
 glib_req = '2.44.0'
-conf.set('GIT2_REQUIRED', git2_req)
-conf.set('GLIB_REQUIRED', glib_req)
+
 glib = dependency('glib-2.0', version: '>=' + glib_req)
 gobject = dependency('gobject-2.0', version: '>=' + glib_req)
 gio = dependency('gio-2.0', version: '>=' + glib_req)
@@ -188,13 +176,7 @@ if enable_ssh_opt != 'no'
 endif
 
 gnome = import('gnome')
-
-# Generate the pkg-config files
-configure_file(input: 'libgit2-glib-@0  pc in'.format(libgit2_glib_api_version),
-               output: 'libgit2-glib-@0@.pc'.format(libgit2_glib_api_version),
-               configuration: conf,
-               install: true,
-               install_dir: join_paths(libgit2_glib_libdir, 'pkgconfig'))
+pkg = import('pkgconfig')
 
 subdir('libgit2-glib')
 subdir('examples')


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