From c8b11fad42bdcff1d1e7ba93553ac2a4c99a8d36 Mon Sep 17 00:00:00 2001 From: George Kiagiadakis Date: Tue, 2 Jun 2020 18:26:40 +0300 Subject: [PATCH] lib: add a version header --- lib/wp/meson.build | 17 ++++++++++++++--- lib/wp/wp.c | 2 +- lib/wp/wp.h | 1 + lib/wp/wpversion.h.in | 2 ++ meson.build | 2 ++ 5 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 lib/wp/wpversion.h.in diff --git a/lib/wp/meson.build b/lib/wp/meson.build index 0c0b75ad..12973670 100644 --- a/lib/wp/meson.build +++ b/lib/wp/meson.build @@ -64,7 +64,7 @@ wp_lib_headers = files( ) install_headers(wp_lib_headers, - subdir : join_paths('wireplumber-' + wireplumber_api_version, 'wp') + install_dir : wireplumber_headers_dir ) enums = gnome.mkenums_simple('wpenums', @@ -72,14 +72,25 @@ enums = gnome.mkenums_simple('wpenums', header_prefix: '#include "wp/defs.h"', decorator: 'WP_API', install_header: true, - install_dir: join_paths(get_option('includedir'), 'wireplumber-' + wireplumber_api_version, 'wp'), + install_dir: wireplumber_headers_dir, ) wpenums_h = enums[1] wpenums_c = enums[0] wp_gen_sources = [wpenums_h] +wpversion_data = configuration_data() +wpversion_data.set('version', meson.project_version()) +wpversion_data.set('api_version', wireplumber_api_version) +wpversion = configure_file( + input : 'wpversion.h.in', + output : 'wpversion.h', + configuration : wpversion_data, + install_dir: wireplumber_headers_dir +) +wp_gen_sources += [wpversion] + wp_lib = library('wireplumber-' + wireplumber_api_version, - wp_lib_sources, wpenums_c, wpenums_h, + wp_lib_sources, wpenums_c, wpenums_h, wpversion, c_args : [ '-D_GNU_SOURCE', '-DG_LOG_USE_STRUCTURED', diff --git a/lib/wp/wp.c b/lib/wp/wp.c index ffcd9946..48100d66 100644 --- a/lib/wp/wp.c +++ b/lib/wp/wp.c @@ -48,7 +48,7 @@ wp_init (WpInitFlags flags) g_log_set_writer_func (wp_log_writer_default, NULL, NULL); /* a dummy message, to initialize the logging system */ - wp_info ("WirePlumber initializing"); + wp_info ("WirePlumber " WIREPLUMBER_VERSION " initializing"); if (flags & WP_INIT_SET_PW_LOG && !g_getenv ("WIREPLUMBER_NO_PW_LOG")) { pw_log_level = lvl = wp_spa_log_get_instance ()->level; diff --git a/lib/wp/wp.h b/lib/wp/wp.h index b3aa43b4..d0277231 100644 --- a/lib/wp/wp.h +++ b/lib/wp/wp.h @@ -38,6 +38,7 @@ #include "spa-type.h" #include "transition.h" #include "wpenums.h" +#include "wpversion.h" G_BEGIN_DECLS diff --git a/lib/wp/wpversion.h.in b/lib/wp/wpversion.h.in new file mode 100644 index 00000000..1a7b5809 --- /dev/null +++ b/lib/wp/wpversion.h.in @@ -0,0 +1,2 @@ +#define WIREPLUMBER_VERSION "@version@" +#define WIREPLUMBER_API_VERSION "@api_version@" diff --git a/meson.build b/meson.build index 598d92b2..dc3a3f17 100644 --- a/meson.build +++ b/meson.build @@ -12,6 +12,8 @@ project('wireplumber', ['c', 'cpp'], wireplumber_api_version = '0.1' wireplumber_so_version = '0' +wireplumber_headers_dir = join_paths(get_option('includedir'), 'wireplumber-' + wireplumber_api_version, 'wp') + if get_option('libdir').startswith('/') wireplumber_module_dir = join_paths(get_option('libdir'), 'wireplumber-' + wireplumber_api_version) else