config BR2_PACKAGE_MINIDLNA
	bool "minidlna"
	depends on BR2_LARGEFILE # ffmpeg
	depends on BR2_INET_IPV6 # ffmpeg
	depends on BR2_USE_WCHAR # flac
	depends on BR2_USE_MMU # fork
	depends on BR2_TOOLCHAIN_HAS_THREADS
	select BR2_PACKAGE_FFMPEG
	select BR2_PACKAGE_FLAC
	select BR2_PACKAGE_LIBVORBIS # selects libogg
	select BR2_PACKAGE_LIBOGG
	select BR2_PACKAGE_LIBID3TAG # selects zlib
	select BR2_PACKAGE_LIBEXIF
	select BR2_PACKAGE_LIBJPEG
	select BR2_PACKAGE_SQLITE
	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
	# Triggers the _gp link issue in nios2
	depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
	depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
	help
	  MiniDLNA (aka ReadyDLNA) is server software with the aim of being
	  fully compliant with DLNA/UPnP-AV clients.

	  http://minidlna.sourceforge.net/

comment "minidlna needs a toolchain w/ largefile, IPv6, threads, wchar"
	depends on BR2_USE_MMU
	depends on !(BR2_LARGEFILE && BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR)
