summaryrefslogtreecommitdiff
path: root/package/mpd/Config.in
blob: 8eabbbc7969767b1ec7fafff0dd3796c74d4e543 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
65
66
67
68
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
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
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
menuconfig BR2_PACKAGE_MPD
	bool "mpd"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_USE_WCHAR # flac
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_USE_MMU # fork
	depends on BR2_TOOLCHAIN_HAS_ATOMIC
	# 0.19.x could be built with GCC 4.6, but for simplicity we require
	# the same toolchain dependencies for all versions.
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
	select BR2_PACKAGE_BOOST
	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
	select BR2_PACKAGE_MPD_TREMOR if !(BR2_PACKAGE_MPD_MAD || BR2_PACKAGE_MPD_MPG123 || BR2_PACKAGE_MPD_VORBIS || BR2_PACKAGE_MPD_WAVPACK || BR2_PACKAGE_MPD_FLAC || BR2_PACKAGE_MPD_MUSEPACK || BR2_PACKAGE_MPD_FFMPEG)
	help
	  MPD is a flexible, powerful, server-side application
	  for playing music. Through plugins and libraries
	  it can play a variety of sound files while being
	  controlled by its network protocol.

	  http://www.musicpd.org

if BR2_PACKAGE_MPD

# Hidden config symbols to select the branch 0.20 by default and fallback
# to branch 0.19 for toolchains affected by GCC bug PR 64735. This way we
# keep support for mpd on some architectures, like ARMv5, until GCC 7 is
# released, which will fix this issue.
config BR2_PACKAGE_MPD_VERSION_STRING
	string
	default "0.20" if !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
	default "0.19"

config BR2_PACKAGE_MPD_VERSION_0_20
	bool
	default y if BR2_PACKAGE_MPD_VERSION_STRING = "0.20"

config BR2_PACKAGE_MPD_VERSION_0_19
	bool
	default y if BR2_PACKAGE_MPD_VERSION_STRING = "0.19"
	select BR2_PACKAGE_LIBGLIB2

comment "Archive plugins"

config BR2_PACKAGE_MPD_BZIP2
	bool "bzip2"
	select BR2_PACKAGE_BZIP2
	help
	  Enable bzip2 archive support.

config BR2_PACKAGE_MPD_SQLITE
	bool "sqlite"
	select BR2_PACKAGE_SQLITE
	help
	  Enable sqlite database support.
	  If you don't use sqlite it will use an ASCII database.

comment "Converter plugins"

config BR2_PACKAGE_MPD_LIBSAMPLERATE
	bool "libsamplerate"
	select BR2_PACKAGE_LIBSAMPLERATE
	help
	  Enable libsamplerate input support.
	  Select this for software sample rate conversion.

config BR2_PACKAGE_MPD_LIBSOXR
	bool "libsoxr"
	select BR2_PACKAGE_LIBSOXR
	help
	  Enable libsoxr resampler support.
	  The SoX Resampler library performs software sample-rate
	  conversion.

comment "Decoder plugins"

config BR2_PACKAGE_MPD_AUDIOFILE
	bool "audiofile"
	select BR2_PACKAGE_AUDIOFILE
	help
	  Enable audiofile input/streaming support.
	  Select this if you want to play back WAV files.

config BR2_PACKAGE_MPD_DSD
	bool "dsd"
	help
	  Enable Digital Speech Decoder (DSD) support to play audio
	  files encoded in a digital speech format.

config BR2_PACKAGE_MPD_FAAD2
	bool "faad2"
	select BR2_PACKAGE_FAAD2
	help
	  Enable faad2 input support.
	  Select this if you want to play back MP4/AAC files.

config BR2_PACKAGE_MPD_FFMPEG
	bool "ffmpeg"
	depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
	select BR2_PACKAGE_FFMPEG
	help
	  Enable ffmpeg input support.
	  Select this if you want to play back files supported by
	  ffmpeg.

config BR2_PACKAGE_MPD_FLAC
	bool "flac"
	select BR2_PACKAGE_FLAC
	help
	  Enable flac input/streaming support.
	  Select this if you want to play back FLAC files.

config BR2_PACKAGE_MPD_LIBSNDFILE
	bool "libsndfile"
	select BR2_PACKAGE_LIBSNDFILE
	help
	  Enable libsndfile input/streaming support.
	  Select this if you want to play back WAV files.

config BR2_PACKAGE_MPD_MAD
	bool "mad"
	default y
	select BR2_PACKAGE_LIBID3TAG
	select BR2_PACKAGE_LIBMAD
	help
	  Enable mad input support.
	  Select this if you want to play back MP3 files.

config BR2_PACKAGE_MPD_MPG123
	bool "mpg123"
	select BR2_PACKAGE_LIBID3TAG
	select BR2_PACKAGE_MPG123
	help
	  Enable mpg123 input support.
	  Select this if you want to play back MP3 files.

config BR2_PACKAGE_MPD_MUSEPACK
	bool "musepack"
	select BR2_PACKAGE_LIBCUEFILE
	select BR2_PACKAGE_LIBREPLAYGAIN
	select BR2_PACKAGE_MUSEPACK
	help
	  Enable musepack input support.
	  Select this if you want to play back MPC files.

config BR2_PACKAGE_MPD_OPUS
	bool "opus"
	select BR2_PACKAGE_OPUS
	select BR2_PACKAGE_LIBOGG
	help
	  Enable opus input support.
	  Select this if you want to play back OPUS encoded files.

config BR2_PACKAGE_MPD_TREMOR
	bool "tremor"
	select BR2_PACKAGE_LIBOGG
	select BR2_PACKAGE_TREMOR
	help
	  Enable vorbis input support.
	  Select this if you want to play back OGG files on softfloat
	  targets.

