Config.in 11 KB

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