All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/7] OpenCV bump
@ 2013-11-11 21:00 Samuel Martin
  2013-11-11 21:00 ` [Buildroot] [PATCH 1/7] cmake: bump to version 2.8.12.1 Samuel Martin
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Samuel Martin @ 2013-11-11 21:00 UTC (permalink / raw)
  To: buildroot

All,

Here is a couple packages bumps and fixes related to OpenCV.

- Patches 1 and 2 are fairly independent of the rest, though still
  related.

- Patches 3 and 4 are coupled: the new dependency in opencv requires
  the install rules fix in eigen.

- Patches 5 to 7 just bumps opencv and update a few dependencies.

Yours,
Samuel

Samuel Martin (7):
  cmake: bump to version 2.8.12.1
  eigen: add C++ toolchain dependency
  eigen: fix install rules
  opencv: add eigen dependency
  opencv: bump to version 2.4.7
  opencv: rework V4L/libv4l support
  opencv: add Qt5 support

 package/cmake/cmake.mk   |  2 +-
 package/eigen/Config.in  |  4 ++++
 package/eigen/eigen.mk   | 10 ++++++++--
 package/opencv/Config.in | 52 +++++++++++++++++++++++++++++++++++++-----------
 package/opencv/opencv.mk | 33 ++++++++++++++++++++----------
 5 files changed, 76 insertions(+), 25 deletions(-)

--
1.8.4.2

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 1/7] cmake: bump to version 2.8.12.1
  2013-11-11 21:00 [Buildroot] [PATCH 0/7] OpenCV bump Samuel Martin
@ 2013-11-11 21:00 ` Samuel Martin
  2013-11-11 21:00 ` [Buildroot] [PATCH 2/7] eigen: add C++ toolchain dependency Samuel Martin
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Samuel Martin @ 2013-11-11 21:00 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
 package/cmake/cmake.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk
index fd1cdd2..cd98ed3 100644
--- a/package/cmake/cmake.mk
+++ b/package/cmake/cmake.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-CMAKE_VERSION = 2.8.10.2
+CMAKE_VERSION = 2.8.12.1
 CMAKE_SITE = http://www.cmake.org/files/v2.8/
 CMAKE_LICENSE = BSD-3c
 CMAKE_LICENSE_FILES = Copyright.txt
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 2/7] eigen: add C++ toolchain dependency
  2013-11-11 21:00 [Buildroot] [PATCH 0/7] OpenCV bump Samuel Martin
  2013-11-11 21:00 ` [Buildroot] [PATCH 1/7] cmake: bump to version 2.8.12.1 Samuel Martin
@ 2013-11-11 21:00 ` Samuel Martin
  2013-11-12  7:15   ` Arnout Vandecappelle
  2013-11-11 21:00 ` [Buildroot] [PATCH 3/7] eigen: fix install rules Samuel Martin
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Samuel Martin @ 2013-11-11 21:00 UTC (permalink / raw)
  To: buildroot

As said in its help text, eigen heavily uses C++ features.
So, explicit this dependency in the Config.in.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
 package/eigen/Config.in | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/eigen/Config.in b/package/eigen/Config.in
index c7fcde2..e94f9a3 100644
--- a/package/eigen/Config.in
+++ b/package/eigen/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_EIGEN
 	bool "eigen"
+	depends on BR2_INSTALL_LIBSTDCPP
 	help
 	  Eigen is a C++ template library for linear algebra: vectors,
 	  matrices, and related algorithms. It is versatile, fast, elegant
@@ -11,3 +12,6 @@ config BR2_PACKAGE_EIGEN
 	  template library defined in the headers.
 
 	  http://eigen.tuxfamily.org/
+
+comment "eigen needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 3/7] eigen: fix install rules
  2013-11-11 21:00 [Buildroot] [PATCH 0/7] OpenCV bump Samuel Martin
  2013-11-11 21:00 ` [Buildroot] [PATCH 1/7] cmake: bump to version 2.8.12.1 Samuel Martin
  2013-11-11 21:00 ` [Buildroot] [PATCH 2/7] eigen: add C++ toolchain dependency Samuel Martin
@ 2013-11-11 21:00 ` Samuel Martin
  2013-11-11 22:33   ` Thomas Petazzoni
  2013-11-11 21:00 ` [Buildroot] [PATCH 4/7] opencv: add eigen dependency Samuel Martin
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Samuel Martin @ 2013-11-11 21:00 UTC (permalink / raw)
  To: buildroot

Eigen provides a set of headers well-supported (in the Eigen directory),
and another one provided release "as-is", ie. with no real support
according to the README.txt; though other package may depend on these
headers.

Also, remove unnecessary files from installation:
- CMakeLists.txt files since the package does not use the cmake infra;
- doc sources;
- test and bench sources.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
 package/eigen/eigen.mk | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/package/eigen/eigen.mk b/package/eigen/eigen.mk
