kumquat-buildroot/package/mpd/Config.in
Fabrice Fontaine 5395b1ca45 package/mpd: fix static build with tremor and vorbis
mpd can't be built statically with tremor and vorbis, build fails on:
block.c:(.text+0x11c): multiple definition of `vorbis_block_init'
/usr/lfs/v0/rc-buildroot-test/scripts/instance-2/output/host/bin/../sparc-buildroot-linux-uclibc/sysroot/usr/lib/libvorbisidec.a(block.o):block.c:(.text+0x0): first defined here
/usr/lfs/v0/rc-buildroot-test/scripts/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/7.4.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: Disabling relaxation: it will not work with multiple definitions
/usr/lfs/v0/rc-buildroot-test/scripts/instance-2/output/host/bin/../sparc-buildroot-linux-uclibc/sysroot/usr/lib/libvorbis.a(block.o): In function `_vorbis_block_alloc':

Fix this by making both options mutually exclusive

It should be noted that upstream explicitly removed the possibility to
enable tremor and vorbis at the same time since version 0.21.6 and
c18cd941aa
Since we only have 0.20.23, it is still possible to build them together,
but there is clearly no need to allow it.

Fixes:
 - http://autobuild.buildroot.org/results/60c721a82ffd668bebf02d80bca83780d6cdb2f2

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-06-08 22:11:26 +02:00

348 lines
8.7 KiB
Plaintext

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
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
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
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"
depends on !BR2_PACKAGE_MPD_VORBIS
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_CDIO_PARANOIA
bool "cdio-paranoia"
select BR2_PACKAGE_LIBCDIO_PARANOIA
help
Enable cdio-paranoia support.
config BR2_PACKAGE_MPD_CURL
bool "curl"
select BR2_PACKAGE_LIBCURL
help
Enable curl streaming (http) support.
config BR2_PACKAGE_MPD_LIBMMS
bool "mms"
select BR2_PACKAGE_LIBMMS
help
Enable MMS 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_PACKAGE_PULSEAUDIO_HAS_ATOMIC
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_STATIC_LIBS
depends on BR2_USE_MMU
select BR2_PACKAGE_PULSEAUDIO
help
Enable pulseaudio output support.
comment "pulseaudio support needs a toolchain w/ threads, wchar, dynamic library"
depends on BR2_USE_MMU
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || !BR2_USE_WCHAR
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_LIBMPDCLIENT
bool "libmpdclient"
select BR2_PACKAGE_LIBMPDCLIENT
help
Enable libmpdclient support.
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_LIBUPNP18 if !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
comment "mpd needs a toolchain not affected by GCC bug 64735"
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735