build-sys: meson: Require bluez dependency if bluez5 feature is enabled
[platform/upstream/pulseaudio.git] / meson_options.txt
1 option('daemon',
2        type : 'boolean', value : true,
3        description : 'Enable building and installation of pulseaudio daemon and supporting configuration files')
4 option('doxygen',
5        type : 'boolean', value : true,
6        description : 'Enable building and installation of documentation generated with doxygen')
7 option('gcov',
8        type : 'boolean', value : false,
9        description : 'Enable optional gcov coverage analysis')
10 option('man',
11        type : 'boolean',
12        description : 'Enable building and installation of man pages')
13 option('tests',
14        type : 'boolean',
15        description : 'Enable unit tests')
16
17 option('system_user',
18         type : 'string', value : 'pulse',
19         description : 'User for running the PulseAudio daemon as a system-wide instance (pulse)')
20 option('system_group',
21         type : 'string', value : 'pulse',
22         description : 'Group for running the PulseAudio daemon as a system-wide instance (pulse)')
23 option('access_group',
24         type : 'string', value : 'pulse-access',
25         description : 'Group which is allowed access to a system-wide PulseAudio daemon (pulse-access)')
26 option('database',
27         type : 'combo', value : 'tdb',
28         choices : [ 'gdbm', 'tdb', 'simple' ],
29         description : 'Database backend')
30 option('legacy-database-entry-format',
31        type : 'boolean',
32        description : 'Try to load legacy (< 1.0) database files (card, device and volume restore)')
33 option('stream-restore-clear-old-devices',
34        type : 'boolean', value : false,
35        description : 'Forget per-stream routing settings that have been set before version 14.0. Recommended when using GNOME. See https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/832')
36 option('running-from-build-tree',
37        type : 'boolean',
38        description : 'Enable running from build tree')
39 option('atomic-arm-linux-helpers',
40        type : 'boolean', value : true,
41        description : 'Use inline asm or libatomic_ops instead')
42 option('atomic-arm-memory-barrier',
43        type : 'boolean', value : false,
44        description : 'Enable memory barriers (only really needed in SMP arm systems)')
45
46 # Paths
47
48 option('padsplibdir',
49        type : 'string',
50        description : 'Specify location where OSS wrapper library will be installed')
51 # This one gets inserted into a shell double-quoted string, so needs to be escaped (\$LIB). Meson
52 # removes a layer of escapes when parsing the description string, so we need to double the
53 # backslashes for "meson configure" to display the right text.
54 option('pulsedsp-location',
55        type : 'string',
56        description : 'Specify location where OSS wrapper library will be loaded from; can use \\$LIB')
57 option('modlibexecdir',
58        type : 'string',
59        description : 'Specify location where modules will be installed')
60 option('alsadatadir',
61        type : 'string',
62        description : 'Directory for ALSA card profiles (defaults to ${datadir}/pulseaudio/alsa-mixer)')
63 option('systemduserunitdir',
64        type : 'string',
65        description : 'Directory for systemd user service files')
66 option('udevrulesdir',
67        type : 'string',
68        description : 'Directory for udev rules (defaults to /lib/udev/rules.d)')
69 option('bashcompletiondir',
70        type : 'string',
71        description : 'Directory for bash completion scripts ["no" disables]')
72 option('zshcompletiondir',
73        type : 'string',
74        description : 'Directory for zsh completion scripts ["no" disables]')
75
76 # Optional features
77
78 option('alsa',
79        type : 'feature', value : 'auto',
80        description : 'Optional ALSA support')
81 option('asyncns',
82        type : 'feature', value : 'auto',
83        description : 'Optional Async DNS support')
84 option('avahi',
85        type : 'feature', value : 'auto',
86        description : 'Optional Avahi support')
87 option('bluez5',
88        type : 'feature', value : 'auto',
89        description : 'Optional BlueZ 5 support')
90 option('bluez5-gstreamer',
91        type : 'feature', value: 'auto',
92        description : 'Optional BlueZ 5 GStreamer support')
93 option('bluez5-native-headset',
94        type : 'boolean',
95        description : 'Optional native headset backend support (BlueZ 5)')
96 option('bluez5-ofono-headset',
97        type : 'boolean',
98        description : 'Optional oFono headset backend support (BlueZ 5)')
99 option('dbus',
100        type : 'feature', value : 'auto',
101        description : 'Optional D-Bus support')
102 option('elogind',
103        type : 'feature', value : 'auto',
104        description : 'Optional elogind support')
105 option('fftw',
106        type : 'feature', value : 'auto',
107        description : 'Optional FFTW support')
108 option('glib',
109        type : 'feature', value : 'auto',
110        description : 'Optional GLib 2 support')
111 option('gsettings',
112        type : 'feature', value : 'auto',
113        description : 'Optional GSettings support')
114 option('gstreamer',
115        type : 'feature', value : 'disabled',
116        description : 'Optional GStreamer dependency for media-related functionality')
117 option('gtk',
118        type : 'feature', value : 'auto',
119        description : 'Optional Gtk+ 3 support')
120 option('hal-compat',
121        type : 'boolean',
122        description : 'Optional HAL->udev transition compatibility support (needs udev)')
123 option('ipv6',
124        type : 'boolean',
125        description : 'Optional IPv6 support')
126 option('jack',
127        type : 'feature', value : 'auto',
128        description : 'Optional JACK support')
129 option('lirc',
130        type : 'feature', value : 'auto',
131        description : 'Optional LIRC support')
132 option('openssl',
133        type : 'feature', value : 'auto',
134        description : 'Optional OpenSSL support (used for Airtunes/RAOP)')
135 option('orc',
136        type : 'feature', value : 'auto',
137        description : 'Optimized Inner Loop Runtime Compiler')
138 option('oss-output',
139        type : 'feature', value : 'auto',
140        description : 'Optional OSS output support')
141 option('samplerate',
142        type : 'feature', value : 'disabled',
143        description : 'Optional libsamplerate support (DEPRECATED)')
144 option('soxr',
145        type : 'feature', value : 'auto',
146        description : 'Optional SoXR support (resampling)')
147 option('speex',
148        type : 'feature', value : 'auto',
149        description : 'Optional Speex support (resampling, AEC)')
150 option('systemd',
151        type : 'feature', value : 'auto',
152        description : 'Optional systemd support')
153 option('tcpwrap',
154        type : 'feature', value : 'auto',
155        description : 'Optional TCP wrappers support')
156 option('udev',
157        type : 'feature', value : 'auto',
158        description : 'Optional udev support')
159 option('valgrind',
160        type : 'feature', value : 'auto',
161        description : 'Optional Valgrind support')
162 option('x11',
163        type : 'feature', value : 'auto',
164        description : 'Optional X11 support')
165
166 # Echo cancellation
167
168 option('adrian-aec',
169        type : 'boolean',
170        description : 'Optional Adrian\'s echo canceller')
171 option('webrtc-aec',
172        type : 'feature', value : 'auto',
173        description : 'Optional WebRTC-based echo canceller')