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