[Buildroot] [PATCH v5 11/13] package/opencv: add gtk3 support
Samuel Martin
s.martin49 at gmail.com
Sun Jun 7 10:26:37 UTC 2015
Fully rework the GTK support in OpenCV because it now supports gtk-2 and
gtk-3 (but only one at the time).
Note that, in the build-system, the gtk support is only available when
Qt support is disabled; so make sure the menuconfig reflects this.
Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
---
changes v4->v5:
- new patch
---
package/opencv/Config.in | 38 +++++++++++++++++++++++++++++++-------
package/opencv/opencv.mk | 10 ++++++++--
2 files changed, 39 insertions(+), 9 deletions(-)
diff --git a/package/opencv/Config.in b/package/opencv/Config.in
index f4072ef..ff834b9 100644
--- a/package/opencv/Config.in
+++ b/package/opencv/Config.in
@@ -200,17 +200,41 @@ comment "gstreamer backend needs either Gstreamer-0.10 or Gstreamer-1"
depends on !BR2_PACKAGE_GSTREAMER && !BR2_PACKAGE_GSTREAMER1
depends on BR2_USE_MMU # gstreamer -> libglib2
+
+choice
+ prompt "gtk support"
+ # common dependencies to libgtk2 and libgtk3
+ depends on BR2_USE_WCHAR
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_USE_MMU
+ depends on BR2_ARCH_HAS_ATOMICS
+ # GTK check is disabled when Qt support is on in the OpenCV's cmake code
+ depends on !BR2_PACKAGE_OPENCV_WITH_QT
+ default BR2_PACKAGE_OPENCV_WITHOUT_GTK
+ help
+ GTK support is disabled if Qt support is enabled.
+
+config BR2_PACKAGE_OPENCV_WITHOUT_GTK
+ bool "none"
+
config BR2_PACKAGE_OPENCV_WITH_GTK
- bool "gtk support"
+ bool "libgtk2"
depends on BR2_PACKAGE_XORG7
- depends on BR2_USE_WCHAR # libgtk2 -> libglib2
- depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2 -> libglib2
- depends on BR2_INSTALL_LIBSTDCPP
- depends on BR2_USE_MMU # libgtk2 -> glib2
- depends on BR2_ARCH_HAS_ATOMICS # libgtk2 -> cairo
- depends on BR2_PACKAGE_OPENCV_LIB_HIGHGUI
select BR2_PACKAGE_LIBGTK2
+config BR2_PACKAGE_OPENCV_WITH_GTK3
+ bool "libgtk3"
+ select BR2_PACKAGE_LIBGTK3
+
+endchoice
+
+comment "gtk support needs wchar, threads, C++"
+ depends on !(BR2_USE_WCHAR || BR2_TOOLCHAIN_HAS_THREADS || \
+ BR2_INSTALL_LIBSTDCPP)
+ depends on BR2_USE_MMU
+ depends on BR2_ARCH_HAS_ATOMICS
+
config BR2_PACKAGE_OPENCV_WITH_JASPER
bool "jpeg2000 support"
select BR2_PACKAGE_JASPER
diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk
index 81c5544..d3a0738 100644
--- a/package/opencv/opencv.mk
+++ b/package/opencv/opencv.mk
@@ -222,11 +222,17 @@ else
OPENCV_CONF_OPTS += -DWITH_GSTREAMER=OFF -DWITH_GSTREAMER_0_10=OFF
endif
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_GTK)$(BR2_PACKAGE_OPENCV_WITH_GTK3),y)
+OPENCV_CONF_OPTS += -DWITH_GTK=ON
ifeq ($(BR2_PACKAGE_OPENCV_WITH_GTK),y)
-OPENCV_CONF_OPTS += -DWITH_GTK=ON -DWITH_GTK_2_X=ON
+OPENCV_CONF_OPTS += -DWITH_GTK_2_X=ON
OPENCV_DEPENDENCIES += libgtk2
else
-OPENCV_CONF_OPTS += -DWITH_GTK=OFF
+OPENCV_CONF_OPTS += -DWITH_GTK_2_X=OFF
+OPENCV_DEPENDENCIES += libgtk3
+endif
+else
+OPENCV_CONF_OPTS += -DWITH_GTK=OFF -DWITH_GTK_2_X=OFF
endif
ifeq ($(BR2_PACKAGE_OPENCV_WITH_JASPER),y)
--
2.4.2
More information about the buildroot
mailing list