Hi,

On Thu, Apr 03, 2014 at 10:38:05PM +0200, Christoph Fritz wrote:
> 
> 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

"we usually have an empty line here." \cite{mol}

> +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 += \

why not

PENCV_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

I am not sure about this but I think it can be some trouble if you don't
init OPENCV_LIBS to zero at begin.

You need to have something like:
OPENCV_LIBS-y =
OPENCV_LIBS-$(PTXCONF_OPENCV)   += libopencv_core
...                             += ...
...

or

OPENCV_LIBS-$(PTXCONF_OPENCV) = libopencv_core
...                             += ...

- Alex

-- 
ptxdist mailing list
[email protected]

Reply via email to