[{"id":27041,"web_url":"https://patchwork.libcamera.org/comment/27041/","msgid":"<CAEmqJPqtwUxE+QG2Z2TzQ+ev_DGmZgYN6PqnScJFMOS6JO_VuQ@mail.gmail.com>","date":"2023-05-04T07:55:24","subject":"Re: [libcamera-devel] [PATCH 03/13] ipa: meson: Allow nested IPA\n\tdirectory structures","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi all,\n\nOn Wed, 3 May 2023 at 13:20, Naushir Patuck <naush@raspberrypi.com> wrote:\n>\n> The current IPA build files require a flat directory struture for the\n> IPAs. Modify the build files to remove this restriction and allow a\n> directory structure such as:\n>\n> src/ipa\n>   |- raspberrypi\n>       |- common\n>       |- cam_helpers\n>       |- controller\n>       |- vc4\n>   |- rkisp1\n>   |- ipu3\n>\n> where each subdir (e.g. raspberrypi/common, raspberrypi/cam_helper) has\n> its own meson.build file. Such a directory structure will be introduced\n> for the Raspberry Pi IPA in a future commit.\n>\n> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n> ---\n>  meson.build                     |  2 +-\n>  src/ipa/ipu3/meson.build        |  2 ++\n>  src/ipa/meson.build             | 26 +++++++++++++++++++++-----\n>  src/ipa/raspberrypi/meson.build |  2 ++\n>  src/ipa/rkisp1/meson.build      |  2 ++\n>  5 files changed, 28 insertions(+), 6 deletions(-)\n>\n> diff --git a/meson.build b/meson.build\n> index d3289181b7b9..2d99029bf5b7 100644\n> --- a/meson.build\n> +++ b/meson.build\n> @@ -262,7 +262,7 @@ py_mod.find_installation('python3', modules: py_modules)\n>  ## Summarise Configurations\n>  summary({\n>              'Enabled pipelines': pipelines,\n> -            'Enabled IPA modules': enabled_ipa_modules,\n> +            'Enabled IPA modules': enabled_ipa_names,\n>              'Tracing support': tracing_enabled,\n>              'Android support': android_enabled,\n>              'GStreamer support': gst_enabled,\n> diff --git a/src/ipa/ipu3/meson.build b/src/ipa/ipu3/meson.build\n> index 658e7c9bc366..66c398432d43 100644\n> --- a/src/ipa/ipu3/meson.build\n> +++ b/src/ipa/ipu3/meson.build\n> @@ -29,3 +29,5 @@ if ipa_sign_module\n>                    install : false,\n>                    build_by_default : true)\n>  endif\n> +\n> +ipa_names += ipa_name\n> diff --git a/src/ipa/meson.build b/src/ipa/meson.build\n> index 76ad5b445601..fac92f32fdb9 100644\n> --- a/src/ipa/meson.build\n> +++ b/src/ipa/meson.build\n> @@ -36,16 +36,32 @@ if get_option('test') and 'vimc' not in ipa_modules\n>  endif\n>\n>  enabled_ipa_modules = []\n> +enabled_ipa_names = []\n> +ipa_names = []\n>\n>  # The ipa-sign-install.sh script which uses the ipa_names variable will itself\n>  # prepend MESON_INSTALL_DESTDIR_PREFIX to each ipa module name, therefore we\n>  # must not include the prefix string here.\n> +\n> +subdirs = []\n>  foreach pipeline : pipelines\n> -    if ipa_modules.contains(pipeline)\n> -        subdir(pipeline)\n> -        ipa_names += ipa_install_dir / ipa_name + '.so'\n> -        enabled_ipa_modules += pipeline\n> +    if not ipa_modules.contains(pipeline)\n> +        continue\n> +    endif\n> +    enabled_ipa_names += pipeline\n> +\n> +    # Allow multi-level directory structuring for the IPAs if needed.\n> +    pipeline = pipeline.split('/')[0]\n> +    if pipeline in subdirs\n> +        continue\n>      endif\n> +\n> +    subdir(pipeline)\n> +    subdirs += [pipeline]\n\nI've just spotted a small bug in this code.  The above line should read:\n\n    subdirs += pipeline\n\nto work correctly.  Should I send an in-reply-to update to this patch, or can\nthat be fixed when applying (of course assuming there are no other changes\nrequired).\n\nRegards,\nNaush\n\n> +endforeach\n> +\n> +foreach ipa_name : ipa_names\n> +    enabled_ipa_modules += ipa_install_dir / ipa_name + '.so'\n>  endforeach\n>\n>  if ipa_sign_module\n> @@ -54,5 +70,5 @@ if ipa_sign_module\n>      # install time, which invalidates the signatures.\n>      meson.add_install_script('ipa-sign-install.sh',\n>                               ipa_priv_key.full_path(),\n> -                             ipa_names)\n> +                             enabled_ipa_modules)\n>  endif\n> diff --git a/src/ipa/raspberrypi/meson.build b/src/ipa/raspberrypi/meson.build\n> index de78cbd80f9c..95437cbcc962 100644\n> --- a/src/ipa/raspberrypi/meson.build\n> +++ b/src/ipa/raspberrypi/meson.build\n> @@ -64,3 +64,5 @@ if ipa_sign_module\n>  endif\n>\n>  subdir('data')\n> +\n> +ipa_names += ipa_name\n> diff --git a/src/ipa/rkisp1/meson.build b/src/ipa/rkisp1/meson.build\n> index ccb84b27525b..e813da53ae9b 100644\n> --- a/src/ipa/rkisp1/meson.build\n> +++ b/src/ipa/rkisp1/meson.build\n> @@ -29,3 +29,5 @@ if ipa_sign_module\n>                    install : false,\n>                    build_by_default : true)\n>  endif\n> +\n> +ipa_names += ipa_name\n> --\n> 2.34.1\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 44265C0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  4 May 2023 07:55:43 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 98745627DE;\n\tThu,  4 May 2023 09:55:42 +0200 (CEST)","from mail-yw1-x1136.google.com (mail-yw1-x1136.google.com\n\t[IPv6:2607:f8b0:4864:20::1136])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1A78861EAC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  4 May 2023 09:55:41 +0200 (CEST)","by mail-yw1-x1136.google.com with SMTP id\n\t00721157ae682-55a44a2637bso1013157b3.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 04 May 2023 00:55:41 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1683186942;\n\tbh=Fcl71DQa7g8csPLxKQ4c/RG5PmUpGeQ34RAulNHGr/Y=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=dJRmV1PDa/9dWpn3CD5o3s4+eWEnoDHByI4BfqIQg2ndpWWd7uygVrnFYQZAtRAe4\n\teRwOite76+Hq4IysnZXGMcwTvu/z98z+1iFZuqMSk2QD/F1Ag4gWwzBedE7lfyAE7m\n\tWojaBLGz1NLOBKXkKipVVlpu+Q26nPXA1rwKvRXyUnzLp/jQwKcMp4zJCJKf71knLn\n\tKK6AHHknljwwHMA2hckK8L6ZTPzJQfCeIxhFKxk4O5rzbUkFvs3zqDEjl0f6/ZS4bL\n\tCkEeM3uX7IY56wGllyfSBbEPV28mJNt3tS2ESyO2ZEnArj2S7PIJ0dx13Li0R5+zy6\n\tvdd9yWvXVMAiQ==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1683186940; x=1685778940;\n\th=to:subject:message-id:date:from:in-reply-to:references:mime-version\n\t:from:to:cc:subject:date:message-id:reply-to;\n\tbh=wT4/ZBKREL+4c/oef3BSbWMjLwyDV76YkTMmULHefEY=;\n\tb=RNCN7/4k8G3+rABUyUMr0ricJ49jxdw4ELQYgHGkFSwZWm6C1rgP9fMZc98Z3vR9EN\n\thfCCswae/HkT+bpMnjKKvNaiWNMTvIb79HygvXcepf+MmkyEsTXPmZaQl0Ttx1Nvyc8V\n\tnBTV6VK7ulcsFP2Pz5AkaBgnUj4/ZKDRtP+rT9hTg3D3feIA3xmwIWnxXcroDyIcPlmd\n\t1wr8Hn4j6Xl28GwO7GW5wh2MvZtm44MNk6gCVQbyAAsVybRUlvx9xrB49R9P3SpvLuer\n\tmhhe7XVGb0QTjwbaCP1pGoQ6bvN7dHa9xhhQeWiiD3ICSegLV5HN7rPZldugt4D5VblO\n\th/2Q=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"RNCN7/4k\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20221208; t=1683186940; x=1685778940;\n\th=to:subject:message-id:date:from:in-reply-to:references:mime-version\n\t:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n\tbh=wT4/ZBKREL+4c/oef3BSbWMjLwyDV76YkTMmULHefEY=;\n\tb=JSrHlnxaIwVc1QMi+yirVgea0fIIz24duxoTU97LJGp/XrPyTf+JaQJ2iWakE1msmj\n\tUzDsLJ1jODU/0WpO/frPEWrdlktuqtR/RUt7wGuH9xsjQFG+2Z7ETxGAsbY719eNjtr+\n\tICvRr1EJGnqgq/ttfqbtVjeXWhTg7PCgAjswfu/0CLZGef3bRPr6uevOZK/EjhnFntp2\n\tKGU6KamONgN0E8LZXvFi5SHzcyqLss6i8cfmd17ObEqBVzhXcEbMt0SyVo7coZQSLWLX\n\t7VmYRW043lmQ5KFR1sHfJmHz6aqD0d01cWHiF2b+0vEDqqGYMQUlKNkGTW4H+KviOsCX\n\tbIWQ==","X-Gm-Message-State":"AC+VfDwa+d77EYWfcH0K+bWmiqoIUyTnIBI8jTYAg1BCUQB0RyqoSKGf\n\tnqzk7sPGpm3QC8pkJMmGrBUTL2rj1BL9OV4WYrvb3dXB6Eo53PMNcDeHRw==","X-Google-Smtp-Source":"ACHHUZ61k1nLbgHnShtSrjD4DX6uhPUsNc9JhmwXC6wXB2OkL7zJvm9SBCi9LcKgF8GNPawEHEN3V2M9sXPBrt4DX2I=","X-Received":"by 2002:a0d:e244:0:b0:555:cbdc:c6 with SMTP id\n\tl65-20020a0de244000000b00555cbdc00c6mr1529313ywe.9.1683186939600; \n\tThu, 04 May 2023 00:55:39 -0700 (PDT)","MIME-Version":"1.0","References":"<20230503122035.32026-1-naush@raspberrypi.com>\n\t<20230503122035.32026-4-naush@raspberrypi.com>","In-Reply-To":"<20230503122035.32026-4-naush@raspberrypi.com>","Date":"Thu, 4 May 2023 08:55:24 +0100","Message-ID":"<CAEmqJPqtwUxE+QG2Z2TzQ+ev_DGmZgYN6PqnScJFMOS6JO_VuQ@mail.gmail.com>","To":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH 03/13] ipa: meson: Allow nested IPA\n\tdirectory structures","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>","From":"Naushir Patuck via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Naushir Patuck <naush@raspberrypi.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":27045,"web_url":"https://patchwork.libcamera.org/comment/27045/","msgid":"<76oe7zixfk4arzqdlvtwidsukbfvtd77ymsk524edea6s4aop3@6rdyg55chp43>","date":"2023-05-04T09:53:38","subject":"Re: [libcamera-devel] [PATCH 03/13] ipa: meson: Allow nested IPA\n\tdirectory structures","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Naush\n\nOn Wed, May 03, 2023 at 01:20:25PM +0100, Naushir Patuck via libcamera-devel wrote:\n> The current IPA build files require a flat directory struture for the\n> IPAs. Modify the build files to remove this restriction and allow a\n> directory structure such as:\n>\n> src/ipa\n>   |- raspberrypi\n>       |- common\n>       |- cam_helpers\n>       |- controller\n>       |- vc4\n>   |- rkisp1\n>   |- ipu3\n>\n> where each subdir (e.g. raspberrypi/common, raspberrypi/cam_helper) has\n> its own meson.build file. Such a directory structure will be introduced\n> for the Raspberry Pi IPA in a future commit.\n>\n> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n> ---\n>  meson.build                     |  2 +-\n>  src/ipa/ipu3/meson.build        |  2 ++\n>  src/ipa/meson.build             | 26 +++++++++++++++++++++-----\n>  src/ipa/raspberrypi/meson.build |  2 ++\n>  src/ipa/rkisp1/meson.build      |  2 ++\n>  5 files changed, 28 insertions(+), 6 deletions(-)\n>\n> diff --git a/meson.build b/meson.build\n> index d3289181b7b9..2d99029bf5b7 100644\n> --- a/meson.build\n> +++ b/meson.build\n> @@ -262,7 +262,7 @@ py_mod.find_installation('python3', modules: py_modules)\n>  ## Summarise Configurations\n>  summary({\n>              'Enabled pipelines': pipelines,\n> -            'Enabled IPA modules': enabled_ipa_modules,\n> +            'Enabled IPA modules': enabled_ipa_names,\n>              'Tracing support': tracing_enabled,\n>              'Android support': android_enabled,\n>              'GStreamer support': gst_enabled,\n> diff --git a/src/ipa/ipu3/meson.build b/src/ipa/ipu3/meson.build\n> index 658e7c9bc366..66c398432d43 100644\n> --- a/src/ipa/ipu3/meson.build\n> +++ b/src/ipa/ipu3/meson.build\n> @@ -29,3 +29,5 @@ if ipa_sign_module\n>                    install : false,\n>                    build_by_default : true)\n>  endif\n> +\n> +ipa_names += ipa_name\n\nNot excited by this one here, as it seems easy to forget. Anyway, I\nknow this version comes after a long discussion, so it's fine\n\nWith your comment addressed\nReviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n\nThanks\n  j\n\n> diff --git a/src/ipa/meson.build b/src/ipa/meson.build\n> index 76ad5b445601..fac92f32fdb9 100644\n> --- a/src/ipa/meson.build\n> +++ b/src/ipa/meson.build\n> @@ -36,16 +36,32 @@ if get_option('test') and 'vimc' not in ipa_modules\n>  endif\n>\n>  enabled_ipa_modules = []\n> +enabled_ipa_names = []\n> +ipa_names = []\n>\n>  # The ipa-sign-install.sh script which uses the ipa_names variable will itself\n>  # prepend MESON_INSTALL_DESTDIR_PREFIX to each ipa module name, therefore we\n>  # must not include the prefix string here.\n> +\n> +subdirs = []\n>  foreach pipeline : pipelines\n> -    if ipa_modules.contains(pipeline)\n> -        subdir(pipeline)\n> -        ipa_names += ipa_install_dir / ipa_name + '.so'\n> -        enabled_ipa_modules += pipeline\n> +    if not ipa_modules.contains(pipeline)\n> +        continue\n> +    endif\n> +    enabled_ipa_names += pipeline\n> +\n> +    # Allow multi-level directory structuring for the IPAs if needed.\n> +    pipeline = pipeline.split('/')[0]\n> +    if pipeline in subdirs\n> +        continue\n>      endif\n> +\n> +    subdir(pipeline)\n> +    subdirs += [pipeline]\n> +endforeach\n> +\n> +foreach ipa_name : ipa_names\n> +    enabled_ipa_modules += ipa_install_dir / ipa_name + '.so'\n>  endforeach\n>\n>  if ipa_sign_module\n> @@ -54,5 +70,5 @@ if ipa_sign_module\n>      # install time, which invalidates the signatures.\n>      meson.add_install_script('ipa-sign-install.sh',\n>                               ipa_priv_key.full_path(),\n> -                             ipa_names)\n> +                             enabled_ipa_modules)\n>  endif\n> diff --git a/src/ipa/raspberrypi/meson.build b/src/ipa/raspberrypi/meson.build\n> index de78cbd80f9c..95437cbcc962 100644\n> --- a/src/ipa/raspberrypi/meson.build\n> +++ b/src/ipa/raspberrypi/meson.build\n> @@ -64,3 +64,5 @@ if ipa_sign_module\n>  endif\n>\n>  subdir('data')\n> +\n> +ipa_names += ipa_name\n> diff --git a/src/ipa/rkisp1/meson.build b/src/ipa/rkisp1/meson.build\n> index ccb84b27525b..e813da53ae9b 100644\n> --- a/src/ipa/rkisp1/meson.build\n> +++ b/src/ipa/rkisp1/meson.build\n> @@ -29,3 +29,5 @@ if ipa_sign_module\n>                    install : false,\n>                    build_by_default : true)\n>  endif\n> +\n> +ipa_names += ipa_name\n> --\n> 2.34.1\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id C0D4BBD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  4 May 2023 09:53:44 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2EDBB633B4;\n\tThu,  4 May 2023 11:53:44 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A4C8961EAC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  4 May 2023 11:53:42 +0200 (CEST)","from ideasonboard.com (93-61-96-190.ip145.fastwebnet.it\n\t[93.61.96.190])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 4AE586E0;\n\tThu,  4 May 2023 11:53:39 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1683194024;\n\tbh=hKKhOM3pClJf4Khao8SrdI1ohGy1saZtZ6i8sNTwQY0=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=ZhZwtTgfPVGRnyiUF0AkXvZ9ojMXW4ewJ6RdFGih8xnuHdbrj1ukePv0DMRLJT2eS\n\tMnteuSWGVKb6+MPXaSNfVdPUZ9qLAjdKi9z5+9aQYDQEAT/EbBWTdp/zlzbF7m2Lxx\n\tGM+w5cUbWFqRo7DzHnUTb+UiWwoqZasnmOXWNAKQgSRHo4nyq5ovIP7dzHCcXg32aq\n\t+rM2cdrehx34jXSZQ1zDmRM7+Wr6SESjjc63lGnNVRfIyfxovFoXaib7UxMGN6bva+\n\tWg+FodwbK2iUCB8emXCkb5alCipjIva7pWu60isaU1umS7qoc7tJ/zR4X5O47ShsqH\n\t3zTqgRK3kR7Rg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1683194019;\n\tbh=hKKhOM3pClJf4Khao8SrdI1ohGy1saZtZ6i8sNTwQY0=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=ZB83QMl/OtRqicxuI6JlgY1Ieia7L2OQiKF06ERoG1kMV7W7WXkYp3LfQ9UYAbngu\n\tI76ksKexwvPMSidUmcSI3ncQ1xYzxlVMWAfqCr5GfLWbMV5TR1cyH9CD3Nxfiq+Vse\n\tSr7JMFz2SBaoo50uQJ0IklWognI7WU+hSxmewct0="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"ZB83QMl/\"; dkim-atps=neutral","Date":"Thu, 4 May 2023 11:53:38 +0200","To":"Naushir Patuck <naush@raspberrypi.com>","Message-ID":"<76oe7zixfk4arzqdlvtwidsukbfvtd77ymsk524edea6s4aop3@6rdyg55chp43>","References":"<20230503122035.32026-1-naush@raspberrypi.com>\n\t<20230503122035.32026-4-naush@raspberrypi.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20230503122035.32026-4-naush@raspberrypi.com>","Subject":"Re: [libcamera-devel] [PATCH 03/13] ipa: meson: Allow nested IPA\n\tdirectory structures","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>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":27055,"web_url":"https://patchwork.libcamera.org/comment/27055/","msgid":"<20230504160702.GN4551@pendragon.ideasonboard.com>","date":"2023-05-04T16:07:02","subject":"Re: [libcamera-devel] [PATCH 03/13] ipa: meson: Allow nested IPA\n\tdirectory structures","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Naush,\n\nOn Thu, May 04, 2023 at 08:55:24AM +0100, Naushir Patuck via libcamera-devel wrote:\n> On Wed, 3 May 2023 at 13:20, Naushir Patuck wrote:\n> >\n> > The current IPA build files require a flat directory struture for the\n\ns/struture/structure/\n\n> > IPAs. Modify the build files to remove this restriction and allow a\n> > directory structure such as:\n> >\n> > src/ipa\n> >   |- raspberrypi\n> >       |- common\n> >       |- cam_helpers\n> >       |- controller\n> >       |- vc4\n> >   |- rkisp1\n> >   |- ipu3\n> >\n> > where each subdir (e.g. raspberrypi/common, raspberrypi/cam_helper) has\n> > its own meson.build file. Such a directory structure will be introduced\n> > for the Raspberry Pi IPA in a future commit.\n> >\n> > Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n> > ---\n> >  meson.build                     |  2 +-\n> >  src/ipa/ipu3/meson.build        |  2 ++\n> >  src/ipa/meson.build             | 26 +++++++++++++++++++++-----\n> >  src/ipa/raspberrypi/meson.build |  2 ++\n> >  src/ipa/rkisp1/meson.build      |  2 ++\n> >  5 files changed, 28 insertions(+), 6 deletions(-)\n> >\n> > diff --git a/meson.build b/meson.build\n> > index d3289181b7b9..2d99029bf5b7 100644\n> > --- a/meson.build\n> > +++ b/meson.build\n> > @@ -262,7 +262,7 @@ py_mod.find_installation('python3', modules: py_modules)\n> >  ## Summarise Configurations\n> >  summary({\n> >              'Enabled pipelines': pipelines,\n> > -            'Enabled IPA modules': enabled_ipa_modules,\n> > +            'Enabled IPA modules': enabled_ipa_names,\n> >              'Tracing support': tracing_enabled,\n> >              'Android support': android_enabled,\n> >              'GStreamer support': gst_enabled,\n> > diff --git a/src/ipa/ipu3/meson.build b/src/ipa/ipu3/meson.build\n> > index 658e7c9bc366..66c398432d43 100644\n> > --- a/src/ipa/ipu3/meson.build\n> > +++ b/src/ipa/ipu3/meson.build\n> > @@ -29,3 +29,5 @@ if ipa_sign_module\n> >                    install : false,\n> >                    build_by_default : true)\n> >  endif\n> > +\n> > +ipa_names += ipa_name\n> > diff --git a/src/ipa/meson.build b/src/ipa/meson.build\n> > index 76ad5b445601..fac92f32fdb9 100644\n> > --- a/src/ipa/meson.build\n> > +++ b/src/ipa/meson.build\n> > @@ -36,16 +36,32 @@ if get_option('test') and 'vimc' not in ipa_modules\n> >  endif\n> >\n> >  enabled_ipa_modules = []\n> > +enabled_ipa_names = []\n> > +ipa_names = []\n> >\n> >  # The ipa-sign-install.sh script which uses the ipa_names variable will itself\n\nipa_names should be renamed to enabled_ipa_modules.\n\nThis whole comment should actually move after this foreach loop.\n\n> >  # prepend MESON_INSTALL_DESTDIR_PREFIX to each ipa module name, therefore we\n> >  # must not include the prefix string here.\n> > +\n> > +subdirs = []\n> >  foreach pipeline : pipelines\n> > -    if ipa_modules.contains(pipeline)\n> > -        subdir(pipeline)\n> > -        ipa_names += ipa_install_dir / ipa_name + '.so'\n> > -        enabled_ipa_modules += pipeline\n> > +    if not ipa_modules.contains(pipeline)\n> > +        continue\n> > +    endif\n> > +    enabled_ipa_names += pipeline\n> > +\n> > +    # Allow multi-level directory structuring for the IPAs if needed.\n> > +    pipeline = pipeline.split('/')[0]\n> > +    if pipeline in subdirs\n> > +        continue\n> >      endif\n> > +\n> > +    subdir(pipeline)\n> > +    subdirs += [pipeline]\n> \n> I've just spotted a small bug in this code.  The above line should read:\n> \n>     subdirs += pipeline\n> \n> to work correctly.  Should I send an in-reply-to update to this patch, or can\n> that be fixed when applying (of course assuming there are no other changes\n> required).\n\nI'll fix it locally.\n\n> > +endforeach\n> > +\n> > +foreach ipa_name : ipa_names\n> > +    enabled_ipa_modules += ipa_install_dir / ipa_name + '.so'\n> >  endforeach\n> >\n> >  if ipa_sign_module\n> > @@ -54,5 +70,5 @@ if ipa_sign_module\n> >      # install time, which invalidates the signatures.\n> >      meson.add_install_script('ipa-sign-install.sh',\n> >                               ipa_priv_key.full_path(),\n> > -                             ipa_names)\n> > +                             enabled_ipa_modules)\n> >  endif\n> > diff --git a/src/ipa/raspberrypi/meson.build b/src/ipa/raspberrypi/meson.build\n> > index de78cbd80f9c..95437cbcc962 100644\n> > --- a/src/ipa/raspberrypi/meson.build\n> > +++ b/src/ipa/raspberrypi/meson.build\n> > @@ -64,3 +64,5 @@ if ipa_sign_module\n> >  endif\n> >\n> >  subdir('data')\n> > +\n> > +ipa_names += ipa_name\n> > diff --git a/src/ipa/rkisp1/meson.build b/src/ipa/rkisp1/meson.build\n> > index ccb84b27525b..e813da53ae9b 100644\n> > --- a/src/ipa/rkisp1/meson.build\n> > +++ b/src/ipa/rkisp1/meson.build\n> > @@ -29,3 +29,5 @@ if ipa_sign_module\n> >                    install : false,\n> >                    build_by_default : true)\n> >  endif\n> > +\n> > +ipa_names += ipa_name\n\nShouldn't vimc also do this ?\n\nWith these small issues fixed,\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nI can handle the fixes locally.","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id B27B4C0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  4 May 2023 16:06:54 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 14D38633B4;\n\tThu,  4 May 2023 18:06:54 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E71DE61EAE\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  4 May 2023 18:06:52 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(133-32-181-51.west.xps.vectant.ne.jp [133.32.181.51])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 87C8B7CE;\n\tThu,  4 May 2023 18:06:48 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1683216414;\n\tbh=OiQg+BvftZbclNION8Iz6mVk6uAKC/4h0Af+oDdHhkM=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=2agzOlirVMdzfwSLrBhYQA6xmRKo4k6mTEfuqeCKNH6e2G+WSUoEkMnMxvsZNUeBy\n\t1sweVKwv+we1/3Uz3ygLnIKpJmQ+COcETyjtXDl/OeKKMI8t8nvTrMaiCASArJ3JkG\n\tsQj6Bh7TGxIZRr4RkHtrpIuVyMEI8T998Lg74Eft95aTGjcECRBdLIA5Upj+gikZzX\n\traVx93pDSi77omdQ8PlllEb0ItoA/ztOdjcd/Ly6cP028cTgxoWTi7kqCS7O3mZiZn\n\trxnxjNv9ohroaAwH6fLTgBTfs++By1L9fqyqGs7GDtUt/bvcLBs0o/pJEIoqtDA5wg\n\txbLKPdRXrhCXw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1683216409;\n\tbh=OiQg+BvftZbclNION8Iz6mVk6uAKC/4h0Af+oDdHhkM=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=ZB073j/tIklqylgxZWXLy7opjs/rpIAYbapW6X8kmPJpHrphLKjJvSREeUFqrE7K9\n\tnxTOR39/ELquCxw9JtwqT0F45J+aJPxONPhNIs2iIYVSXazgqL0Cm6s6nwLXqEKoPQ\n\t6YfMKC6NyRfWisUCq6ikJkUp2hEp9ysYceFD0Uso="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"ZB073j/t\"; dkim-atps=neutral","Date":"Thu, 4 May 2023 19:07:02 +0300","To":"Naushir Patuck <naush@raspberrypi.com>","Message-ID":"<20230504160702.GN4551@pendragon.ideasonboard.com>","References":"<20230503122035.32026-1-naush@raspberrypi.com>\n\t<20230503122035.32026-4-naush@raspberrypi.com>\n\t<CAEmqJPqtwUxE+QG2Z2TzQ+ev_DGmZgYN6PqnScJFMOS6JO_VuQ@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<CAEmqJPqtwUxE+QG2Z2TzQ+ev_DGmZgYN6PqnScJFMOS6JO_VuQ@mail.gmail.com>","Subject":"Re: [libcamera-devel] [PATCH 03/13] ipa: meson: Allow nested IPA\n\tdirectory structures","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>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":27058,"web_url":"https://patchwork.libcamera.org/comment/27058/","msgid":"<CAEmqJPo659Fw6MA0PyFoBctX6aWyabrpUjwWRZF7AW3i7Xgcew@mail.gmail.com>","date":"2023-05-04T16:27:18","subject":"Re: [libcamera-devel] [PATCH 03/13] ipa: meson: Allow nested IPA\n\tdirectory structures","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi Laurent,\n\nOn Thu, 4 May 2023 at 17:06, Laurent Pinchart\n<laurent.pinchart@ideasonboard.com> wrote:\n>\n> Hi Naush,\n>\n> On Thu, May 04, 2023 at 08:55:24AM +0100, Naushir Patuck via libcamera-devel wrote:\n> > On Wed, 3 May 2023 at 13:20, Naushir Patuck wrote:\n> > >\n> > > The current IPA build files require a flat directory struture for the\n>\n> s/struture/structure/\n>\n> > > IPAs. Modify the build files to remove this restriction and allow a\n> > > directory structure such as:\n> > >\n> > > src/ipa\n> > >   |- raspberrypi\n> > >       |- common\n> > >       |- cam_helpers\n> > >       |- controller\n> > >       |- vc4\n> > >   |- rkisp1\n> > >   |- ipu3\n> > >\n> > > where each subdir (e.g. raspberrypi/common, raspberrypi/cam_helper) has\n> > > its own meson.build file. Such a directory structure will be introduced\n> > > for the Raspberry Pi IPA in a future commit.\n> > >\n> > > Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n> > > ---\n> > >  meson.build                     |  2 +-\n> > >  src/ipa/ipu3/meson.build        |  2 ++\n> > >  src/ipa/meson.build             | 26 +++++++++++++++++++++-----\n> > >  src/ipa/raspberrypi/meson.build |  2 ++\n> > >  src/ipa/rkisp1/meson.build      |  2 ++\n> > >  5 files changed, 28 insertions(+), 6 deletions(-)\n> > >\n> > > diff --git a/meson.build b/meson.build\n> > > index d3289181b7b9..2d99029bf5b7 100644\n> > > --- a/meson.build\n> > > +++ b/meson.build\n> > > @@ -262,7 +262,7 @@ py_mod.find_installation('python3', modules: py_modules)\n> > >  ## Summarise Configurations\n> > >  summary({\n> > >              'Enabled pipelines': pipelines,\n> > > -            'Enabled IPA modules': enabled_ipa_modules,\n> > > +            'Enabled IPA modules': enabled_ipa_names,\n> > >              'Tracing support': tracing_enabled,\n> > >              'Android support': android_enabled,\n> > >              'GStreamer support': gst_enabled,\n> > > diff --git a/src/ipa/ipu3/meson.build b/src/ipa/ipu3/meson.build\n> > > index 658e7c9bc366..66c398432d43 100644\n> > > --- a/src/ipa/ipu3/meson.build\n> > > +++ b/src/ipa/ipu3/meson.build\n> > > @@ -29,3 +29,5 @@ if ipa_sign_module\n> > >                    install : false,\n> > >                    build_by_default : true)\n> > >  endif\n> > > +\n> > > +ipa_names += ipa_name\n> > > diff --git a/src/ipa/meson.build b/src/ipa/meson.build\n> > > index 76ad5b445601..fac92f32fdb9 100644\n> > > --- a/src/ipa/meson.build\n> > > +++ b/src/ipa/meson.build\n> > > @@ -36,16 +36,32 @@ if get_option('test') and 'vimc' not in ipa_modules\n> > >  endif\n> > >\n> > >  enabled_ipa_modules = []\n> > > +enabled_ipa_names = []\n> > > +ipa_names = []\n> > >\n> > >  # The ipa-sign-install.sh script which uses the ipa_names variable will itself\n>\n> ipa_names should be renamed to enabled_ipa_modules.\n>\n> This whole comment should actually move after this foreach loop.\n>\n> > >  # prepend MESON_INSTALL_DESTDIR_PREFIX to each ipa module name, therefore we\n> > >  # must not include the prefix string here.\n> > > +\n> > > +subdirs = []\n> > >  foreach pipeline : pipelines\n> > > -    if ipa_modules.contains(pipeline)\n> > > -        subdir(pipeline)\n> > > -        ipa_names += ipa_install_dir / ipa_name + '.so'\n> > > -        enabled_ipa_modules += pipeline\n> > > +    if not ipa_modules.contains(pipeline)\n> > > +        continue\n> > > +    endif\n> > > +    enabled_ipa_names += pipeline\n> > > +\n> > > +    # Allow multi-level directory structuring for the IPAs if needed.\n> > > +    pipeline = pipeline.split('/')[0]\n> > > +    if pipeline in subdirs\n> > > +        continue\n> > >      endif\n> > > +\n> > > +    subdir(pipeline)\n> > > +    subdirs += [pipeline]\n> >\n> > I've just spotted a small bug in this code.  The above line should read:\n> >\n> >     subdirs += pipeline\n> >\n> > to work correctly.  Should I send an in-reply-to update to this patch, or can\n> > that be fixed when applying (of course assuming there are no other changes\n> > required).\n>\n> I'll fix it locally.\n>\n> > > +endforeach\n> > > +\n> > > +foreach ipa_name : ipa_names\n> > > +    enabled_ipa_modules += ipa_install_dir / ipa_name + '.so'\n> > >  endforeach\n> > >\n> > >  if ipa_sign_module\n> > > @@ -54,5 +70,5 @@ if ipa_sign_module\n> > >      # install time, which invalidates the signatures.\n> > >      meson.add_install_script('ipa-sign-install.sh',\n> > >                               ipa_priv_key.full_path(),\n> > > -                             ipa_names)\n> > > +                             enabled_ipa_modules)\n> > >  endif\n> > > diff --git a/src/ipa/raspberrypi/meson.build b/src/ipa/raspberrypi/meson.build\n> > > index de78cbd80f9c..95437cbcc962 100644\n> > > --- a/src/ipa/raspberrypi/meson.build\n> > > +++ b/src/ipa/raspberrypi/meson.build\n> > > @@ -64,3 +64,5 @@ if ipa_sign_module\n> > >  endif\n> > >\n> > >  subdir('data')\n> > > +\n> > > +ipa_names += ipa_name\n> > > diff --git a/src/ipa/rkisp1/meson.build b/src/ipa/rkisp1/meson.build\n> > > index ccb84b27525b..e813da53ae9b 100644\n> > > --- a/src/ipa/rkisp1/meson.build\n> > > +++ b/src/ipa/rkisp1/meson.build\n> > > @@ -29,3 +29,5 @@ if ipa_sign_module\n> > >                    install : false,\n> > >                    build_by_default : true)\n> > >  endif\n> > > +\n> > > +ipa_names += ipa_name\n>\n> Shouldn't vimc also do this ?\n\nYes, not sure how/why I missed that up.\n\n>\n> With these small issues fixed,\n>\n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>\n> I can handle the fixes locally.\n\nThanks for that!\n\nRegards,\nNaush\n\n>\n> --\n> Regards,\n>\n> Laurent Pinchart","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 4D8FCBD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  4 May 2023 16:27:37 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0F517633B4;\n\tThu,  4 May 2023 18:27:37 +0200 (CEST)","from mail-yb1-xb2e.google.com (mail-yb1-xb2e.google.com\n\t[IPv6:2607:f8b0:4864:20::b2e])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 54690633B1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  4 May 2023 18:27:35 +0200 (CEST)","by mail-yb1-xb2e.google.com with SMTP id\n\t3f1490d57ef6-b9a6eec8611so9751838276.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 04 May 2023 09:27:35 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1683217657;\n\tbh=6YuIZh8viL+oC72yeWCOM5D5rWYNvE4FPoNWkXHRGwQ=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=4hqKFhACA7s6C12qjnkZH3+9qutpkqY60w9+7/YuIl+2fF76Zfi4WsWZKO7kAm+lc\n\t0gk0gkR/3q5NA37eU5gopKRhUH1HN+W8+DSJnt9jat6olXYv3CJU2RFTgJooSpDs5j\n\tyAGscktsZsHDnTfsZQnlVg8eQWgkpAna+0TPEEwgHbCShTZdNsnM97JeFpdGKzh3zZ\n\tNpWFq2MRTfBC3qgV9/aDbpJGgvKkox2N8+FXRSyCEhpAI1WpfaD51h3wa2MiQd6Kfc\n\t6MOWJUcNmK1AUDZXn797NFVGB++A22yoNScDwTQSu6+UgnNCe8B5OsnVj84jddahC1\n\tnx51cQryhxTRw==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1683217654; x=1685809654;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=OiYt/LDvwM2yQcXYHvuMe/yX2jVL04QkPMeJx6qsNxU=;\n\tb=qyyqFY+7p9cNOYa05jkHSbWS7UNO6UEqoQBzFhR/2Vo9kTnnu9KFtNuUA87dl34w5O\n\t3DjiIwae4z/TuBpcYv8UeMMIGWLQ5u69qDudoq0RDRRfggHJz1spGk0YeQkgfnDLGi2j\n\tg+5XlYipR42Yua1lMQv3VseWdHO1zrPkjioOlglWKioJxWYgB+o/iIXrpTZvk2vBrAjU\n\tKfa73aBe3ulP/9LVPfkeS3bWRY/1EaJsxaQwrRg/EklkxfCkgz3eUKqtrrIXxkjpXEDy\n\teCZJ0MbqFA/YoCfN4Zirnqos3EN/yilfMTcXXWtwuAcGV308LtaqETnGzefAhtGSSulL\n\tjKkg=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"qyyqFY+7\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20221208; t=1683217654; x=1685809654;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=OiYt/LDvwM2yQcXYHvuMe/yX2jVL04QkPMeJx6qsNxU=;\n\tb=CT/8zg4OW9Hzme947WMDvLF/KtQE/Iz1FCHp+Ep94uKSu3xfLipJp9WUAZz0apGwrr\n\t2tDAWb7uf6KlQpq6pGFgVLAKqFzKfjgP7qc8SPaPmA7hPTzVWlsO6NpHJOocY5Q30uqL\n\t2CikPhQ71zgrLhrKVR9w8YRGjI67UT7rx4svG3Lw+++akV9MZRTDDYXHUeHAV6jmMQlp\n\tgwrJlB9j7hdPs+QRMAHykKJkHZixwZpbklmTnh/kegkeh7A/asUB09W2Mx2nddl5/eBQ\n\tQWPXE20o8F5Jfvljw/cV6dXQg6/pSDwkqkqkBhfpkClqcc2c36xqKFRpB9BM3+OxHHES\n\tcHTA==","X-Gm-Message-State":"AC+VfDzU2jEasYYJF8ImM+8THqaqfzJpvFH+WHmwnsyLGPepI+7nVa1l\n\t1v30b8IVE7dIWHBYxZk+0/dtgCSNZlTg5HnUfQCt/ISyUtwi2wCrXKE=","X-Google-Smtp-Source":"ACHHUZ7xG2vW9YGPBMtgwLKFWBTmMbcXUjgyuaOi7+3W8eorTdCTCoR48h3haUIP6ZXsXfxLgZdB6AzlC5d5YHFZvtc=","X-Received":"by 2002:a25:ab8b:0:b0:b99:4381:d955 with SMTP id\n\tv11-20020a25ab8b000000b00b994381d955mr226112ybi.2.1683217654249;\n\tThu, 04 May 2023 09:27:34 -0700 (PDT)","MIME-Version":"1.0","References":"<20230503122035.32026-1-naush@raspberrypi.com>\n\t<20230503122035.32026-4-naush@raspberrypi.com>\n\t<CAEmqJPqtwUxE+QG2Z2TzQ+ev_DGmZgYN6PqnScJFMOS6JO_VuQ@mail.gmail.com>\n\t<20230504160702.GN4551@pendragon.ideasonboard.com>","In-Reply-To":"<20230504160702.GN4551@pendragon.ideasonboard.com>","Date":"Thu, 4 May 2023 17:27:18 +0100","Message-ID":"<CAEmqJPo659Fw6MA0PyFoBctX6aWyabrpUjwWRZF7AW3i7Xgcew@mail.gmail.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH 03/13] ipa: meson: Allow nested IPA\n\tdirectory structures","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>","From":"Naushir Patuck via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Naushir Patuck <naush@raspberrypi.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]