index 5abd464..63e21e9 100644
--- a/package/eigen/eigen.mk
+++ b/package/eigen/eigen.mk
@@ -16,8 +16,14 @@ EIGEN_INSTALL_TARGET = NO
 # This package only consists of headers that need to be
 # copied over to the sysroot for compile time use
 define EIGEN_INSTALL_STAGING_CMDS
-	$(RM) -r $(STAGING_DIR)/usr/include/Eigen
-	cp -a $(@D)/Eigen $(STAGING_DIR)/usr/include/
+	for d in Eigen unsupported ; do \
+		$(RM) -r $(STAGING_DIR)/usr/include/$${d} ; \
+		rsync -ar --exclude=CMakeLists.txt \
+			--exclude=test \
+			--exclude=bench \
+			--exclude=doc \
+			$(@D)/$${d} $(STAGING_DIR)/usr/include/ ; \
+	done
 endef
 
 $(eval $(generic-package))
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 4/7] opencv: add eigen dependency
  2013-11-11 21:00 [Buildroot] [PATCH 0/7] OpenCV bump Samuel Martin
                   ` (2 preceding siblings ...)
  2013-11-11 21:00 ` [Buildroot] [PATCH 3/7] eigen: fix install rules Samuel Martin
@ 2013-11-11 21:00 ` Samuel Martin
  2013-11-11 22:36   ` Thomas Petazzoni
  2013-11-11 21:00 ` [Buildroot] [PATCH 5/7] opencv: bump to version 2.4.7 Samuel Martin
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Samuel Martin @ 2013-11-11 21:00 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
 package/opencv/Config.in | 1 +
 package/opencv/opencv.mk | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/package/opencv/Config.in b/package/opencv/Config.in
index 146011a..5b970e8 100644
--- a/package/opencv/Config.in
+++ b/package/opencv/Config.in
@@ -1,6 +1,7 @@
 menuconfig BR2_PACKAGE_OPENCV
 	bool "opencv"
 	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_EIGEN
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
 	help
diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk
index b9ed8cb..8556272 100644
--- a/package/opencv/opencv.mk
+++ b/package/opencv/opencv.mk
@@ -88,7 +88,7 @@ OPENCV_CONF_OPT += \
 	-DWITH_CUBLAS=OFF         \
 	-DWITH_CUDA=OFF           \
 	-DWITH_CUFFT=OFF          \
-	-DWITH_EIGEN=OFF          \
+	-DWITH_EIGEN=ON           \
 	-DWITH_IMAGEIO=OFF        \
 	-DWITH_IPP=OFF            \
 	-DWITH_JASPER=OFF         \
@@ -103,7 +103,7 @@ OPENCV_CONF_OPT += \
 	-DWITH_XIMEA=OFF          \
 	-DWITH_XINE=OFF
 
-OPENCV_DEPENDENCIES += zlib
+OPENCV_DEPENDENCIES += zlib eigen
 
 ifeq ($(BR2_PACKAGE_OPENCV_WITH_FFMPEG),y)
 OPENCV_CONF_OPT += -DWITH_FFMPEG=ON
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 5/7] opencv: bump to version 2.4.7
  2013-11-11 21:00 [Buildroot] [PATCH 0/7] OpenCV bump Samuel Martin
                   ` (3 preceding siblings ...)
  2013-11-11 21:00 ` [Buildroot] [PATCH 4/7] opencv: add eigen dependency Samuel Martin
@ 2013-11-11 21:00 ` Samuel Martin
  2013-11-11 21:00 ` [Buildroot] [PATCH 6/7] opencv: rework V4L/libv4l support Samuel Martin
  2013-11-11 21:00 ` [Buildroot] [PATCH 7/7] opencv: add Qt5 support Samuel Martin
  6 siblings, 0 replies; 15+ messages in thread
From: Samuel Martin @ 2013-11-11 21:00 UTC (permalink / raw)
  To: buildroot

This patch bumps OpenCV version without adding support for Qt5 though
OpenCV support both Qt4 and Qt5 since this 2.4.6 release.
This will be addressed in others patches.

This patch also does:
- add new modules options and update existing ones;
- clean redundant C++ dependency (in the Qt knob);
- add license details;
- explicitly disable python support to avoid being confuse by the one
  from the host.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
 package/opencv/Config.in | 12 +++++++++---
 package/opencv/opencv.mk | 21 +++++++++++++++------
 2 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/package/opencv/Config.in b/package/opencv/Config.in
index 5b970e8..bd466ca 100644
--- a/package/opencv/Config.in
+++ b/package/opencv/Config.in
@@ -98,6 +98,13 @@ config BR2_PACKAGE_OPENCV_LIB_STITCHING
 	help
 	  Include opencv_stitching module into the OpenCV build.
 
