meson_options.txt 8.6 KB
Newer Older
1
option('documentation', type: 'feature', description: 'Build documentation')
2
option('html_manual', type: 'boolean', value: true, description: 'Build the HTML manual')
3
option('manpages', type: 'boolean', value: true, description: 'Build manual pages')
4 5 6

option('syslog', type: 'feature', description: 'syslog support')
option('inotify', type: 'boolean', value: true, description: 'inotify support (for automatic database update)')
7
option('io_uring', type: 'feature', description: 'Linux io_uring support using liburing')
8 9 10 11 12 13 14

option('daemon', type: 'boolean', value: true, description: 'enable daemonization')
option('systemd', type: 'feature', description: 'systemd support')

option('systemd_system_unit_dir', type: 'string', description: 'systemd system service directory')
option('systemd_user_unit_dir', type: 'string', description: 'systemd user service directory')

15 16 17 18 19
#
# Options for developers
#

option('test', type: 'boolean', value: false, description: 'Build the unit tests and debug programs')
20
option('fuzzer', type: 'boolean', value: false, description: 'Build fuzzers (requires libFuzzer)')
21

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
#
# Android
#

option('android_sdk', type: 'string', description: 'The path where Android SDK is installed')
option('android_ndk', type: 'string', description: 'The path where Android NDK is installed')
option('android_abi', type: 'string', value: 'armeabi-v7a', description: 'The Android ABI to be built')

option('android_strip', type: 'string', value: 'strip', description: 'The "strip" tool from the NDK')

option('android_debug_keystore', type: 'string', description: 'The keystore file used to sign debug APK files')

option('android_keystore', type: 'string', description: 'The keystore file used to sign APK files')
option('android_keyalias', type: 'string', description: 'The key alias used to sign APK files')
option('android_keypass', type: 'string', description: 'The password of the keystore used to sign APK files')

#
# System call support
#

option('epoll', type: 'boolean', value: true, description: 'Use epoll on Linux')
option('eventfd', type: 'boolean', value: true, description: 'Use eventfd() on Linux')
option('signalfd', type: 'boolean', value: true, description: 'Use signalfd() on Linux')

#
# Network support
#

option('tcp', type: 'boolean', value: true, description: 'Support for clients connecting via TCP')
option('ipv6', type: 'feature', description: 'Support for IPv6')
option('local_socket', type: 'boolean', value: true, description: 'Support for clients connecting via local sockets')

#
# Audio formats
#

option('dsd', type: 'boolean', value: true, description: 'Support the DSD audio format')

#
# Database plugins
#

option('database', type: 'boolean', value: true, description: 'enable support for the music database')
65 66 67 68
option('upnp', type: 'combo',
       choices: ['auto', 'pupnp', 'npupnp', 'disabled'],
       value: 'auto',
       description: 'UPnP client support')
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
option('libmpdclient', type: 'feature', description: 'libmpdclient support (for the proxy database plugin)')

#
# Neighbor plugins
#

option('neighbor', type: 'boolean', value: true, description: 'enable support for neighbor discovery')

#
# Storage plugins
#

option('udisks', type: 'feature', description: 'Support for removable media using udisks2')
option('webdav', type: 'feature', description: 'WebDAV support using CURL and Expat')

#
# Playlist plugins
#

option('cue', type: 'boolean', value: true, description: 'CUE sheet support')

#
# Input plugins
#

option('cdio_paranoia', type: 'feature', description: 'libcdio_paranoia input plugin')
option('curl', type: 'feature', description: 'HTTP client using CURL')
option('mms', type: 'feature', description: 'MMS protocol support using libmms')
option('nfs', type: 'feature', description: 'NFS protocol support using libnfs')
98 99 100 101 102

# The "smbclient" plugin is disabled by default because libsmbclient
# has a serious bug which crashes MPD very quickly:
# https://bugzilla.samba.org/show_bug.cgi?id=11413
option('smbclient', type: 'feature', value: 'disabled', description: 'SMB support using libsmbclient')
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123

#
# Commercial services
#

option('qobuz', type: 'feature', description: 'Qobuz client')
option('soundcloud', type: 'feature', description: 'SoundCloud client')

#
# Archive plugins
#

option('bzip2', type: 'feature', description: 'bzip2 support using libbz2')
option('iso9660', type: 'feature', description: 'ISO9660 support using libiso9660')
option('zzip', type: 'feature', description: 'ZIP support using zziplib')

#
# Tag plugins
#

