From patchwork Sun Jun 7 10:26:30 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Martin X-Patchwork-Id: 481711 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ozlabs.org (Postfix) with ESMTP id AEBFC140081 for ; Sun, 7 Jun 2015 20:27:21 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=qoio3Rs1; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id F17E4A44B1; Sun, 7 Jun 2015 10:27:20 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kB4eTryW3urg; Sun, 7 Jun 2015 10:27:17 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 58836A4390; Sun, 7 Jun 2015 10:27:11 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id DD37B1C2238 for ; Sun, 7 Jun 2015 10:27:06 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id D93AA961C6 for ; Sun, 7 Jun 2015 10:27:06 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YSxcrF4WGSfD for ; Sun, 7 Jun 2015 10:27:05 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wg0-f41.google.com (mail-wg0-f41.google.com [74.125.82.41]) by hemlock.osuosl.org (Postfix) with ESMTPS id 5F7C0961F0 for ; Sun, 7 Jun 2015 10:27:05 +0000 (UTC) Received: by wgez8 with SMTP id z8so83070118wge.0 for ; Sun, 07 Jun 2015 03:27:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=G3DCfIZH4RBsKH1Pxx3K4bK2H+bdhq8P5+x1U3IHrtQ=; b=qoio3Rs1Nb12yrhwpY0vLV0nttmT8AotaNgMt5FDm11PDdzne0oyhm7VJYY9jAFyk2 E7z5s4pw+i0iqz4ngMfZNc1C5ump/gcAukY6oRufkGD5Fd12/CMrOH4UxwDbor8p4NY9 rhRaGUpsnF7tNc7wzNRAbGmwzHXUJbdAkR4PkytyOQ5opOyJXids62+8h7wL2zKJ3xVx sMptfWtaxlKGVyhC7BXYgRo397QdiCGYf9hoQWEgropB6StTh9Qj0RogffpfUvZJiZiz +sjCR0CDhhym/slm7Gbyhi472AVZ5FGhmAm571WS+hCnk7n0dOxD36E2tCuzbKjAhkwC FMhw== X-Received: by 10.180.79.73 with SMTP id h9mr12180261wix.35.1433672823937; Sun, 07 Jun 2015 03:27:03 -0700 (PDT) Received: from bobook.localdomain (ivr94-4-82-229-165-48.fbx.proxad.net. [82.229.165.48]) by mx.google.com with ESMTPSA id cd9sm10498089wjc.34.2015.06.07.03.27.02 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 07 Jun 2015 03:27:02 -0700 (PDT) From: Samuel Martin To: buildroot@buildroot.org Date: Sun, 7 Jun 2015 12:26:30 +0200 Message-Id: <1433672799-21387-5-git-send-email-s.martin49@gmail.com> X-Mailer: git-send-email 2.4.2 In-Reply-To: <1433672799-21387-1-git-send-email-s.martin49@gmail.com> References: <1433672799-21387-1-git-send-email-s.martin49@gmail.com> Cc: "Yann E. MORIN" Subject: [Buildroot] [PATCH v5 04/13] package/opencv: define modules inter-dependencies X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" OpenCV allows to enable/disable the selection of modules (a.k.a. opencv libraries). These modules depend one on the others; these dependencies are already handled by the build-system (CMake). However, the way we handled them in Buildroot was not really clean. For each opencv module, there is a kconfig option, but we forced the corresponding CMake config option without checking for the modules' dependencies. This patch replicates the modules' dependency relations in the Config.in, so that the selection of the user will actually be built. Signed-off-by: Samuel Martin Cc: Vicente Olivert Riera Cc: "Yann E. MORIN" --- changes v4->v5: - rebase - remove Reviewed-by tag form Yann (because of the changes introduced with the version bump) changes v3->v4: - rebase - update ts module dependencies changes v2->v3: - rebase - fix typo in commit log (Yann) - update A/R/T tags changes v1->v2: - rebase --- package/opencv/Config.in | 53 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 37 insertions(+), 16 deletions(-) diff --git a/package/opencv/Config.in b/package/opencv/Config.in index a3f1f5e..4ab4dc7 100644 --- a/package/opencv/Config.in +++ b/package/opencv/Config.in @@ -19,7 +19,8 @@ comment "OpenCV modules" config BR2_PACKAGE_OPENCV_LIB_CALIB3D bool "calib3d" - default y + select BR2_PACKAGE_OPENCV_LIB_FEATURES2D + select BR2_PACKAGE_OPENCV_LIB_IMGPROC help Include opencv_calib3d module into the OpenCV build. @@ -27,13 +28,15 @@ config BR2_PACKAGE_OPENCV_LIB_CALIB3D config BR2_PACKAGE_OPENCV_LIB_FEATURES2D bool "features2d" - default y + select BR2_PACKAGE_OPENCV_LIB_FLANN + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_ML help Include opencv_features2d module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_FLANN bool "flann" - default y + # opencv_core dependency is already enabled help Include opencv_flann module into the OpenCV build. @@ -42,37 +45,41 @@ config BR2_PACKAGE_OPENCV_LIB_FLANN config BR2_PACKAGE_OPENCV_LIB_HIGHGUI bool "highgui" - default y + select BR2_PACKAGE_OPENCV_LIB_IMGCODECS + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_VIDEOIO help Include opencv_highgui module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_IMGCODECS bool "imgcodecs (image codecs)" - default y + select BR2_PACKAGE_OPENCV_LIB_IMGPROC help Include opencv_imgcodecs module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_IMGPROC bool "imgproc (image processing)" - default y + # opencv_core dependency is already enabled help Include opencv_imgproc module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_ML bool "ml (machine learning)" - default y + # opencv_core dependency is already enabled help Include opencv_ml module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_OBJDETECT bool "objdetect" - default y + # opencv_core dependency is already enabled + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_ML help Include opencv_objdetect module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_PHOTO bool "photo" - default y + select BR2_PACKAGE_OPENCV_LIB_IMGPROC help Include opencv_photo module into the OpenCV build. @@ -80,45 +87,59 @@ comment "opencv_python module requires numpy which is not yet available." config BR2_PACKAGE_OPENCV_LIB_SHAPE bool "shape (shape descriptors and matchers)" - default y + # opencv_core dependency is already enabled + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_VIDEO help Include opencv_shape module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_STITCHING bool "stitching" - default y + select BR2_PACKAGE_OPENCV_LIB_CALIB3D + select BR2_PACKAGE_OPENCV_LIB_FEATURES2D + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_OBJDETECT help Include opencv_stitching module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_SUPERRES bool "superres" - default y + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_VIDEO help Include opencv_superres "super resolution" - module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_TS bool "ts (touchscreen)" + # opencv_core dependency is already enabled select BR2_PACKAGE_OPENCV_LIB_HIGHGUI - default y + select BR2_PACKAGE_OPENCV_LIB_IMGCODECS + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_VIDEOIO help Include opencv_ts module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_VIDEOIO bool "videoio (media i/o)" - default y + select BR2_PACKAGE_OPENCV_LIB_IMGCODECS + select BR2_PACKAGE_OPENCV_LIB_IMGPROC help Include opencv_videoio module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_VIDEO bool "video" - default y + select BR2_PACKAGE_OPENCV_LIB_IMGPROC help Include opencv_video module into the OpenCV build. config BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB bool "videostab" - default y + select BR2_PACKAGE_OPENCV_LIB_CALIB3D + select BR2_PACKAGE_OPENCV_LIB_FEATURES2D + select BR2_PACKAGE_OPENCV_LIB_IMGPROC + select BR2_PACKAGE_OPENCV_LIB_PHOTO + select BR2_PACKAGE_OPENCV_LIB_VIDEO help Include opencv_videostab module into the OpenCV build.