diff mbox

[v9,1/4] package/opencv: add a choice for selecting the gui toolkit

Message ID 1436106540-3466-2-git-send-email-s.martin49@gmail.com
State Superseded
Headers show

Commit Message

Samuel Martin July 5, 2015, 2:28 p.m. UTC
This patch moves the existing Qt4 and gtk2 options in that choice right
after the highgui knob.
In OpenCV, only one GUI toolkik will be actually used at the time by the
highgui module, given priority to Qt4.

Suggested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

---
changes v8->v9:
- update help text (ThomasP)

changes v7->v8:
- update a/r/t tags

changes v6->v7:
- move choice right after highgui knob (Yann)
- reword help text and comment (Yann)

changes v5->v6:
- new patch
---
 package/opencv/Config.in | 67 +++++++++++++++++++++++++++++++-----------------
 1 file changed, 44 insertions(+), 23 deletions(-)

Comments

Yann E. MORIN July 5, 2015, 7:56 p.m. UTC | #1
Samuel, All,

On 2015-07-05 16:28 +0200, Samuel Martin spake thusly:
> This patch moves the existing Qt4 and gtk2 options in that choice right
> after the highgui knob.
> In OpenCV, only one GUI toolkik will be actually used at the time by the
> highgui module, given priority to Qt4.

I guess that woud be better phrased as;

    package/opencv: add a choice for selecting the gui toolkit

    In OpenCV, only one GUI toolkit may be used, so group the two
    existing options into a choice.

    This will also be useful when we add support for Qt5 and gtk3.

    sob-and-other-tags...

If you don't mind, I'll grab the patches and fix such minor issues, to
avoid you going nuts with all the rounds of this series.

Regards,
Yann E. MORIN.

> Suggested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Signed-off-by: Samuel Martin <s.martin49@gmail.com>
> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> ---
> changes v8->v9:
> - update help text (ThomasP)
> 
> changes v7->v8:
> - update a/r/t tags
> 
> changes v6->v7:
> - move choice right after highgui knob (Yann)
> - reword help text and comment (Yann)
> 
> changes v5->v6:
> - new patch
> ---
>  package/opencv/Config.in | 67 +++++++++++++++++++++++++++++++-----------------
>  1 file changed, 44 insertions(+), 23 deletions(-)
> 
> diff --git a/package/opencv/Config.in b/package/opencv/Config.in
> index 079730e..c3542c4 100644
> --- a/package/opencv/Config.in
> +++ b/package/opencv/Config.in
> @@ -52,6 +52,50 @@ config BR2_PACKAGE_OPENCV_LIB_HIGHGUI
>  	  Include opencv_highgui (high-level gui and media i/o) module into the
>  	  OpenCV build.
>  
> +choice
> +	prompt "gui toolkit"
> +	depends on BR2_PACKAGE_OPENCV_LIB_HIGHGUI
> +	help
> +	  GUI toolkit to be used by the opencv_highgui module.
> +
> +config BR2_PACKAGE_OPENCV_GUI_NONE
> +	bool "none"
> +
> +config BR2_PACKAGE_OPENCV_WITH_GTK
> +	bool "gtk2"
> +	depends on BR2_ARCH_HAS_ATOMICS # libgtk2 -> cairo
> +	depends on BR2_USE_MMU # libgtk2 -> libglib2
> +	depends on BR2_USE_WCHAR # libgtk2 -> libglib2
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2 -> libglib2
> +	depends on BR2_INSTALL_LIBSTDCPP
> +	depends on BR2_PACKAGE_XORG7
> +	select BR2_PACKAGE_LIBGTK2
> +
> +comment "gtk2 needs X.org and a toolchain w/ wchar, threads, C++"
> +	depends on BR2_USE_MMU # libgtk2 -> glib2
> +	depends on BR2_ARCH_HAS_ATOMICS # libgtk2 -> cairo
> +	depends on !BR2_PACKAGE_XORG7 || \
> +		!BR2_USE_WCHAR || \
> +		!BR2_TOOLCHAIN_HAS_THREADS || \
> +		!BR2_INSTALL_LIBSTDCPP
> +
> +config BR2_PACKAGE_OPENCV_WITH_QT
> +	bool "qt4"
> +	depends on BR2_INSTALL_LIBSTDCPP
> +	depends on BR2_USE_MMU # qt
> +	select BR2_PACKAGE_QT
> +	select BR2_PACKAGE_QT_STL
> +	select BR2_PACKAGE_QT_GUI_MODULE
> +	select BR2_PACKAGE_QT_TEST
> +	help
> +	  Use Qt with QtTest module and STL support
> +
> +comment "qt4 needs a toolchain w/ C++"
> +	depends on BR2_USE_MMU # qt
> +	depends on !BR2_INSTALL_LIBSTDCPP
> +
> +endchoice
> +
>  config BR2_PACKAGE_OPENCV_LIB_IMGCODECS
>  	bool "imgcodecs"
>  	select BR2_PACKAGE_OPENCV_LIB_IMGPROC
> @@ -209,17 +253,6 @@ comment "gstreamer-1.x support needs a toolchain w/ wchar, threads"
>  
>  endchoice
>  
> -config BR2_PACKAGE_OPENCV_WITH_GTK
> -	bool "gtk support"
> -	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_JASPER
>  	bool "jpeg2000 support"
>  	select BR2_PACKAGE_JASPER
> @@ -242,18 +275,6 @@ config BR2_PACKAGE_OPENCV_WITH_PNG
>  	help
>  	  Use shared libpng from the target system.
>  
> -config BR2_PACKAGE_OPENCV_WITH_QT
> -	bool "qt backend support"
> -	depends on BR2_INSTALL_LIBSTDCPP
> -	depends on BR2_USE_MMU # qt
> -	depends on BR2_PACKAGE_OPENCV_LIB_HIGHGUI
> -	select BR2_PACKAGE_QT
> -	select BR2_PACKAGE_QT_STL
> -	select BR2_PACKAGE_QT_GUI_MODULE
> -	select BR2_PACKAGE_QT_TEST
> -	help
> -	  Use Qt with QtTest module and STL support
> -
>  config BR2_PACKAGE_OPENCV_WITH_TIFF
>  	bool "tiff support"
>  	select BR2_PACKAGE_TIFF
> -- 
> 2.4.5
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
diff mbox

