From 4b4f76cc13574544216b59b3a9902b468b82108b Mon Sep 17 00:00:00 2001 From: Violet Purcell Date: Sun, 17 Mar 2024 13:24:35 -0400 Subject: [PATCH] Version pkgconfig, headers, and library for parallel installation Since wlroots almost always significantly breaks API each minor release, allowing parallel installation of wlroots helps packagers deal with programs that require conflicting versions of wlroots. Closes: #3786 --- include/meson.build | 2 +- include/wlr/meson.build | 2 +- meson.build | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/meson.build b/include/meson.build index ff8d767f..33d65ff2 100644 --- a/include/meson.build +++ b/include/meson.build @@ -28,7 +28,7 @@ if not features.get('session') endif install_subdir('wlr', - install_dir: get_option('includedir'), + install_dir: get_option('includedir') / versioned_name, exclude_files: exclude_files, ) diff --git a/include/wlr/meson.build b/include/wlr/meson.build index f7ca413d..5d25a577 100644 --- a/include/wlr/meson.build +++ b/include/wlr/meson.build @@ -22,4 +22,4 @@ ver_h = configure_file( configuration: version_data, ) -install_headers(conf_h, ver_h, subdir: 'wlr') +install_headers(conf_h, ver_h, subdir: versioned_name / 'wlr') diff --git a/meson.build b/meson.build index 8641291a..41e106d0 100644 --- a/meson.build +++ b/meson.build @@ -14,8 +14,7 @@ project( version = meson.project_version().split('-')[0] version_major = version.split('.')[0] version_minor = version.split('.')[1] -assert(version_major == '0') -soversion = version_minor.to_int() - 5 +versioned_name = '@0@-@1@.@2@'.format(meson.project_name(), version_major, version_minor) little_endian = target_machine.endian() == 'little' big_endian = target_machine.endian() == 'big' @@ -175,8 +174,7 @@ wlr_inc = include_directories('include') symbols_file = 'wlroots.syms' symbols_flag = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), symbols_file) lib_wlr = library( - meson.project_name(), wlr_files, - soversion: soversion.to_string(), + versioned_name, wlr_files, dependencies: wlr_deps, include_directories: [wlr_inc], install: true, @@ -208,7 +206,9 @@ endif pkgconfig = import('pkgconfig') pkgconfig.generate( lib_wlr, + name: versioned_name, description: 'Wayland compositor library', + subdirs: versioned_name, url: 'https://gitlab.freedesktop.org/wlroots/wlroots', variables: wlr_vars, )