{"id":3319,"url":"https://patchwork.libcamera.org/api/patches/3319/?format=json","web_url":"https://patchwork.libcamera.org/patch/3319/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20200325085805.11749-4-laurent.pinchart@ideasonboard.com>","date":"2020-03-25T08:58:05","name":"[libcamera-devel,3/3] libcamera: Make pipeline handlers selectable at compile time","commit_ref":"ee7e2c93dfbf34b3500c895115c516e5e90d3e31","pull_url":null,"state":"accepted","archived":false,"hash":"6e1e16ef72d78cd38205f0f5665ddbb2932aacc3","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/3319/mbox/","series":[{"id":773,"url":"https://patchwork.libcamera.org/api/series/773/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=773","date":"2020-03-25T08:58:02","name":"Make pipeline handlers selectable at compile time","version":1,"mbox":"https://patchwork.libcamera.org/series/773/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/3319/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/3319/checks/","tags":{},"headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 18DD062BEB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 25 Mar 2020 09:58:12 +0100 (CET)","from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 9371F9D0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 25 Mar 2020 09:58:11 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"YCF6RoGl\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1585126691;\n\tbh=JFN7f3E+nLd8kiWr94DCaj2IHAPrqpj+GyLnhzZ3GAY=;\n\th=From:To:Subject:Date:In-Reply-To:References:From;\n\tb=YCF6RoGlSyjbAJC+Xw7wwVxKhLeRhDaheRpnKznDFRKnRc786G8tRvEUZwhFZGZJ/\n\tr7lNwCIFQ8VIjzT0NF2Nwu4hQgR/7FI2Hko3+iE+5nqBra4IIVliXHiptrhddqsDgP\n\tS8+KDlX+wEg2Yqq+R7y6tLBmJjIIQTU8td5BNhKY=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Wed, 25 Mar 2020 10:58:05 +0200","Message-Id":"<20200325085805.11749-4-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.24.1","In-Reply-To":"<20200325085805.11749-1-laurent.pinchart@ideasonboard.com>","References":"<20200325085805.11749-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH 3/3] libcamera: Make pipeline handlers\n\tselectable at compile time","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Wed, 25 Mar 2020 08:58:12 -0000"},"content":"Add a pipelines project option that specifies which pipeline handlers to\ncompile in. The corresponding IPA modules are automatically selected.\nThe default is to compile all pipeline handlers.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n meson_options.txt                  |  5 +++++\n src/ipa/meson.build                | 10 ++++++++--\n src/libcamera/pipeline/meson.build |  7 +++----\n 3 files changed, 16 insertions(+), 6 deletions(-)","diff":"diff --git a/meson_options.txt b/meson_options.txt\nindex b17b6de6f182..6464df837cc3 100644\n--- a/meson_options.txt\n+++ b/meson_options.txt\n@@ -12,6 +12,11 @@ option('gstreamer',\n         value : 'auto',\n         description : 'Compile libcamera GStreamer plugin')\n \n+option('pipelines',\n+        type : 'array',\n+        choices : ['ipu3', 'rkisp1', 'uvcvideo', 'vimc'],\n+        description : 'Select which pipeline handlers to include')\n+\n option('test',\n         type : 'boolean',\n         description: 'Compile and include the tests')\ndiff --git a/src/ipa/meson.build b/src/ipa/meson.build\nindex 9aaf92494d37..73278a60a99f 100644\n--- a/src/ipa/meson.build\n+++ b/src/ipa/meson.build\n@@ -9,5 +9,11 @@ config_h.set('IPA_MODULE_DIR',\n              '\"' + join_paths(get_option('prefix'), ipa_install_dir) + '\"')\n \n subdir('libipa')\n-subdir('rkisp1')\n-subdir('vimc')\n+\n+ipas = ['rkisp1', 'vimc']\n+\n+foreach pipeline : get_option('pipelines')\n+    if ipas.contains(pipeline)\n+        subdir(pipeline)\n+    endif\n+endforeach\ndiff --git a/src/libcamera/pipeline/meson.build b/src/libcamera/pipeline/meson.build\nindex c1a6ab0484f0..190ca5a8db92 100644\n--- a/src/libcamera/pipeline/meson.build\n+++ b/src/libcamera/pipeline/meson.build\n@@ -1,4 +1,3 @@\n-subdir('ipu3')\n-subdir('rkisp1')\n-subdir('uvcvideo')\n-subdir('vimc')\n+foreach pipeline : get_option('pipelines')\n+    subdir(pipeline)\n+endforeach\n","prefixes":["libcamera-devel","3/3"]}