Config.in 11 KB

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