wp_lib_sources = [ 'base-endpoint.c', 'configuration.c', 'core.c', 'endpoint.c', 'error.c', 'exported.c', 'factory.c', 'module.c', 'monitor.c', 'object-manager.c', 'policy.c', 'properties.c', 'proxy.c', 'proxy-client.c', 'proxy-link.c', 'proxy-node.c', 'proxy-port.c', 'session.c', 'spa-props.c', ] wp_lib_headers = [ 'base-endpoint.h', 'configuration.h', 'endpoint.h', 'core.h', 'error.h', 'exported.h', 'factory.h', 'module.h', 'monitor.h', 'object-manager.h', 'policy.h', 'properties.h', 'proxy.h', 'proxy-client.h', 'proxy-node.h', 'proxy-port.h', 'proxy-link.h', 'session.h', 'wp.h', ] install_headers(wp_lib_headers, subdir : join_paths('wireplumber-' + wireplumber_api_version, 'wp') ) enums = gnome.mkenums_simple('wpenums', sources: wp_lib_headers, install_header: true, install_dir: join_paths(get_option('includedir'), 'wireplumber-' + wireplumber_api_version, 'wp'), ) wp_lib = library('wireplumber-' + wireplumber_api_version, wp_lib_sources, enums, c_args : [ '-D_GNU_SOURCE', '-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="libwireplumber"', '-DWIREPLUMBER_DEFAULT_MODULE_DIR="@0@"'.format(wireplumber_module_dir), ], install: true, include_directories: wp_lib_include_dir, dependencies : [gobject_dep, gmodule_dep, gio_dep, pipewire_dep], soversion: wireplumber_so_version, version: meson.project_version(), ) if get_option('introspection') gnome.generate_gir(wp_lib, namespace: 'Wp', nsversion: wireplumber_api_version, sources: [wp_lib_sources, wp_lib_headers, enums], includes: ['GLib-2.0', 'GObject-2.0', 'Gio-2.0'], install: true, ) endif wp_dep = declare_dependency( link_with: wp_lib, sources: enums[1], include_directories: wp_lib_include_dir, dependencies: [gobject_dep] ) pkgconfig.generate(wp_lib, libraries: [gobject_dep, gio_dep], subdirs: 'wireplumber-' + wireplumber_api_version )