mirror of
https://gitlab.freedesktop.org/pipewire/wireplumber.git
synced 2026-02-04 14:20:27 +01:00
This API allows grouping globals into collections. A collection is essentially a metadata object with information about all the globals it collects. Grouping globals into collections has the advantage of avoiding defining complex set of properties to match the interested globals, and they are also a more generic way to represent a set of globals that share something in common.
151 lines
3.4 KiB
Meson
151 lines
3.4 KiB
Meson
wp_lib_sources = files(
|
|
'base-dirs.c',
|
|
'client.c',
|
|
'collection.c',
|
|
'component-loader.c',
|
|
'conf.c',
|
|
'core.c',
|
|
'device.c',
|
|
'error.c',
|
|
'event.c',
|
|
'event-dispatcher.c',
|
|
'event-hook.c',
|
|
'factory.c',
|
|
'global-proxy.c',
|
|
'iterator.c',
|
|
'json-utils.c',
|
|
'link.c',
|
|
'log.c',
|
|
'metadata.c',
|
|
'settings.c',
|
|
'module.c',
|
|
'node.c',
|
|
'object.c',
|
|
'object-interest.c',
|
|
'object-manager.c',
|
|
'plugin.c',
|
|
'port.c',
|
|
'proc-utils.c',
|
|
'properties.c',
|
|
'proxy.c',
|
|
'proxy-interfaces.c',
|
|
'session-item.c',
|
|
'si-factory.c',
|
|
'si-interfaces.c',
|
|
'spa-json.c',
|
|
'spa-pod.c',
|
|
'spa-type.c',
|
|
'state.c',
|
|
'transition.c',
|
|
'wp.c',
|
|
)
|
|
|
|
wp_lib_priv_sources = files(
|
|
'private/pipewire-object-mixin.c',
|
|
'private/internal-comp-loader.c',
|
|
'private/registry.c',
|
|
)
|
|
|
|
wp_lib_headers = files(
|
|
'base-dirs.h',
|
|
'client.h',
|
|
'collection.h',
|
|
'component-loader.h',
|
|
'conf.h',
|
|
'core.h',
|
|
'defs.h',
|
|
'device.h',
|
|
'error.h',
|
|
'event.h',
|
|
'event-dispatcher.h',
|
|
'event-hook.h',
|
|
'global-proxy.h',
|
|
'iterator.h',
|
|
'json-utils.h',
|
|
'link.h',
|
|
'log.h',
|
|
'metadata.h',
|
|
'settings.h',
|
|
'module.h',
|
|
'node.h',
|
|
'object.h',
|
|
'object-interest.h',
|
|
'object-manager.h',
|
|
'plugin.h',
|
|
'port.h',
|
|
'proc-utils.h',
|
|
'properties.h',
|
|
'proxy.h',
|
|
'proxy-interfaces.h',
|
|
'session-item.h',
|
|
'si-factory.h',
|
|
'si-interfaces.h',
|
|
'spa-json.h',
|
|
'spa-pod.h',
|
|
'spa-type.h',
|
|
'state.h',
|
|
'transition.h',
|
|
'wp.h',
|
|
'factory.h',
|
|
)
|
|
|
|
install_headers(wp_lib_headers,
|
|
install_dir : wireplumber_headers_dir
|
|
)
|
|
|
|
enums = gnome.mkenums_simple('wpenums',
|
|
sources: wp_lib_headers,
|
|
header_prefix: '#include "wp/defs.h"',
|
|
decorator: 'WP_API',
|
|
install_header: true,
|
|
install_dir: wireplumber_headers_dir,
|
|
)
|
|
wpenums_h = enums[1]
|
|
wpenums_c = enums[0]
|
|
wp_gen_sources = [wpenums_h]
|
|
wpenums_include_dir = include_directories('.')
|
|
|
|
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]
|
|
|
|
wpbuildbasedirs_data = configuration_data()
|
|
wpbuildbasedirs_data.set('BUILD_SYSCONFDIR', '"@0@"'.format(get_option('prefix') / get_option('sysconfdir')))
|
|
wpbuildbasedirs_data.set('BUILD_DATADIR', '"@0@"'.format(get_option('prefix') / get_option('datadir')))
|
|
wpbuildbasedirs_data.set('BUILD_LIBDIR', '"@0@"'.format(get_option('prefix') / get_option('libdir')))
|
|
wpbuildbasedirs_data.set('BUILD_LOCALEDIR', '"@0@"'.format(get_option('prefix') / get_option('localedir')))
|
|
wpbuildbasedirs = configure_file (
|
|
output : 'wpbuildbasedirs.h',
|
|
configuration : wpbuildbasedirs_data,
|
|
)
|
|
|
|
wp_lib = library('wireplumber-' + wireplumber_api_version,
|
|
wp_lib_sources, wp_lib_priv_sources, wpenums_c, wpenums_h, wpversion, wpbuildbasedirs,
|
|
c_args : [
|
|
'-DBUILDING_WP',
|
|
],
|
|
install: true,
|
|
include_directories: wp_lib_include_dir,
|
|
dependencies : [gobject_dep, gmodule_dep, gio_dep, pipewire_dep, libintl_dep],
|
|
soversion: wireplumber_so_version,
|
|
version: wireplumber_libversion,
|
|
)
|
|
|
|
wp_dep = declare_dependency(
|
|
link_with: wp_lib,
|
|
sources: wp_gen_sources,
|
|
include_directories: wp_lib_include_dir,
|
|
dependencies: [gobject_dep, gio_dep]
|
|
)
|
|
|
|
pkgconfig.generate(wp_lib,
|
|
libraries: [gobject_dep, gio_dep],
|
|
subdirs: 'wireplumber-' + wireplumber_api_version
|
|
)
|