@@ -2148,6 +2148,7 @@ menu "Other"
source "package/cracklib/Config.in"
source "package/dawgdic/Config.in"
source "package/ding-libs/Config.in"
+ source "package/dlib/Config.in"
source "package/dotconf/Config.in"
source "package/double-conversion/Config.in"
source "package/eigen/Config.in"
new file mode 100644
@@ -0,0 +1,60 @@
+config BR2_PACKAGE_DLIB
+ bool "dlib"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ help
+ Dlib is a modern C++ toolkit containing machine learning
+ algorithms and tools for creating complex software in C++ to
+ solve real world problems.
+
+ http://dlib.net
+
+if BR2_PACKAGE_DLIB
+
+config BR2_PACKAGE_DLIB_GIF_SUPPORT
+ bool "GIF support"
+ select BR2_PACKAGE_GIFLIB
+
+config BR2_PACKAGE_DLIB_JPEG_SUPPORT
+ bool "JPEG support"
+ select BR2_PACKAGE_JPEG
+
+config BR2_PACKAGE_DLIB_JXL_SUPPORT
+ bool "JXL support"
+ select BR2_PACKAGE_LIBJXL
+
+config BR2_PACKAGE_DLIB_GUI_SUPPORT
+ bool "GUI support"
+ depends on BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XLIB_LIBX11
+
+config BR2_PACKAGE_DLIB_PNG_SUPPORT
+ bool "PNG support"
+ select BR2_PACKAGE_LIBPNG
+
+config BR2_PACKAGE_DLIB_USE_BLAS
+ bool "use openblas"
+ depends on BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS
+ select BR2_PACKAGE_OPENBLAS
+
+config BR2_PACKAGE_DLIB_USE_FFMPEG
+ bool "use ffmpeg"
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
+ select BR2_PACKAGE_FFMPEG
+ select BR2_PACKAGE_FFMPEG_SWSCALE
+
+config BR2_PACKAGE_DLIB_USE_LAPACK
+ bool "use lapack"
+ depends on BR2_PACKAGE_LAPACK_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_HAS_FORTRAN
+ select BR2_PACKAGE_LAPACK
+
+config BR2_PACKAGE_DLIB_WEBP_SUPPORT
+ bool "WEBP support"
+ select BR2_PACKAGE_WEBP
+
+endif
+
+comment "dlib needs a toolchain w/ C++, threads"
+ depends on !BR2_INSTALL_LIBSTDCPP || \
+ !BR2_TOOLCHAIN_HAS_THREADS
new file mode 100644
@@ -0,0 +1,12 @@
+sha256 22513c353ec9c153300c394050c96ca9d088e02966ac0f639e989e50318c82d6 dlib-19.24.6.tar.gz
+
+# Hashes for license files:
+sha256 50c1c5978d490c7f13062d91c4b89affc83774f87bc4568a714f748b62a5b216 dlib/external/libjpeg/README
+sha256 debfae299fa4118b0a586af4cf7ac8d38aae81ac4e9995c935862aaee6eb0362 dlib/external/libpng/LICENSE
+sha256 83965b843b98f670d3a85bd041ed4b372c8ec50d7b4a5995a83ac697ba675dcb dlib/external/pybind11/LICENSE
+sha256 8d8291caf1cee26d23acf3eb67c9f9a2d58f1c681b16a4fbe8cbfb9e3c0b5a9b dlib/LICENSE.txt
+sha256 908b0b565ae9bf61b7b41447cb0b83564f320375723bcc884ec30e5537a0d5dc dlib/test/ffmpeg_data/LICENSE.TXT
+sha256 78515536a4b0d896745b6483fccc561987e8e2f2d014dc81d7c2e97c497a0a69 examples/LICENSE_FOR_EXAMPLE_PROGRAMS.txt
+sha256 a0e7b40719ba74630debe9fae1cb847ee436215451123254a690171d09fb036e examples/video_frames/license.txt
+sha256 8d8291caf1cee26d23acf3eb67c9f9a2d58f1c681b16a4fbe8cbfb9e3c0b5a9b LICENSE.txt
+sha256 8acb12b218fdb5e071f25eda9ac990d04888388b65095867d9007c278a9f993b python_examples/LICENSE_FOR_EXAMPLE_PROGRAMS.txt
new file mode 100644
@@ -0,0 +1,97 @@
+################################################################################
+#
+# dlib
+#
+################################################################################
+
+DLIB_VERSION = 19.24.6
+DLIB_SITE = $(call github,davisking,dlib,v$(DLIB_VERSION))
+DLIB_CMAKE_BACKEND = ninja
+DLIB_SUPPORTS_IN_SOURCE_BUILD = NO
+
+DLIB_LICENSE = \
+ BSD-3-Clause (kissfft, pybind11) \
+ BSL-1.0 (dlib, tools) \
+ CC0-1.0 (examples) \
+ libpng-2.0 (libpng) \
+ MIT OR CC0-1.0 (JoinPaths.cmake)
+
+DLIB_LICENSE_FILES = \
+ dlib/external/libjpeg/README \
+ dlib/external/libpng/LICENSE \
+ dlib/external/pybind11/LICENSE \
+ dlib/LICENSE.txt \
+ dlib/test/ffmpeg_data/LICENSE.TXT \
+ examples/LICENSE_FOR_EXAMPLE_PROGRAMS.txt \
+ examples/video_frames/license.txt \
+ LICENSE.txt \
+ python_examples/LICENSE_FOR_EXAMPLE_PROGRAMS.txt
+
+DLIB_CONF_OPTS = \
+ -DDLIB_USE_CUDA=OFF \
+ -DDLIB_USE_MKL_FFT=OFF
+
+ifeq ($(BR2_PACKAGE_DLIB_GIF_SUPPORT),y)
+DLIB_CONF_OPTS += -DDLIB_GIF_SUPPORT=ON
+DLIB_DEPENDENCIES += giflib
+else
+DLIB_CONF_OPTS += -DDLIB_GIF_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_GUI_SUPPORT),y)
+DLIB_CONF_OPTS += -DDLIB_NO_GUI_SUPPORT=OFF
+DLIB_DEPENDENCIES += xlib_libX11
+else
+DLIB_CONF_OPTS += -DDLIB_NO_GUI_SUPPORT=ON
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_JPEG_SUPPORT),y)
+DLIB_CONF_OPTS += -DDLIB_JPEG_SUPPORT=ON
+DLIB_DEPENDENCIES += jpeg
+else
+DLIB_CONF_OPTS += -DDLIB_JPEG_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_JXL_SUPPORT),y)
+DLIB_CONF_OPTS += -DDLIB_JXL_SUPPORT=ON
+DLIB_DEPENDENCIES += libjxl
+else
+DLIB_CONF_OPTS += -DDLIB_JXL_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_PNG_SUPPORT),y)
+DLIB_CONF_OPTS += -DDLIB_PNG_SUPPORT=ON
+DLIB_DEPENDENCIES += libpng
+else
+DLIB_CONF_OPTS += -DDLIB_PNG_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_USE_BLAS),y)
+DLIB_CONF_OPTS += -DDLIB_USE_BLAS=ON
+DLIB_DEPENDENCIES += openblas
+else
+DLIB_CONF_OPTS += -DDLIB_USE_BLAS=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_USE_FFMPEG),y)
+DLIB_CONF_OPTS += -DDLIB_USE_FFMPEG=ON
+DLIB_DEPENDENCIES += ffmpeg
+else
+DLIB_CONF_OPTS += -DDLIB_USE_FFMPEG=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_USE_LAPACK),y)
+DLIB_CONF_OPTS += -DDLIB_USE_LAPACK=ON
+DLIB_DEPENDENCIES += lapack
+else
+DLIB_CONF_OPTS += -DDLIB_USE_LAPACK=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DLIB_WEBP_SUPPORT),y)
+DLIB_CONF_OPTS += -DDLIB_WEBP_SUPPORT=ON
+DLIB_DEPENDENCIES += webp
+else
+DLIB_CONF_OPTS += -DDLIB_WEBP_SUPPORT=OFF
+endif
+
+$(eval $(cmake-package))
Signed-off-by: Roy Kollen Svendsen <roykollensvendsen@gmail.com> --- Changes v2 -> v3: - make options available in menuconfig - fix missing D in -DLIB_USE_MKL_FFT=OFF - remove some useless comments Should I enforce using system libraries where alternative internal libraries exist? Do I add too much license information here? (I assume I only need BSL-1.0) package/Config.in | 1 + package/dlib/Config.in | 60 ++++++++++++++++++++++++++ package/dlib/dlib.hash | 12 ++++++ package/dlib/dlib.mk | 97 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 170 insertions(+) create mode 100644 package/dlib/Config.in create mode 100644 package/dlib/dlib.hash create mode 100644 package/dlib/dlib.mk