Patch

diff --git a/package/opencv/Config.in b/package/opencv/Config.in
index 079730e..c3542c4 100644
--- a/package/opencv/Config.in
+++ b/package/opencv/Config.in
@@ -52,6 +52,50 @@  config BR2_PACKAGE_OPENCV_LIB_HIGHGUI
 	  Include opencv_highgui (high-level gui and media i/o) module into the
 	  OpenCV build.
 
+choice
+	prompt "gui toolkit"
+	depends on BR2_PACKAGE_OPENCV_LIB_HIGHGUI
+	help
+	  GUI toolkit to be used by the opencv_highgui module.
+
+config BR2_PACKAGE_OPENCV_GUI_NONE
+	bool "none"
+
+config BR2_PACKAGE_OPENCV_WITH_GTK
+	bool "gtk2"
+	depends on BR2_ARCH_HAS_ATOMICS # libgtk2 -> cairo
+	depends on BR2_USE_MMU # libgtk2 -> libglib2
+	depends on BR2_USE_WCHAR # libgtk2 -> libglib2
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2 -> libglib2
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_LIBGTK2
+
+comment "gtk2 needs X.org and a toolchain w/ wchar, threads, C++"
+	depends on BR2_USE_MMU # libgtk2 -> glib2
+	depends on BR2_ARCH_HAS_ATOMICS # libgtk2 -> cairo
+	depends on !BR2_PACKAGE_XORG7 || \
+		!BR2_USE_WCHAR || \
+		!BR2_TOOLCHAIN_HAS_THREADS || \
+		!BR2_INSTALL_LIBSTDCPP
+
+config BR2_PACKAGE_OPENCV_WITH_QT
+	bool "qt4"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_USE_MMU # qt
+	select BR2_PACKAGE_QT
+	select BR2_PACKAGE_QT_STL
+	select BR2_PACKAGE_QT_GUI_MODULE
+	select BR2_PACKAGE_QT_TEST
+	help
+	  Use Qt with QtTest module and STL support
+
+comment "qt4 needs a toolchain w/ C++"
+	depends on BR2_USE_MMU # qt
+	depends on !BR2_INSTALL_LIBSTDCPP
+
+endchoice
+
 config BR2_PACKAGE_OPENCV_LIB_IMGCODECS
 	bool "imgcodecs"
 	select BR2_PACKAGE_OPENCV_LIB_IMGPROC
@@ -209,17 +253,6 @@  comment "gstreamer-1.x support needs a toolchain w/ wchar, threads"
 
 endchoice
 
-config BR2_PACKAGE_OPENCV_WITH_GTK
-	bool "gtk support"
-	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_JASPER
 	bool "jpeg2000 support"
 	select BR2_PACKAGE_JASPER
@@ -242,18 +275,6 @@  config BR2_PACKAGE_OPENCV_WITH_PNG
 	help
 	  Use shared libpng from the target system.
 
-config BR2_PACKAGE_OPENCV_WITH_QT
-	bool "qt backend support"
-	depends on BR2_INSTALL_LIBSTDCPP
-	depends on BR2_USE_MMU # qt
-	depends on BR2_PACKAGE_OPENCV_LIB_HIGHGUI
-	select BR2_PACKAGE_QT
-	select BR2_PACKAGE_QT_STL
-	select BR2_PACKAGE_QT_GUI_MODULE
-	select BR2_PACKAGE_QT_TEST
-	help
-	  Use Qt with QtTest module and STL support
-
 config BR2_PACKAGE_OPENCV_WITH_TIFF
 	bool "tiff support"
 	select BR2_PACKAGE_TIFF