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 ff8d767fa..33d65ff22 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 f7ca413de..5d25a577f 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 8641291aa..41e106d0a 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, )