meson: drop default-session-manager, use the first session-manager instead

default-session-manager is only used in the pw-uninstalled.sh developer
script. c25cec230c added the ability to
use the system-installed wireplumber but other than that this option is
largely superfluous.

Drop it and pick whichever the first entry to session-manager is. For
the vast use-case of either MS or WP this will just work fine and for
the niche case of building both SMs one just needs to make sure the
order is as desired.

And in the case of no session manager, the config line to start the SM
is now commented out.
This commit is contained in:
Peter Hutterer 2021-09-08 08:47:46 +10:00 committed by Wim Taymans
parent 71ee6ec669
commit 055643091f
3 changed files with 20 additions and 39 deletions

View file

@ -18,7 +18,7 @@ task:
build_script:
- mkdir build
- cd build
- meson setup -Dalsa=enabled -Dpipewire-alsa=enabled -Dbluez5=disabled -Djack=disabled -Dpipewire-jack=disabled -Dpw-cat=enabled -Dv4l2=disabled -Dsdl2=enabled -Dsystemd=disabled -Dsession-managers=media-session -Ddefault-session-manager=media-session ..
- meson setup -Dalsa=enabled -Dpipewire-alsa=enabled -Dbluez5=disabled -Djack=disabled -Dpipewire-jack=disabled -Dpw-cat=enabled -Dv4l2=disabled -Dsdl2=enabled -Dsystemd=disabled -Dsession-managers=media-session ..
- ninja
test_script:
- cd build

View file

@ -204,8 +204,3 @@ option('session-managers',
type : 'array',
choices : ['media-session', 'wireplumber'],
value : ['media-session'])
option('default-session-manager',
description : 'Default session manager (leave as-is if none are built)',
type : 'combo',
choices : ['auto', 'media-session', 'wireplumber'],
value : 'auto')

View file

@ -17,57 +17,43 @@ conf_config.set('sm_comment', '#')
conf_config.set('pulse_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('sm_comment', '')
conf_config_uninstalled.set('pulse_comment', '')
build_ms = get_option('session-managers').contains('media-session')
build_wp = get_option('session-managers').contains('wireplumber')
sm_choice = get_option('default-session-manager')
if sm_choice == 'auto'
sm_choice = get_option('session-managers').get(0, '')
endif
default_sm = get_option('session-managers').get(0, '')
summary({'Build media-session': build_ms,
'Build wireplumber': build_wp,
'Default session-manager': sm_choice},
'Default session-manager': default_sm},
section: 'Session managers',
bool_yn: true)
if sm_choice == 'media-session'
if get_option('session-managers') == []
summary({'No session manager': 'pw-uninstalled.sh will not work out of the box!'})
elif not build_ms
error('media-session is the selected default session manager but it won\'t be built')
endif
if build_wp
wp_proj = subproject('wireplumber', required : true)
endif
if not build_wp and (sm_choice == 'wireplumber')
wp_prog = find_program('wireplumber')
conf_config.set('session_manager_path', wp_prog.full_path())
conf_config_uninstalled.set('session_manager_path', wp_prog.full_path())
conf_config_uninstalled.set('session_manager_args', '')
summary({'Using system wireplumber': wp_prog.full_path()},
section: 'Session managers',
bool_yn: true)
elif build_wp
wp_proj = subproject('wireplumber', required : true)
if sm_choice == 'wireplumber'
wp_bindir = wp_proj.get_variable('wireplumber_bin_dir', pipewire_bindir)
if default_sm == ''
summary({'No session manager': 'pw-uninstalled.sh will not work out of the box!'})
elif default_sm == 'media-session'
conf_config_uninstalled.set('session_manager_path',
meson.build_root() / 'src' / 'examples' / 'pipewire-media-session')
conf_config_uninstalled.set('sm_comment', '')
elif default_sm == 'wireplumber'
wp_bindir = wp_proj.get_variable('wireplumber_bin_dir', pipewire_bindir)
conf_config.set('session_manager_path', wp_bindir / 'wireplumber')
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
# 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')
conf_config_uninstalled.set('sm_comment', '')
endif
conf_files = [