pipewire/meson_options.txt
Niklāvs Koļesņikovs d7cddbdb61 meson: changes meson switches for controlling session manager
Some distributions set --auto_features=enabled which messes with the
internal logic of the build system when features are used for other
purposes than pure dependency control. The only solution is to either
avoid the value auto or change the type of the option to non-feature.

This commit does the later by replacing -Dmedia-session, -Dwireplumber
and -Dsession-manager with the new -Dsession-managers array and
-Ddefault-session-manager combo options.

Fixes #1333
Fixes #1336
2021-06-24 14:22:13 +00:00

212 lines
7 KiB
Meson

option('docdir',
type : 'string',
description : 'Directory for installing documentation to (defaults to pipewire_datadir/doc/meson.project_name() )')
option('docs',
description: 'Build documentation',
type: 'feature',
value: 'disabled')
option('examples',
description: 'Build examples',
type: 'feature',
value: 'enabled')
option('man',
description: 'Build manpages',
type: 'feature',
value: 'auto')
option('tests',
description: 'Build tests',
type: 'feature',
value: 'enabled',
yield : true)
option('installed_tests',
description: 'Install manual and automated test executables',
type: 'feature',
value: 'disabled')
option('gstreamer',
description: 'Build GStreamer plugins',
type: 'feature',
value: 'auto')
option('gstreamer-device-provider',
description: 'Build GStreamer device provider plugin',
type: 'feature',
value: 'auto')
option('systemd',
description: 'Enable systemd integration',
type: 'feature',
value: 'auto')
option('systemd-system-service',
description: 'Install systemd system service file',
type: 'feature',
value: 'disabled')
option('systemd-user-service',
description: 'Install systemd user service file (ignored without systemd)',
type: 'feature',
value: 'enabled')
option('pipewire-alsa',
description: 'Enable pipewire-alsa integration',
type: 'feature',
value: 'auto')
option('pipewire-jack',
description: 'Enable pipewire-jack integration',
type: 'feature',
value: 'enabled')
option('jack-devel',
description: 'Install jack development files',
type: 'feature',
value: 'disabled')
option('libjack-path',
description: 'Where to install the libjack.so library',
type: 'string')
option('spa-plugins',
description: 'Enable spa plugins integration',
type: 'feature',
value: 'enabled')
option('alsa',
description: 'Enable alsa spa plugin integration',
type: 'feature',
value: 'auto')
option('audiomixer',
description: 'Enable audiomixer spa plugin integration',
type: 'feature',
value: 'enabled')
option('audioconvert',
description: 'Enable audioconvert spa plugin integration',
type: 'feature',
value: 'enabled')
option('bluez5',
description: 'Enable bluez5 spa plugin integration',
type: 'feature',
value: 'auto')
option('bluez5-backend-hsp-native',
description: 'Enable HSP in native backend in bluez5 spa plugin',
type: 'feature',
value: 'enabled')
option('bluez5-backend-hfp-native',
description: 'Enable HFP in native backend in bluez5 spa plugin',
type: 'feature',
value: 'enabled')
option('bluez5-backend-ofono',
description: 'Enable oFono HFP backend in bluez5 spa plugin (no dependency on oFono)',
type: 'feature',
value: 'enabled')
option('bluez5-backend-hsphfpd',
description: 'Enable hsphfpd backend in bluez5 spa plugin (no dependency on hsphfpd)',
type: 'feature',
value: 'enabled')
option('bluez5-codec-aptx',
description: 'Enable AptX Qualcomm open source codec implementation',
type: 'feature',
value: 'auto')
option('bluez5-codec-ldac',
description: 'Enable LDAC Sony open source codec implementation',
type: 'feature',
value: 'auto')
option('bluez5-codec-aac',
description: 'Enable Fraunhofer FDK AAC open source codec implementation',
type: 'feature',
value: 'auto')
option('control',
description: 'Enable control spa plugin integration',
type: 'feature',
value: 'enabled')
option('audiotestsrc',
description: 'Enable audiotestsrc spa plugin integration',
type: 'feature',
value: 'enabled')
option('ffmpeg',
description: 'Enable ffmpeg spa plugin integration',
type: 'feature',
value: 'disabled')
option('jack',
description: 'Enable jack spa plugin integration',
type: 'feature',
value: 'auto')
option('support',
description: 'Enable support spa plugin integration',
type: 'feature',
value: 'enabled')
option('evl',
description: 'Enable EVL support spa plugin integration',
type: 'feature',
value: 'disabled')
option('test',
description: 'Enable test spa plugin integration',
type: 'feature',
value: 'disabled')
option('v4l2',
description: 'Enable v4l2 spa plugin integration',
type: 'feature',
value: 'auto')
option('libcamera',
description: 'Enable libcamera spa plugin integration',
type: 'feature',
value: 'auto')
option('videoconvert',
description: 'Enable videoconvert spa plugin integration',
type: 'feature',
value: 'enabled')
option('videotestsrc',
description: 'Enable videotestsrc spa plugin integration',
type: 'feature',
value: 'enabled')
option('volume',
description: 'Enable volume spa plugin integration',
type: 'feature',
value: 'enabled')
option('vulkan',
description: 'Enable vulkan spa plugin integration',
type: 'feature',
value: 'auto')
option('pw-cat',
description: 'Build pw-cat/pw-play/pw-record',
type: 'feature',
value: 'auto')
option('udev',
description: 'Enable Udev integration',
type: 'feature',
value: 'auto')
option('udevrulesdir',
type : 'string',
description : 'Directory for udev rules (defaults to /lib/udev/rules.d)')
option('systemd-user-unit-dir',
type : 'string',
description : 'Directory for user systemd units (defaults to /usr/lib/systemd/user)')
option('sdl2',
description: 'Enable code that depends on SDL 2',
type: 'feature',
value: 'auto')
option('sndfile',
description: 'Enable code that depends on libsndfile',
type: 'feature',
value: 'auto')
option('libpulse',
description: 'Enable code that depends on libpulse',
type: 'feature',
value: 'auto')
option('roc',
description: 'Enable code that depends on roc toolkit',
type: 'feature',
value: 'auto')
option('avahi',
description: 'Enable code that depends on avahi',
type: 'feature',
value: 'auto')
option('echo-cancel-webrtc',
description : 'Enable WebRTC-based echo canceller',
type : 'feature',
value : 'auto')
option('libusb',
description: 'Enable code that depends on libusb',
type: 'feature',
value: 'auto')
option('session-managers',
description : 'Session managers to build (can be [] for none)',
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 : ['media-session', 'wireplumber'],
value : 'media-session')