Signed-off-by: Christoph Fritz <[email protected]>
---
v2: use correct email of J.Weitzel
v3: - rework v4l usage
    - fix gstreamer and qt4 dependency
    - use foreach at install stage
---
 rules/opencv.in   |  178 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 rules/opencv.make |  160 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 338 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..e424cd7
--- /dev/null
+++ b/rules/opencv.in
@@ -0,0 +1,178 @@
+## 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..a55b6f2
--- /dev/null
+++ b/rules/opencv.make
@@ -0,0 +1,160 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2014 by Christoph Fritz <[email protected]>
+# Copyright (C) 2013 by Jan Weitzel <[email protected]>
+# loosely based on work by Roman Dosek <[email protected]>
+#
+# 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)
+OPENCV_CONF_OPT += \
+       -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 
<[email protected]>")
+       @$(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
[email protected]

Reply via email to