From: Christoph Fritz <chf.fritz@googlemail.com>
To: ptxdist@pengutronix.de
Subject: [ptxdist] [PATCH v4] opencv: add new package
Date: Fri, 04 Apr 2014 11:21:13 +0200 [thread overview]
Message-ID: <1396603273.6430.8.camel@mars> (raw)
In-Reply-To: <20140404075755.GA21196@omega.Speedport_W_921V_1_24_000>
Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
---
v2: use correct email of J.Weitzel
v3: - rework v4l usage
- fix gstreamer and qt4 dependency
- use foreach at install stage
v4: - add empty line after OPENCV_QT-help
- concatenate OPENCV_CONF_OPT
- tigthen init of OPENCV_LIBS-y
---
rules/opencv.in | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++
rules/opencv.make | 160 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 339 insertions(+)
create mode 100644 rules/opencv.in
create mode 100644 rules/opencv.make
diff --git a/rules/opencv.in b/rules/opencv.in
new file mode 100644
index 0000000..0084006
--- /dev/null
+++ b/rules/opencv.in
@@ -0,0 +1,179 @@
+## SECTION=multimedia_libs
+
+menuconfig OPENCV
+ tristate
+ prompt "opencv"
+ select HOST_CMAKE
+ select GCCLIBS_CXX
+ select ZLIB
+ select LIBPNG
+ select LIBJPEG
+ select QT4 if OPENCV_QT
+ select QT4_BUILD_QTESTLIB if OPENCV_QT
+ select QT4_BUILD_GUI if OPENCV_QT
+ select QT4_STL if OPENCV_QT
+ select GSTREAMER if OPENCV_GSTREAMER
+ select V4L_UTILS if OPENCV_V4L_LIBV4L2
+ select V4L_UTILS_LIBV4L2 if OPENCV_V4L_LIBV4L2
+ help
+ Open Source Computer Vision Library
+
+if OPENCV
+
+config OPENCV_CALIB3D
+ bool
+ prompt "calib3d"
+ select OPENCV_FEATURES2D
+ help
+ Camera Calibration and 3D Reconstruction
+
+config OPENCV_CONTRIB
+ bool
+ prompt "contrib"
+ select OPENCV_CALIB3D
+ select OPENCV_IMGPROC
+ select OPENCV_ML
+ select OPENCV_OBJDETECT
+ select OPENCV_VIDEO
+ help
+ Contributed/Experimental Stuff
+
+config OPENCV_FEATURES2D
+ bool
+ prompt "features2d"
+ select OPENCV_FLANN
+ select OPENCV_IMGPROC
+ help
+ 2D Features Framework
+
+config OPENCV_FLANN
+ bool
+ prompt "flann"
+ help
+ Clustering and Search in Multi-Dimensional Spaces
+
+config OPENCV_GPU
+ bool
+ prompt "gpu"
+ select OPENCV_LEGACY
+ select OPENCV_PHOTO
+ select OPENCV_OBJDETECT
+ help
+ GPU-accelerated Computer Vision
+
+config OPENCV_HIGHGUI
+ bool
+ prompt "highgui"
+ select OPENCV_IMGPROC
+ help
+ High-level GUI and Media I/O
+
+config OPENCV_IMGPROC
+ bool
+ prompt "imgproc"
+ help
+ Image Processing
+
+config OPENCV_LEGACY
+ bool
+ prompt "legacy"
+ select OPENCV_CALIB3D
+ select OPENCV_ML
+ select OPENCV_VIDEO
+ help
+ Deprecated stuff
+
+config OPENCV_ML
+ bool
+ prompt "ml"
+ help
+ Machine Learning
+
+config OPENCV_NONFREE
+ bool
+ prompt "nonfree"
+ select OPENCV_CALIB3D
+ select OPENCV_IMGPROC
+ select OPENCV_FEATURES2D
+ help
+ Non-free functionality
+
+config OPENCV_OBJDETECT
+ bool
+ prompt "objdetect"
+ select OPENCV_IMGPROC
+ help
+ Object Detection
+
+config OPENCV_PHOTO
+ bool
+ prompt "photo"
+ select OPENCV_IMGPROC
+ help
+ Computational Photography
+
+config OPENCV_STITCHING
+ bool
+ prompt "stitching"
+ select OPENCV_CALIB3D
+ select OPENCV_FEATURES2D
+ select OPENCV_OBJDETECT
+ help
+ Images stitching
+
+config OPENCV_SUPERRES
+ bool
+ prompt "superres"
+ select OPENCV_IMGPROC
+ select OPENCV_VIDEO
+ help
+ Super Resolution
+
+config OPENCV_VIDEO
+ bool
+ prompt "video"
+ select OPENCV_IMGPROC
+ help
+ Video Analysis
+
+config OPENCV_VIDEOSTAB
+ bool
+ prompt "videostab"
+ select OPENCV_CALIB3D
+ select OPENCV_FEATURES2D
+ select OPENCV_HIGHGUI
+ select OPENCV_OBJDETECT
+ select OPENCV_PHOTO
+ select OPENCV_VIDEO
+ help
+ Video Stabilization
+
+config OPENCV_GSTREAMER
+ bool
+ prompt "gstreamer"
+ help
+ Gstreamer Support
+
+config OPENCV_V4L
+ bool
+ prompt "v4l"
+ select OPENCV_VIDEO
+ help
+ Video4Linux Support
+
+config OPENCV_V4L_LIBV4L2
+ bool
+ prompt "libv4l2"
+ depends on OPENCV_V4L
+ help
+ For embedded use cases it often makes sense to explicitly not
+ use libv4l, because the colorspace conversions in software adds
+ unexpected overhead.
+
+config OPENCV_QT
+ bool
+ prompt "qt"
+ help
+ QT GUI Support
+
+endif
diff --git a/rules/opencv.make b/rules/opencv.make
new file mode 100644
index 0000000..8136a08
--- /dev/null
+++ b/rules/opencv.make
@@ -0,0 +1,160 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2014 by Christoph Fritz <chf.fritz@googlemail.com>
+# Copyright (C) 2013 by Jan Weitzel <J.Weitzel@phytec.de>
+# loosely based on work by Roman Dosek <formatsh@gmail.com>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_OPENCV) += opencv
+
+#
+# Paths and names
+#
+
+OPENCV_VERSION := 2.4.8
+OPENCV_MD5 := 50cc1433b3654074206f5b3dbfd49848
+OPENCV := opencv-$(OPENCV_VERSION)
+OPENCV_SUFFIX := zip
+OPENCV_URL := $(call ptx/mirror, SF, opencvlibrary/opencv-unix/$(OPENCV_VERSION)/$(OPENCV).$(OPENCV_SUFFIX))
+OPENCV_SOURCE := $(SRCDIR)/$(OPENCV).$(OPENCV_SUFFIX)
+OPENCV_DIR := $(BUILDDIR)/$(OPENCV)
+OPENCV_LICENSE := BSD
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+OPENCV_CONF_TOOL := cmake
+
+OPENCV_CONF_OPT := \
+ $(CROSS_CMAKE_USR) \
+ -DANT_EXECUTABLE:FILEPATH= \
+ -DPYTHON_EXECUTABLE= \
+ -DBUILD_DOCS:BOOL=OFF \
+ -DBUILD_EXAMPLES:BOOL=OFF \
+ -DBUILD_PACKAGE:BOOL=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SHARED_LIBS:BOOL=ON \
+ -DBUILD_TESTS=OFF \
+ -DBUILD_PERF_TESTS=OFF \
+ -DBUILD_WITH_DEBUG_INFO=OFF \
+ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF \
+ -DCMAKE_SKIP_RPATH=OFF \
+ -DCMAKE_USE_RELATIVE_PATHS=OFF \
+ -DENABLE_FAST_MATH=ON \
+ -DENABLE_NOISY_WARNINGS=OFF \
+ -DENABLE_OMIT_FRAME_POINTER=ON \
+ -DENABLE_PRECOMPILED_HEADERS=OFF \
+ -DENABLE_PROFILING=OFF \
+ -DENABLE_SOLUTION_FOLDERS=OFF \
+ -DOPENCV_CAN_BREAK_BINARY_COMPATIBILITY=ON \
+ -DWITH_GTK:BOOL=OFF \
+ -DWITH_TBB:BOOL=OFF \
+ -DWITH_TIFF:BOOL=OFF \
+ -DCMAKE_VERBOSE:BOOL=OFF \
+ -DWITH_CUDA:BOOL=OFF \
+ -DWITH_EIGEN:BOOL=OFF \
+ -DENABLE_NEON:BOOL=$(call ptx/ifdef,PTXCONF_ARCH_ARM_NEON,ON,OFF) \
+ -DENABLE_VFPV3:BOOL=OFF \
+ -DWITH_GIGEAPI:BOOL=OFF \
+ -DINSTALL_CREATE_DISTRIB:BOOL=OFF \
+ -DINSTALL_C_EXAMPLES:BOOL=OFF \
+ -DINSTALL_PYTHON_EXAMPLES:BOOL=OFF \
+ -DINSTALL_TO_MANGLED_PATHS:BOOL=OFF \
+ -DOPENCV_EXTRA_MODULES_PATH:PATH= \
+ -DOPENCV_WARNINGS_ARE_ERRORS:BOOL=OFF \
+ -DWITH_OPENEXR:BOOL=OFF \
+ -DWITH_PVAPI:BOOL=OFF \
+ -DWITH_1394:BOOL=OFF \
+ -DWITH_CUBLAS:BOOL=OFF \
+ -DWITH_CUDA:BOOL=OFF \
+ -DWITH_CUFFT:BOOL=OFF \
+ -DWITH_FFMPEG:BOOL=OFF \
+ -DWITH_JASPER:BOOL=OFF \
+ -DWITH_JPEG:BOOL=ON \
+ -DWITH_PNG:BOOL=ON \
+ -DWITH_NVCUVID:BOOL=OFF \
+ -DWITH_OPENCL:BOOL=OFF \
+ -DWITH_OPENCLAMDBLAS:BOOL=OFF \
+ -DWITH_OPENCLAMDFFT:BOOL=OFF \
+ -DWITH_OPENEXR:BOOL=OFF \
+ -DWITH_OPENMP:BOOL=OFF \
+ -DWITH_OPENNI:BOOL=OFF \
+ -DWITH_PVAPI:BOOL=OFF \
+ -DWITH_TBB:BOOL=OFF \
+ -DWITH_UNICAP:BOOL=OFF \
+ -DWITH_XIMEA:BOOL=OFF \
+ -DWITH_XINE:BOOL=OFF \
+ -DBUILD_opencv_apps:BOOL=OFF \
+ -DBUILD_opencv_calib3d:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_CALIB3D,ON,OFF) \
+ -DBUILD_opencv_contrib:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_CONTRIB,ON,OFF) \
+ -DBUILD_opencv_core:BOOL=ON \
+ -DBUILD_opencv_features2d:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_FEATURES2D,ON,OFF) \
+ -DBUILD_opencv_flann:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_FLANN,ON,OFF) \
+ -DBUILD_opencv_gpu:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_GPU,ON,OFF) \
+ -DBUILD_opencv_highgui:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_HIGHGUI,ON,OFF) \
+ -DBUILD_opencv_imgproc:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_IMGPROC,ON,OFF) \
+ -DBUILD_opencv_legacy:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_LEGACY,ON,OFF) \
+ -DBUILD_opencv_ml:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_ML,ON,OFF) \
+ -DBUILD_opencv_nonfree:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_NONFREE,ON,OFF) \
+ -DBUILD_opencv_objdetect:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_OBJDETECT,ON,OFF) \
+ -DBUILD_opencv_photo:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_PHOTO,ON,OFF) \
+ -DBUILD_opencv_stitching:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_STITCHING,ON,OFF) \
+ -DBUILD_opencv_superres:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_SUPERRES,ON,OFF) \
+ -DBUILD_opencv_ts:BOOL=OFF \
+ -DBUILD_opencv_video:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_VIDEO,ON,OFF) \
+ -DBUILD_opencv_videostab:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_VIDEOSTAB,ON,OFF) \
+ -DBUILD_opencv_world:BOOL=OFF \
+ -DWITH_GSTREAMER:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_GSTREAMER,ON,OFF) \
+ -DWITH_V4L:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_V4L,ON,OFF) \
+ -DWITH_LIBV4L:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_V4L_LIBV4L2,ON,OFF) \
+ -DWITH_OPENGL:BOOL=OFF \
+ -DWITH_QT:BOOL=$(call ptx/ifdef,PTXCONF_OPENCV_QT,4,OFF)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+OPENCV_LIBS-$(PTXCONF_OPENCV) = libopencv_core
+OPENCV_LIBS-$(PTXCONF_OPENCV_CALIB3D) += libopencv_calib3d
+OPENCV_LIBS-$(PTXCONF_OPENCV_CONTRIB) += libopencv_contrib
+OPENCV_LIBS-$(PTXCONF_OPENCV_FEATURES2D) += libopencv_features2d
+OPENCV_LIBS-$(PTXCONF_OPENCV_FLANN) += libopencv_flann
+OPENCV_LIBS-$(PTXCONF_OPENCV_GPU) += libopencv_gpu
+OPENCV_LIBS-$(PTXCONF_OPENCV_HIGHGUI) += libopencv_highgui
+OPENCV_LIBS-$(PTXCONF_OPENCV_IMGPROC) += libopencv_imgproc
+OPENCV_LIBS-$(PTXCONF_OPENCV_LEGACY) += libopencv_legacy
+OPENCV_LIBS-$(PTXCONF_OPENCV_ML) += libopencv_ml
+OPENCV_LIBS-$(PTXCONF_OPENCV_NONFREE) += libopencv_nonfree
+OPENCV_LIBS-$(PTXCONF_OPENCV_OBJDETECT) += libopencv_objdetect
+OPENCV_LIBS-$(PTXCONF_OPENCV_PHOTO) += libopencv_photo
+OPENCV_LIBS-$(PTXCONF_OPENCV_STITCHING) += libopencv_stitching
+OPENCV_LIBS-$(PTXCONF_OPENCV_SUPERRES) += libopencv_superres
+OPENCV_LIBS-$(PTXCONF_OPENCV_VIDEO) += libopencv_video
+OPENCV_LIBS-$(PTXCONF_OPENCV_VIDEOSTAB) += libopencv_videostab
+
+$(STATEDIR)/opencv.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, opencv)
+ @$(call install_fixup, opencv, PRIORITY, optional)
+ @$(call install_fixup, opencv, SECTION, base)
+ @$(call install_fixup, opencv, AUTHOR, "Christoph Fritz <chf.fritz@googlemail.com>")
+ @$(call install_fixup, opencv, DESCRIPTION, missing)
+
+ @$(foreach lib, $(OPENCV_LIBS-y), \
+ $(call install_lib, opencv, 0, 0, 0644, $(lib));)
+
+ @$(call install_finish, opencv)
+
+ @$(call touch)
+
+# vim: syntax=make
--
1.7.10.4
--
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2014-04-04 9:21 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-29 18:41 [ptxdist] [PATCH] " Christoph Fritz
2014-03-29 18:49 ` [ptxdist] [PATCH v2] " Christoph Fritz
2014-03-31 6:11 ` Alexander Aring
2014-03-31 7:45 ` Michael Olbrich
2014-04-03 20:38 ` [ptxdist] [PATCH v3] " Christoph Fritz
2014-04-04 7:57 ` Alexander Aring
2014-04-04 9:19 ` Juergen Beisert
2014-04-04 9:21 ` Christoph Fritz [this message]
2014-04-04 9:57 ` [ptxdist] [PATCH v4] " Michael Olbrich
2014-03-31 6:02 ` [ptxdist] [PATCH] " Alexander Aring
2014-03-31 6:09 ` Alexander Aring
2014-03-31 8:33 ` Juergen Beisert
2014-03-31 8:44 ` Alexander Aring
2014-03-31 9:00 ` Alexander Aring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1396603273.6430.8.camel@mars \
--to=chf.fritz@googlemail.com \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox