config BR2_PACKAGE_FREESWITCH
	bool "freeswitch"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on !BR2_STATIC_LIBS # apr, included in freeswitch source
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_USE_MMU # apr, included in freeswitch source
	depends on BR2_USE_WCHAR # libuuid
	select BR2_PACKAGE_FFMPEG_AVRESAMPLE if BR2_PACKAGE_FFMPEG
	select BR2_PACKAGE_FFMPEG_SWSCALE if BR2_PACKAGE_FFMPEG
	select BR2_PACKAGE_LIBCURL
	select BR2_PACKAGE_JPEG
	# src/mod/applications/mod_cv/mod_cv.cpp includes
	# highgui.h, imgproc.hpp & objdetect.hpp
	select BR2_PACKAGE_OPENCV_LIB_HIGHGUI if BR2_PACKAGE_OPENCV
	select BR2_PACKAGE_OPENCV_LIB_IMGPROC if BR2_PACKAGE_OPENCV
	select BR2_PACKAGE_OPENCV_LIB_OBJDETECT if BR2_PACKAGE_OPENCV
	select BR2_PACKAGE_OPENSSL
	select BR2_PACKAGE_PCRE
	select BR2_PACKAGE_SPEEX
	select BR2_PACKAGE_SQLITE
	select BR2_PACKAGE_UTIL_LINUX
	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
	select BR2_PACKAGE_ZLIB
	help
	  FreeSWITCH is a scalable open source cross-platform
	  telephony platform designed to route and interconnect
	  popular communication protocols using audio, video, text or
	  any other form of media.

	  https://www.freeswitch.org

comment "freeswitch needs a toolchain w/ C++, dynamic library, threads, wchar"
	depends on BR2_USE_MMU
	depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS \
		|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
