From mboxrd@z Thu Jan  1 00:00:00 1970
Return-path: <ptxdist-bounces@pengutronix.de>
Received: from mail-lb0-x232.google.com ([2a00:1450:4010:c04::232])
	by metis.ext.pengutronix.de with esmtp (Exim 4.72)
	(envelope-from <chf.fritz@googlemail.com>) id 1WVoOt-0002sU-Ns
	for ptxdist@pengutronix.de; Thu, 03 Apr 2014 22:38:35 +0200
Received: by mail-lb0-f178.google.com with SMTP id s7so1748761lbd.37
	for <ptxdist@pengutronix.de>; Thu, 03 Apr 2014 13:38:09 -0700 (PDT)
Received: from [46.246.36.206] (anon-36-206.vpn.ipredator.se. [46.246.36.206])
	by mx.google.com with ESMTPSA id r5sm4238428lbb.7.2014.04.03.13.38.07
	for <ptxdist@pengutronix.de>
	(version=SSLv3 cipher=RC4-SHA bits=128/128);
	Thu, 03 Apr 2014 13:38:08 -0700 (PDT)
From: Christoph Fritz <chf.fritz@googlemail.com>
In-Reply-To: <20140331074545.GE10959@pengutronix.de>
References: <1396118503.4914.22.camel@mars> <1396118944.4914.27.camel@mars>
	<20140331074545.GE10959@pengutronix.de>
Date: Thu, 03 Apr 2014 22:38:05 +0200
Message-ID: <1396557485.15210.54.camel@mars>
Mime-Version: 1.0
Subject: [ptxdist] [PATCH v3] opencv: add new package
Reply-To: ptxdist@pengutronix.de
List-Id: PTXdist Development Mailing List <ptxdist.pengutronix.de>
List-Unsubscribe: <http://metis.pengutronix.de/cgi-bin/mailman/options/ptxdist>, 
	<mailto:ptxdist-request@pengutronix.de?subject=unsubscribe>
List-Archive: <http://metis.pengutronix.de/pipermail/ptxdist>
List-Post: <mailto:ptxdist@pengutronix.de>
List-Help: <mailto:ptxdist-request@pengutronix.de?subject=help>
List-Subscribe: <http://metis.pengutronix.de/cgi-bin/mailman/listinfo/ptxdist>, 
	<mailto:ptxdist-request@pengutronix.de?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: ptxdist-bounces@pengutronix.de
Errors-To: ptxdist-bounces@pengutronix.de
To: ptxdist@pengutronix.de


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
---
 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 <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)
+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 <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