summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2019-10-12 15:31:23 +0000
committerDaiki Ueno <ueno@gnu.org>2019-10-12 15:31:23 +0000
commit79e89b2cb2a46a7a43e5a7772b62d500f379f7a2 (patch)
treebe7a562c3b7b22b957314fc9d48671a6103061e8
parent4b6d735b82f42dac36c16e63624853162abac33a (diff)
parent300ddc702e1a9e3f34f194908100336d8cfdbcf6 (diff)
downloadlibsecret-79e89b2cb2a46a7a43e5a7772b62d500f379f7a2.tar.gz
Merge branch 'wip/dueno/meson-pkgconfig' into 'master'
meson: Use pkgconfig module instead of substitution See merge request GNOME/libsecret!40
-rw-r--r--libsecret/meson.build42
-rw-r--r--meson.build22
2 files changed, 22 insertions, 42 deletions
diff --git a/libsecret/meson.build b/libsecret/meson.build
index 0421ac9..6cbd88e 100644
--- a/libsecret/meson.build
+++ b/libsecret/meson.build
@@ -148,32 +148,24 @@ if with_vapi
endif
# pkg-config
-pc_conf = configuration_data({
- 'prefix': libsecret_prefix,
- 'exec_prefix': '${prefix}',
- 'libdir': '${prefix}' / get_option('libdir'),
- 'includedir': '${prefix}' / get_option('includedir'),
- 'datarootdir': '${prefix}' / get_option('datadir'),
- 'datadir': '${datarootdir}',
- 'sysconfdir': '${prefix}' / get_option('sysconfdir'),
- 'SECRET_MAJOR': api_version_major,
- 'VERSION': meson.project_version(),
-})
+libsecret_pc_variables = [
+ 'exec_prefix=${prefix}',
+ 'datarootdir=@0@'.format('${prefix}' / get_option('datadir')),
+ 'datadir=${datarootdir}',
+ 'sysconfdir=@0@'.format('${prefix}' / get_option('sysconfdir'))
+]
-configure_file(
- input: 'libsecret.pc.in',
- output: 'libsecret-@0@.pc'.format(api_version_major),
- configuration: pc_conf,
- install: true,
- install_dir: libsecret_prefix / libdir / 'pkgconfig',
-)
-configure_file(
- input: 'libsecret-unstable.pc.in',
- output: '@BASENAME@',
- configuration: pc_conf,
- install: true,
- install_dir: libsecret_prefix / libdir / 'pkgconfig',
-)
+pkg.generate(libsecret,
+ description: 'GObject bindings for Secret Service API',
+ name: 'libsecret-@0@'.format(api_version_major),
+ variables: libsecret_pc_variables,
+ requires_private: glib_deps + [gcrypt_dep])
+
+pkg.generate(description: 'GObject bindings for Secret Service API (Unstable)',
+ name: 'libsecret-unstable',
+ variables: libsecret_pc_variables,
+ extra_cflags: '-DSECRET_WITH_UNSTABLE',
+ requires: libsecret)
# Tests
mock_cflags = [
diff --git a/meson.build b/meson.build
index b796495..f20a66e 100644
--- a/meson.build
+++ b/meson.build
@@ -6,6 +6,7 @@ project('libsecret', 'c',
gnome = import('gnome')
i18n = import('i18n')
+pkg = import('pkgconfig')
# API version
api_version = '1.0.0'
@@ -44,23 +45,10 @@ glib_deps = [
dependency('gio-2.0', version: '>=' + min_glib_version),
dependency('gio-unix-2.0', version: '>=' + min_glib_version),
]
-if with_gcrypt
- min_libgcrypt_version = '1.2.2'
- gcrypt_dep = dependency('libgcrypt', version: '>=' + min_libgcrypt_version, required: false)
- if not gcrypt_dep.found()
- libgcrypt_config = find_program('libgcrypt-config')
- libgcrypt_version = run_command(libgcrypt_config, '--version').stdout().strip()
- if (libgcrypt_version.version_compare('>' + libgcrypt_version))
- error('@0@ requires at least gcrypt version @1@, but version found is @2@'
- .format(meson.project_name(), min_libgcrypt_version, libgcrypt_version))
- endif
- message('gcrypt version: @0@'.format(libgcrypt_version))
- gcrypt_dep = declare_dependency(
- link_args: run_command(libgcrypt_config, '--libs').stdout().strip().split(),
- compile_args: run_command(libgcrypt_config, '--cflags').stdout().strip().split(),
- )
- endif
-endif
+
+min_libgcrypt_version = '1.2.2'
+gcrypt_dep = dependency('libgcrypt', version: '>=' + min_libgcrypt_version,
+ required: with_gcrypt)
# Libraries
math = meson.get_compiler('c').find_library('m')