* [Buildroot] [PATCH 0/4 v2] OpenCV: re-introduce opencv-2.4 package (branch yem/sma/opencv3-opencv24)
@ 2015-08-09 16:14 Yann E. MORIN
2015-08-09 16:14 ` [Buildroot] [PATCH 1/4 v2] package: rename opencv -> opencv3 Yann E. MORIN
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Yann E. MORIN @ 2015-08-09 16:14 UTC (permalink / raw)
To: buildroot
Hello All!
As noticed in [1], users' applications may depend on OpenCV-2.4 APIs,
which are incompatible with OpenCV-3.
This short series first renames the opencv package to opencv3, then
re-introduces the opencv one for OpenCV-2.4 as discussed in [2], and
lastly handle the reverse dependencies in the last 2 patches.
[1] http://lists.busybox.net/pipermail/buildroot/2015-August/135270.html
[2] http://lists.busybox.net/pipermail/buildroot/2015-August/137133.html
Changes v1 -> v2: (Yann)
- only remove legacy symbols once opnecv24 has been re-introduced
- fix a missed rename in vlc, patch 1
- make opencv3 depends on !opencv, not the othe way around
- fix and comment dependencies in gst1-plugins-bad
Regards,
Yann E. MORIN.
The following changes since commit 4a5f878946c37deb8c1785fb8363cd1d322f7436:
toolchain/external: better check for gcc-5 (2015-08-09 16:58:55 +0200)
are available in the git repository at:
git://git.busybox.net/~ymorin/git/buildroot yem/sma/opencv3-opencv24
for you to fetch changes up to 927987bbdcc79cc1a299cf2a1ba052a6ae82b702:
package/vlc: update opencv support (2015-08-09 18:08:19 +0200)
----------------------------------------------------------------
Samuel Martin (4):
package: rename opencv -> opencv3
package/opencv: re-introduce opencv for opencv-2.4
Revert "package/gstreamer1/gst1-plugins-bad: disable opencv plugin with opencv-3"
package/vlc: update opencv support
Config.in.legacy | 32 --
package/Config.in | 1 +
package/gstreamer1/gst1-plugins-bad/Config.in | 19 +-
.../0001-core-fix-x86-PIC-code-compilation.patch | 49 +++
...ix-return-type-value-VideoFrameSource_GPU.patch | 40 +++
...VGenPkgconfig.cmake-rework-opencv.pc-gene.patch | 156 +++++++++
package/opencv/Config.in | 278 +++++-----------
package/opencv/opencv.mk | 151 ++-------
...pthread-based-parallel_for-with-gcc-4.4.3.patch | 0
...002-fix-support-for-pthreads-parallel_for.patch | 0
package/opencv3/Config.in | 344 +++++++++++++++++++
package/opencv3/opencv3.mk | 363 +++++++++++++++++++++
package/vlc/Config.in | 14 +-
package/vlc/vlc.mk | 6 +-
14 files changed, 1084 insertions(+), 369 deletions(-)
create mode 100644 package/opencv/0001-core-fix-x86-PIC-code-compilation.patch
create mode 100644 package/opencv/0002-superres-Fix-return-type-value-VideoFrameSource_GPU.patch
create mode 100644 package/opencv/0003-cmake-OpenCVGenPkgconfig.cmake-rework-opencv.pc-gene.patch
rename package/{opencv => opencv3}/0001-Fixed-compilation-of-pthread-based-parallel_for-with-gcc-4.4.3.patch (100%)
rename package/{opencv => opencv3}/0002-fix-support-for-pthreads-parallel_for.patch (100%)
create mode 100644 package/opencv3/Config.in
create mode 100644 package/opencv3/opencv3.mk
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 1/4 v2] package: rename opencv -> opencv3
2015-08-09 16:14 [Buildroot] [PATCH 0/4 v2] OpenCV: re-introduce opencv-2.4 package (branch yem/sma/opencv3-opencv24) Yann E. MORIN
@ 2015-08-09 16:14 ` Yann E. MORIN
2015-08-09 16:14 ` [Buildroot] [PATCH 2/4 v2] package/opencv: re-introduce opencv for opencv-2.4 Yann E. MORIN
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2015-08-09 16:14 UTC (permalink / raw)
To: buildroot
From: Samuel Martin <s.martin49@gmail.com>
Since there is a couple of API breaks between OpenCV 2.4 and 3.0, two
distinct packages mutually exclusive will be integrated in the package
tree.
So, this change prepares the re-introduction of the OpenCV-2.4 package
by renaming the current opencv package (which provides OpenCV-3.0) to
opencv3
It also does:
- rename symbols in reverse deps (vlc)
- remove entries from Config.in.legacy
Cc: Jonathan Ben Avraham <yba@tkos.co.il>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[yann.morin.1998 at free.fr: fix missed usage in vlc.mk; don't remove
legacy OpenCV symbols]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/Config.in | 2 +-
...pthread-based-parallel_for-with-gcc-4.4.3.patch | 0
...002-fix-support-for-pthreads-parallel_for.patch | 0
package/{opencv => opencv3}/Config.in | 150 +++++++-------
package/{opencv/opencv.mk => opencv3/opencv3.mk} | 230 ++++++++++-----------
package/vlc/Config.in | 4 +-
package/vlc/vlc.mk | 4 +-
7 files changed, 195 insertions(+), 195 deletions(-)
rename package/{opencv => opencv3}/0001-Fixed-compilation-of-pthread-based-parallel_for-with-gcc-4.4.3.patch (100%)
rename package/{opencv => opencv3}/0002-fix-support-for-pthreads-parallel_for.patch (100%)
rename package/{opencv => opencv3}/Config.in (70%)
rename package/{opencv/opencv.mk => opencv3/opencv3.mk} (55%)
diff --git a/package/Config.in b/package/Config.in
index 47d14d7..9986eb5 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -825,7 +825,7 @@ menu "Graphics"
source "package/libva-intel-driver/Config.in"
source "package/libvips/Config.in"
source "package/menu-cache/Config.in"
- source "package/opencv/Config.in"
+ source "package/opencv3/Config.in"
source "package/opengl/Config.in"
source "package/openjpeg/Config.in"
source "package/pango/Config.in"
diff --git a/package/opencv/0001-Fixed-compilation-of-pthread-based-parallel_for-with-gcc-4.4.3.patch b/package/opencv3/0001-Fixed-compilation-of-pthread-based-parallel_for-with-gcc-4.4.3.patch
similarity index 100%
rename from package/opencv/0001-Fixed-compilation-of-pthread-based-parallel_for-with-gcc-4.4.3.patch
rename to package/opencv3/0001-Fixed-compilation-of-pthread-based-parallel_for-with-gcc-4.4.3.patch
diff --git a/package/opencv/0002-fix-support-for-pthreads-parallel_for.patch b/package/opencv3/0002-fix-support-for-pthreads-parallel_for.patch
similarity index 100%
rename from package/opencv/0002-fix-support-for-pthreads-parallel_for.patch
rename to package/opencv3/0002-fix-support-for-pthreads-parallel_for.patch
diff --git a/package/opencv/Config.in b/package/opencv3/Config.in
similarity index 70%
rename from package/opencv/Config.in
rename to package/opencv3/Config.in
index a52092d..c63b474 100644
--- a/package/opencv/Config.in
+++ b/package/opencv3/Config.in
@@ -1,5 +1,5 @@
-menuconfig BR2_PACKAGE_OPENCV
- bool "opencv"
+menuconfig BR2_PACKAGE_OPENCV3
+ bool "opencv3"
select BR2_PACKAGE_ZLIB
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_INSTALL_LIBSTDCPP
@@ -17,54 +17,54 @@ menuconfig BR2_PACKAGE_OPENCV
http://opencv.org/
-if BR2_PACKAGE_OPENCV
+if BR2_PACKAGE_OPENCV3
comment "OpenCV modules"
-config BR2_PACKAGE_OPENCV_LIB_CALIB3D
+config BR2_PACKAGE_OPENCV3_LIB_CALIB3D
bool "calib3d"
- select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
- select BR2_PACKAGE_OPENCV_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV3_LIB_FEATURES2D
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC
help
Include opencv_calib3d (camera calibration and 3d reconstruction) module
into the OpenCV build.
-config BR2_PACKAGE_OPENCV_LIB_FEATURES2D
+config BR2_PACKAGE_OPENCV3_LIB_FEATURES2D
bool "features2d"
- select BR2_PACKAGE_OPENCV_LIB_FLANN
- select BR2_PACKAGE_OPENCV_LIB_IMGPROC
- select BR2_PACKAGE_OPENCV_LIB_ML
+ select BR2_PACKAGE_OPENCV3_LIB_FLANN
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV3_LIB_ML
help
Include opencv_features2d (2d features framework) module into the OpenCV
build.
-config BR2_PACKAGE_OPENCV_LIB_FLANN
+config BR2_PACKAGE_OPENCV3_LIB_FLANN
bool "flann"
# opencv_core dependency is already enabled
help
Include opencv_flann (clustering and search in multi-dimensional spaces)
module into the OpenCV build.
-config BR2_PACKAGE_OPENCV_LIB_HIGHGUI
+config BR2_PACKAGE_OPENCV3_LIB_HIGHGUI
bool "highgui"
- select BR2_PACKAGE_OPENCV_LIB_IMGCODECS
- select BR2_PACKAGE_OPENCV_LIB_IMGPROC
- select BR2_PACKAGE_OPENCV_LIB_VIDEOIO
+ select BR2_PACKAGE_OPENCV3_LIB_IMGCODECS
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV3_LIB_VIDEOIO
help
Include opencv_highgui (high-level gui and media i/o) module into the
OpenCV build.
-if BR2_PACKAGE_OPENCV_LIB_HIGHGUI
+if BR2_PACKAGE_OPENCV3_LIB_HIGHGUI
choice
prompt "gui toolkit"
help
GUI toolkit to be used by the opencv_highgui module.
-config BR2_PACKAGE_OPENCV_GUI_NONE
+config BR2_PACKAGE_OPENCV3_GUI_NONE
bool "none"
-config BR2_PACKAGE_OPENCV_WITH_GTK
+config BR2_PACKAGE_OPENCV3_WITH_GTK
bool "gtk2"
depends on BR2_PACKAGE_LIBGTK2
@@ -73,7 +73,7 @@ comment "gtk2 support needs libgtk2"
depends on BR2_ARCH_HAS_ATOMICS # libgtk2 -> cairo
depends on !BR2_PACKAGE_LIBGTK2
-config BR2_PACKAGE_OPENCV_WITH_GTK3
+config BR2_PACKAGE_OPENCV3_WITH_GTK3
bool "gtk3"
depends on BR2_PACKAGE_LIBGTK3
@@ -82,7 +82,7 @@ comment "gtk3 support needs libgtk3"
depends on BR2_ARCH_HAS_ATOMICS # libgtk3 -> cairo
depends on !BR2_PACKAGE_LIBGTK3
-config BR2_PACKAGE_OPENCV_WITH_QT
+config BR2_PACKAGE_OPENCV3_WITH_QT
bool "qt4"
depends on BR2_PACKAGE_QT
select BR2_PACKAGE_QT_STL
@@ -95,7 +95,7 @@ comment "qt4 support needs qt"
depends on BR2_USE_MMU # qt
depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5
-config BR2_PACKAGE_OPENCV_WITH_QT5
+config BR2_PACKAGE_OPENCV3_WITH_QT5
bool "qt5"
depends on BR2_PACKAGE_QT5
select BR2_PACKAGE_QT5BASE
@@ -111,10 +111,10 @@ comment "qt5 support needs qt5"
endchoice
-config BR2_PACKAGE_OPENCV_WITH_OPENGL
+config BR2_PACKAGE_OPENCV3_WITH_OPENGL
bool "opengl support"
# OpenGL support done using Qt5OpenGL, so depends on WITH_QT5
- depends on BR2_PACKAGE_OPENCV_WITH_QT5
+ depends on BR2_PACKAGE_OPENCV3_WITH_QT5
# OpenGL support requires Qt5OpenGL with GL support, not GLES
depends on BR2_PACKAGE_QT5_GL_AVAILABLE
depends on BR2_PACKAGE_HAS_LIBGL
@@ -123,47 +123,47 @@ config BR2_PACKAGE_OPENCV_WITH_OPENGL
Enable OpenGL for UI.
comment "opengl support needs an OpenGL provider"
- depends on BR2_PACKAGE_OPENCV_WITH_QT5
+ depends on BR2_PACKAGE_OPENCV3_WITH_QT5
depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || \
!BR2_PACKAGE_HAS_LIBGL
-endif # BR2_PACKAGE_OPENCV_LIB_HIGHGUI
+endif # BR2_PACKAGE_OPENCV3_LIB_HIGHGUI
-config BR2_PACKAGE_OPENCV_LIB_IMGCODECS
+config BR2_PACKAGE_OPENCV3_LIB_IMGCODECS
bool "imgcodecs"
- select BR2_PACKAGE_OPENCV_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC
help
Include opencv_imgcodecs (image codecs) module into the OpenCV build.
-config BR2_PACKAGE_OPENCV_LIB_IMGPROC
+config BR2_PACKAGE_OPENCV3_LIB_IMGPROC
bool "imgproc"
# opencv_core dependency is already enabled
help
Include opencv_imgproc (image processing) module into the OpenCV build.
-config BR2_PACKAGE_OPENCV_LIB_ML
+config BR2_PACKAGE_OPENCV3_LIB_ML
bool "ml"
# opencv_core dependency is already enabled
help
Include opencv_ml (machine learning) module into the OpenCV build.
-config BR2_PACKAGE_OPENCV_LIB_OBJDETECT
+config BR2_PACKAGE_OPENCV3_LIB_OBJDETECT
bool "objdetect"
# opencv_core dependency is already enabled
- select BR2_PACKAGE_OPENCV_LIB_IMGPROC
- select BR2_PACKAGE_OPENCV_LIB_ML
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV3_LIB_ML
help
Include opencv_objdetect (object detection) module into the OpenCV build.
-config BR2_PACKAGE_OPENCV_LIB_PHOTO
+config BR2_PACKAGE_OPENCV3_LIB_PHOTO
bool "photo"
- select BR2_PACKAGE_OPENCV_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC
help
Include opencv_photo (computational photography) module into the OpenCV
build.
-config BR2_PACKAGE_OPENCV_LIB_PYTHON
+config BR2_PACKAGE_OPENCV3_LIB_PYTHON
bool "python"
depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
depends on BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 \
@@ -175,75 +175,75 @@ config BR2_PACKAGE_OPENCV_LIB_PYTHON
Include opencv_python module into the OpenCV build.
No python example is installed.
-config BR2_PACKAGE_OPENCV_LIB_SHAPE
+config BR2_PACKAGE_OPENCV3_LIB_SHAPE
bool "shape"
# opencv_core dependency is already enabled
- select BR2_PACKAGE_OPENCV_LIB_IMGPROC
- select BR2_PACKAGE_OPENCV_LIB_VIDEO
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV3_LIB_VIDEO
help
Include opencv_shape (shape descriptors and matchers) module into the
OpenCV build.
-config BR2_PACKAGE_OPENCV_LIB_STITCHING
+config BR2_PACKAGE_OPENCV3_LIB_STITCHING
bool "stitching"
- select BR2_PACKAGE_OPENCV_LIB_CALIB3D
- select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
- select BR2_PACKAGE_OPENCV_LIB_IMGPROC
- select BR2_PACKAGE_OPENCV_LIB_OBJDETECT
+ select BR2_PACKAGE_OPENCV3_LIB_CALIB3D
+ select BR2_PACKAGE_OPENCV3_LIB_FEATURES2D
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV3_LIB_OBJDETECT
help
Include opencv_stitching (images stitching) module into the OpenCV build.
-config BR2_PACKAGE_OPENCV_LIB_SUPERRES
+config BR2_PACKAGE_OPENCV3_LIB_SUPERRES
bool "superres"
- select BR2_PACKAGE_OPENCV_LIB_IMGPROC
- select BR2_PACKAGE_OPENCV_LIB_VIDEO
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV3_LIB_VIDEO
help
Include opencv_superres (super resolution) module into the OpenCV build.
-config BR2_PACKAGE_OPENCV_LIB_TS
+config BR2_PACKAGE_OPENCV3_LIB_TS
bool "ts"
# opencv_core dependency is already enabled
- select BR2_PACKAGE_OPENCV_LIB_HIGHGUI
- select BR2_PACKAGE_OPENCV_LIB_IMGCODECS
- select BR2_PACKAGE_OPENCV_LIB_IMGPROC
- select BR2_PACKAGE_OPENCV_LIB_VIDEOIO
+ select BR2_PACKAGE_OPENCV3_LIB_HIGHGUI
+ select BR2_PACKAGE_OPENCV3_LIB_IMGCODECS
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV3_LIB_VIDEOIO
help
Include opencv_ts (test) module into the OpenCV build.
-config BR2_PACKAGE_OPENCV_LIB_VIDEOIO
+config BR2_PACKAGE_OPENCV3_LIB_VIDEOIO
bool "videoio"
- select BR2_PACKAGE_OPENCV_LIB_IMGCODECS
- select BR2_PACKAGE_OPENCV_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV3_LIB_IMGCODECS
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC
help
Include opencv_videoio (media i/o) module into the OpenCV build.
-config BR2_PACKAGE_OPENCV_LIB_VIDEO
+config BR2_PACKAGE_OPENCV3_LIB_VIDEO
bool "video"
- select BR2_PACKAGE_OPENCV_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC
help
Include opencv_video (video analysis) module into the OpenCV build.
-config BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB
+config BR2_PACKAGE_OPENCV3_LIB_VIDEOSTAB
bool "videostab"
- select BR2_PACKAGE_OPENCV_LIB_CALIB3D
- select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
- select BR2_PACKAGE_OPENCV_LIB_IMGPROC
- select BR2_PACKAGE_OPENCV_LIB_PHOTO
- select BR2_PACKAGE_OPENCV_LIB_VIDEO
+ select BR2_PACKAGE_OPENCV3_LIB_CALIB3D
+ select BR2_PACKAGE_OPENCV3_LIB_FEATURES2D
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV3_LIB_PHOTO
+ select BR2_PACKAGE_OPENCV3_LIB_VIDEO
help
Include opencv_videostab (video stabilization) module into the OpenCV
build.
comment "Test sets"
-config BR2_PACKAGE_OPENCV_BUILD_TESTS
+config BR2_PACKAGE_OPENCV3_BUILD_TESTS
bool "build tests"
-config BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS
+config BR2_PACKAGE_OPENCV3_BUILD_PERF_TESTS
bool "build performance tests"
comment "3rd party support"
-config BR2_PACKAGE_OPENCV_WITH_FFMPEG
+config BR2_PACKAGE_OPENCV3_WITH_FFMPEG
bool "ffmpeg support"
select BR2_PACKAGE_BZIP2
select BR2_PACKAGE_FFMPEG
@@ -256,10 +256,10 @@ choice
help
OpenCV prefers gstreamer-1 over gstreamer-0.10.
-config BR2_PACKAGE_OPENCV_WITHOUT_GSTREAMER
+config BR2_PACKAGE_OPENCV3_WITHOUT_GSTREAMER
bool "none"
-config BR2_PACKAGE_OPENCV_WITH_GSTREAMER
+config BR2_PACKAGE_OPENCV3_WITH_GSTREAMER
bool "gstreamer-0.10"
depends on BR2_USE_MMU # gstreamer -> libglib2
depends on BR2_USE_WCHAR # gstreamer -> libglib2
@@ -272,7 +272,7 @@ comment "gstreamer-0.10 support needs a toolchain w/ wchar, threads"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
-config BR2_PACKAGE_OPENCV_WITH_GSTREAMER1
+config BR2_PACKAGE_OPENCV3_WITH_GSTREAMER1
bool "gstreamer-1.x"
depends on BR2_USE_MMU # gstreamer1 -> libglib2
depends on BR2_USE_WCHAR # gstreamer1 -> libglib2
@@ -287,7 +287,7 @@ comment "gstreamer-1.x support needs a toolchain w/ wchar, threads"
endchoice
-config BR2_PACKAGE_OPENCV_WITH_JASPER
+config BR2_PACKAGE_OPENCV3_WITH_JASPER
bool "jpeg2000 support"
select BR2_PACKAGE_JASPER
help
@@ -297,25 +297,25 @@ config BR2_PACKAGE_OPENCV_WITH_JASPER
but uses the libjasper package installed system-wide by
Buildroot.
-config BR2_PACKAGE_OPENCV_WITH_JPEG
+config BR2_PACKAGE_OPENCV3_WITH_JPEG
bool "jpeg support"
select BR2_PACKAGE_JPEG
help
Use shared libjpeg from the target system.
-config BR2_PACKAGE_OPENCV_WITH_PNG
+config BR2_PACKAGE_OPENCV3_WITH_PNG
bool "png support"
select BR2_PACKAGE_LIBPNG
help
Use shared libpng from the target system.
-config BR2_PACKAGE_OPENCV_WITH_TIFF
+config BR2_PACKAGE_OPENCV3_WITH_TIFF
bool "tiff support"
select BR2_PACKAGE_TIFF
help
Use shared libtiff from the target system.
-config BR2_PACKAGE_OPENCV_WITH_V4L
+config BR2_PACKAGE_OPENCV3_WITH_V4L
bool "v4l support"
help
Enable Video 4 Linux support.
@@ -324,7 +324,7 @@ config BR2_PACKAGE_OPENCV_WITH_V4L
comment "Install options"
-config BR2_PACKAGE_OPENCV_INSTALL_DATA
+config BR2_PACKAGE_OPENCV3_INSTALL_DATA
bool "install extra data"
help
Install various data that is used by cv libraries and/or demo
@@ -335,7 +335,7 @@ config BR2_PACKAGE_OPENCV_INSTALL_DATA
endif # BR2_PACKAGE_OPENCV
-comment "opencv needs a toolchain w/ C++, NPTL, wchar, dynamic library"
+comment "opencv3 needs a toolchain w/ C++, NPTL, wchar, dynamic library"
depends on !BR2_xtensa
depends on !BR2_INSTALL_LIBSTDCPP || \
!BR2_USE_WCHAR || \
diff --git a/package/opencv/opencv.mk b/package/opencv3/opencv3.mk
similarity index 55%
rename from package/opencv/opencv.mk
rename to package/opencv3/opencv3.mk
index bb1bcd8..3ce78b5 100644
--- a/package/opencv/opencv.mk
+++ b/package/opencv3/opencv3.mk
@@ -1,30 +1,30 @@
################################################################################
#
-# opencv
+# opencv3
#
################################################################################
-OPENCV_VERSION = 3.0.0
-OPENCV_SITE = $(call github,itseez,opencv,$(OPENCV_VERSION))
-OPENCV_INSTALL_STAGING = YES
-OPENCV_LICENSE = BSD-3c
-OPENCV_LICENSE_FILES = LICENSE
+OPENCV3_VERSION = 3.0.0
+OPENCV3_SITE = $(call github,itseez,opencv,$(OPENCV3_VERSION))
+OPENCV3_INSTALL_STAGING = YES
+OPENCV3_LICENSE = BSD-3c
+OPENCV3_LICENSE_FILES = LICENSE
# OpenCV component options
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DBUILD_DOCS=OFF \
- -DBUILD_PERF_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS),ON,OFF) \
- -DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_TESTS),ON,OFF) \
+ -DBUILD_PERF_TESTS=$(if $(BR2_PACKAGE_OPENCV3_BUILD_PERF_TESTS),ON,OFF) \
+ -DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV3_BUILD_TESTS),ON,OFF) \
-DBUILD_WITH_DEBUG_INFO=OFF
-ifeq ($(BR2_PACKAGE_OPENCV_BUILD_TESTS)$(BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS),)
-OPENCV_CONF_OPTS += -DINSTALL_TEST=OFF
+ifeq ($(BR2_PACKAGE_OPENCV3_BUILD_TESTS)$(BR2_PACKAGE_OPENCV3_BUILD_PERF_TESTS),)
+OPENCV3_CONF_OPTS += -DINSTALL_TEST=OFF
else
-OPENCV_CONF_OPTS += -DINSTALL_TEST=ON
+OPENCV3_CONF_OPTS += -DINSTALL_TEST=ON
endif
# OpenCV build options
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DBUILD_WITH_STATIC_CRT=OFF \
-DENABLE_COVERAGE=OFF \
-DENABLE_FAST_MATH=ON \
@@ -33,16 +33,16 @@ OPENCV_CONF_OPTS += \
-DENABLE_OMIT_FRAME_POINTER=ON \
-DENABLE_PRECOMPILED_HEADERS=OFF \
-DENABLE_PROFILING=OFF \
- -DOPENCV_WARNINGS_ARE_ERRORS=OFF
+ -DOPENCV3_WARNINGS_ARE_ERRORS=OFF
# OpenCV link options
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF \
-DCMAKE_SKIP_RPATH=OFF \
-DCMAKE_USE_RELATIVE_PATHS=OFF
# OpenCV packaging options:
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DBUILD_PACKAGE=OFF \
-DENABLE_SOLUTION_FOLDERS=OFF \
-DINSTALL_CREATE_DISTRIB=OFF
@@ -60,31 +60,31 @@ OPENCV_CONF_OPTS += \
#
# * Contrib modules from [1] are disabled:
# - opencv_contrib package is not available in Buildroot;
-# - OPENCV_EXTRA_MODULES_PATH is not set.
+# - OPENCV3_EXTRA_MODULES_PATH is not set.
#
# [1] https://github.com/Itseez/opencv_contrib
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DBUILD_opencv_androidcamera=OFF \
-DBUILD_opencv_apps=OFF \
- -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV_LIB_CALIB3D),ON,OFF) \
+ -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV3_LIB_CALIB3D),ON,OFF) \
-DBUILD_opencv_core=ON \
- -DBUILD_opencv_features2d=$(if $(BR2_PACKAGE_OPENCV_LIB_FEATURES2D),ON,OFF) \
- -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV_LIB_FLANN),ON,OFF) \
+ -DBUILD_opencv_features2d=$(if $(BR2_PACKAGE_OPENCV3_LIB_FEATURES2D),ON,OFF) \
+ -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV3_LIB_FLANN),ON,OFF) \
-DBUILD_opencv_hal=ON \
- -DBUILD_opencv_highgui=$(if $(BR2_PACKAGE_OPENCV_LIB_HIGHGUI),ON,OFF) \
- -DBUILD_opencv_imgcodecs=$(if $(BR2_PACKAGE_OPENCV_LIB_IMGCODECS),ON,OFF) \
- -DBUILD_opencv_imgproc=$(if $(BR2_PACKAGE_OPENCV_LIB_IMGPROC),ON,OFF) \
+ -DBUILD_opencv_highgui=$(if $(BR2_PACKAGE_OPENCV3_LIB_HIGHGUI),ON,OFF) \
+ -DBUILD_opencv_imgcodecs=$(if $(BR2_PACKAGE_OPENCV3_LIB_IMGCODECS),ON,OFF) \
+ -DBUILD_opencv_imgproc=$(if $(BR2_PACKAGE_OPENCV3_LIB_IMGPROC),ON,OFF) \
-DBUILD_opencv_java=OFF \
- -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV_LIB_ML),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_shape=$(if $(BR2_PACKAGE_OPENCV_LIB_SHAPE),ON,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_videoio=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEOIO),ON,OFF) \
- -DBUILD_opencv_videostab=$(if $(BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB),ON,OFF) \
+ -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV3_LIB_ML),ON,OFF) \
+ -DBUILD_opencv_objdetect=$(if $(BR2_PACKAGE_OPENCV3_LIB_OBJDETECT),ON,OFF) \
+ -DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV3_LIB_PHOTO),ON,OFF) \
+ -DBUILD_opencv_shape=$(if $(BR2_PACKAGE_OPENCV3_LIB_SHAPE),ON,OFF) \
+ -DBUILD_opencv_stitching=$(if $(BR2_PACKAGE_OPENCV3_LIB_STITCHING),ON,OFF) \
+ -DBUILD_opencv_superres=$(if $(BR2_PACKAGE_OPENCV3_LIB_SUPERRES),ON,OFF) \
+ -DBUILD_opencv_ts=$(if $(BR2_PACKAGE_OPENCV3_LIB_TS),ON,OFF) \
+ -DBUILD_opencv_video=$(if $(BR2_PACKAGE_OPENCV3_LIB_VIDEO),ON,OFF) \
+ -DBUILD_opencv_videoio=$(if $(BR2_PACKAGE_OPENCV3_LIB_VIDEOIO),ON,OFF) \
+ -DBUILD_opencv_videostab=$(if $(BR2_PACKAGE_OPENCV3_LIB_VIDEOSTAB),ON,OFF) \
-DBUILD_opencv_viz=OFF \
-DBUILD_opencv_world=OFF
@@ -96,7 +96,7 @@ OPENCV_CONF_OPTS += \
# is only available on x86_64 haswell, broadwell and knl architecture.
#
# [2] https://gcc.gnu.org/onlinedocs/gcc-5.1.0/gcc/x86-Options.html#x86-Options
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \
-DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \
-DENABLE_FMA3=OFF \
@@ -110,7 +110,7 @@ OPENCV_CONF_OPTS += \
-DENABLE_SSSE3=$(if $(BR2_X86_CPU_HAS_SSSE3),ON,OFF)
# Cuda stuff
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DBUILD_CUDA_STUBS=OFF \
-DBUILD_opencv_cudaarithm=OFF \
-DBUILD_opencv_cudabgsegm=OFF \
@@ -129,15 +129,15 @@ OPENCV_CONF_OPTS += \
-DWITH_CUFFT=OFF
# NVidia stuff
-OPENCV_CONF_OPTS += -DWITH_NVCUVID=OFF
+OPENCV3_CONF_OPTS += -DWITH_NVCUVID=OFF
# AMD stuff
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DWITH_OPENCLAMDBLAS=OFF \
-DWITH_OPENCLAMDFFT=OFF
# Intel stuff
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DBUILD_WITH_DYNAMIC_IPP=OFF \
-DWITH_INTELPERC=OFF \
-DWITH_IPP=OFF \
@@ -145,16 +145,16 @@ OPENCV_CONF_OPTS += \
-DWITH_TBB=OFF
# Smartek stuff
-OPENCV_CONF_OPTS += -DWITH_GIGEAPI=OFF
+OPENCV3_CONF_OPTS += -DWITH_GIGEAPI=OFF
# Prosilica stuff
-OPENCV_CONF_OPTS += -DWITH_PVAPI=OFF
+OPENCV3_CONF_OPTS += -DWITH_PVAPI=OFF
# Ximea stuff
-OPENCV_CONF_OPTS += -DWITH_XIMEA=OFF
+OPENCV3_CONF_OPTS += -DWITH_XIMEA=OFF
# Non-Linux support (Android options) must remain OFF:
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DANDROID=OFF \
-DBUILD_ANDROID_CAMERA_WRAPPER=OFF \
-DBUILD_ANDROID_EXAMPLES=OFF \
@@ -164,13 +164,13 @@ OPENCV_CONF_OPTS += \
-DWITH_ANDROID_CAMERA=OFF
# Non-Linux support (Mac OSX options) must remain OFF:
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DWITH_AVFOUNDATION=OFF \
-DWITH_CARBON=OFF \
-DWITH_QUICKTIME=OFF
# Non-Linux support (Windows options) must remain OFF:
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DWITH_CSTRIPES=OFF \
-DWITH_DSHOW=OFF \
-DWITH_MSMF=OFF \
@@ -181,7 +181,7 @@ OPENCV_CONF_OPTS += \
# Software/3rd-party support options:
# - disable all examples
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DBUILD_EXAMPLES=OFF \
-DBUILD_JASPER=OFF \
-DBUILD_JPEG=OFF \
@@ -195,7 +195,7 @@ OPENCV_CONF_OPTS += \
# Disabled features (mostly because they are not available in Buildroot), but
# - eigen: OpenCV does not use it, not take any benefit from it.
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DWITH_1394=OFF \
-DWITH_CLP=OFF \
-DWITH_EIGEN=OFF \
@@ -213,106 +213,106 @@ OPENCV_CONF_OPTS += \
-DWITH_WEBP=OFF \
-DWITH_XINE=OFF
-OPENCV_DEPENDENCIES += zlib
+OPENCV3_DEPENDENCIES += zlib
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_FFMPEG),y)
-OPENCV_CONF_OPTS += -DWITH_FFMPEG=ON
-OPENCV_DEPENDENCIES += ffmpeg bzip2
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_FFMPEG),y)
+OPENCV3_CONF_OPTS += -DWITH_FFMPEG=ON
+OPENCV3_DEPENDENCIES += ffmpeg bzip2
else
-OPENCV_CONF_OPTS += -DWITH_FFMPEG=OFF
+OPENCV3_CONF_OPTS += -DWITH_FFMPEG=OFF
endif
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_GSTREAMER),y)
-OPENCV_CONF_OPTS += -DWITH_GSTREAMER_0_10=ON
-OPENCV_DEPENDENCIES += gstreamer gst-plugins-base
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_GSTREAMER),y)
+OPENCV3_CONF_OPTS += -DWITH_GSTREAMER_0_10=ON
+OPENCV3_DEPENDENCIES += gstreamer gst-plugins-base
else
-OPENCV_CONF_OPTS += -DWITH_GSTREAMER_0_10=OFF
+OPENCV3_CONF_OPTS += -DWITH_GSTREAMER_0_10=OFF
endif
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_GSTREAMER1),y)
-OPENCV_CONF_OPTS += -DWITH_GSTREAMER=ON
-OPENCV_DEPENDENCIES += gstreamer1 gst1-plugins-base
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_GSTREAMER1),y)
+OPENCV3_CONF_OPTS += -DWITH_GSTREAMER=ON
+OPENCV3_DEPENDENCIES += gstreamer1 gst1-plugins-base
else
-OPENCV_CONF_OPTS += -DWITH_GSTREAMER=OFF
+OPENCV3_CONF_OPTS += -DWITH_GSTREAMER=OFF
endif
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_GTK)$(BR2_PACKAGE_OPENCV_WITH_GTK3),)
-OPENCV_CONF_OPTS += -DWITH_GTK=OFF -DWITH_GTK_2_X=OFF
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_GTK)$(BR2_PACKAGE_OPENCV3_WITH_GTK3),)
+OPENCV3_CONF_OPTS += -DWITH_GTK=OFF -DWITH_GTK_2_X=OFF
endif
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_GTK),y)
-OPENCV_CONF_OPTS += -DWITH_GTK=ON -DWITH_GTK_2_X=ON
-OPENCV_DEPENDENCIES += libgtk2
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_GTK),y)
+OPENCV3_CONF_OPTS += -DWITH_GTK=ON -DWITH_GTK_2_X=ON
+OPENCV3_DEPENDENCIES += libgtk2
endif
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_GTK3),y)
-OPENCV_CONF_OPTS += -DWITH_GTK=ON -DWITH_GTK_2_X=OFF
-OPENCV_DEPENDENCIES += libgtk3
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_GTK3),y)
+OPENCV3_CONF_OPTS += -DWITH_GTK=ON -DWITH_GTK_2_X=OFF
+OPENCV3_DEPENDENCIES += libgtk3
endif
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_JASPER),y)
-OPENCV_CONF_OPTS += -DWITH_JASPER=ON
-OPENCV_DEPENDENCIES += jasper
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_JASPER),y)
+OPENCV3_CONF_OPTS += -DWITH_JASPER=ON
+OPENCV3_DEPENDENCIES += jasper
else
-OPENCV_CONF_OPTS += -DWITH_JASPER=OFF
+OPENCV3_CONF_OPTS += -DWITH_JASPER=OFF
endif
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_JPEG),y)
-OPENCV_CONF_OPTS += -DWITH_JPEG=ON
-OPENCV_DEPENDENCIES += jpeg
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_JPEG),y)
+OPENCV3_CONF_OPTS += -DWITH_JPEG=ON
+OPENCV3_DEPENDENCIES += jpeg
else
-OPENCV_CONF_OPTS += -DWITH_JPEG=OFF
+OPENCV3_CONF_OPTS += -DWITH_JPEG=OFF
endif
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_OPENGL),y)
-OPENCV_CONF_OPTS += -DWITH_OPENGL=ON
-OPENCV_DEPENDENCIES += libgl
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_OPENGL),y)
+OPENCV3_CONF_OPTS += -DWITH_OPENGL=ON
+OPENCV3_DEPENDENCIES += libgl
else
-OPENCV_CONF_OPTS += -DWITH_OPENGL=OFF
+OPENCV3_CONF_OPTS += -DWITH_OPENGL=OFF
endif
-OPENCV_CONF_OPTS += -DWITH_OPENMP=$(if $(BR2_GCC_ENABLE_OPENMP),ON,OFF)
+OPENCV3_CONF_OPTS += -DWITH_OPENMP=$(if $(BR2_GCC_ENABLE_OPENMP),ON,OFF)
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_PNG),y)
-OPENCV_CONF_OPTS += -DWITH_PNG=ON
-OPENCV_DEPENDENCIES += libpng
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_PNG),y)
+OPENCV3_CONF_OPTS += -DWITH_PNG=ON
+OPENCV3_DEPENDENCIES += libpng
else
-OPENCV_CONF_OPTS += -DWITH_PNG=OFF
+OPENCV3_CONF_OPTS += -DWITH_PNG=OFF
endif
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_QT)$(BR2_PACKAGE_OPENCV_WITH_QT5),)
-OPENCV_CONF_OPTS += -DWITH_QT=OFF
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_QT)$(BR2_PACKAGE_OPENCV3_WITH_QT5),)
+OPENCV3_CONF_OPTS += -DWITH_QT=OFF
endif
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_QT),y)
-OPENCV_CONF_OPTS += -DWITH_QT=4
-OPENCV_DEPENDENCIES += qt
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_QT),y)
+OPENCV3_CONF_OPTS += -DWITH_QT=4
+OPENCV3_DEPENDENCIES += qt
endif
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_QT5),y)
-OPENCV_CONF_OPTS += -DWITH_QT=5
-OPENCV_DEPENDENCIES += qt5base
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_QT5),y)
+OPENCV3_CONF_OPTS += -DWITH_QT=5
+OPENCV3_DEPENDENCIES += qt5base
endif
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_TIFF),y)
-OPENCV_CONF_OPTS += -DWITH_TIFF=ON
-OPENCV_DEPENDENCIES += tiff
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_TIFF),y)
+OPENCV3_CONF_OPTS += -DWITH_TIFF=ON
+OPENCV3_DEPENDENCIES += tiff
else
-OPENCV_CONF_OPTS += -DWITH_TIFF=OFF
+OPENCV3_CONF_OPTS += -DWITH_TIFF=OFF
endif
-ifeq ($(BR2_PACKAGE_OPENCV_WITH_V4L),y)
-OPENCV_CONF_OPTS += \
+ifeq ($(BR2_PACKAGE_OPENCV3_WITH_V4L),y)
+OPENCV3_CONF_OPTS += \
-DWITH_LIBV4L=$(if $(BR2_PACKAGE_LIBV4L),ON,OFF) \
-DWITH_V4L=ON
-OPENCV_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBV4L),libv4l)
+OPENCV3_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBV4L),libv4l)
else
-OPENCV_CONF_OPTS += -DWITH_V4L=OFF -DWITH_LIBV4L=OFF
+OPENCV3_CONF_OPTS += -DWITH_V4L=OFF -DWITH_LIBV4L=OFF
endif
-ifeq ($(BR2_PACKAGE_OPENCV_LIB_PYTHON),y)
+ifeq ($(BR2_PACKAGE_OPENCV3_LIB_PYTHON),y)
ifeq ($(BR2_PACKAGE_PYTHON),y)
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DBUILD_opencv_python2=ON \
-DBUILD_opencv_python3=OFF \
-DPYTHON2_EXECUTABLE=$(HOST_DIR)/usr/bin/python2 \
@@ -321,9 +321,9 @@ OPENCV_CONF_OPTS += \
-DPYTHON2_NUMPY_INCLUDE_DIRS=$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/numpy/core/include \
-DPYTHON2_PACKAGES_PATH=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \
-DPYTHON2_NUMPY_VERSION=$(PYTHON_NUMPY_VERSION)
-OPENCV_DEPENDENCIES += python
+OPENCV3_DEPENDENCIES += python
else
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DBUILD_opencv_python2=OFF \
-DBUILD_opencv_python3=ON \
-DPYTHON3_EXECUTABLE=$(HOST_DIR)/usr/bin/python3 \
@@ -332,32 +332,32 @@ OPENCV_CONF_OPTS += \
-DPYTHON3_NUMPY_INCLUDE_DIRS=$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/numpy/core/include \
-DPYTHON3_PACKAGES_PATH=/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages \
-DPYTHON3_NUMPY_VERSION=$(PYTHON_NUMPY_VERSION)
-OPENCV_DEPENDENCIES += python3
+OPENCV3_DEPENDENCIES += python3
endif
-OPENCV_DEPENDENCIES += python-numpy
+OPENCV3_DEPENDENCIES += python-numpy
else
-OPENCV_CONF_OPTS += \
+OPENCV3_CONF_OPTS += \
-DBUILD_opencv_python2=OFF \
-DBUILD_opencv_python3=OFF
endif
# Installation hooks:
-define OPENCV_CLEAN_INSTALL_DOC
+define OPENCV3_CLEAN_INSTALL_DOC
$(RM) -fr $(TARGET_DIR)/usr/share/OpenCV/doc
endef
-OPENCV_POST_INSTALL_TARGET_HOOKS += OPENCV_CLEAN_INSTALL_DOC
+OPENCV3_POST_INSTALL_TARGET_HOOKS += OPENCV3_CLEAN_INSTALL_DOC
-define OPENCV_CLEAN_INSTALL_CMAKE
+define OPENCV3_CLEAN_INSTALL_CMAKE
$(RM) -f $(TARGET_DIR)/usr/share/OpenCV/OpenCVConfig*.cmake
endef
-OPENCV_POST_INSTALL_TARGET_HOOKS += OPENCV_CLEAN_INSTALL_CMAKE
+OPENCV3_POST_INSTALL_TARGET_HOOKS += OPENCV3_CLEAN_INSTALL_CMAKE
-ifneq ($(BR2_PACKAGE_OPENCV_INSTALL_DATA),y)
-define OPENCV_CLEAN_INSTALL_DATA
+ifneq ($(BR2_PACKAGE_OPENCV3_INSTALL_DATA),y)
+define OPENCV3_CLEAN_INSTALL_DATA
$(RM) -fr $(TARGET_DIR)/usr/share/OpenCV/haarcascades \
$(TARGET_DIR)/usr/share/OpenCV/lbpcascades
endef
-OPENCV_POST_INSTALL_TARGET_HOOKS += OPENCV_CLEAN_INSTALL_DATA
+OPENCV3_POST_INSTALL_TARGET_HOOKS += OPENCV3_CLEAN_INSTALL_DATA
endif
$(eval $(cmake-package))
diff --git a/package/vlc/Config.in b/package/vlc/Config.in
index 471f4a7..6679cc9 100644
--- a/package/vlc/Config.in
+++ b/package/vlc/Config.in
@@ -11,8 +11,8 @@ config BR2_PACKAGE_VLC
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
select BR2_PACKAGE_LIBVORBIS if BR2_PACKAGE_OPUS
- select BR2_PACKAGE_OPENCV_LIB_IMGPROC if BR2_PACKAGE_OPENCV
- select BR2_PACKAGE_OPENCV_LIB_OBJDETECT if BR2_PACKAGE_OPENCV
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC if BR2_PACKAGE_OPENCV3
+ select BR2_PACKAGE_OPENCV3_LIB_OBJDETECT if BR2_PACKAGE_OPENCV3
help
VLC is a free and open source cross-platform multimedia player
and framework that plays most multimedia files as well as DVD,
diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk
index e408635..fa74a7b 100644
--- a/package/vlc/vlc.mk
+++ b/package/vlc/vlc.mk
@@ -153,9 +153,9 @@ else
VLC_CONF_OPTS += --disable-gles2
endif
-ifeq ($(BR2_PACKAGE_OPENCV),y)
+ifeq ($(BR2_PACKAGE_OPENCV3),y)
VLC_CONF_OPTS += --enable-opencv
-VLC_DEPENDENCIES += opencv
+VLC_DEPENDENCIES += opencv3
else
VLC_CONF_OPTS += --disable-opencv
endif
--
1.9.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 2/4 v2] package/opencv: re-introduce opencv for opencv-2.4
2015-08-09 16:14 [Buildroot] [PATCH 0/4 v2] OpenCV: re-introduce opencv-2.4 package (branch yem/sma/opencv3-opencv24) Yann E. MORIN
2015-08-09 16:14 ` [Buildroot] [PATCH 1/4 v2] package: rename opencv -> opencv3 Yann E. MORIN
@ 2015-08-09 16:14 ` Yann E. MORIN
2015-08-09 16:14 ` [Buildroot] [PATCH 3/4 v2] Revert "package/gstreamer1/gst1-plugins-bad: disable opencv plugin with opencv-3" Yann E. MORIN
2015-08-09 16:14 ` [Buildroot] [PATCH 4/4 v2] package/vlc: update opencv support Yann E. MORIN
3 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2015-08-09 16:14 UTC (permalink / raw)
To: buildroot
From: Samuel Martin <s.martin49@gmail.com>
As Jonathan noticed in [1], users' applications may depend on opencv-2.4
APIs removed in opencv-3.0.
So, re-introduce opencv package as it was right before the bump to
opencv-3.0 (i.e.: commit bf00b5a9ea1ab4189fe5c7dea05f40d0bbbf2082).
Also, add the dependency on !BR2_PACKAGE_OPENCV3 since they are mutually
exclusive.
[1] http://lists.busybox.net/pipermail/buildroot/2015-August/135270.html
Cc: Jonathan Ben Avraham <yba@tkos.co.il>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[yann.morin.1998 at free.fr: remove legacy symbols, now; make opencv3
depends on !opencv, not the other way around]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
Jonathan: feel free to apply any patch on this package to bump opencv to
the latest release on the 2.4 branch.
---
Config.in.legacy | 32 ---
package/Config.in | 1 +
.../0001-core-fix-x86-PIC-code-compilation.patch | 49 ++++
...ix-return-type-value-VideoFrameSource_GPU.patch | 40 ++++
...VGenPkgconfig.cmake-rework-opencv.pc-gene.patch | 156 +++++++++++++
package/opencv/Config.in | 223 ++++++++++++++++++
package/opencv/opencv.mk | 250 +++++++++++++++++++++
package/opencv3/Config.in | 1 +
8 files changed, 720 insertions(+), 32 deletions(-)
create mode 100644 package/opencv/0001-core-fix-x86-PIC-code-compilation.patch
create mode 100644 package/opencv/0002-superres-Fix-return-type-value-VideoFrameSource_GPU.patch
create mode 100644 package/opencv/0003-cmake-OpenCVGenPkgconfig.cmake-rework-opencv.pc-gene.patch
create mode 100644 package/opencv/Config.in
create mode 100644 package/opencv/opencv.mk
diff --git a/Config.in.legacy b/Config.in.legacy
index 3b77b34..3330566 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -194,38 +194,6 @@ config BR2_TARGET_UBOOT_NETWORK
help
U-Boot's custom network settings options have been removed.
-config BR2_PACKAGE_OPENCV_LIB_CONTRIB
- bool "opencv contrib module no longer exists"
- select BR2_LEGACY
- help
- OpenCV >=3.0 does not come with in-tree contrib modules.
-
- They have been moved out of the OpenCV base tree, into the opencv_contrib
- repository:
- https://github.com/Itseez/opencv_contrib
-
-config BR2_PACKAGE_OPENCV_LIB_GPU
- bool "opencv gpu module no longer exists"
- select BR2_LEGACY
- help
- opencv_gpu module no longer exists as is in OpenCV >=3.0.
-
- It has been split into several modules prefixed with "cuda" that require
- Cuda programming toolkit, which is not available in Buildroot. So cuda
- modules are forcibly disabled in Buildroot.
-
-config BR2_PACKAGE_OPENCV_LIB_LEGACY
- bool "opencv legacy module no longer exists"
- select BR2_LEGACY
- help
- opencv_legacy module no longer exists in OpenCV >=3.0.
-
-config BR2_PACKAGE_OPENCV_LIB_NONFREE
- bool "opencv nonfree module no longer exists"
- select BR2_LEGACY
- help
- opencv_nonfree module no longer exists in OpenCV >=3.0.
-
###############################################################################
comment "Legacy options removed in 2015.05"
diff --git a/package/Config.in b/package/Config.in
index 9986eb5..b356c89 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -825,6 +825,7 @@ menu "Graphics"
source "package/libva-intel-driver/Config.in"
source "package/libvips/Config.in"
source "package/menu-cache/Config.in"
+ source "package/opencv/Config.in"
source "package/opencv3/Config.in"
source "package/opengl/Config.in"
source "package/openjpeg/Config.in"
diff --git a/package/opencv/0001-core-fix-x86-PIC-code-compilation.patch b/package/opencv/0001-core-fix-x86-PIC-code-compilation.patch
new file mode 100644
index 0000000..9e8c2e9
--- /dev/null
+++ b/package/opencv/0001-core-fix-x86-PIC-code-compilation.patch
@@ -0,0 +1,49 @@
+From ea50be0529c248961e1b66293f8a9e4b807294a6 Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Sun, 12 Oct 2014 10:17:23 +0200
+Subject: [PATCH] core: fix x86 PIC code compilation
+
+This bug was triggered by Buildroot autobuilders [1,2], causing this
+kind of failures [3,4]:
+
+ [ 14%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o
+ /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp: In function '(static initializers for /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp)':
+ /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp:280:10: error: inconsistent operand constraints in an 'asm'
+ make[3]: *** [modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o] Error 1
+
+[1] http://buildroot.org/
+[2] http://autobuild.buildroot.org/
+[3] http://autobuild.buildroot.org/?reason=opencv-2.4.10
+[4] http://autobuild.buildroot.org/results/483/4838285b25d6293a5cf0bb9eadd5040a7c75d766/build-end.log
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ modules/core/src/system.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/modules/core/src/system.cpp b/modules/core/src/system.cpp
+index 5a970d5..e9ffdc7 100644
+--- a/modules/core/src/system.cpp
++++ b/modules/core/src/system.cpp
+@@ -267,14 +267,17 @@ struct HWFeatures
+ : "cc"
+ );
+ #else
++ // We need to preserve ebx since we are compiling PIC code.
++ // This means we cannot use "=b" for the 2nd output register.
+ asm volatile
+ (
+ "pushl %%ebx\n\t"
+ "movl $7,%%eax\n\t"
+ "movl $0,%%ecx\n\t"
+ "cpuid\n\t"
++ "movl %%ebx,%1\n\t"
+ "popl %%ebx\n\t"
+- : "=a"(cpuid_data[0]), "=b"(cpuid_data[1]), "=c"(cpuid_data[2]), "=d"(cpuid_data[3])
++ : "=a"(cpuid_data[0]), "=r"(cpuid_data[1]), "=c"(cpuid_data[2]), "=d"(cpuid_data[3])
+ :
+ : "cc"
+ );
+--
+2.1.2
+
diff --git a/package/opencv/0002-superres-Fix-return-type-value-VideoFrameSource_GPU.patch b/package/opencv/0002-superres-Fix-return-type-value-VideoFrameSource_GPU.patch
new file mode 100644
index 0000000..d71235d
--- /dev/null
+++ b/package/opencv/0002-superres-Fix-return-type-value-VideoFrameSource_GPU.patch
@@ -0,0 +1,40 @@
+superres: Fix return value VideoFrameSource_GPU
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+From 2e393ab83362743ba1825ad4b31d4a2925c606b4 Mon Sep 17 00:00:00 2001
+From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Date: Mon, 27 Oct 2014 13:39:35 +0000
+Subject: [PATCH] superres: Fix return value VideoFrameSource_GPU
+
+superres module fails to compile with the following error messages:
+
+[100%] Building CXX object modules/superres/CMakeFiles/opencv_superres.dir/src/super_resolution.cpp.o
+/opencv-2.4.10/modules/superres/src/frame_source.cpp: In function 'cv::Ptr<cv::superres::FrameSource> cv::superres::createFrameSource_Video_GPU(const string&)':
+/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error: expected type-specifier before 'VideoFrameSource'
+/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error: could not convert '(int*)operator new(4ul)' from 'int*' to 'cv::Ptr<cv::superres::FrameSource>'
+/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error: expected ';' before 'VideoFrameSource'
+/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:41: error: 'VideoFrameSource' was not declared in this scope
+/opencv-2.4.10/modules/superres/src/frame_source.cpp:264:1: error: control reaches end of non-void function [-Werror=return-type]
+cc1plus: some warnings being treated as errors
+make[3]: *** [modules/superres/CMakeFiles/opencv_superres.dir/src/frame_source.cpp.o] Error 1
+make[3]: *** Waiting for unfinished jobs....
+
+This is caused because the return value of the createFrameSource_Video_GPU function should be a VideoFrameSource_GPU object.
+---
+ modules/superres/src/frame_source.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/superres/src/frame_source.cpp b/modules/superres/src/frame_source.cpp
+index 5f59a98..c5b2e76 100644
+--- a/modules/superres/src/frame_source.cpp
++++ b/modules/superres/src/frame_source.cpp
+@@ -260,7 +260,7 @@ namespace
+
+ Ptr<FrameSource> cv::superres::createFrameSource_Video_GPU(const string& fileName)
+ {
+- return new VideoFrameSource(fileName);
++ return new VideoFrameSource_GPU(fileName);
+ }
+
+ #endif // HAVE_OPENCV_GPU
diff --git a/package/opencv/0003-cmake-OpenCVGenPkgconfig.cmake-rework-opencv.pc-gene.patch b/package/opencv/0003-cmake-OpenCVGenPkgconfig.cmake-rework-opencv.pc-gene.patch
new file mode 100644
index 0000000..768f08d
--- /dev/null
+++ b/package/opencv/0003-cmake-OpenCVGenPkgconfig.cmake-rework-opencv.pc-gene.patch
@@ -0,0 +1,156 @@
+From eceada586bbf18fc267e437522ec4f1f23ddc656 Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Fri, 3 Oct 2014 00:32:40 +0200
+Subject: [PATCH] cmake/OpenCVGenPkgconfig.cmake: rework opencv.pc generation
+
+Using absolute path to locate the components in the "Libs:" field of the
+*.pc can badly break cross-compilation, especially when building
+statically linked objects.
+
+Indeed, pkg-config automatically replaces the '-I...' and '-L...' paths
+when the PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_LIBDIR environment
+variables are set [1]. This feature is very helpful and common in
+cross-compilation framework like Buildroot [2,3].
+
+When there are absolute paths in the *.pc files, pkg-config won't be
+able to do the path substitions for these paths when the afromentioned
+environment variables are set.
+In such case, since the prefix is the target one, not the sysroot one,
+these libraries' abolute paths will point to:
+- in the best case: a non-existing file (i.e. these files do not exists
+ on the host system;
+- at worst: the host system's libraries. This will make the linking
+ failed because these host system's libraries will most likely not be
+ build for the target architecture [4].
+
+So, this patch replace the components' absolute paths by the form:
+ -L<libdir> -l<libname>
+
+This way, the linker will be able to resolve each dependency path,
+whatever the kind of objects/build (shared object or static build) it
+is dealing with.
+
+Note that for static link, the library order does matter [5]. The order
+of the opencv components has been carefully chosen to comply with this
+requirement.
+
+Fixes #3931
+
+[1] http://linux.die.net/man/1/pkg-config
+[2] http://buildroot.org/
+[3] http://git.buildroot.net/buildroot/tree/package/pkgconf/pkg-config.in
+[4] http://autobuild.buildroot.net/results/e8a/e8a859276db34aff87ef181b0cce98916b0afc90/build-end.log
+[5] http://stackoverflow.com/questions/45135/linker-order-gcc
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+
+---
+Note: this patch properly applies on top of the master branch, though it
+ has been written on top of the 2.4 branch.
+---
+ cmake/OpenCVGenPkgconfig.cmake | 64 +++++++++++++++++++++++++++---------------
+ 1 file changed, 42 insertions(+), 22 deletions(-)
+
+diff --git a/cmake/OpenCVGenPkgconfig.cmake b/cmake/OpenCVGenPkgconfig.cmake
+index fa57db9..183c56d 100644
+--- a/cmake/OpenCVGenPkgconfig.cmake
++++ b/cmake/OpenCVGenPkgconfig.cmake
+@@ -8,10 +8,6 @@
+ #
+ # ${BIN_DIR}/unix-install/opencv.pc -> For use *with* "make install"
+ # -------------------------------------------------------------------------------------------
+-set(prefix "${CMAKE_INSTALL_PREFIX}")
+-set(exec_prefix "\${prefix}")
+-set(libdir "") #TODO: need link paths for OpenCV_EXTRA_COMPONENTS
+-set(includedir "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}")
+
+ if(CMAKE_BUILD_TYPE MATCHES "Release")
+ set(ocv_optkind OPT)
+@@ -35,42 +31,66 @@ ocv_list_reverse(OpenCV_LIB_COMPONENTS)
+ ocv_list_reverse(OpenCV_EXTRA_COMPONENTS)
+
+ #build the list of components
+-set(OpenCV_LIB_COMPONENTS_ "")
+-foreach(CVLib ${OpenCV_LIB_COMPONENTS})
+- get_target_property(libpath ${CVLib} LOCATION_${CMAKE_BUILD_TYPE})
+- get_filename_component(libname "${libpath}" NAME)
+
+- if(INSTALL_TO_MANGLED_PATHS)
+- set(libname "${libname}.${OPENCV_VERSION}")
+- endif()
++# Note:
++# when linking against static libraries, if libfoo depends on libbar, then
++# libfoo must come first in the linker flags.
++
++# world is a special target whose library should come first, especially for
++# static link.
++if(OpenCV_LIB_COMPONENTS MATCHES "opencv_world")
++ list(REMOVE_ITEM OpenCV_LIB_COMPONENTS "opencv_world")
++ list(INSERT OpenCV_LIB_COMPONENTS 0 "opencv_world")
++endif()
++
++set(OpenCV_LIB_COMPONENTS_)
++foreach(CVLib ${OpenCV_LIB_COMPONENTS})
+
+- #need better solution....
+- if(libpath MATCHES "3rdparty")
+- set(installDir "share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH}")
++ get_target_property(libloc ${CVLib} LOCATION_${CMAKE_BUILD_TYPE})
++ if(libloc MATCHES "3rdparty")
++ set(libpath "\${exec_prefix}/share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH}")
+ else()
+- set(installDir "${OPENCV_LIB_INSTALL_PATH}")
++ set(libpath "\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}")
+ endif()
++ list(APPEND OpenCV_LIB_COMPONENTS_ "-L${libpath}")
++
++ get_filename_component(libname ${CVLib} NAME_WE)
++ string(REGEX REPLACE "^lib" "" libname "${libname}")
++ list(APPEND OpenCV_LIB_COMPONENTS_ "-l${libname}")
+
+- set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} \${exec_prefix}/${installDir}/${libname}")
+ endforeach()
+
+ # add extra dependencies required for OpenCV
+-set(OpenCV_LIB_COMPONENTS ${OpenCV_LIB_COMPONENTS_})
+ if(OpenCV_EXTRA_COMPONENTS)
+ foreach(extra_component ${OpenCV_EXTRA_COMPONENTS})
+
+- if(extra_component MATCHES "^-[lL]" OR extra_component MATCHES "[\\/]")
+- set(maybe_l_prefix "")
++ if(extra_component MATCHES "^-[lL]")
++ set(libprefix "")
++ set(libname "${extra_component}")
++ elseif(extra_component MATCHES "[\\/]")
++ get_filename_component(libdir "${extra_component}" PATH)
++ list(APPEND OpenCV_LIB_COMPONENTS_ "-L${libdir}")
++ get_filename_component(libname "${extra_component}" NAME_WE)
++ string(REGEX REPLACE "^lib" "" libname "${libname}")
++ set(libprefix "-l")
+ else()
+- set(maybe_l_prefix "-l")
++ set(libprefix "-l")
++ set(libname "${extra_component}")
+ endif()
+-
+- set(OpenCV_LIB_COMPONENTS "${OpenCV_LIB_COMPONENTS} ${maybe_l_prefix}${extra_component}")
++ list(APPEND OpenCV_LIB_COMPONENTS_ "${libprefix}${libname}")
+
+ endforeach()
+ endif()
+
++list(REMOVE_DUPLICATES OpenCV_LIB_COMPONENTS_)
++string(REPLACE ";" " " OpenCV_LIB_COMPONENTS "${OpenCV_LIB_COMPONENTS_}")
++
+ #generate the .pc file
++set(prefix "${CMAKE_INSTALL_PREFIX}")
++set(exec_prefix "\${prefix}")
++set(libdir "\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}")
++set(includedir "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}")
++
+ if(INSTALL_TO_MANGLED_PATHS)
+ set(OPENCV_PC_FILE_NAME "opencv-${OPENCV_VERSION}.pc")
+ else()
+--
+2.4.1
+
diff --git a/package/opencv/Config.in b/package/opencv/Config.in
new file mode 100644
index 0000000..aca5174
--- /dev/null
+++ b/package/opencv/Config.in
@@ -0,0 +1,223 @@
+menuconfig BR2_PACKAGE_OPENCV
+ bool "opencv-2.4"
+ select BR2_PACKAGE_ZLIB
+ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_USE_WCHAR
+ help
+ OpenCV (Open Source Computer Vision) is a library of programming
+ functions for real time computer vision.
+
+ http://opencv.org/
+
+if BR2_PACKAGE_OPENCV
+
+comment "OpenCV modules"
+
+config BR2_PACKAGE_OPENCV_LIB_CALIB3D
+ bool "calib3d"
+ default y
+ help
+ Include opencv_calib3d module into the OpenCV build.
+
+config BR2_PACKAGE_OPENCV_LIB_CONTRIB
+ bool "contrib"
+ default y
+ help
+ Include opencv_contrib module into the OpenCV build.
+
+config BR2_PACKAGE_OPENCV_LIB_FEATURES2D
+ bool "features2d"
+ default y
+ help
+ Include opencv_features2d module into the OpenCV build.
+
+config BR2_PACKAGE_OPENCV_LIB_FLANN
+ bool "flann"
+ default y
+ help
+ Include opencv_flann module into the OpenCV build.
+
+config BR2_PACKAGE_OPENCV_LIB_GPU
+ bool "gpu"
+ help
+ Include opencv_gpu module into the OpenCV build.
+
+config BR2_PACKAGE_OPENCV_LIB_HIGHGUI
+ bool "highgui"
+ default y
+ help
+ Include opencv_highgui module into the OpenCV build.
+
+config BR2_PACKAGE_OPENCV_LIB_IMGPROC
+ bool "imgproc"
+ default y
+ help
+ Include opencv_imgproc module into the OpenCV build.
+
+config BR2_PACKAGE_OPENCV_LIB_LEGACY
+ bool "legacy"
+ default y
+ help
+ Include opencv_legacy module into the OpenCV build.
+
+config BR2_PACKAGE_OPENCV_LIB_ML
+ bool "ml (machine learning)"
+ default y
+ help
+ Include opencv_ml module into the OpenCV build.
+
+config BR2_PACKAGE_OPENCV_LIB_NONFREE
+ bool "nonfree"
+ help
+ Include opencv_nonfree module into the OpenCV build.
+
+config BR2_PACKAGE_OPENCV_LIB_OBJDETECT
+ bool "objdetect"
+ default y
+ help
+ Include opencv_objdetect module into the OpenCV build.
+
+config BR2_PACKAGE_OPENCV_LIB_PHOTO
+ bool "photo"
+ default y
+ help
+ Include opencv_photo module into the OpenCV build.
+
+comment "opencv_python module requires numpy which is not yet available."
+
+config BR2_PACKAGE_OPENCV_LIB_STITCHING
+ bool "stitching"
+ default y
+ 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)"
+ select BR2_PACKAGE_OPENCV_LIB_HIGHGUI
+ default y
+ help
+ Include opencv_ts module into the OpenCV build.
+
+config BR2_PACKAGE_OPENCV_LIB_VIDEO
+ bool "video"
+ default y
+ help
+ Include opencv_video module into the OpenCV build.
+
+config BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB
+ bool "videostab"
+ default y
+ help
+ Include opencv_videostab module into the OpenCV build.
+
+comment "Test sets"
+config BR2_PACKAGE_OPENCV_BUILD_TESTS
+ bool "build tests"
+
+config BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS
+ bool "build performance tests"
+
+comment "3rd party support"
+
+config BR2_PACKAGE_OPENCV_WITH_FFMPEG
+ bool "ffmpeg support"
+ select BR2_PACKAGE_BZIP2
+ select BR2_PACKAGE_FFMPEG
+ select BR2_PACKAGE_FFMPEG_SWSCALE
+ help
+ Use ffmpeg from the target system.
+
+config BR2_PACKAGE_OPENCV_WITH_GSTREAMER
+ bool "gstreamer support"
+ depends on BR2_USE_MMU # gstreamer -> libglib2
+ depends on BR2_USE_WCHAR # gstreamer -> libglib2
+ depends on BR2_TOOLCHAIN_HAS_THREADS # gstreamer -> libglib2
+ select BR2_PACKAGE_GSTREAMER
+ select BR2_PACKAGE_GST_PLUGINS_BASE
+ select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP
+
+comment "gstreamer support needs a toolchain w/ wchar, threads"
+ depends on BR2_USE_MMU
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+
+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
+ help
+ Enable jpeg2000 support.
+
+ Note: this does not use the libjasper bundled with opencv,
+ but uses the libjasper package installed system-wide by
+ Buildroot.
+
+config BR2_PACKAGE_OPENCV_WITH_JPEG
+ bool "jpeg support"
+ select BR2_PACKAGE_JPEG
+ help
+ Use shared libjpeg from the target system.
+
+config BR2_PACKAGE_OPENCV_WITH_PNG
+ bool "png support"
+ select BR2_PACKAGE_LIBPNG
+ 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
+ help
+ Use shared libtiff from the target system.
+
+config BR2_PACKAGE_OPENCV_WITH_V4L
+ bool "v4l support"
+ help
+ Enable Video 4 Linux support.
+
+ If the package libv4l is enabled, its support is automatically enabled.
+
+comment "Install options"
+
+config BR2_PACKAGE_OPENCV_INSTALL_DATA
+ bool "install extra data"
+ help
+ Install various data that is used by cv libraries and/or demo
+ applications, specifically for haarcascades and lbpcascades
+ features.
+
+ For further information: see OpenCV documentation.
+
+endif # BR2_PACKAGE_OPENCV
+
+comment "opencv needs a toolchain w/ C++, NPTL, wchar"
+ depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS_NPTL)
diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk
new file mode 100644
index 0000000..ee11220
--- /dev/null
+++ b/package/opencv/opencv.mk
@@ -0,0 +1,250 @@
+################################################################################
+#
+# opencv
+#
+################################################################################
+
+OPENCV_VERSION = 2.4.10
+OPENCV_SITE = $(call github,itseez,opencv,$(OPENCV_VERSION))
+OPENCV_INSTALL_STAGING = YES
+OPENCV_LICENSE = BSD-3c
+OPENCV_LICENSE_FILES = LICENSE
+
+# OpenCV component options
+OPENCV_CONF_OPTS += \
+ -DBUILD_PERF_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_PERF_TESTS),ON,OFF) \
+ -DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV_BUILD_TESTS),ON,OFF) \
+ -DBUILD_WITH_DEBUG_INFO=OFF
+
+# OpenCV build options
+OPENCV_CONF_OPTS += \
+ -DBUILD_WITH_STATIC_CRT=OFF \
+ -DENABLE_FAST_MATH=ON \
+ -DENABLE_NOISY_WARNINGS=OFF \
+ -DENABLE_OMIT_FRAME_POINTER=ON \
+ -DENABLE_PRECOMPILED_HEADERS=OFF \
+ -DENABLE_PROFILING=OFF \
+ -DOPENCV_CAN_BREAK_BINARY_COMPATIBILITY=ON
+
+# OpenCV link options
+OPENCV_CONF_OPTS += \
+ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF \
+ -DCMAKE_SKIP_RPATH=OFF \
+ -DCMAKE_USE_RELATIVE_PATHS=OFF
+
+# OpenCV packaging options:
+OPENCV_CONF_OPTS += \
+ -DBUILD_PACKAGE=OFF \
+ -DENABLE_SOLUTION_FOLDERS=OFF \
+ -DINSTALL_CREATE_DISTRIB=OFF
+
+# OpenCV module selection
+OPENCV_CONF_OPTS += \
+ -DBUILD_opencv_androidcamera=OFF \
+ -DBUILD_opencv_apps=OFF \
+ -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV_LIB_CALIB3D),ON,OFF) \
+ -DBUILD_opencv_contrib=$(if $(BR2_PACKAGE_OPENCV_LIB_CONTRIB),ON,OFF) \
+ -DBUILD_opencv_core=ON \
+ -DBUILD_opencv_dynamicuda=OFF \
+ -DBUILD_opencv_features2d=$(if $(BR2_PACKAGE_OPENCV_LIB_FEATURES2D),ON,OFF) \
+ -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV_LIB_FLANN),ON,OFF) \
+ -DBUILD_opencv_gpu=$(if $(BR2_PACKAGE_OPENCV_LIB_GPU),ON,OFF) \
+ -DBUILD_opencv_highgui=$(if $(BR2_PACKAGE_OPENCV_LIB_HIGHGUI),ON,OFF) \
+ -DBUILD_opencv_imgproc=$(if $(BR2_PACKAGE_OPENCV_LIB_IMGPROC),ON,OFF) \
+ -DBUILD_opencv_java=OFF \
+ -DBUILD_opencv_legacy=$(if $(BR2_PACKAGE_OPENCV_LIB_LEGACY),ON,OFF) \
+ -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV_LIB_ML),ON,OFF) \
+ -DBUILD_opencv_nonfree=$(if $(BR2_PACKAGE_OPENCV_LIB_NONFREE),ON,OFF) \
+ -DBUILD_opencv_objdetect=$(if $(BR2_PACKAGE_OPENCV_LIB_OBJDETECT),ON,OFF) \
+ -DBUILD_opencv_ocl=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
+
+# Hardware support options.
+#
+# * PowerPC support is turned off since its only effect is altering CFLAGS,
+# adding '-mcpu=G3 -mtune=G5' to them, which is already handled by Buildroot.
+OPENCV_CONF_OPTS += \
+ -DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \
+ -DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \
+ -DENABLE_POWERPC=OFF \
+ -DENABLE_SSE=$(if $(BR2_X86_CPU_HAS_SSE),ON,OFF) \
+ -DENABLE_SSE2=$(if $(BR2_X86_CPU_HAS_SSE2),ON,OFF) \
+ -DENABLE_SSE3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF) \
+ -DENABLE_SSE41=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF) \
+ -DENABLE_SSE42=$(if $(BR2_X86_CPU_HAS_SSE42),ON,OFF) \
+ -DENABLE_SSSE3=$(if $(BR2_X86_CPU_HAS_SSSE3),ON,OFF)
+
+# Cuda stuff
+OPENCV_CONF_OPTS += \
+ -DWITH_CUBLAS=OFF \
+ -DWITH_CUDA=OFF \
+ -DWITH_CUFFT=OFF
+
+# NVidia stuff
+OPENCV_CONF_OPTS += -DWITH_NVCUVID=OFF
+
+# AMD stuff
+OPENCV_CONF_OPTS += \
+ -DWITH_OPENCLAMDBLAS=OFF \
+ -DWITH_OPENCLAMDFFT=OFF
+
+# Intel stuff
+OPENCV_CONF_OPTS += \
+ -DWITH_INTELPERC=OFF \
+ -DWITH_IPP=OFF \
+ -DWITH_TBB=OFF
+
+# Smartek stuff
+OPENCV_CONF_OPTS += -DWITH_GIGEAPI=OFF
+
+# Prosilica stuff
+OPENCV_CONF_OPTS += -DWITH_PVAPI=OFF
+
+# Ximea stuff
+OPENCV_CONF_OPTS += -DWITH_XIMEA=OFF
+
+# Non-Linux support (Android options) must remain OFF:
+OPENCV_CONF_OPTS += \
+ -DBUILD_ANDROID_CAMERA_WRAPPER=OFF \
+ -DBUILD_ANDROID_EXAMPLES=OFF \
+ -DBUILD_FAT_JAVA_LIB=OFF \
+ -DBUILD_JAVA_SUPPORT=OFF \
+ -DINSTALL_ANDROID_EXAMPLES=OFF \
+ -DWITH_ANDROID_CAMERA=OFF
+
+# Non-Linux support (Mac OSX options) must remain OFF:
+OPENCV_CONF_OPTS += \
+ -DWITH_AVFOUNDATION=OFF \
+ -DWITH_CARBON=OFF \
+ -DWITH_QUICKTIME=OFF
+
+# Non-Linux support (Windows options) must remain OFF:
+OPENCV_CONF_OPTS += \
+ -DWITH_CSTRIPES=OFF \
+ -DWITH_DSHOW=OFF \
+ -DWITH_MSMF=OFF \
+ -DWITH_VFW=OFF \
+ -DWITH_VIDEOINPUT=OFF \
+ -DWITH_WIN32UI=OFF
+
+# Software/3rd-party support options.
+OPENCV_CONF_OPTS += \
+ -DBUILD_JASPER=OFF \
+ -DBUILD_JPEG=OFF \
+ -DBUILD_NEW_PYTHON_SUPPORT=OFF \
+ -DBUILD_OPENEXR=OFF \
+ -DBUILD_PNG=OFF \
+ -DBUILD_TIFF=OFF \
+ -DBUILD_ZLIB=OFF \
+ -DINSTALL_C_EXAMPLES=OFF \
+ -DINSTALL_PYTHON_EXAMPLES=OFF \
+ -DINSTALL_TO_MANGLED_PATHS=OFF
+
+# Disabled features (mostly because they are not available in Buildroot), but
+# - eigen: OpenCV does not use it, not take any benefit from it.
+OPENCV_CONF_OPTS += \
+ -DWITH_1394=OFF \
+ -DWITH_EIGEN=OFF \
+ -DWITH_IMAGEIO=OFF \
+ -DWITH_OPENCL=OFF \
+ -DWITH_OPENEXR=OFF \
+ -DWITH_OPENGL=OFF \
+ -DWITH_OPENMP=OFF \
+ -DWITH_OPENNI=OFF \
+ -DWITH_UNICAP=OFF \
+ -DWITH_XINE=OFF
+
+OPENCV_DEPENDENCIES += zlib
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_FFMPEG),y)
+OPENCV_CONF_OPTS += -DWITH_FFMPEG=ON
+OPENCV_DEPENDENCIES += ffmpeg bzip2
+else
+OPENCV_CONF_OPTS += -DWITH_FFMPEG=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_GSTREAMER),y)
+OPENCV_CONF_OPTS += -DWITH_GSTREAMER=ON
+OPENCV_DEPENDENCIES += gstreamer gst-plugins-base
+else
+OPENCV_CONF_OPTS += -DWITH_GSTREAMER=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_GTK),y)
+OPENCV_CONF_OPTS += -DWITH_GTK=ON
+OPENCV_DEPENDENCIES += libgtk2
+else
+OPENCV_CONF_OPTS += -DWITH_GTK=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_JASPER),y)
+OPENCV_CONF_OPTS += -DWITH_JASPER=ON
+OPENCV_DEPENDENCIES += jasper
+else
+OPENCV_CONF_OPTS += -DWITH_JASPER=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_JPEG),y)
+OPENCV_CONF_OPTS += -DWITH_JPEG=ON
+OPENCV_DEPENDENCIES += jpeg
+else
+OPENCV_CONF_OPTS += -DWITH_JPEG=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_PNG),y)
+OPENCV_CONF_OPTS += -DWITH_PNG=ON
+OPENCV_DEPENDENCIES += libpng
+else
+OPENCV_CONF_OPTS += -DWITH_PNG=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_QT),y)
+OPENCV_CONF_OPTS += -DWITH_QT=4
+OPENCV_DEPENDENCIES += qt
+else
+OPENCV_CONF_OPTS += -DWITH_QT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_TIFF),y)
+OPENCV_CONF_OPTS += -DWITH_TIFF=ON
+OPENCV_DEPENDENCIES += tiff
+else
+OPENCV_CONF_OPTS += -DWITH_TIFF=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_V4L),y)
+OPENCV_CONF_OPTS += \
+ -DWITH_LIBV4L=$(if $(BR2_PACKAGE_LIBV4L),ON,OFF) \
+ -DWITH_V4L=ON
+OPENCV_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBV4L),libv4l)
+else
+OPENCV_CONF_OPTS += -DWITH_V4L=OFF -DWITH_LIBV4L=OFF
+endif
+
+# Installation hooks:
+define OPENCV_CLEAN_INSTALL_DOC
+ $(RM) -fr $(TARGET_DIR)/usr/share/OpenCV/doc
+endef
+OPENCV_POST_INSTALL_TARGET_HOOKS += OPENCV_CLEAN_INSTALL_DOC
+
+define OPENCV_CLEAN_INSTALL_CMAKE
+ $(RM) -f $(TARGET_DIR)/usr/share/OpenCV/OpenCVConfig*.cmake
+endef
+OPENCV_POST_INSTALL_TARGET_HOOKS += OPENCV_CLEAN_INSTALL_CMAKE
+
+ifneq ($(BR2_PACKAGE_OPENCV_INSTALL_DATA),y)
+define OPENCV_CLEAN_INSTALL_DATA
+ $(RM) -fr $(TARGET_DIR)/usr/share/OpenCV/haarcascades \
+ $(TARGET_DIR)/usr/share/OpenCV/lbpcascades
+endef
+OPENCV_POST_INSTALL_TARGET_HOOKS += OPENCV_CLEAN_INSTALL_DATA
+endif
+
+$(eval $(cmake-package))
diff --git a/package/opencv3/Config.in b/package/opencv3/Config.in
index c63b474..83737d8 100644
--- a/package/opencv3/Config.in
+++ b/package/opencv3/Config.in
@@ -7,6 +7,7 @@ menuconfig BR2_PACKAGE_OPENCV3
depends on !BR2_STATIC_LIBS # include dlfcn.h
# Causes some toolchain failures on Xtensa
depends on !BR2_xtensa
+ depends on !BR2_PACKAGE_OPENCV
help
OpenCV (Open Source Computer Vision) is a library of programming
functions for real time computer vision.
--
1.9.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 3/4 v2] Revert "package/gstreamer1/gst1-plugins-bad: disable opencv plugin with opencv-3"
2015-08-09 16:14 [Buildroot] [PATCH 0/4 v2] OpenCV: re-introduce opencv-2.4 package (branch yem/sma/opencv3-opencv24) Yann E. MORIN
2015-08-09 16:14 ` [Buildroot] [PATCH 1/4 v2] package: rename opencv -> opencv3 Yann E. MORIN
2015-08-09 16:14 ` [Buildroot] [PATCH 2/4 v2] package/opencv: re-introduce opencv for opencv-2.4 Yann E. MORIN
@ 2015-08-09 16:14 ` Yann E. MORIN
2015-08-09 18:36 ` Samuel Martin
2015-08-09 16:14 ` [Buildroot] [PATCH 4/4 v2] package/vlc: update opencv support Yann E. MORIN
3 siblings, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2015-08-09 16:14 UTC (permalink / raw)
To: buildroot
From: Samuel Martin <s.martin49@gmail.com>
This reverts commit 5e238a87eacf2a0c62736c4123961651afb1ba87.
Also update the dependencies.
Cc: Jonathan Ben Avraham <yba@tkos.co.il>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[yann.morin.1998 at free.fr: fix dependencies at the same time]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/gstreamer1/gst1-plugins-bad/Config.in | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in
index bc99527..494a282 100644
--- a/package/gstreamer1/gst1-plugins-bad/Config.in
+++ b/package/gstreamer1/gst1-plugins-bad/Config.in
@@ -557,9 +557,22 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NEON
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV
bool "opencv"
- depends on BR2_INSTALL_LIBSTDCPP
- depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
- depends on BROKEN # gst1-plugin-opencv does not (yet) support opencv >=3.x
+ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # opencv
+ depends on BR2_INSTALL_LIBSTDCPP # opencv
+ depends on BR2_USE_WCHAR # opencv
+ select BR2_PACKAGE_OPENCV
+ # Remove the following opencv modules when gstreamer fixes the
+ # problem of including the old "cv.h" header
+ # bug: https://bugzilla.gnome.org/show_bug.cgi?id=725163
+ select BR2_PACKAGE_OPENCV_LIB_CALIB3D
+ select BR2_PACKAGE_OPENCV_LIB_CONTRIB
+ select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
+ select BR2_PACKAGE_OPENCV_LIB_FLANN
+ select BR2_PACKAGE_OPENCV_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV_LIB_LEGACY
+ select BR2_PACKAGE_OPENCV_LIB_ML
+ select BR2_PACKAGE_OPENCV_LIB_OBJDETECT
+ select BR2_PACKAGE_OPENCV_LIB_VIDEO
help
GStreamer OpenCV Plugins
--
1.9.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 4/4 v2] package/vlc: update opencv support
2015-08-09 16:14 [Buildroot] [PATCH 0/4 v2] OpenCV: re-introduce opencv-2.4 package (branch yem/sma/opencv3-opencv24) Yann E. MORIN
` (2 preceding siblings ...)
2015-08-09 16:14 ` [Buildroot] [PATCH 3/4 v2] Revert "package/gstreamer1/gst1-plugins-bad: disable opencv plugin with opencv-3" Yann E. MORIN
@ 2015-08-09 16:14 ` Yann E. MORIN
3 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2015-08-09 16:14 UTC (permalink / raw)
To: buildroot
From: Samuel Martin <s.martin49@gmail.com>
vlc supports both opencv-2.4 and opencv-3, so adjust the vlc package to
reflect this.
Cc: Jonathan Ben Avraham <yba@tkos.co.il>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
package/vlc/Config.in | 14 ++++++++++++--
package/vlc/vlc.mk | 6 +++++-
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/package/vlc/Config.in b/package/vlc/Config.in
index 6679cc9..71e4f34 100644
--- a/package/vlc/Config.in
+++ b/package/vlc/Config.in
@@ -11,8 +11,8 @@ config BR2_PACKAGE_VLC
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
select BR2_PACKAGE_LIBVORBIS if BR2_PACKAGE_OPUS
- select BR2_PACKAGE_OPENCV3_LIB_IMGPROC if BR2_PACKAGE_OPENCV3
- select BR2_PACKAGE_OPENCV3_LIB_OBJDETECT if BR2_PACKAGE_OPENCV3
+ select BR2_PACKAGE_VLC_OPENCV_BACKEND if BR2_PACKAGE_OPENCV
+ select BR2_PACKAGE_VLC_OPENCV3_BACKEND if BR2_PACKAGE_OPENCV3
help
VLC is a free and open source cross-platform multimedia player
and framework that plays most multimedia files as well as DVD,
@@ -20,6 +20,16 @@ config BR2_PACKAGE_VLC
http://www.videolan.org/vlc/
+config BR2_PACKAGE_VLC_OPENCV_BACKEND
+ bool
+ select BR2_PACKAGE_OPENCV_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV_LIB_OBJDETECT
+
+config BR2_PACKAGE_VLC_OPENCV3_BACKEND
+ bool
+ select BR2_PACKAGE_OPENCV3_LIB_IMGPROC
+ select BR2_PACKAGE_OPENCV3_LIB_OBJDETECT
+
comment "vlc needs a uclibc snapshot, uclibc-ng or (e)glibc toolchain w/ C++, wchar, threads, headers >= 3.7"
depends on !(BR2_UCLIBC_VERSION_SNAPSHOT || BR2_UCLIBC_VERSION_NG || BR2_TOOLCHAIN_USES_GLIBC) \
|| !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \
diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk
index fa74a7b..6f7fd58 100644
--- a/package/vlc/vlc.mk
+++ b/package/vlc/vlc.mk
@@ -153,9 +153,13 @@ else
VLC_CONF_OPTS += --disable-gles2
endif
-ifeq ($(BR2_PACKAGE_OPENCV3),y)
+ifeq ($(BR2_PACKAGE_OPENCV)$(BR2_PACKAGE_OPENCV3),y)
VLC_CONF_OPTS += --enable-opencv
+ifeq ($(BR2_PACKAGE_OPENCV),y)
+VLC_DEPENDENCIES += opencv
+else
VLC_DEPENDENCIES += opencv3
+endif
else
VLC_CONF_OPTS += --disable-opencv
endif
--
1.9.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 3/4 v2] Revert "package/gstreamer1/gst1-plugins-bad: disable opencv plugin with opencv-3"
2015-08-09 16:14 ` [Buildroot] [PATCH 3/4 v2] Revert "package/gstreamer1/gst1-plugins-bad: disable opencv plugin with opencv-3" Yann E. MORIN
@ 2015-08-09 18:36 ` Samuel Martin
2015-08-09 18:52 ` Yann E. MORIN
0 siblings, 1 reply; 7+ messages in thread
From: Samuel Martin @ 2015-08-09 18:36 UTC (permalink / raw)
To: buildroot
Yann,
On Sun, Aug 9, 2015 at 6:14 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> From: Samuel Martin <s.martin49@gmail.com>
>
> This reverts commit 5e238a87eacf2a0c62736c4123961651afb1ba87.
>
> Also update the dependencies.
>
> Cc: Jonathan Ben Avraham <yba@tkos.co.il>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Signed-off-by: Samuel Martin <s.martin49@gmail.com>
> [yann.morin.1998 at free.fr: fix dependencies at the same time]
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
> package/gstreamer1/gst1-plugins-bad/Config.in | 19 ++++++++++++++++---
> 1 file changed, 16 insertions(+), 3 deletions(-)
>
> diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in
> index bc99527..494a282 100644
> --- a/package/gstreamer1/gst1-plugins-bad/Config.in
> +++ b/package/gstreamer1/gst1-plugins-bad/Config.in
> @@ -557,9 +557,22 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NEON
>
> config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV
> bool "opencv"
> - depends on BR2_INSTALL_LIBSTDCPP
> - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> - depends on BROKEN # gst1-plugin-opencv does not (yet) support opencv >=3.x
> + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # opencv
> + depends on BR2_INSTALL_LIBSTDCPP # opencv
> + depends on BR2_USE_WCHAR # opencv
> + select BR2_PACKAGE_OPENCV
> + # Remove the following opencv modules when gstreamer fixes the
> + # problem of including the old "cv.h" header
> + # bug: https://bugzilla.gnome.org/show_bug.cgi?id=725163
> + select BR2_PACKAGE_OPENCV_LIB_CALIB3D
> + select BR2_PACKAGE_OPENCV_LIB_CONTRIB
> + select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
> + select BR2_PACKAGE_OPENCV_LIB_FLANN
> + select BR2_PACKAGE_OPENCV_LIB_IMGPROC
> + select BR2_PACKAGE_OPENCV_LIB_LEGACY
> + select BR2_PACKAGE_OPENCV_LIB_ML
> + select BR2_PACKAGE_OPENCV_LIB_OBJDETECT
> + select BR2_PACKAGE_OPENCV_LIB_VIDEO
> help
> GStreamer OpenCV Plugins
How do you ensure that gst1-plugins-bad cannot select opencv when
opencv3 is already selected?
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [PATCH 3/4 v2] Revert "package/gstreamer1/gst1-plugins-bad: disable opencv plugin with opencv-3"
2015-08-09 18:36 ` Samuel Martin
@ 2015-08-09 18:52 ` Yann E. MORIN
0 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2015-08-09 18:52 UTC (permalink / raw)
To: buildroot
Samuel, All,
On 2015-08-09 20:36 +0200, Samuel Martin spake thusly:
> On Sun, Aug 9, 2015 at 6:14 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> > From: Samuel Martin <s.martin49@gmail.com>
> >
> > This reverts commit 5e238a87eacf2a0c62736c4123961651afb1ba87.
> >
> > Also update the dependencies.
> >
> > Cc: Jonathan Ben Avraham <yba@tkos.co.il>
> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> > Signed-off-by: Samuel Martin <s.martin49@gmail.com>
> > [yann.morin.1998 at free.fr: fix dependencies at the same time]
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > ---
> > package/gstreamer1/gst1-plugins-bad/Config.in | 19 ++++++++++++++++---
> > 1 file changed, 16 insertions(+), 3 deletions(-)
> >
> > diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in
> > index bc99527..494a282 100644
> > --- a/package/gstreamer1/gst1-plugins-bad/Config.in
> > +++ b/package/gstreamer1/gst1-plugins-bad/Config.in
> > @@ -557,9 +557,22 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NEON
> >
> > config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV
> > bool "opencv"
> > - depends on BR2_INSTALL_LIBSTDCPP
> > - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> > - depends on BROKEN # gst1-plugin-opencv does not (yet) support opencv >=3.x
> > + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # opencv
> > + depends on BR2_INSTALL_LIBSTDCPP # opencv
> > + depends on BR2_USE_WCHAR # opencv
> > + select BR2_PACKAGE_OPENCV
> > + # Remove the following opencv modules when gstreamer fixes the
> > + # problem of including the old "cv.h" header
> > + # bug: https://bugzilla.gnome.org/show_bug.cgi?id=725163
> > + select BR2_PACKAGE_OPENCV_LIB_CALIB3D
> > + select BR2_PACKAGE_OPENCV_LIB_CONTRIB
> > + select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
> > + select BR2_PACKAGE_OPENCV_LIB_FLANN
> > + select BR2_PACKAGE_OPENCV_LIB_IMGPROC
> > + select BR2_PACKAGE_OPENCV_LIB_LEGACY
> > + select BR2_PACKAGE_OPENCV_LIB_ML
> > + select BR2_PACKAGE_OPENCV_LIB_OBJDETECT
> > + select BR2_PACKAGE_OPENCV_LIB_VIDEO
> > help
> > GStreamer OpenCV Plugins
>
> How do you ensure that gst1-plugins-bad cannot select opencv when
> opencv3 is already selected?
Because OPENCV3 depends on !OPENCV.
So, if a user selects BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV, OpenCV
gets selected, and OpenCV 3 is not available.
If you do otherwise, like;
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV
bool "opencv"
depends on !BR2_PACKAGE_OPENCV3
select BR2_PACKAGE_OPENCV
you get circular dependencies.
The only alternative is to depend on BR2_PACKAGE_OPENCV rather than
select it.
But now I see we anyway already have a circular dependency. sigh... :-(
Lemme fix that...
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-08-09 18:52 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-09 16:14 [Buildroot] [PATCH 0/4 v2] OpenCV: re-introduce opencv-2.4 package (branch yem/sma/opencv3-opencv24) Yann E. MORIN
2015-08-09 16:14 ` [Buildroot] [PATCH 1/4 v2] package: rename opencv -> opencv3 Yann E. MORIN
2015-08-09 16:14 ` [Buildroot] [PATCH 2/4 v2] package/opencv: re-introduce opencv for opencv-2.4 Yann E. MORIN
2015-08-09 16:14 ` [Buildroot] [PATCH 3/4 v2] Revert "package/gstreamer1/gst1-plugins-bad: disable opencv plugin with opencv-3" Yann E. MORIN
2015-08-09 18:36 ` Samuel Martin
2015-08-09 18:52 ` Yann E. MORIN
2015-08-09 16:14 ` [Buildroot] [PATCH 4/4 v2] package/vlc: update opencv support Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox