Files
Thomas Petazzoni f0977e4b81 package/freeswitch: fixup dependency on OpenCV4
The recent changes in freeswitch following the removal of OpenCV 3.x
in commit
a6db6af9ff ("package/freeswitch: remove
optional dependency to opencv3") caused some invalid dependencies.

Indeed, the new logic selects BR2_PACKAGE_OPENCV4_LIB_OBJDETECT as
soon as BR2_PACKAGE_OPENCV4 is enabled, without worrying about the
dependencies of BR2_PACKAGE_OPENCV4_LIB_OBJDETECT.

This causes the following Kconfig warning:

WARNING: unmet direct dependencies detected for BR2_PACKAGE_OPENCV4_LIB_OBJDETECT
  Depends on [n]: BR2_PACKAGE_OPENCV4 [=y] && !BR2_TOOLCHAIN_USES_UCLIBC [=n] && BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS [=y] && BR2_TOOLCHAIN_GCC_AT_LEAST_8 [=n]
  Selected by [y]:
  - BR2_PACKAGE_FREESWITCH [=y] && BR2_INSTALL_LIBSTDCPP [=y] && !BR2_STATIC_LIBS [=n] && BR2_TOOLCHAIN_HAS_THREADS [=y] && BR2_USE_MMU [=y] && BR2_USE_WCHAR [=y] && BR2_PACKAGE_OPENCV4 [=y]

Since freeswitch as no visible sub-options to select extra features
and we wanted to keep it this way, we introduce a hidden sub-option
that informs freeswitch.mk whether OpenCV 4 support is usable. It
makes it easier to express the dependencies that are needed for this
OpenCV 4 to be usable.

Fixes: a6db6af9ff ("package/freeswitch: remove optional dependency to opencv3")
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2026-01-04 14:00:16 +01:00

48 lines
1.6 KiB
Plaintext

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 # uses wchar_t
select BR2_PACKAGE_FFMPEG_SWSCALE if BR2_PACKAGE_FFMPEG
select BR2_PACKAGE_LIBCURL
select BR2_PACKAGE_LIBXCRYPT if BR2_TOOLCHAIN_USES_GLIBC
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_PCRE
select BR2_PACKAGE_SOFIA_SIP
select BR2_PACKAGE_SPANDSP
select BR2_PACKAGE_SPEEX
select BR2_PACKAGE_SPEEXDSP
select BR2_PACKAGE_SQLITE
select BR2_PACKAGE_TIFF
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
config BR2_PACKAGE_FREESWITCH_OPENCV4
bool
default y
depends on BR2_PACKAGE_OPENCV4
depends on !BR2_TOOLCHAIN_USES_UCLIBC # objdetect
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # objdetect
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # objdetect
# src/mod/applications/mod_cv/mod_cv.cpp includes
# highgui.h, imgproc.hpp & objdetect.hpp
select BR2_PACKAGE_OPENCV4_LIB_HIGHGUI
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
select BR2_PACKAGE_OPENCV4_LIB_OBJDETECT
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