+config BR2_PACKAGE_OPENCV_LIB_SUPERRES
+	bool "superres"
+	default y
+	help
+	  Include opencv_superres "super resolution" - module into the OpenCV
+	  build.
+
 config BR2_PACKAGE_OPENCV_LIB_TS
 	bool "ts (touchscreen)"
 	default y
@@ -170,14 +177,13 @@ config BR2_PACKAGE_OPENCV_WITH_PNG
 	  Use shared libpng from the target system.
 
 config BR2_PACKAGE_OPENCV_WITH_QT
-	bool "qt backend support"
-	depends on BR2_INSTALL_LIBSTDCPP
+	bool "qt4 backend support"
 	depends on !BR2_avr32 # qt
 	select BR2_PACKAGE_QT
 	select BR2_PACKAGE_QT_STL
 	default y
 	help
-	  Use Qt with STL support
+	  Use Qt4 with STL support
 
 config BR2_PACKAGE_OPENCV_WITH_TIFF
 	bool "tiff support"
diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk
index 8556272..c53d984 100644
--- a/package/opencv/opencv.mk
+++ b/package/opencv/opencv.mk
@@ -4,10 +4,11 @@
 #
 ################################################################################
 
-OPENCV_VERSION = 2.4.2
+OPENCV_VERSION = 2.4.7
 OPENCV_SITE    = http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/$(OPENCV_VERSION)
-OPENCV_SOURCE  = OpenCV-$(OPENCV_VERSION).tar.bz2
 OPENCV_INSTALL_STAGING = YES
+OPENCV_LICENSE = BSD-3c
+OPENCV_LICENSE_FILES = doc/license.txt
 
 OPENCV_CONF_OPT += \
 	-DCMAKE_BUILD_TYPE=$(if $(BR2_ENABLE_DEBUG),Debug,Release)   \
@@ -19,6 +20,7 @@ OPENCV_CONF_OPT += \
 	-DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_TESTS),ON,OFF) \
 	-DBUILD_PERF_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS),ON,OFF) \
 	-DBUILD_WITH_DEBUG_INFO=OFF             \
+	-DINSTALL_CREATE_DISTRIB=OFF            \
 	-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF \
 	-DCMAKE_SKIP_RPATH=OFF                  \
 	-DCMAKE_USE_RELATIVE_PATHS=OFF          \
@@ -47,13 +49,19 @@ OPENCV_CONF_OPT += \
 	-DBUILD_opencv_nonfree=$(if $(BR2_PACKAGE_OPENCV_LIB_NONFREE),ON,OFF)   \
 	-DBUILD_opencv_objdetect=$(if $(BR2_PACKAGE_OPENCV_LIB_OBJDETECT),ON,OFF) \
 	-DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV_LIB_PHOTO),ON,OFF)       \
-	-DBUILD_opencv_python=OFF                                               \
 	-DBUILD_opencv_stitching=$(if $(BR2_PACKAGE_OPENCV_LIB_STITCHING),ON,OFF) \
+	-DBUILD_opencv_superres=$(if $(BR2_PACKAGE_OPENCV_LIB_SUPERRES),ON,OFF) \
 	-DBUILD_opencv_ts=$(if $(BR2_PACKAGE_OPENCV_LIB_TS),ON,OFF)             \
 	-DBUILD_opencv_video=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEO),ON,OFF)       \
 	-DBUILD_opencv_videostab=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB),ON,OFF) \
 	-DBUILD_opencv_world=OFF
 
+# Explicitly disable python to avoid confusing OpenCV, which comes with its
+# own implementation of the Python detection CMake module.
+OPENCV_CONF_OPT += \
+	-DBUILD_opencv_python=OFF \
+	-DPYTHON_EXECUTABLE=OFF
+
 # Hardware support options.
 #
 # * PowerPC support is turned off since its only effect is altering CFLAGS,
@@ -94,6 +102,7 @@ OPENCV_CONF_OPT += \
 	-DWITH_JASPER=OFF         \
 	-DWITH_OPENEXR=OFF        \
 	-DWITH_OPENGL=OFF         \
+	-DWITH_OPENMP=OFF         \
 	-DWITH_OPENNI=OFF         \
 	-DWITH_PVAPI=OFF          \
 	-DWITH_QUICKTIME=OFF      \
@@ -141,7 +150,7 @@ OPENCV_CONF_OPT += -DWITH_PNG=OFF
 endif
 
 ifeq ($(BR2_PACKAGE_OPENCV_WITH_QT),y)
-OPENCV_CONF_OPT += -DWITH_QT=ON
+OPENCV_CONF_OPT += -DWITH_QT=4
 OPENCV_DEPENDENCIES += qt
 else
 OPENCV_CONF_OPT += -DWITH_QT=OFF
