diff options
author | Daiki Ueno <ueno@gnu.org> | 2019-10-12 15:31:23 +0000 |
---|---|---|
committer | Daiki Ueno <ueno@gnu.org> | 2019-10-12 15:31:23 +0000 |
commit | 79e89b2cb2a46a7a43e5a7772b62d500f379f7a2 (patch) | |
tree | be7a562c3b7b22b957314fc9d48671a6103061e8 | |
parent | 4b6d735b82f42dac36c16e63624853162abac33a (diff) | |
parent | 300ddc702e1a9e3f34f194908100336d8cfdbcf6 (diff) | |
download | libsecret-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.build | 42 | ||||
-rw-r--r-- | meson.build | 22 |
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') |