xref: /OK3568_Linux_fs/buildroot/package/mpd/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1menuconfig BR2_PACKAGE_MPD
2	bool "mpd"
3	depends on BR2_INSTALL_LIBSTDCPP
4	depends on BR2_USE_WCHAR # flac
5	depends on BR2_TOOLCHAIN_HAS_THREADS
6	depends on BR2_USE_MMU # fork
7	depends on BR2_TOOLCHAIN_HAS_ATOMIC
8	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17
9	depends on BR2_HOST_GCC_AT_LEAST_8 # C++17
10	select BR2_PACKAGE_BOOST
11	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
12	help
13	  MPD is a flexible, powerful, server-side application
14	  for playing music. Through plugins and libraries
15	  it can play a variety of sound files while being
16	  controlled by its network protocol.
17
18	  http://www.musicpd.org
19
20if BR2_PACKAGE_MPD
21
22comment "Archive plugins"
23
24config BR2_PACKAGE_MPD_BZIP2
25	bool "bzip2"
26	select BR2_PACKAGE_BZIP2
27	help
28	  Enable bzip2 archive support.
29
30config BR2_PACKAGE_MPD_SQLITE
31	bool "sqlite"
32	select BR2_PACKAGE_SQLITE
33	help
34	  Enable sqlite database support.
35	  If you don't use sqlite it will use an ASCII database.
36
37config BR2_PACKAGE_MPD_ZZIP
38	bool "zzip"
39	select BR2_PACKAGE_ZZIPLIB
40	help
41	  Enable ZIP archive support.
42
43comment "Commercial services"
44
45config BR2_PACKAGE_MPD_QOBUZ
46	bool "qobuz"
47	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS
48	select BR2_PACKAGE_MPD_CURL
49	select BR2_PACKAGE_LIBGCRYPT
50	select BR2_PACKAGE_YAJL
51	help
52	  Play songs from the commercial streaming service Qobuz.
53
54config BR2_PACKAGE_MPD_SOUNDCLOUD
55	bool "soundcloud"
56	select BR2_PACKAGE_MPD_CURL
57	select BR2_PACKAGE_YAJL
58	help
59	  Enable soundcloud.com playlist support.
60
61comment "Converter plugins"
62
63config BR2_PACKAGE_MPD_LIBSAMPLERATE
64	bool "libsamplerate"
65	select BR2_PACKAGE_LIBSAMPLERATE
66	help
67	  Enable libsamplerate input support.
68	  Select this for software sample rate conversion.
69
70config BR2_PACKAGE_MPD_LIBSOXR
71	bool "libsoxr"
72	select BR2_PACKAGE_LIBSOXR
73	help
74	  Enable libsoxr resampler support.
75	  The SoX Resampler library performs software sample-rate
76	  conversion.
77
78comment "Decoder plugins"
79
80config BR2_PACKAGE_MPD_DSD
81	bool "dsd"
82	help
83	  Enable Digital Speech Decoder (DSD) support to play audio
84	  files encoded in a digital speech format.
85
86config BR2_PACKAGE_MPD_FAAD2
87	bool "faad2"
88	select BR2_PACKAGE_FAAD2
89	help
90	  Enable faad2 input support.
91	  Select this if you want to play back MP4/AAC files.
92
93config BR2_PACKAGE_MPD_FFMPEG
94	bool "ffmpeg"
95	depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
96	select BR2_PACKAGE_FFMPEG
97	help
98	  Enable ffmpeg input support.
99	  Select this if you want to play back files supported by
100	  ffmpeg.
101
102config BR2_PACKAGE_MPD_FLAC
103	bool "flac"
104	select BR2_PACKAGE_FLAC
105	help
106	  Enable flac input/streaming support.
107	  Select this if you want to play back FLAC files.
108
109config BR2_PACKAGE_MPD_FLUIDSYNTH
110	bool "fluidsynth"
111	depends on !BR2_STATIC_LIBS
112	select BR2_PACKAGE_FLUIDSYNTH
113	help
114	  Enable fluidsynth MIDI decoder support.
115
116comment "fluidsynth support needs a toolchain w/ dynamic library"
117	depends on BR2_STATIC_LIBS
118
119config BR2_PACKAGE_MPD_LIBSNDFILE
120	bool "libsndfile"
121	select BR2_PACKAGE_LIBSNDFILE
122	help
123	  Enable libsndfile input/streaming support.
124	  Select this if you want to play back WAV files.
125
126config BR2_PACKAGE_MPD_MAD
127	bool "mad"
128	default y
129	select BR2_PACKAGE_LIBID3TAG
130	select BR2_PACKAGE_LIBMAD
131	help
132	  Enable mad input support.
133	  Select this if you want to play back MP3 files.
134
135config BR2_PACKAGE_MPD_MODPLUG
136	bool "modplug"
137	select BR2_PACKAGE_LIBMODPLUG
138	help
139	  Enable Modplug decoder support.
140
141config BR2_PACKAGE_MPD_MPG123
142	bool "mpg123"
143	select BR2_PACKAGE_LIBID3TAG
144	select BR2_PACKAGE_MPG123
145	help
146	  Enable mpg123 input support.
147	  Select this if you want to play back MP3 files.
148
149config BR2_PACKAGE_MPD_MUSEPACK
150	bool "musepack"
151	select BR2_PACKAGE_LIBCUEFILE
152	select BR2_PACKAGE_LIBREPLAYGAIN
153	select BR2_PACKAGE_MUSEPACK
154	help
155	  Enable musepack input support.
156	  Select this if you want to play back MPC files.
157
158config BR2_PACKAGE_MPD_OPUS
159	bool "opus"
160	select BR2_PACKAGE_OPUS
161	select BR2_PACKAGE_LIBOGG
162	help
163	  Enable opus input support.
164	  Select this if you want to play back OPUS encoded files.
165
166config BR2_PACKAGE_MPD_SIDPLAY
167	bool "sidplay"
168	select BR2_PACKAGE_LIBSIDPLAY2
169	help
170	  Enable C64 SID support.
171
172config BR2_PACKAGE_MPD_TREMOR
173	bool "tremor"
174	depends on !BR2_PACKAGE_MPD_VORBIS
175	select BR2_PACKAGE_LIBOGG
176	select BR2_PACKAGE_TREMOR
177	help
178	  Enable vorbis input support.
179	  Select this if you want to play back OGG files on softfloat
180	  targets.
181
182config BR2_PACKAGE_MPD_VORBIS
183	bool "vorbis"
184	select BR2_PACKAGE_LIBOGG
185	select BR2_PACKAGE_LIBVORBIS
186	help
187	  Enable vorbis input/streaming support.
188	  Select this if you want to play back OGG files on hardfloat
189	  targets.
190
191config BR2_PACKAGE_MPD_WAVPACK
192	bool "wavpack"
193	select BR2_PACKAGE_WAVPACK
194	help
195	  Enable wavpack input support.
196	  Select this if you want to play back WV files.
197
198comment "Encoder plugins"
199
200config BR2_PACKAGE_MPD_LAME
201	bool "lame"
202	select BR2_PACKAGE_LAME
203	help
204	  Enable lame (mp3) encoding support.
205
206config BR2_PACKAGE_MPD_TWOLAME
207	bool "twolame"
208	select BR2_PACKAGE_TWOLAME
209	help
210	  Enable TwoLAME mp2 encoding.
211
212comment "Input plugins"
213
214config BR2_PACKAGE_MPD_CDIO_PARANOIA
215	bool "cdio-paranoia"
216	select BR2_PACKAGE_LIBCDIO_PARANOIA
217	help
218	  Enable cdio-paranoia support.
219
220config BR2_PACKAGE_MPD_CURL
221	bool "curl"
222	select BR2_PACKAGE_LIBCURL
223	help
224	  Enable curl streaming (http) support.
225
226config BR2_PACKAGE_MPD_LIBMMS
227	bool "mms"
228	select BR2_PACKAGE_LIBMMS
229	help
230	  Enable MMS support.
231
232config BR2_PACKAGE_MPD_LIBNFS
233	bool "nfs"
234	# libnfs -> libtirpc
235	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC || BR2_TOOLCHAIN_HAS_THREADS
236	select BR2_PACKAGE_LIBNFS
237	help
238	  Enable Network File System (NFS) support.
239
240comment "nfs support needs a toolchain w/ threads support"
241	depends on !(BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_HAS_NATIVE_RPC)
242
243comment "samba support needs a glibc toolchain w/ dynamic library, RPC"
244	depends on !BR2_nios2
245	depends on !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS || \
246		!BR2_TOOLCHAIN_HAS_NATIVE_RPC
247
248config BR2_PACKAGE_MPD_LIBSMBCLIENT
249	bool "samba"
250	depends on !BR2_nios2 # samba
251	depends on BR2_TOOLCHAIN_USES_GLIBC
252	depends on !BR2_STATIC_LIBS
253	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
254	depends on BR2_TOOLCHAIN_HAS_SYNC_4
255	select BR2_PACKAGE_SAMBA4
256	help
257	  Enable Samba support.
258
259comment "Output plugins"
260
261config BR2_PACKAGE_MPD_ALSA
262	bool "alsa"
263	default y
264	select BR2_PACKAGE_ALSA_LIB
265	select BR2_PACKAGE_ALSA_LIB_PCM
266	select BR2_PACKAGE_ALSA_LIB_MIXER
267	help
268	  Enable alsa output support.
269
270config BR2_PACKAGE_MPD_AO
271	bool "ao"
272	select BR2_PACKAGE_LIBAO
273	help
274	  Enable libao output support.
275
276config BR2_PACKAGE_MPD_HTTPD_OUTPUT
277	bool "httpd output"
278	help
279	  Enable httpd output support.
280
281config BR2_PACKAGE_MPD_JACK2
282	bool "jack2"
283	depends on !BR2_STATIC_LIBS # jack2
284	depends on BR2_TOOLCHAIN_HAS_SYNC_4
285	select BR2_PACKAGE_JACK2
286	help
287	  Enable jack output support.
288
289comment "jack support needs a toolchain w/ dynamic library"
290	depends on BR2_TOOLCHAIN_HAS_SYNC_4
291	depends on BR2_STATIC_LIBS
292
293config BR2_PACKAGE_MPD_OPENAL
294	bool "openal"
295	depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
296	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
297	select BR2_PACKAGE_OPENAL
298	help
299	  Enable OpenAL output support.
300
301comment "openal support needs a toolchain w/ NPTL"
302	depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
303	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
304
305config BR2_PACKAGE_MPD_OSS
306	bool "oss"
307	help
308	  Enable OSS (Open Sound System) output support.
309
310config BR2_PACKAGE_MPD_PULSEAUDIO
311	bool "pulseaudio"
312	depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
313	depends on BR2_USE_WCHAR
314	depends on BR2_TOOLCHAIN_HAS_THREADS
315	depends on !BR2_STATIC_LIBS
316	depends on BR2_USE_MMU
317	select BR2_PACKAGE_PULSEAUDIO
318	help
319	  Enable pulseaudio output support.
320
321comment "pulseaudio support needs a toolchain w/ threads, wchar, dynamic library"
322	depends on BR2_USE_MMU
323	depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
324	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || !BR2_USE_WCHAR
325
326config BR2_PACKAGE_MPD_SHOUTCAST
327	bool "shoutcast"
328	select BR2_PACKAGE_LIBSHOUT
329	help
330	  Enable shoutcast streaming output support.
331
332comment "Miscellaneous plugins"
333
334config BR2_PACKAGE_MPD_AVAHI_SUPPORT
335	bool "avahi (zeroconf) support"
336	depends on !BR2_STATIC_LIBS # avahi
337	select BR2_PACKAGE_AVAHI
338	select BR2_PACKAGE_AVAHI_DAEMON
339	select BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY
340	help
341	  Enable Avahi (zeroconf) support.
342	  Select this for multicast DNS/DNS-SD service discovery
343	  support. This allows MPD to publish service information on a
344	  local network.
345
346comment "avahi support needs a toolchain w/ dynamic library"
347	depends on BR2_STATIC_LIBS
348
349config BR2_PACKAGE_MPD_LIBMPDCLIENT
350	bool "libmpdclient"
351	select BR2_PACKAGE_LIBMPDCLIENT
352	help
353	  Enable libmpdclient support.
354
355config BR2_PACKAGE_MPD_NEIGHBOR_DISCOVERY_SUPPORT
356	bool "neighbor discovery support"
357	depends on BR2_PACKAGE_MPD_LIBSMBCLIENT || BR2_PACKAGE_MPD_UPNP
358	help
359	  Enable support for neighbor discovery.
360	  This option can be used in conjunction with the smbclient
361	  plugin to provide a list of SMB/CIFS servers or with the
362	  UPnP plugin to provide a list of UPnP servers on the local
363	  network. The neighbor plugin needs configuration in
364	  mpd.conf. For further information take a look at the MPD
365	  documentation.
366
367config BR2_PACKAGE_MPD_TCP
368	bool "tcp sockets"
369	default y
370	help
371	  Enable MPD to listen on tcp sockets.
372
373	  You want this on if MPD and the client(s) work
374	  on different machines (the usual scenario).
375
376config BR2_PACKAGE_MPD_UPNP
377	bool "UPnP"
378	select BR2_PACKAGE_EXPAT
379	select BR2_PACKAGE_LIBUPNP
380	select BR2_PACKAGE_MPD_CURL
381	help
382	  Enable MPD UPnP client support.
383
384comment "Tag plugins"
385
386config BR2_PACKAGE_MPD_ID3TAG
387	bool "id3tag"
388	select BR2_PACKAGE_LIBID3TAG
389	help
390	  Enable ID3 support.
391
392endif
393
394comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 7, host gcc >= 7"
395	depends on BR2_USE_MMU
396	depends on BR2_TOOLCHAIN_HAS_ATOMIC
397	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
398		!BR2_TOOLCHAIN_HAS_THREADS || \
399		!BR2_TOOLCHAIN_GCC_AT_LEAST_8 || \
400		!BR2_HOST_GCC_AT_LEAST_8
401