[Buildroot] [PATCH 1/1] package: add opencv
Samuel Martin
s.martin49 at gmail.com
Sun Aug 7 18:09:41 UTC 2011
OpenCV is a free, open-source, cross-platform computer vision library
Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
---
package/Config.in | 1 +
package/opencv/Config.in | 242 ++++++++++++++++++++++++++++++++++++++
package/opencv/opencv.mk | 287 ++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 530 insertions(+), 0 deletions(-)
create mode 100644 package/opencv/Config.in
create mode 100644 package/opencv/opencv.mk
diff --git a/package/Config.in b/package/Config.in
index 7112e05..d8b13b1 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -291,6 +291,7 @@ source "package/libraw/Config.in"
source "package/librsvg/Config.in"
source "package/libsvgtiny/Config.in"
source "package/libungif/Config.in"
+source "package/opencv/Config.in"
source "package/pango/Config.in"
source "package/pixman/Config.in"
source "package/tiff/Config.in"
diff --git a/package/opencv/Config.in b/package/opencv/Config.in
new file mode 100644
index 0000000..4007847
--- /dev/null
+++ b/package/opencv/Config.in
@@ -0,0 +1,242 @@
+menuconfig BR2_PACKAGE_OPENCV
+ bool "opencv"
+ select BR2_PACKAGE_ZLIB
+ help
+ OpenCV (Open Source Computer Vision) is a library of programming
+ functions for real time computer vision.
+
+ http://opencv.willowgarage.com/wiki/
+
+if BR2_PACKAGE_OPENCV
+
+choice
+ prompt "Build type"
+ default BR2_PACKAGE_OPENCV_BUILD_TYPE_RELEASE
+config BR2_PACKAGE_OPENCV_BUILD_TYPE_NONE
+ bool "None"
+config BR2_PACKAGE_OPENCV_BUILD_TYPE_RELEASE
+ bool "Release"
+config BR2_PACKAGE_OPENCV_BUILD_TYPE_DEBUG
+ bool "Debug"
+config BR2_PACKAGE_OPENCV_BUILD_TYPE_RELWITHDEBINFO
+ bool "Release with debug info"
+ depends on SUPPORTED
+config BR2_PACKAGE_OPENCV_BUILD_TYPE_MINSIZEREL
+ bool "Minimal Size Release"
+ depends on SUPPORTED
+endchoice
+
+
+comment "Built targets"
+
+config BR2_PACKAGE_OPENCV_BUILD_DOCS
+ bool "OpenCV Documentation"
+ depends on SUPPORTED
+ default n
+
+config BR2_PACKAGE_OPENCV_BUILD_EXAMPLES
+ bool "All examples"
+ default n
+
+config BR2_PACKAGE_OPENCV_BUILD_NEW_PYTHON_SUPPORT
+ bool "Python support"
+ select BR2_PACKAGE_PYTHON
+ default n
+
+config BR2_PACKAGE_OPENCV_BUILD_PACKAGE
+ bool "Enables 'make package_source' command"
+ depends on SUPPORTED
+ default n
+
+config BR2_PACKAGE_OPENCV_BUILD_TESTS
+ bool "Tests"
+ default n
+
+config BR2_PACKAGE_OPENCV_BUILD_WITH_DEBUG_INFO
+ bool "Include debug info into debug libs"
+ default n
+
+config BR2_PACKAGE_OPENCV_OPENCV_BUILD_3RDPARTY_LIBS
+ bool "3rd party libraries"
+ default n
+ help
+ If set, allow to build and use the 3rd party libraries *only* if
+ they are not already provided by/in the target system.
+
+ Packages provided as 3rd party are:
+ libjpeg, libpng, libtiff, zlib ,jasper-1.900.1 (aka. jpeg2k),
+ openexr-1.4.0, ffmpeg-0.6.0, videoInput-0.1995
+
+comment "Build options"
+
+config BR2_PACKAGE_OPENCV_ENABLE_PROFILING
+ bool "Enable profiling in the GCC compiler (Add flags: -g -pg)"
+ default n
+
+config BR2_PACKAGE_OPENCV_CMAKE_SKIP_RPATH
+ bool "Skip rpath"
+ default n
+ help
+ If set, runtime paths are not added when using shared libraries.
+
+config BR2_PACKAGE_OPENCV_USE_FAST_MATH
+ bool "Enable -ffast-math"
+ default y
+
+config BR2_PACKAGE_OPENCV_USE_OMIT_FRAME_POINTER
+ bool "Enable -fomit-frame-pointer for GCC"
+ default y
+
+config BR2_PACKAGE_OPENCV_USE_PRECOMPILED_HEADERS
+ bool "Use precompiled headers"
+ default y
+
+config BR2_PACKAGE_OPENCV_WITH_1394
+ bool "IEEE1394 support"
+ depends on SUPPORTED
+ default n
+
+menuconfig BR2_PACKAGE_OPENCV_WITH_CUDA
+ bool "Include NVidia Cuda Runtime support"
+ depends on SUPPORTED
+ default n
+
+if BR2_PACKAGE_OPENCV_WITH_CUDA
+
+config BR2_PACKAGE_OPENCV_CUDA_64_BIT_DEVICE_CODE
+ bool "Compile device code in 64 bit mode"
+ default n
+
+config BR2_PACKAGE_OPENCV_CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE
+ bool "Attach the build rule to the CUDA source file"
+ default n
+ help
+ Enable only when the CUDA source file is added to at most one target.
+
+config BR2_PACKAGE_OPENCV_CUDA_BUILD_CUBIN
+ bool "Generate and parse .cubin files in Device mode"
+ default n
+
+config BR2_PACKAGE_OPENCV_CUDA_BUILD_EMULATION
+ bool "Build in Emulation mode"
+ default n
+
+config BR2_PACKAGE_OPENCV_CUDA_HOST_COMPILATION_CPP
+ bool "Generated file extension"
+ default n
+
+config BR2_PACKAGE_OPENCV_CUDA_PROPAGATE_HOST_FLAGS
+ bool "Propage C/CXX_FLAGS and friends to the host compiler via -Xcompile"
+ default n
+
+endif
+
+config BR2_PACKAGE_OPENCV_WITH_FFMPEG
+ bool "FFMPEG support"
+ 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"
+ select BR2_PACKAGE_GSTREAMER
+ select BR2_PACKAGE_GST_PLUGINS_BASE
+ select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP
+ default y
+
+config BR2_PACKAGE_OPENCV_WITH_GTK
+ bool "GTK support"
+ depends on BR2_PACKAGE_LIBGTK2 && BR2_PACKAGE_LIBGLIB2
+ default n
+
+comment "GTK support not available (requires libgtk2 and libglib2)"
+ depends on ! ( BR2_PACKAGE_LIBGTK2 && BR2_PACKAGE_LIBGLIB2 )
+
+config BR2_PACKAGE_OPENCV_WITH_IPP
+ bool "Intel IPP support"
+ depends on SUPPORTED
+ default n
+
+config BR2_PACKAGE_OPENCV_WITH_JASPER
+ bool "JASPER (JPEG2K) support"
+ depends on BR2_PACKAGE_OPENCV_OPENCV_BUILD_3RDPARTY_LIBS
+ help
+ Build jasper provided within OpenCV.
+
+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_OPENEXR
+ bool "ILM support via OpenEXR"
+ depends on BR2_PACKAGE_OPENCV_OPENCV_BUILD_3RDPARTY_LIBS
+ help
+ Build openexr provided within OpenCV.
+
+config BR2_PACKAGE_OPENCV_WITH_OPENNI
+ bool "OpenNI support"
+ depends on SUPPORTED
+ default n
+
+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_PVAPI
+ bool "Prosilica GigE support"
+ depends on SUPPORTED
+ default n
+
+config BR2_PACKAGE_OPENCV_WITH_QT
+ bool "Qt Backend support"
+ select BR2_PACKAGE_QT
+ default n
+
+config BR2_PACKAGE_OPENCV_WITH_QT_OPENGL
+ bool "Add OpenGL extension to Qt"
+ depends on BR2_PACKAGE_OPENCV_WITH_QT && SUPPORTED
+ default n
+
+config BR2_PACKAGE_OPENCV_WITH_TBB
+ bool "Intel TBB support"
+ depends on SUPPORTED
+ default n
+
+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_UNICAP
+ bool "Unicap support (GPL)"
+ depends on SUPPORTED
+ default n
+
+config BR2_PACKAGE_OPENCV_WITH_V4L
+ bool "Video 4 Linux support"
+ select BR2_PACKAGE_LIBV4L
+ default y
+
+config BR2_PACKAGE_OPENCV_WITH_XINE
+ bool "Xine support (GPL)"
+ depends on SUPPORTED
+ default n
+
+comment "Install options"
+
+config BR2_PACKAGE_OPENCV_INSTALL_C_EXAMPLES
+ bool "C examples"
+ default n
+
+config BR2_PACKAGE_OPENCV_INSTALL_PYTHON_EXAMPLES
+ bool "Python examples"
+ default n
+ depends on BR2_PACKAGE_OPENCV_BUILD_NEW_PYTHON_SUPPORT
+
+endif
diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk
new file mode 100644
index 0000000..9923059
--- /dev/null
+++ b/package/opencv/opencv.mk
@@ -0,0 +1,287 @@
+#############################################################
+#
+# OpenCV (Open Source Computer Vision)
+#
+#############################################################
+OPENCV_SERIES = 2.3
+OPENCV_VERSION = $(OPENCV_SERIES).0
+OPENCV_SITE = http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/$(OPENCV_SERIES)
+OPENCV_SOURCE = OpenCV-$(OPENCV_VERSION).tar.bz2
+
+OPENCV_INSTALL_STAGING = YES
+
+OPENCV_CONF_OPT =
+
+OPENCV_DEPENDENCIES =
+HOST_OPENCV_DEPENDENCIES =
+
+# Build type
+ifeq ($(BR2_PACKAGE_OPENCV_BUILD_TYPE_RELEASE),y)
+OPENCV_CONF_OPT += -DBUILD_TYPE_RELEASE=Release
+else ifeq ($(BR2_PACKAGE_OPENCV_BUILD_TYPE_DEBUG),y)
+OPENCV_CONF_OPT += -DBUILD_TYPE_DEBUG=Debug
+else ifeq ($(BR2_PACKAGE_OPENCV_BUILD_TYPE_RELWITHDEBINFO),y)
+OPENCV_CONF_OPT += -DBUILD_TYPE_RELWITHDEBINFO=RelWithDebInfo
+else ifeq ($(BR2_PACKAGE_OPENCV_BUILD_TYPE_MINSIZEREL),y)
+OPENCV_CONF_OPT += -DBUILD_TYPE_MINSIZEREL=MinSizeRel
+endif
+
+# Built targets
+ifeq ($(BR2_PACKAGE_OPENCV_BUILD_DOCS),y)
+OPENCV_CONF_OPT += -DBUILD_DOCS=ON
+else
+OPENCV_CONF_OPT += -DBUILD_DOCS=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_BUILD_EXAMPLES),y)
+OPENCV_CONF_OPT += -DBUILD_EXAMPLES=ON
+else
+OPENCV_CONF_OPT += -DBUILD_EXAMPLES=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_BUILD_NEW_PYTHON_SUPPORT),y)
+OPENCV_CONF_OPT += -DBUILD_NEW_PYTHON_SUPPORT=ON
+OPENCV_DEPENDENCIES += python
+HOST_OPENCV_DEPENDENCIES += host-python
+else
+OPENCV_CONF_OPT += -DBUILD_NEW_PYTHON_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_BUILD_PACKAGE),y)
+OPENCV_CONF_OPT += -DBUILD_PACKAGE=ON
+else
+OPENCV_CONF_OPT += -DBUILD_PACKAGE=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_BUILD_TESTS),y)
+OPENCV_CONF_OPT += -DBUILD_TESTS=ON
+else
+OPENCV_CONF_OPT += -DBUILD_TESTS=OFF
+endif
+
+
+# Build options
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+OPENCV_CONF_OPT += -DBUILD_SHARED_LIBS=OFF
+else
+OPENCV_CONF_OPT += -DBUILD_SHARED_LIBS=ON
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_BUILD_WITH_DEBUG_INFO),y)
+OPENCV_CONF_OPT += -DBUILD_WITH_DEBUG_INFO=ON
+else
+OPENCV_CONF_OPT += -DBUILD_WITH_DEBUG_INFO=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_OPENCV_BUILD_3RDPARTY_LIBS),y)
+OPENCV_CONF_OPT += -DOPENCV_BUILD_3RDPARTY_LIBS=ON
+else
+OPENCV_CONF_OPT += -DOPENCV_BUILD_3RDPARTY_LIBS=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_ENABLE_PROFILING),y)
+OPENCV_CONF_OPT += -DENABLE_PROFILING=ON
+else
+OPENCV_CONF_OPT += -DENABLE_PROFILING=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_CMAKE_SKIP_RPATH),y)
+OPENCV_CONF_OPT += -DCMAKE_SKIP_RPATH=ON
+else
+OPENCV_CONF_OPT += -DCMAKE_SKIP_RPATH=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_USE_FAST_MATH),y)
+OPENCV_CONF_OPT += -DUSE_FAST_MATH=ON
+else
+OPENCV_CONF_OPT += -DUSE_FAST_MATH=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_USE_OMIT_FRAME_POINTER),y)
+OPENCV_CONF_OPT += -DUSE_OMIT_FRAME_POINTER=ON
+else
+OPENCV_CONF_OPT += -DUSE_OMIT_FRAME_POINTER=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_USE_PRECOMPILED_HEADERS),y)
+OPENCV_CONF_OPT += -DUSE_PRECOMPILED_HEADERS=ON
+else
+OPENCV_CONF_OPT += -DUSE_PRECOMPILED_HEADERS=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_1394),y)
+OPENCV_CONF_OPT += -DWITH_1394=ON
+else
+OPENCV_CONF_OPT += -DWITH_1394=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_CUDA),y)
+OPENCV_CONF_OPT += -DWITH_CUDA=ON
+# Cuda options
+ifeq ($(BR2_PACKAGE_OPENCV_CUDA_64_BIT_DEVICE_CODE),y)
+OPENCV_CONF_OPT += -DCUDA_64_BIT_DEVICE_CODE=ON
+else
+OPENCV_CONF_OPT += -DCUDA_64_BIT_DEVICE_CODE=OFF
+endif
+ifeq ($(BR2_PACKAGE_OPENCV_CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE),y)
+OPENCV_CONF_OPT += -DCUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE=ON
+else
+OPENCV_CONF_OPT += -DCUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE=OFF
+endif
+ifeq ($(BR2_PACKAGE_OPENCV_CUDA_BUILD_CUBIN),y)
+OPENCV_CONF_OPT += -DCUDA_BUILD_CUBIN=ON
+else
+OPENCV_CONF_OPT += -DCUDA_BUILD_CUBIN=OFF
+endif
+ifeq ($(BR2_PACKAGE_OPENCV_CUDA_BUILD_EMULATION),y)
+OPENCV_CONF_OPT += -DCUDA_BUILD_EMULATION=ON
+else
+OPENCV_CONF_OPT += -DCUDA_BUILD_EMULATION=OFF
+endif
+ifeq ($(BR2_PACKAGE_OPENCV_CUDA_HOST_COMPILATION_CPP),y)
+OPENCV_CONF_OPT += -DCUDA_HOST_COMPILATION_CPP=ON
+else
+OPENCV_CONF_OPT += -DCUDA_HOST_COMPILATION_CPP=OFF
+endif
+ifeq ($(BR2_PACKAGE_OPENCV_CUDA_PROPAGATE_HOST_FLAGS),y)
+OPENCV_CONF_OPT += -DCUDA_PROPAGATE_HOST_FLAGS=ON
+else
+OPENCV_CONF_OPT += -DCUDA_PROPAGATE_HOST_FLAGS=OFF
+endif
+else
+OPENCV_CONF_OPT += -DWITH_CUDA=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_EIGEN),y)
+OPENCV_CONF_OPT += -DWITH_EIGEN=ON
+OPENCV_DEPENDENCIES += eigen
+else
+OPENCV_CONF_OPT += -DWITH_EIGEN=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_FFMPEG),y)
+OPENCV_CONF_OPT += -DWITH_FFMPEG=ON
+OPENCV_DEPENDENCIES += ffmpeg
+else
+OPENCV_CONF_OPT += -DWITH_FFMPEG=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_GSTREAMER),y)
+OPENCV_CONF_OPT += -DWITH_GSTREAMER=ON
+OPENCV_DEPENDENCIES += gstreamer gst-plugins-base
+else
+OPENCV_CONF_OPT += -DWITH_GSTREAMER=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_GTK),y)
+OPENCV_CONF_OPT += -DWITH_GTK=ON
+OPENCV_DEPENDENCIES += libgtk2 libglib2
+else
+OPENCV_CONF_OPT += -DWITH_GTK=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_IPP),y)
+OPENCV_CONF_OPT += -DWITH_IPP=ON
+else
+OPENCV_CONF_OPT += -DWITH_IPP=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_JASPER),y)
+OPENCV_CONF_OPT += -DWITH_JASPER=ON
+else
+OPENCV_CONF_OPT += -DWITH_JASPER=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_JPEG),y)
+OPENCV_CONF_OPT += -DWITH_JPEG=ON
+OPENCV_DEPENDENCIES += jpeg
+else
+OPENCV_CONF_OPT += -DWITH_JPEG=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_OPENEXR),y)
+OPENCV_CONF_OPT += -DWITH_OPENEXR=ON
+else
+OPENCV_CONF_OPT += -DWITH_OPENEXR=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_OPENNI),y)
+OPENCV_CONF_OPT += -DWITH_OPENNI=ON
+else
+OPENCV_CONF_OPT += -DWITH_OPENNI=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_PNG),y)
+OPENCV_CONF_OPT += -DWITH_PNG=ON
+OPENCV_DEPENDENCIES += libpng
+else
+OPENCV_CONF_OPT += -DWITH_PNG=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_PVAPI),y)
+OPENCV_CONF_OPT += -DWITH_PVAPI=ON
+else
+OPENCV_CONF_OPT += -DWITH_PVAPI=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_QT),y)
+OPENCV_CONF_OPT += -DWITH_QT=ON
+OPENCV_DEPENDENCIES += qt
+else
+OPENCV_CONF_OPT += -DWITH_QT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_QT_OPENGL),y)
+OPENCV_CONF_OPT += -DWITH_QT_OPENGL=ON
+else
+OPENCV_CONF_OPT += -DWITH_QT_OPENGL=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_TBB),y)
+OPENCV_CONF_OPT += -DWITH_TBB=ON
+else
+OPENCV_CONF_OPT += -DWITH_TBB=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_TIFF),y)
+OPENCV_CONF_OPT += -DWITH_TIFF=ON
+OPENCV_DEPENDENCIES += tiff
+else
+OPENCV_CONF_OPT += -DWITH_TIFF=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_UNICAP),y)
+OPENCV_CONF_OPT += -DWITH_UNICAP=ON
+else
+OPENCV_CONF_OPT += -DWITH_UNICAP=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_V4L),y)
+OPENCV_CONF_OPT += -DWITH_V4L=ON
+OPENCV_DEPENDENCIES += libv4l
+else
+OPENCV_CONF_OPT += -DWITH_V4L=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_WITH_XINE),y)
+OPENCV_CONF_OPT += -DWITH_XINE=ON
+else
+OPENCV_CONF_OPT += -DWITH_XINE=OFF
+endif
+
+# Install options
+ifeq ($(BR2_PACKAGE_OPENCV_INSTALL_C_EXAMPLES),y)
+OPENCV_CONF_OPT += -DINSTALL_C_EXAMPLES=ON
+else
+OPENCV_CONF_OPT += -DINSTALL_C_EXAMPLES=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENCV_INSTALL_PYTHON_EXAMPLES),y)
+OPENCV_CONF_OPT += -DINSTALL_PYTHON_EXAMPLES=ON
+else
+OPENCV_CONF_OPT += -DINSTALL_PYTHON_EXAMPLES=OFF
+endif
+
+
+$(eval $(call CMAKETARGETS,package,opencv))
+$(eval $(call CMAKETARGETS,package,opencv,host))
--
1.7.0.4
More information about the buildroot
mailing list