config BR2_PACKAGE_MPD_VORBIS
	bool "vorbis"
	select BR2_PACKAGE_LIBOGG
	select BR2_PACKAGE_LIBVORBIS
	help
	  Enable vorbis input/streaming support.
	  Select this if you want to play back OGG files on hardfloat
	  targets.

config BR2_PACKAGE_MPD_WAVPACK
	bool "wavpack"
	select BR2_PACKAGE_WAVPACK
	help
	  Enable wavpack input support.
	  Select this if you want to play back WV files.

comment "Encoder plugins"

config BR2_PACKAGE_MPD_LAME
	bool "lame"
	select BR2_PACKAGE_LAME
	help
	  Enable lame (mp3) encoding support.

config BR2_PACKAGE_MPD_TWOLAME
	bool "twolame"
	select BR2_PACKAGE_TWOLAME
	help
	  Enable TwoLAME mp2 encoding.

comment "Input plugins"

config BR2_PACKAGE_MPD_CURL
	bool "curl"
	select BR2_PACKAGE_LIBCURL
	help
	  Enable curl streaming (http) support.

config BR2_PACKAGE_MPD_LIBNFS
	bool "nfs"
	# libnfs -> libtirpc
	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC || BR2_TOOLCHAIN_HAS_THREADS
	select BR2_PACKAGE_LIBNFS
	help
	  Enable Network File System (NFS) support.

comment "nfs support needs a toolchain w/ threads support"
	depends on !(BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_HAS_NATIVE_RPC)

comment "samba support needs a glibc toolchain w/ dynamic library, RPC"
	depends on !BR2_nios2
	depends on !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS || \
		!BR2_TOOLCHAIN_HAS_NATIVE_RPC

config BR2_PACKAGE_MPD_LIBSMBCLIENT
	bool "samba"
	depends on !BR2_nios2 # samba
	depends on BR2_TOOLCHAIN_USES_GLIBC
	depends on !BR2_STATIC_LIBS
	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	select BR2_PACKAGE_SAMBA4
	help
	  Enable Samba support.

config BR2_PACKAGE_MPD_SOUNDCLOUD
	bool "soundcloud"
	select BR2_PACKAGE_YAJL
	help
	  Enable soundcloud.com playlist support.

comment "Output plugins"

config BR2_PACKAGE_MPD_ALSA
	bool "alsa"
	default y
	select BR2_PACKAGE_ALSA_LIB
	select BR2_PACKAGE_ALSA_LIB_PCM
	select BR2_PACKAGE_ALSA_LIB_MIXER
	help
	  Enable alsa output support.

config BR2_PACKAGE_MPD_AO
	bool "ao"
	select BR2_PACKAGE_LIBAO
	help
	  Enable libao output support.

config BR2_PACKAGE_MPD_HTTPD_OUTPUT
	bool "httpd output"
	help
	  Enable httpd output support.

config BR2_PACKAGE_MPD_JACK2
	bool "jack2"
	depends on !BR2_STATIC_LIBS # jack2
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	select BR2_PACKAGE_JACK2
	help
	  Enable jack output support.

comment "jack support needs a toolchain w/ dynamic library"
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on BR2_STATIC_LIBS

config BR2_PACKAGE_MPD_OSS
	bool "oss"
	help
	  Enable OSS (Open Sound System) output support.

config BR2_PACKAGE_MPD_PULSEAUDIO
	bool "pulseaudio"
	depends on !BR2_STATIC_LIBS # pulseaudio
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pulseaudio -> json-c
	select BR2_PACKAGE_PULSEAUDIO
	help
	  Enable pulseaudio output support.

comment "pulseaudio support needs a toolchain w/ dynamic library"
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on BR2_STATIC_LIBS

config BR2_PACKAGE_MPD_SHOUTCAST
	bool "shoutcast"
	select BR2_PACKAGE_LIBSHOUT
	help
	  Enable shoutcast streaming output support.

comment "Miscellaneous plugins"

config BR2_PACKAGE_MPD_AVAHI_SUPPORT
	bool "avahi (zeroconf) support"
	depends on !BR2_STATIC_LIBS # avahi
	select BR2_PACKAGE_AVAHI
	select BR2_PACKAGE_AVAHI_DAEMON
	select BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY
	help
	  Enable Avahi (zeroconf) support.
	  Select this for multicast DNS/DNS-SD service discovery
	  support. This allows MPD to publish service information on a
	  local network.

comment "avahi support needs a toolchain w/ dynamic library"
	depends on BR2_STATIC_LIBS

config BR2_PACKAGE_MPD_NEIGHBOR_DISCOVERY_SUPPORT
	bool "neighbor discovery support"
	depends on BR2_PACKAGE_MPD_LIBSMBCLIENT || BR2_PACKAGE_MPD_UPNP
	help
	  Enable support for neighbor discovery.
	  This option can be used in conjunction with the smbclient
	  plugin to provide a list of SMB/CIFS servers or with the
	  UPnP plugin to provide a list of UPnP servers on the local
	  network. The neighbor plugin needs configuration in
	  mpd.conf. For further information take a look at the MPD
	  documentation.

config BR2_PACKAGE_MPD_TCP
	bool "tcp sockets"
	default y
	help
	  Enable MPD to listen on tcp sockets.

	  You want this on if MPD and the client(s) work
	  on different machines (the usual scenario).

config BR2_PACKAGE_MPD_UPNP
	bool "UPnP"
	select BR2_PACKAGE_EXPAT
	select BR2_PACKAGE_LIBUPNP
	help
	  Enable MPD UPnP client support.

endif

comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 4.9"
	depends on BR2_USE_MMU
	depends on BR2_TOOLCHAIN_HAS_ATOMIC
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9