option('id3tag', type: 'feature', description: 'ID3 support using libid3tag')
124
option('chromaprint', type: 'feature', description: 'ChromaPrint / AcoustID support')
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139

#
# Decoder plugins
#

option('adplug', type: 'feature', description: 'AdPlug decoder plugin')
option('audiofile', type: 'feature', description: 'libaudiofile decoder plugin')
option('faad', type: 'feature', description: 'AAC decoder using libfaad')
option('ffmpeg', type: 'feature', description: 'FFmpeg codec support')
option('flac', type: 'feature', description: 'FLAC decoder plugin')
option('fluidsynth', type: 'feature', description: 'fluidsynth MIDI decoder plugin')
option('gme', type: 'feature', description: 'Game Music Emulator decoder plugin')
option('mad', type: 'feature', description: 'MP3 decoder using libmad')
option('mikmod', type: 'feature', description: 'MikMod decoder plugin')
option('modplug', type: 'feature', description: 'Modplug decoder plugin')
140
option('openmpt', type: 'feature', description: 'OpenMPT decoder plugin')
141 142 143 144 145
option('mpcdec', type: 'feature', description: 'Musepack decoder plugin')
option('mpg123', type: 'feature', description: 'MP3 decoder using libmpg123')
option('opus', type: 'feature', description: 'Opus decoder plugin')
option('sidplay', type: 'feature', description: 'C64 SID support via libsidplayfp or libsidplay2')
option('sndfile', type: 'feature', description: 'libsndfile decoder plugin')
146
option('tremor', type: 'feature', description: 'Fixed-point vorbis decoder plugin')
147 148 149 150 151
option('vorbis', type: 'feature', description: 'Vorbis decoder plugin')
option('wavpack', type: 'feature', description: 'WavPack decoder plugin')
option('wildmidi', type: 'feature', description: 'WildMidi decoder plugin')

#
152
# Encoder plugins
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
#

option('vorbisenc', type: 'feature', description: 'Vorbis encoder plugin')
option('lame', type: 'feature', description: 'LAME MP3 encoder plugin')
option('twolame', type: 'feature', description: 'TwoLAME MP2 encoder plugin')
option('shine', type: 'feature', description: 'shine MP3 encoder plugin')
option('wave_encoder', type: 'boolean', value: true, description: 'PCM wave encoder encoder plugin')

#
# Filter plugins
#

option('libsamplerate', type: 'feature', description: 'libsamplerate resampler')
option('soxr', type: 'feature', description: 'libsoxr resampler')

#
# Output plugins
#

option('alsa', type: 'feature', description: 'ALSA support')
option('ao', type: 'feature', description: 'libao output plugin')
option('fifo', type: 'boolean', value: true, description: 'FIFO output plugin')
option('httpd', type: 'boolean', value: true, description: 'HTTP streaming output plugin')
option('jack', type: 'feature', description: 'JACK output plugin')
option('openal', type: 'feature', description: 'OpenAL output plugin')
option('oss', type: 'feature', description: 'Open Sound System support')
option('pipe', type: 'boolean', value: true, description: 'Pipe output plugin')
180
option('pipewire', type: 'feature', description: 'PipeWire support')
181 182 183
option('pulse', type: 'feature', description: 'PulseAudio support')
option('recorder', type: 'boolean', value: true, description: 'Recorder output plugin')
option('shout', type: 'feature', description: 'Shoutcast streaming support using libshout')
184
option('snapcast', type: 'boolean', value: true, description: 'Snapcast output plugin')
185 186 187 188 189 190 191 192 193 194 195
option('sndio', type: 'feature', description: 'sndio output plugin')
option('solaris_output', type: 'feature', description: 'Solaris /dev/audio support')

#
# Misc libraries
#

option('dbus', type: 'feature', description: 'D-Bus support')
option('expat', type: 'feature', description: 'Expat XML support')
option('icu', type: 'feature', description: 'Use libicu for Unicode')
option('iconv', type: 'feature', description: 'Use iconv() for character set conversion')
196
option('pcre', type: 'feature', description: 'Enable regular expression support (using libpcre)')
197 198 199 200 201 202 203 204
option('sqlite', type: 'feature', description: 'SQLite database support (for stickers)')
option('yajl', type: 'feature', description: 'libyajl for YAML support')
option('zlib', type: 'feature', description: 'zlib support (for database compression)')

option('zeroconf', type: 'combo',
       choices: ['auto', 'avahi', 'bonjour', 'disabled'],
       value: 'auto',
       description: 'Zeroconf support')