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
master
Violet Purcell 8 months ago committed by Simon Ser
parent 08c64c166f
commit 4b4f76cc13

@ -28,7 +28,7 @@ if not features.get('session')
endif endif
install_subdir('wlr', install_subdir('wlr',
install_dir: get_option('includedir'), install_dir: get_option('includedir') / versioned_name,
exclude_files: exclude_files, exclude_files: exclude_files,
) )

@ -22,4 +22,4 @@ ver_h = configure_file(
configuration: version_data, configuration: version_data,
) )
install_headers(conf_h, ver_h, subdir: 'wlr') install_headers(conf_h, ver_h, subdir: versioned_name / 'wlr')

@ -14,8 +14,7 @@ project(
version = meson.project_version().split('-')[0] version = meson.project_version().split('-')[0]
version_major = version.split('.')[0] version_major = version.split('.')[0]
version_minor = version.split('.')[1] version_minor = version.split('.')[1]
assert(version_major == '0') versioned_name = '@0@-@1@.@2@'.format(meson.project_name(), version_major, version_minor)
soversion = version_minor.to_int() - 5
little_endian = target_machine.endian() == 'little' little_endian = target_machine.endian() == 'little'
big_endian = target_machine.endian() == 'big' big_endian = target_machine.endian() == 'big'
@ -175,8 +174,7 @@ wlr_inc = include_directories('include')
symbols_file = 'wlroots.syms' symbols_file = 'wlroots.syms'
symbols_flag = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), symbols_file) symbols_flag = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), symbols_file)
lib_wlr = library( lib_wlr = library(
meson.project_name(), wlr_files, versioned_name, wlr_files,
soversion: soversion.to_string(),
dependencies: wlr_deps, dependencies: wlr_deps,
include_directories: [wlr_inc], include_directories: [wlr_inc],
install: true, install: true,
@ -208,7 +206,9 @@ endif
pkgconfig = import('pkgconfig') pkgconfig = import('pkgconfig')
pkgconfig.generate( pkgconfig.generate(
lib_wlr, lib_wlr,
name: versioned_name,
description: 'Wayland compositor library', description: 'Wayland compositor library',
subdirs: versioned_name,
url: 'https://gitlab.freedesktop.org/wlroots/wlroots', url: 'https://gitlab.freedesktop.org/wlroots/wlroots',
variables: wlr_vars, variables: wlr_vars,
) )

Loading…
Cancel
Save