115 lines
3.5 KiB
Meson
115 lines
3.5 KiB
Meson
pipewire_daemon_sources = [
|
|
'pipewire.c',
|
|
]
|
|
|
|
pipewire_c_args = [
|
|
'-DG_LOG_DOMAIN=g_log_domain_pipewire',
|
|
]
|
|
|
|
conf_config = configuration_data()
|
|
conf_config.set('VERSION', '"@0@"'.format(pipewire_version))
|
|
conf_config.set('PIPEWIRE_CONFIG_DIR', pipewire_configdir)
|
|
conf_config.set('session_manager_path', pipewire_bindir / 'pipewire-media-session')
|
|
conf_config.set('session_manager_args', '')
|
|
conf_config.set('pipewire_path', pipewire_bindir / 'pipewire')
|
|
conf_config.set('pipewire_pulse_path', pipewire_bindir / 'pipewire-pulse')
|
|
conf_config.set('comment', '#')
|
|
|
|
conf_config_uninstalled = conf_config
|
|
conf_config_uninstalled.set('session_manager_path',
|
|
meson.build_root() / 'src' / 'examples' / 'pipewire-media-session')
|
|
conf_config_uninstalled.set('pipewire_path',
|
|
meson.build_root() / 'src' / 'daemon' / 'pipewire')
|
|
conf_config_uninstalled.set('pipewire_pulse_path',
|
|
meson.build_root() / 'src' / 'daemon' / 'pipewire-pulse')
|
|
conf_config_uninstalled.set('comment', '')
|
|
|
|
# Build WirePlumber if requested, and set it up in the config files
|
|
build_wp = get_option('wireplumber')
|
|
sm_choice = get_option('session-manager')
|
|
|
|
if build_wp.disabled() and (sm_choice == 'wireplumber')
|
|
error('option to build wireplumber is disabled, ' +
|
|
'but the requested session-manager is wireplumber')
|
|
elif build_wp.enabled() or (build_wp.auto() and (sm_choice == 'wireplumber'))
|
|
wp_proj = subproject('wireplumber', required : true)
|
|
wp_bindir = wp_proj.get_variable('wireplumber_bin_dir', pipewire_bindir)
|
|
|
|
conf_config.set('session_manager_path', wp_bindir / 'wireplumber')
|
|
|
|
# wp-uninstalled.sh -b path/to/wp/build/root wireplumber
|
|
conf_config_uninstalled.set('session_manager_path',
|
|
meson.source_root() / 'subprojects' / 'wireplumber' / 'wp-uninstalled.sh')
|
|
conf_config_uninstalled.set('session_manager_args',
|
|
'-b ' + meson.build_root() / 'subprojects' / 'wireplumber' + ' wireplumber')
|
|
endif
|
|
|
|
conf_files = [
|
|
'pipewire.conf',
|
|
'client.conf',
|
|
'client-rt.conf',
|
|
'jack.conf',
|
|
'pipewire-pulse.conf',
|
|
]
|
|
|
|
foreach c : conf_files
|
|
configure_file(input : '@0@.in'.format(c),
|
|
output : c,
|
|
configuration : conf_config,
|
|
install_dir : pipewire_confdatadir)
|
|
endforeach
|
|
|
|
configure_file(input : 'pipewire.conf.in',
|
|
output : 'pipewire-uninstalled.conf',
|
|
configuration : conf_config_uninstalled)
|
|
|
|
pipewire_exec = executable('pipewire',
|
|
pipewire_daemon_sources,
|
|
install: true,
|
|
c_args : pipewire_c_args,
|
|
include_directories : [configinc, spa_inc],
|
|
dependencies : [pipewire_dep, ],
|
|
)
|
|
|
|
executable('pipewire-pulse',
|
|
pipewire_daemon_sources,
|
|
install: true,
|
|
c_args : pipewire_c_args,
|
|
include_directories : [configinc, spa_inc],
|
|
dependencies : [pipewire_dep, ],
|
|
)
|
|
|
|
ln = find_program('ln')
|
|
|
|
custom_target('pipewire-uninstalled',
|
|
build_by_default: true,
|
|
install: false,
|
|
input: pipewire_exec,
|
|
output: 'pipewire-uninstalled',
|
|
command: [ln, '-fs', meson.build_root() + '/@INPUT@', '@OUTPUT@'],
|
|
)
|
|
|
|
#desktop_file = i18n.merge_file(
|
|
# input : 'pipewire.desktop.in',
|
|
# output : 'pipewire.desktop',
|
|
# po_dir : po_dir,
|
|
# type : 'desktop',
|
|
# install : true,
|
|
# install_dir : pipewire_sysconfdir / 'xdg' / 'autostart'
|
|
#)
|
|
#
|
|
#desktop_utils = find_program('desktop-file-validate', required: false)
|
|
#if desktop_utils.found()
|
|
# test('Validate desktop file', desktop_utils,
|
|
# args: [ desktop_file ],
|
|
# )
|
|
#endif
|
|
|
|
subdir('filter-chain')
|
|
if not get_option('media-session').disabled()
|
|
subdir('media-session.d')
|
|
endif
|
|
if systemd.found()
|
|
subdir('systemd')
|
|
endif
|