@@ -155,10 +164,10 @@ OPENCV_CONF_OPT += -DWITH_TIFF=OFF
 endif
 
 ifeq ($(BR2_PACKAGE_OPENCV_WITH_V4L),y)
-OPENCV_CONF_OPT += -DWITH_V4L=ON
+OPENCV_CONF_OPT += -DWITH_V4L=ON -DWITH_LIBV4L=ON
 OPENCV_DEPENDENCIES += libv4l
 else
-OPENCV_CONF_OPT += -DWITH_V4L=OFF
+OPENCV_CONF_OPT += -DWITH_V4L=OFF -DWITH_LIBV4L=OFF
 endif
 
 # Installation hooks:
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 6/7] opencv: rework V4L/libv4l support
  2013-11-11 21:00 [Buildroot] [PATCH 0/7] OpenCV bump Samuel Martin
                   ` (4 preceding siblings ...)
  2013-11-11 21:00 ` [Buildroot] [PATCH 5/7] opencv: bump to version 2.4.7 Samuel Martin
@ 2013-11-11 21:00 ` Samuel Martin
  2013-11-11 21:00 ` [Buildroot] [PATCH 7/7] opencv: add Qt5 support Samuel Martin
  6 siblings, 0 replies; 15+ messages in thread
From: Samuel Martin @ 2013-11-11 21:00 UTC (permalink / raw)
  To: buildroot

Starting with the 2.4.7 release, for V4L support, OpenCV does not
requires a libv4l dependency for its V4L support.

SO, it now provides 2 distincts knobs for this: WITH_V4L and a new
one: WITH_LIBV4L.

This patch takes advantage of this new knob and libv4l support is
now automatically enabled if only the libv4l package is enabled.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
 package/opencv/Config.in | 11 ++++++-----
 package/opencv/opencv.mk | 10 +++++++---
 2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/package/opencv/Config.in b/package/opencv/Config.in
index bd466ca..a4342da 100644
--- a/package/opencv/Config.in
+++ b/package/opencv/Config.in
@@ -193,14 +193,15 @@ config BR2_PACKAGE_OPENCV_WITH_TIFF
 
 config BR2_PACKAGE_OPENCV_WITH_V4L
 	bool "v4l support"
-	depends on BR2_LARGEFILE
-	depends on BR2_TOOLCHAIN_HAS_THREADS
-	select BR2_PACKAGE_LIBV4L
 	help
 	  Enable Video 4 Linux support.
 
-comment "v4l support needs a toolchain w/ largefile, threads"
-	depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
+	  If the package libv4l is enabled, its support is automatically enabled.
+
+if BR2_PACKAGE_OPENCV_WITH_V4L && !(BR2_LARGEFILE && BR2_TOOLCHAIN_HAS_THREADS)
+comment "libv4l support will be disabled."
+comment "libv4l support needs a toolchain w/ largefile, threads"
+endif
 
 comment "Install options"
 
diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk
index c53d984..bbaba72 100644
--- a/package/opencv/opencv.mk
+++ b/package/opencv/opencv.mk
@@ -164,10 +164,14 @@ OPENCV_CONF_OPT += -DWITH_TIFF=OFF
 endif
 
 ifeq ($(BR2_PACKAGE_OPENCV_WITH_V4L),y)
-OPENCV_CONF_OPT += -DWITH_V4L=ON -DWITH_LIBV4L=ON
-OPENCV_DEPENDENCIES += libv4l
+OPENCV_CONF_OPT += \
+	-DWITH_V4L=ON \
+	-DWITH_LIBV4L=$(if $(BR2_PACKAGE_LIBV4L),ON,OFF)
+OPENCV_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBV4L),libv4l)
 else
-OPENCV_CONF_OPT += -DWITH_V4L=OFF -DWITH_LIBV4L=OFF
+OPENCV_CONF_OPT += \
+	-DWITH_V4L=OFF \
+	-DWITH_LIBV4L=OFF
 endif
 
 # Installation hooks:
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 7/7] opencv: add Qt5 support
  2013-11-11 21:00 [Buildroot] [PATCH 0/7] OpenCV bump Samuel Martin
                   ` (5 preceding siblings ...)
  2013-11-11 21:00 ` [Buildroot] [PATCH 6/7] opencv: rework V4L/libv4l support Samuel Martin
