From 71e42dae909c8e94f82873f9eee0c50f0284fbdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Wed, 27 Dec 2017 17:06:52 +0100 Subject: [PATCH] libwlroots: Add shared library versioning --- include/wlr/meson.build | 13 ++++++++----- meson.build | 8 +++++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/include/wlr/meson.build b/include/wlr/meson.build index 770673eb..84dc5ae9 100644 --- a/include/wlr/meson.build +++ b/include/wlr/meson.build @@ -1,10 +1,13 @@ version_array = meson.project_version().split('.') version_data = configuration_data() -version_data.set_quoted('WLR_VERSION_STR', meson.project_version()) -version_data.set('WLR_VERSION_MAJOR', version_array[0]) -version_data.set('WLR_VERSION_MINOR', version_array[1]) -version_data.set('WLR_VERSION_MICRO', version_array[2]) -version_data.set('WLR_VERSION_NUM', '(WLR_VERSION_MAJOR << 16) | (WLR_VERSION_MINOR << 8) | WLR_VERSION_MICRO') +version_data.set_quoted('WLR_VERSION_STR', meson.project_version()) +version_data.set('WLR_VERSION_MAJOR', version_array[0]) +version_data.set('WLR_VERSION_MINOR', version_array[1]) +version_data.set('WLR_VERSION_MICRO', version_array[2]) +version_data.set('WLR_VERSION_NUM', '(WLR_VERSION_MAJOR << 16) | (WLR_VERSION_MINOR << 8) | WLR_VERSION_MICRO') +version_data.set('WLR_VERSION_API_CURRENT', so_version[0]) +version_data.set('WLR_VERSION_API_REVISION', so_version[1]) +version_data.set('WLR_VERSION_API_AGE', so_version[2]) header_install_dir = 'include/@0@/wlr'.format(meson.project_name()) configure_file(output: 'config.h', install_dir: header_install_dir, configuration: conf_data) diff --git a/meson.build b/meson.build index 7d4997ad..52a6b584 100644 --- a/meson.build +++ b/meson.build @@ -11,6 +11,11 @@ project( ], ) +# Format of so_version is CURRENT, REVISION, AGE. +# See: https://autotools.io/libtool/version.html +# for a reference about clean library versioning. +so_version = ['0', '0', '0'] + add_project_arguments('-Wno-unused-parameter', language: 'c') add_project_arguments( '-DWLR_SRC_DIR="@0@"'.format(meson.source_root()), @@ -137,7 +142,8 @@ wlr_deps = [ ] lib_wlr = library( - 'wlroots', + meson.project_name(), + version: '.'.join(so_version), link_whole: wlr_parts, dependencies: wlr_deps, include_directories: wlr_inc,