* [Buildroot] [pull request] package/opencv: re-introduce opencv24
@ 2015-08-24 12:47 Yann E. MORIN
2015-08-24 12:47 ` [Buildroot] [PATCH 1/4] package: rename opencv -> opencv3 Yann E. MORIN
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Yann E. MORIN @ 2015-08-24 12:47 UTC (permalink / raw)
To: buildroot
Hello All!
As reported by Jonathan [0], some packages use the legacy OpenCV-2.4 API
and have not yet been ported over to the new and incompatible OpenCV-3.
So, this series;
- renames the OpenCV-3 package from opencv to opencv3
- reintroduces OpenCV-2.4 as opencv
- makes opencv and opencv3 mutually exclusive (with a preference
toward opencv, thus OpenCV-2.4)
- restores the Gstreamer-1 plugin support for OpenCV-2.4
- updates vlc to support both opencv and opencv3
[0] http://lists.busybox.net/pipermail/buildroot/2015-August/135270.html
Regards,
Yann E. MORIN.
The following changes since commit 7deaa277fd4c89c67de39ea21b4cd081ab85366f:
arch/arm: add missing arm1136j-s variant (2015-08-24 00:43:12 +0200)
are available in the git repository at:
git://git.busybox.net/~ymorin/git/buildroot yem/opencv3-opencv24
for you to fetch changes up to 1425d9f346c52e716c02b09c21b377e93033db94:
package/vlc: update opencv support (2015-08-24 10:33:51 +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 | 20 +-
.../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, 1083 insertions(+), 371 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] 6+ messages in thread
* [Buildroot] [PATCH 1/4] package: rename opencv -> opencv3
2015-08-24 12:47 [Buildroot] [pull request] package/opencv: re-introduce opencv24 Yann E. MORIN
@ 2015-08-24 12:47 ` Yann E. MORIN
2015-08-24 12:47 ` [Buildroot] [PATCH 2/4] package/opencv: re-introduce opencv for opencv-2.4 Yann E. MORIN
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Yann E. MORIN @ 2015-08-24 12:47 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.
Reverse dependencies (vlc) is fixed to use the new symbols.
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
- fix 'endif' comment
- slightly reword commit log (reverse deps)
]
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 | 152 +++++++-------
package/{opencv/opencv.mk => opencv3/opencv3.mk} | 230 ++++++++++-----------
package/vlc/Config.in | 4 +-
package/vlc/vlc.mk | 4 +-
7 files changed, 196 insertions(+), 196 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 (69%)
rename package/{opencv/opencv.mk => opencv3/opencv3.mk} (55%)
diff --git a/package/Config.in b/package/Config.in
index 2c92439..cde7117 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 69%
rename from package/opencv/Config.in
rename to package/opencv3/Config.in
index a52092d..f48a7e2 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
@@ -333,9 +333,9 @@ config BR2_PACKAGE_OPENCV_INSTALL_DATA
For further information: see OpenCV documentation.
-endif # BR2_PACKAGE_OPENCV
+endif # BR2_PACKAGE_OPENCV3
-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] 6+ messages in thread
* [Buildroot] [PATCH 2/4] package/opencv: re-introduce opencv for opencv-2.4
2015-08-24 12:47 [Buildroot] [pull request] package/opencv: re-introduce opencv24 Yann E. MORIN
2015-08-24 12:47 ` [Buildroot] [PATCH 1/4] package: rename opencv -> opencv3 Yann E. MORIN
@ 2015-08-24 12:47 ` Yann E. MORIN
2015-08-24 12:47 ` [Buildroot] [PATCH 3/4] Revert "package/gstreamer1/gst1-plugins-bad: disable opencv plugin with opencv-3" Yann E. MORIN
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Yann E. MORIN @ 2015-08-24 12:47 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).
We do not support both OpenCV-2.4 and OpenCV-3 at the same time, so make
OpenCV-3 depend on !OpenCV-2.4.
[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
- slitghly reword the commit log (opencv/opencv3 dependency)
]
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 cde7117..35fe026 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 f48a7e2..137a351 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] 6+ messages in thread
* [Buildroot] [PATCH 3/4] Revert "package/gstreamer1/gst1-plugins-bad: disable opencv plugin with opencv-3"
2015-08-24 12:47 [Buildroot] [pull request] package/opencv: re-introduce opencv24 Yann E. MORIN
2015-08-24 12:47 ` [Buildroot] [PATCH 1/4] package: rename opencv -> opencv3 Yann E. MORIN
2015-08-24 12:47 ` [Buildroot] [PATCH 2/4] package/opencv: re-introduce opencv for opencv-2.4 Yann E. MORIN
@ 2015-08-24 12:47 ` Yann E. MORIN
2015-08-24 12:47 ` [Buildroot] [PATCH 4/4] package/vlc: update opencv support Yann E. MORIN
2015-08-25 10:01 ` [Buildroot] [pull request] package/opencv: re-introduce opencv24 Thomas Petazzoni
4 siblings, 0 replies; 6+ messages in thread
From: Yann E. MORIN @ 2015-08-24 12:47 UTC (permalink / raw)
To: buildroot
From: Samuel Martin <s.martin49@gmail.com>
This (partially) reverts commit 5e238a87eacf2a0c62736c4123961651afb1ba87.
The dependency is changed from a 'select' to a 'depends on' to avoid a
circular dependency caused by the introduction of OpenCV-3. This means
we can also drop the threads and C++ dependencies, since they are now
inherited via the depends on OpenCV.
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]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
Changes v2 -> v3;
- used 'depends on' instead of 'select' to avoid circular deps (Samuel)
---
package/gstreamer1/gst1-plugins-bad/Config.in | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in
index bc99527..d268fc6 100644
--- a/package/gstreamer1/gst1-plugins-bad/Config.in
+++ b/package/gstreamer1/gst1-plugins-bad/Config.in
@@ -557,14 +557,24 @@ 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_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
-comment "opencv plugin needs a toolchain w/ C++, NPTL"
- depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL
+comment "opencv plugin needs OpenCV-2.4"
+ depends on !BR2_PACKAGE_OPENCV
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS
bool "opus"
--
1.9.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 4/4] package/vlc: update opencv support
2015-08-24 12:47 [Buildroot] [pull request] package/opencv: re-introduce opencv24 Yann E. MORIN
` (2 preceding siblings ...)
2015-08-24 12:47 ` [Buildroot] [PATCH 3/4] Revert "package/gstreamer1/gst1-plugins-bad: disable opencv plugin with opencv-3" Yann E. MORIN
@ 2015-08-24 12:47 ` Yann E. MORIN
2015-08-25 10:01 ` [Buildroot] [pull request] package/opencv: re-introduce opencv24 Thomas Petazzoni
4 siblings, 0 replies; 6+ messages in thread
From: Yann E. MORIN @ 2015-08-24 12:47 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>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
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] 6+ messages in thread
* [Buildroot] [pull request] package/opencv: re-introduce opencv24
2015-08-24 12:47 [Buildroot] [pull request] package/opencv: re-introduce opencv24 Yann E. MORIN
` (3 preceding siblings ...)
2015-08-24 12:47 ` [Buildroot] [PATCH 4/4] package/vlc: update opencv support Yann E. MORIN
@ 2015-08-25 10:01 ` Thomas Petazzoni
4 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2015-08-25 10:01 UTC (permalink / raw)
To: buildroot
Yann,
On Mon, 24 Aug 2015 14:47:07 +0200, Yann E. MORIN wrote:
> 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
Series applied to master, so that 2015.08 isn't introducing a
regression in the OpenCV support.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-08-25 10:01 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-24 12:47 [Buildroot] [pull request] package/opencv: re-introduce opencv24 Yann E. MORIN
2015-08-24 12:47 ` [Buildroot] [PATCH 1/4] package: rename opencv -> opencv3 Yann E. MORIN
2015-08-24 12:47 ` [Buildroot] [PATCH 2/4] package/opencv: re-introduce opencv for opencv-2.4 Yann E. MORIN
2015-08-24 12:47 ` [Buildroot] [PATCH 3/4] Revert "package/gstreamer1/gst1-plugins-bad: disable opencv plugin with opencv-3" Yann E. MORIN
2015-08-24 12:47 ` [Buildroot] [PATCH 4/4] package/vlc: update opencv support Yann E. MORIN
2015-08-25 10:01 ` [Buildroot] [pull request] package/opencv: re-introduce opencv24 Thomas Petazzoni
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.