@ 2013-11-11 21:00 ` Samuel Martin
  6 siblings, 0 replies; 15+ messages in thread
From: Samuel Martin @ 2013-11-11 21:00 UTC (permalink / raw)
  To: buildroot

Starting with the 2.4.6 release, OpenCV supports both Qt4 and Qt5,
but only one can be enable at the same time.

Since Buildroot does not support Qt4/Qt5 co-existence, we keep the Qt
support knob as a boolean, but make it depend on BR2_PACKAGE_QT or
BR2_PACKAGE_QT5, and automatically uses the enabled one.

Note that we usually use 'select ...' to express the dependencies
between packages, but in this case, we cannot since the Qt4/Qt5
co-existence exclusion is not handled by a simple choice, but by a
dependency. This makes impossible using 'select ...' for the Qt
support knob without triggering a circular dependency at the kconfig
level.

Besides, we already use 'depends on ...' to express the dependencies
with some "big" packages (like xorg or libgtk2). qt or qt5* packages
are fairly big. So, I don't think it will hurt that much to use a
'depends on ...' statement in this case.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
 package/opencv/Config.in | 32 ++++++++++++++++++++++++++------
 package/opencv/opencv.mk |  4 ++--
 2 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/package/opencv/Config.in b/package/opencv/Config.in
index a4342da..656d6b8 100644
--- a/package/opencv/Config.in
+++ b/package/opencv/Config.in
@@ -177,13 +177,33 @@ config BR2_PACKAGE_OPENCV_WITH_PNG
 	  Use shared libpng from the target system.
 
 config BR2_PACKAGE_OPENCV_WITH_QT
-	bool "qt4 backend support"
-	depends on !BR2_avr32 # qt
-	select BR2_PACKAGE_QT
-	select BR2_PACKAGE_QT_STL
-	default y
+	bool "qt support"
+	depends on (BR2_PACKAGE_QT && !BR2_avr32) || \
+		(BR2_PACKAGE_QT5 && BR2_USE_MMU && BR2_INET_IPV6 && \
+		BR2_TOOLCHAIN_HAS_THREADS)
+	select BR2_PACKAGE_QT_STL             if BR2_PACKAGE_QT
+	select BR2_PACKAGE_QT5BASE            if BR2_PACKAGE_QT5
+	select BR2_PACKAGE_QT5BASE_CONCURRENT if BR2_PACKAGE_QT5
+	select BR2_PACKAGE_QT5BASE_TEST       if BR2_PACKAGE_QT5
+	select BR2_PACKAGE_QT5BASE_GUI        if BR2_PACKAGE_QT5
+	select BR2_PACKAGE_QT5BASE_WIDGETS    if BR2_PACKAGE_QT5
 	help
-	  Use Qt4 with STL support
+	  Enable Qt support for OpenCV.
+
+	  If Qt4 is already enabled, then use Qt4 with STL support.
+
+	  If Qt5 is already enabled, then use Qt5 with the following components:
+	  base, concurrent, test, gui and widgets.
+
+if !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5
+comment "qt support with Qt4 needs qt"
+
+comment "qt support with Qt5 needs qt5"
+	depends on BR2_USE_MMU && BR2_INET_IPV6 && BR2_TOOLCHAIN_HAS_THREADS
+
+comment "qt support with Qt5 needs a toolchain w/ wchar, IPv6, theads"
+	depends on !BR2_USE_MMU || !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS
+endif
 
 config BR2_PACKAGE_OPENCV_WITH_TIFF
 	bool "tiff support"
diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk
index bbaba72..d4565ca 100644
--- a/package/opencv/opencv.mk
+++ b/package/opencv/opencv.mk
@@ -150,8 +150,8 @@ OPENCV_CONF_OPT += -DWITH_PNG=OFF
 endif
 
 ifeq ($(BR2_PACKAGE_OPENCV_WITH_QT),y)
-OPENCV_CONF_OPT += -DWITH_QT=4
-OPENCV_DEPENDENCIES += qt
+OPENCV_CONF_OPT += -DWITH_QT=$(if $(BR2_PACKAGE_QT),4,5)
+OPENCV_DEPENDENCIES += $(if $(BR2_PACKAGE_QT),qt,qt5base)
 else
 OPENCV_CONF_OPT += -DWITH_QT=OFF
 endif
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 3/7] eigen: fix install rules
  2013-11-11 21:00 ` [Buildroot] [PATCH 3/7] eigen: fix install rules Samuel Martin
@ 2013-11-11 22:33   ` Thomas Petazzoni
  2013-11-12  7:24     ` Arnout Vandecappelle
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Petazzoni @ 2013-11-11 22:33 UTC (permalink / raw)
  To: buildroot

Dear Samuel Martin,

On Mon, 11 Nov 2013 22:00:09 +0100, Samuel Martin wrote:

> diff --git a/package/eigen/eigen.mk b/package/eigen/eigen.mk
> index 5abd464..63e21e9 100644
> --- a/package/eigen/eigen.mk
> +++ b/package/eigen/eigen.mk
> @@ -16,8 +16,14 @@ EIGEN_INSTALL_TARGET = NO
>  # This package only consists of headers that need to be
>  # copied over to the sysroot for compile time use
>  define EIGEN_INSTALL_STAGING_CMDS
> -	$(RM) -r $(STAGING_DIR)/usr/include/Eigen
> -	cp -a $(@D)/Eigen $(STAGING_DIR)/usr/include/
> +	for d in Eigen unsupported ; do \
> +		$(RM) -r $(STAGING_DIR)/usr/include/$${d} ; \

Isn't it a bit "rude" to remove
$(STAGING_DIR)/usr/include/unsupported ? I mean, this directory name
doesn't seem very Eigen specific. Even though it's unlikely, there
might be other things installed in there.

> +		rsync -ar --exclude=CMakeLists.txt \
> +			--exclude=test \
> +			--exclude=bench \
> +			--exclude=doc \
> +			$(@D)/$${d} $(STAGING_DIR)/usr/include/ ; \
> +	done

I must say I'm not overly enthusiastic about this solution. No way to
have a proper make install, or cmake stuff working for this package?

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 4/7] opencv: add eigen dependency
  2013-11-11 21:00 ` [Buildroot] [PATCH 4/7] opencv: add eigen dependency Samuel Martin
@ 2013-11-11 22:36   ` Thomas Petazzoni
  2013-11-15 20:22     ` Samuel Martin
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Petazzoni @ 2013-11-11 22:36 UTC (permalink / raw)
  To: buildroot

Dear Samuel Martin,

On Mon, 11 Nov 2013 22:00:10 +0100, Samuel Martin wrote:
>  menuconfig BR2_PACKAGE_OPENCV
>  	bool "opencv"
>  	select BR2_PACKAGE_ZLIB
> +	select BR2_PACKAGE_EIGEN

Any reason to make it mandatory?

I'm sorry but I'm going to be a bit angry again. I've asked you many,
many, many times to write more descriptive commit logs. And once again,
several of your patches have just a one line title, with no explanation
whatsoever about *why* you're doing the change.

It would be really nice if you could review all your patches before you
post them, and ask yourself the question: is the reason why I'm doing
this going to be obvious for the reviewer? If the answer is even on the
slightly unsure side, then it means you need to expand with a more
detailed commit log, or more comments in the code.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 2/7] eigen: add C++ toolchain dependency
  2013-11-11 21:00 ` [Buildroot] [PATCH 2/7] eigen: add C++ toolchain dependency Samuel Martin
@ 2013-11-12  7:15   ` Arnout Vandecappelle
  0 siblings, 0 replies; 15+ messages in thread
From: Arnout Vandecappelle @ 2013-11-12  7:15 UTC (permalink / raw)
  To: buildroot

On 11/11/13 22:00, Samuel Martin wrote:
> As said in its help text, eigen heavily uses C++ features.
> So, explicit this dependency in the Config.in.
>
> Signed-off-by: Samuel Martin <s.martin49@gmail.com>

Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

> ---
>   package/eigen/Config.in | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/package/eigen/Config.in b/package/eigen/Config.in
> index c7fcde2..e94f9a3 100644
> --- a/package/eigen/Config.in
> +++ b/package/eigen/Config.in
> @@ -1,5 +1,6 @@
>   config BR2_PACKAGE_EIGEN
>   	bool "eigen"
> +	depends on BR2_INSTALL_LIBSTDCPP
>   	help
>   	  Eigen is a C++ template library for linear algebra: vectors,
>   	  matrices, and related algorithms. It is versatile, fast, elegant
> @@ -11,3 +12,6 @@ config BR2_PACKAGE_EIGEN
>   	  template library defined in the headers.
>
>   	  http://eigen.tuxfamily.org/
> +
> +comment "eigen needs a toolchain w/ C++"
> +	depends on !BR2_INSTALL_LIBSTDCPP
>


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 3/7] eigen: fix install rules
  2013-11-11 22:33   ` Thomas Petazzoni
@ 2013-11-12  7:24     ` Arnout Vandecappelle
  2013-11-12  8:28       ` Samuel Martin
  0 siblings, 1 reply; 15+ messages in thread
From: Arnout Vandecappelle @ 2013-11-12  7:24 UTC (permalink / raw)
  To: buildroot

On 11/11/13 23:33, Thomas Petazzoni wrote:
> Dear Samuel Martin,
>
> On Mon, 11 Nov 2013 22:00:09 +0100, Samuel Martin wrote:
>
>> diff --git a/package/eigen/eigen.mk b/package/eigen/eigen.mk
>> index 5abd464..63e21e9 100644
>> --- a/package/eigen/eigen.mk
>> +++ b/package/eigen/eigen.mk
>> @@ -16,8 +16,14 @@ EIGEN_INSTALL_TARGET = NO
>>   # This package only consists of headers that need to be
>>   # copied over to the sysroot for compile time use
>>   define EIGEN_INSTALL_STAGING_CMDS
>> -	$(RM) -r $(STAGING_DIR)/usr/include/Eigen
>> -	cp -a $(@D)/Eigen $(STAGING_DIR)/usr/include/
>> +	for d in Eigen unsupported ; do \
>> +		$(RM) -r $(STAGING_DIR)/usr/include/$${d} ; \
>
> Isn't it a bit "rude" to remove
> $(STAGING_DIR)/usr/include/unsupported ? I mean, this directory name
> doesn't seem very Eigen specific. Even though it's unlikely, there
> might be other things installed in there.
>
>> +		rsync -ar --exclude=CMakeLists.txt \
>> +			--exclude=test \
>> +			--exclude=bench \
>> +			--exclude=doc \
>> +			$(@D)/$${d} $(STAGING_DIR)/usr/include/ ; \
>> +	done
>
> I must say I'm not overly enthusiastic about this solution. No way to
> have a proper make install, or cmake stuff working for this package?

  I had a quick look, and it looks like the cmake infra should work for 
this package. I guess Matt Weber originally didn't use it because nothing 
needs to be compiled anyway, and you don't want to compile the tests.

  Regards,
  Arnout


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 3/7] eigen: fix install rules
  2013-11-12  7:24     ` Arnout Vandecappelle
@ 2013-11-12  8:28       ` Samuel Martin
  2013-11-15 20:28         ` Samuel Martin
  0 siblings, 1 reply; 15+ messages in thread
From: Samuel Martin @ 2013-11-12  8:28 UTC (permalink / raw)
  To: buildroot

Thomas, Arnout, all,

Eigen is one of the rare package that does not support in-source-tree build.
But this can be worked around quite easily.

Also, after a (not so) quick look at the cmake from the eigen package, most
of the
check/test/bench/doc/... builds can be disabled, but not all (need to be
confirmed).

BTW, Thomas, what is the status of your work on out-of-source-tree build?

2013/11/12 Arnout Vandecappelle <arnout@mind.be>

> On 11/11/13 23:33, Thomas Petazzoni wrote:
>
>> Dear Samuel Martin,
>>
>> On Mon, 11 Nov 2013 22:00:09 +0100, Samuel Martin wrote:
>>
>>  diff --git a/package/eigen/eigen.mk b/package/eigen/eigen.mk
>>> index 5abd464..63e21e9 100644
>>> --- a/package/eigen/eigen.mk
>>> +++ b/package/eigen/eigen.mk
>>> @@ -16,8 +16,14 @@ EIGEN_INSTALL_TARGET = NO
>>>   # This package only consists of headers that need to be
>>>   # copied over to the sysroot for compile time use
>>>   define EIGEN_INSTALL_STAGING_CMDS
>>> -       $(RM) -r $(STAGING_DIR)/usr/include/Eigen
>>> -       cp -a $(@D)/Eigen $(STAGING_DIR)/usr/include/
>>> +       for d in Eigen unsupported ; do \
>>> +               $(RM) -r $(STAGING_DIR)/usr/include/$${d} ; \
>>>
>>
>> Isn't it a bit "rude" to remove
>> $(STAGING_DIR)/usr/include/unsupported ? I mean, this directory name
>> doesn't seem very Eigen specific. Even though it's unlikely, there
>> might be other things installed in there.
>>
> Indeed.


>
>>  +               rsync -ar --exclude=CMakeLists.txt \
>>> +                       --exclude=test \
>>> +                       --exclude=bench \
>>> +                       --exclude=doc \
>>> +                       $(@D)/$${d} $(STAGING_DIR)/usr/include/ ; \
>>> +       done
>>>
>>
>> I must say I'm not overly enthusiastic about this solution. No way to
>> have a proper make install, or cmake stuff working for this package?
>>
>
We might wonder why using a "heavy" build-system like CMake just to install
a couple
of header.

That's true among the build-system I know/use I do prefer CMake, and in
past I already
got patches refused because I moved them to the cmake infra...
Anyway, it just surprises me a bit that Thomas plays the devil advocate for
CMake, who
usually prefers simple/light solutions ;-)


>  I had a quick look, and it looks like the cmake infra should work for
> this package. I guess Matt Weber originally didn't use it because nothing
> needs to be compiled anyway, and you don't want to compile the tests.
>
I think so as well.


Regards,

-- 
Samuel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131112/4239c576/attachment.html>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 4/7] opencv: add eigen dependency
  2013-11-11 22:36   ` Thomas Petazzoni
@ 2013-11-15 20:22     ` Samuel Martin
  0 siblings, 0 replies; 15+ messages in thread
From: Samuel Martin @ 2013-11-15 20:22 UTC (permalink / raw)
  To: buildroot

2013/11/11 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

> Dear Samuel Martin,
>
> On Mon, 11 Nov 2013 22:00:10 +0100, Samuel Martin wrote:
> >  menuconfig BR2_PACKAGE_OPENCV
> >       bool "opencv"
> >       select BR2_PACKAGE_ZLIB
> > +     select BR2_PACKAGE_EIGEN
>
> Any reason to make it mandatory?
>

After checking with some opencv developers, eigen support does not bring
that much
(neither in term of features, nor perfs).

So I've rejected it.


>
> I'm sorry but I'm going to be a bit angry again. I've asked you many,
> many, many times to write more descriptive commit logs. And once again,
> several of your patches have just a one line title, with no explanation
> whatsoever about *why* you're doing the change.
>
> It would be really nice if you could review all your patches before you
> post them, and ask yourself the question: is the reason why I'm doing
> this going to be obvious for the reviewer? If the answer is even on the
> slightly unsure side, then it means you need to expand with a more
> detailed commit log, or more comments in the code.
>
> Thanks,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
>



-- 
Samuel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131115/2401e6ab/attachment.html>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 3/7] eigen: fix install rules
  2013-11-12  8:28       ` Samuel Martin
@ 2013-11-15 20:28         ` Samuel Martin
  0 siblings, 0 replies; 15+ messages in thread
From: Samuel Martin @ 2013-11-15 20:28 UTC (permalink / raw)
  To: buildroot

2013/11/12 Samuel Martin <s.martin49@gmail.com>

> Thomas, Arnout, all,
>
> Eigen is one of the rare package that does not support in-source-tree
> build.
> But this can be worked around quite easily.
>
> Also, after a (not so) quick look at the cmake from the eigen package,
> most of the
> check/test/bench/doc/... builds can be disabled, but not all (need to be
> confirmed).
>
> BTW, Thomas, what is the status of your work on out-of-source-tree build?
>
> 2013/11/12 Arnout Vandecappelle <arnout@mind.be>
>
>> On 11/11/13 23:33, Thomas Petazzoni wrote:
>>
>>> Dear Samuel Martin,
>>>
>>> On Mon, 11 Nov 2013 22:00:09 +0100, Samuel Martin wrote:
>>>
>>>  diff --git a/package/eigen/eigen.mk b/package/eigen/eigen.mk
>>>> index 5abd464..63e21e9 100644
>>>> --- a/package/eigen/eigen.mk
>>>> +++ b/package/eigen/eigen.mk
>>>> @@ -16,8 +16,14 @@ EIGEN_INSTALL_TARGET = NO
>>>>   # This package only consists of headers that need to be
>>>>   # copied over to the sysroot for compile time use
>>>>   define EIGEN_INSTALL_STAGING_CMDS
>>>> -       $(RM) -r $(STAGING_DIR)/usr/include/Eigen
>>>> -       cp -a $(@D)/Eigen $(STAGING_DIR)/usr/include/
>>>> +       for d in Eigen unsupported ; do \
>>>>
>>> Installing the unsupported directory was mainly for opencv.

Since, I rejected the opencv patch, there no need anymore for this one, so,
I rejected it too.
If someone someday needs it, it will still be in the ml archive and in
patchwork.

Regards,

-- 
Samuel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131115/0a607dc1/attachment-0001.html>

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2013-11-15 20:28 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-11 21:00 [Buildroot] [PATCH 0/7] OpenCV bump Samuel Martin
2013-11-11 21:00 ` [Buildroot] [PATCH 1/7] cmake: bump to version 2.8.12.1 Samuel Martin
2013-11-11 21:00 ` [Buildroot] [PATCH 2/7] eigen: add C++ toolchain dependency Samuel Martin
2013-11-12  7:15   ` Arnout Vandecappelle
2013-11-11 21:00 ` [Buildroot] [PATCH 3/7] eigen: fix install rules Samuel Martin
2013-11-11 22:33   ` Thomas Petazzoni
2013-11-12  7:24     ` Arnout Vandecappelle
2013-11-12  8:28       ` Samuel Martin
2013-11-15 20:28         ` Samuel Martin
2013-11-11 21:00 ` [Buildroot] [PATCH 4/7] opencv: add eigen dependency Samuel Martin
2013-11-11 22:36   ` Thomas Petazzoni
2013-11-15 20:22     ` Samuel Martin
2013-11-11 21:00 ` [Buildroot] [PATCH 5/7] opencv: bump to version 2.4.7 Samuel Martin
2013-11-11 21:00 ` [Buildroot] [PATCH 6/7] opencv: rework V4L/libv4l support Samuel Martin
2013-11-11 21:00 ` [Buildroot] [PATCH 7/7] opencv: add Qt5 support Samuel Martin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.