[{"id":37368,"web_url":"https://patchwork.libcamera.org/comment/37368/","msgid":"<20251215101854.GC11477@pendragon.ideasonboard.com>","date":"2025-12-15T10:18:54","subject":"Re: [PATCH v1] utils: gen-shader-headers: Fix subproject build","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Barnabás,\n\nOn Mon, Dec 15, 2025 at 10:37:06AM +0100, Barnabás Pőcze wrote:\n> Meson already takes care of passing the proper absolute or relative\n> paths to commands. There is no need do more path manipulation.\n\nThat's because all commands are run from the root of the build\ndirectory. It's worth mentioning it here (or maybe just worth\nremembering for the people who reviewed and merged 19371dee4146b7 :-)).\n\n> \n> So simplify the script by using the paths as-is. This also fixes the\n> path manipulation issue that prevented libcamera from building as a\n> subproject.\n> \n> Fixes: 19371dee4146b7 (\"utils: gen-shader-headers: Add a utility to generate headers from shaders\")\n> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n\nI started simplifying the shader generation by merging the shell and\nPython scripts together. We can merge this patch first and I'll rebase\nmy work in progress.\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  src/libcamera/meson.build   |  2 +-\n>  utils/gen-shader-headers.sh | 14 ++++++--------\n>  2 files changed, 7 insertions(+), 9 deletions(-)\n> \n> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> index 90d434a5a2..575408b2c7 100644\n> --- a/src/libcamera/meson.build\n> +++ b/src/libcamera/meson.build\n> @@ -188,7 +188,7 @@ libcamera_shader_headers = custom_target(\n>      'gen-shader-headers',\n>      input : [shader_files],\n>      output : 'glsl_shaders.h',\n> -    command : [gen_shader_headers, meson.project_source_root(), meson.project_build_root(), '@OUTPUT@', '@INPUT@'],\n> +    command : [gen_shader_headers, meson.project_source_root(), '@OUTPUT@', '@INPUT@'],\n>  )\n>  \n>  libcamera_internal_headers += libcamera_shader_headers\n> diff --git a/utils/gen-shader-headers.sh b/utils/gen-shader-headers.sh\n> index 81bf1584c9..92f6f81815 100755\n> --- a/utils/gen-shader-headers.sh\n> +++ b/utils/gen-shader-headers.sh\n> @@ -3,14 +3,13 @@\n>  set -e\n>  \n>  usage() {\n> -\techo \"Usage: $0 <src_dir> <build_dir> <output_header_name> <shader_file1> [shader_file2 ...]\"\n> +\techo \"Usage: $0 <src_dir> <output_header> <shader_file1> [shader_file2 ...]\"\n>  \techo\n>  \techo \"Generates a C header file containing hex-encoded shader data.\"\n>  \techo\n>  \techo \"Arguments:\"\n>  \techo \"  src_dir             Path to the base of the source directory\"\n> -\techo \"  build_dir           Directory where shader files are located and header will be written\"\n> -\techo \"  output_header_name  Name of the generated header file (relative to build_dir)\"\n> +\techo \"  output_header       Path to the generated header file\"\n>  \techo \"  shader_file(s)      One or more shader files to embed in the header\"\n>  \texit 1\n>  }\n> @@ -21,8 +20,7 @@ if [ $# -lt 4 ]; then\n>  fi\n>  \n>  src_dir=\"$1\"; shift\n> -build_dir=\"$1\"; shift\n> -build_path=$build_dir/\"$1\"; shift\n> +build_path=\"$1\"; shift\n>  \n>  cat <<EOF > \"$build_path\"\n>  /* SPDX-License-Identifier: LGPL-2.1-or-later */\n> @@ -40,7 +38,7 @@ cat <<EOF >> \"$build_path\"\n>  EOF\n>  \n>  for file in \"$@\"; do\n> -\tname=$(basename \"$build_dir/$file\" | tr '.' '_')\n> +\tname=$(basename \"$file\" | tr '.' '_')\n>  \techo \"[SHADER-GEN] $name\"\n>  \techo \" * unsigned char $name;\" >> \"$build_path\"\n>  done\n> @@ -49,7 +47,7 @@ echo \"*/\" >> \"$build_path\"\n>  \n>  echo \"/* Hex encoded shader data */\" >> \"$build_path\"\n>  for file in \"$@\"; do\n> -\tname=$(basename \"$build_dir/$file\")\n> -\t\"$src_dir/utils/gen-shader-header.py\" \"$name\" \"$build_dir/$file\" >> \"$build_path\"\n> +\tname=$(basename \"$file\")\n> +\t\"$src_dir/utils/gen-shader-header.py\" \"$name\" \"$file\" >> \"$build_path\"\n>  \techo >> \"$build_path\"\n>  done","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 252F3BD7D8\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 15 Dec 2025 10:19:16 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 46F8161944;\n\tMon, 15 Dec 2025 11:19:15 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DA96B606D5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 15 Dec 2025 11:19:13 +0100 (CET)","from pendragon.ideasonboard.com (p7838222-ipoefx.ipoe.ocn.ne.jp\n\t[123.225.39.221])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id F06C9B3;\n\tMon, 15 Dec 2025 11:19:07 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"hxiUzPrw\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1765793948;\n\tbh=N+9oUKCbtBnAWdJmV9Em1b4fYN8oyBaSYOpuqDDopwA=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=hxiUzPrwi1+yOv5tfbB5mpO+yL26h8+gAKHLc/UhFzmlbWIsU+tU+iKG/9w/tJvIR\n\tIg/xkFp9AATStvUGAULekyhJolE7qqUZb40XLiCBTjhP1M/TISh1zxttL4j9JR58/b\n\tytzHuhkYnpg1Xu6pY1I+fdLAFYVvhRRhPeE1PVWk=","Date":"Mon, 15 Dec 2025 19:18:54 +0900","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org,\n\tBryan O'Donoghue <bryan.odonoghue@linaro.org>,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>","Subject":"Re: [PATCH v1] utils: gen-shader-headers: Fix subproject build","Message-ID":"<20251215101854.GC11477@pendragon.ideasonboard.com>","References":"<20251215093706.573761-1-barnabas.pocze@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20251215093706.573761-1-barnabas.pocze@ideasonboard.com>","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":37375,"web_url":"https://patchwork.libcamera.org/comment/37375/","msgid":"<176579858537.1098171.7068571046882256296@ping.linuxembedded.co.uk>","date":"2025-12-15T11:36:25","subject":"Re: [PATCH v1] utils: gen-shader-headers: Fix subproject build","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Laurent Pinchart (2025-12-15 10:18:54)\n> Hi Barnabás,\n> \n> On Mon, Dec 15, 2025 at 10:37:06AM +0100, Barnabás Pőcze wrote:\n> > Meson already takes care of passing the proper absolute or relative\n> > paths to commands. There is no need do more path manipulation.\n> \n> That's because all commands are run from the root of the build\n> directory. It's worth mentioning it here (or maybe just worth\n> remembering for the people who reviewed and merged 19371dee4146b7 :-)).\n\nIf we miss test cases we miss test opportunities!\n\n--\nKieran\n\n\n> \n> > \n> > So simplify the script by using the paths as-is. This also fixes the\n> > path manipulation issue that prevented libcamera from building as a\n> > subproject.\n> > \n> > Fixes: 19371dee4146b7 (\"utils: gen-shader-headers: Add a utility to generate headers from shaders\")\n> > Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> \n> I started simplifying the shader generation by merging the shell and\n> Python scripts together. We can merge this patch first and I'll rebase\n> my work in progress.\n> \n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> \n> > ---\n> >  src/libcamera/meson.build   |  2 +-\n> >  utils/gen-shader-headers.sh | 14 ++++++--------\n> >  2 files changed, 7 insertions(+), 9 deletions(-)\n> > \n> > diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> > index 90d434a5a2..575408b2c7 100644\n> > --- a/src/libcamera/meson.build\n> > +++ b/src/libcamera/meson.build\n> > @@ -188,7 +188,7 @@ libcamera_shader_headers = custom_target(\n> >      'gen-shader-headers',\n> >      input : [shader_files],\n> >      output : 'glsl_shaders.h',\n> > -    command : [gen_shader_headers, meson.project_source_root(), meson.project_build_root(), '@OUTPUT@', '@INPUT@'],\n> > +    command : [gen_shader_headers, meson.project_source_root(), '@OUTPUT@', '@INPUT@'],\n> >  )\n> >  \n> >  libcamera_internal_headers += libcamera_shader_headers\n> > diff --git a/utils/gen-shader-headers.sh b/utils/gen-shader-headers.sh\n> > index 81bf1584c9..92f6f81815 100755\n> > --- a/utils/gen-shader-headers.sh\n> > +++ b/utils/gen-shader-headers.sh\n> > @@ -3,14 +3,13 @@\n> >  set -e\n> >  \n> >  usage() {\n> > -     echo \"Usage: $0 <src_dir> <build_dir> <output_header_name> <shader_file1> [shader_file2 ...]\"\n> > +     echo \"Usage: $0 <src_dir> <output_header> <shader_file1> [shader_file2 ...]\"\n> >       echo\n> >       echo \"Generates a C header file containing hex-encoded shader data.\"\n> >       echo\n> >       echo \"Arguments:\"\n> >       echo \"  src_dir             Path to the base of the source directory\"\n> > -     echo \"  build_dir           Directory where shader files are located and header will be written\"\n> > -     echo \"  output_header_name  Name of the generated header file (relative to build_dir)\"\n> > +     echo \"  output_header       Path to the generated header file\"\n> >       echo \"  shader_file(s)      One or more shader files to embed in the header\"\n> >       exit 1\n> >  }\n> > @@ -21,8 +20,7 @@ if [ $# -lt 4 ]; then\n> >  fi\n> >  \n> >  src_dir=\"$1\"; shift\n> > -build_dir=\"$1\"; shift\n> > -build_path=$build_dir/\"$1\"; shift\n> > +build_path=\"$1\"; shift\n> >  \n> >  cat <<EOF > \"$build_path\"\n> >  /* SPDX-License-Identifier: LGPL-2.1-or-later */\n> > @@ -40,7 +38,7 @@ cat <<EOF >> \"$build_path\"\n> >  EOF\n> >  \n> >  for file in \"$@\"; do\n> > -     name=$(basename \"$build_dir/$file\" | tr '.' '_')\n> > +     name=$(basename \"$file\" | tr '.' '_')\n> >       echo \"[SHADER-GEN] $name\"\n> >       echo \" * unsigned char $name;\" >> \"$build_path\"\n> >  done\n> > @@ -49,7 +47,7 @@ echo \"*/\" >> \"$build_path\"\n> >  \n> >  echo \"/* Hex encoded shader data */\" >> \"$build_path\"\n> >  for file in \"$@\"; do\n> > -     name=$(basename \"$build_dir/$file\")\n> > -     \"$src_dir/utils/gen-shader-header.py\" \"$name\" \"$build_dir/$file\" >> \"$build_path\"\n> > +     name=$(basename \"$file\")\n> > +     \"$src_dir/utils/gen-shader-header.py\" \"$name\" \"$file\" >> \"$build_path\"\n> >       echo >> \"$build_path\"\n> >  done\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 7A24FBD7D8\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 15 Dec 2025 11:36:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4682F6196C;\n\tMon, 15 Dec 2025 12:36:30 +0100 (CET)","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 A5900615B2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 15 Dec 2025 12:36:28 +0100 (CET)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id BC7A8C66;\n\tMon, 15 Dec 2025 12:36:23 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"RKK1eXRg\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1765798583;\n\tbh=eYbWYPk36P9Fz9zUo/er2r7JbFV/tLAIoRb0h42hnY0=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=RKK1eXRg3MkPMw45pAVRkQbzvFr5jbvJPQ9CikSUHnxem3YBYWCxe8xzpkyBvpqnX\n\tvnniUTNyrmgeZQMt807+ezFFyJQrABR3hpQ/Ev3seLM1HkzY/2oXNvpVVjMTQ/TDQA\n\tA9hWPIyijJsOLqUxRZojj29GGnsLzPFtTm9MeMcI=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20251215101854.GC11477@pendragon.ideasonboard.com>","References":"<20251215093706.573761-1-barnabas.pocze@ideasonboard.com>\n\t<20251215101854.GC11477@pendragon.ideasonboard.com>","Subject":"Re: [PATCH v1] utils: gen-shader-headers: Fix subproject build","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org,\n\tBryan O'Donoghue <bryan.odonoghue@linaro.org>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Date":"Mon, 15 Dec 2025 11:36:25 +0000","Message-ID":"<176579858537.1098171.7068571046882256296@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":37393,"web_url":"https://patchwork.libcamera.org/comment/37393/","msgid":"<176581978429.3401191.10441324226051326951@ping.linuxembedded.co.uk>","date":"2025-12-15T17:29:44","subject":"Re: [PATCH v1] utils: gen-shader-headers: Fix subproject build","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Laurent Pinchart (2025-12-15 10:18:54)\n> Hi Barnabás,\n> \n> On Mon, Dec 15, 2025 at 10:37:06AM +0100, Barnabás Pőcze wrote:\n> > Meson already takes care of passing the proper absolute or relative\n> > paths to commands. There is no need do more path manipulation.\n> \n> That's because all commands are run from the root of the build\n> directory. It's worth mentioning it here (or maybe just worth\n> remembering for the people who reviewed and merged 19371dee4146b7 :-)).\n\nAlso - worth remembering that more iterations on that would have\nincurred yet another 20 patches hitting the list (42 if we hadn't split\nout the precursor series) - *this* is exactly why I'm happy to have\nmerged 19371dee4146b7 and the others in that series to expand the\ntesting and allow things like this to be identified and fixed on top...\n\nJust like this ;-)\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> > So simplify the script by using the paths as-is. This also fixes the\n> > path manipulation issue that prevented libcamera from building as a\n> > subproject.\n> > \n> > Fixes: 19371dee4146b7 (\"utils: gen-shader-headers: Add a utility to generate headers from shaders\")\n> > Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> \n> I started simplifying the shader generation by merging the shell and\n> Python scripts together. We can merge this patch first and I'll rebase\n> my work in progress.\n> \n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> \n> > ---\n> >  src/libcamera/meson.build   |  2 +-\n> >  utils/gen-shader-headers.sh | 14 ++++++--------\n> >  2 files changed, 7 insertions(+), 9 deletions(-)\n> > \n> > diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> > index 90d434a5a2..575408b2c7 100644\n> > --- a/src/libcamera/meson.build\n> > +++ b/src/libcamera/meson.build\n> > @@ -188,7 +188,7 @@ libcamera_shader_headers = custom_target(\n> >      'gen-shader-headers',\n> >      input : [shader_files],\n> >      output : 'glsl_shaders.h',\n> > -    command : [gen_shader_headers, meson.project_source_root(), meson.project_build_root(), '@OUTPUT@', '@INPUT@'],\n> > +    command : [gen_shader_headers, meson.project_source_root(), '@OUTPUT@', '@INPUT@'],\n> >  )\n> >  \n> >  libcamera_internal_headers += libcamera_shader_headers\n> > diff --git a/utils/gen-shader-headers.sh b/utils/gen-shader-headers.sh\n> > index 81bf1584c9..92f6f81815 100755\n> > --- a/utils/gen-shader-headers.sh\n> > +++ b/utils/gen-shader-headers.sh\n> > @@ -3,14 +3,13 @@\n> >  set -e\n> >  \n> >  usage() {\n> > -     echo \"Usage: $0 <src_dir> <build_dir> <output_header_name> <shader_file1> [shader_file2 ...]\"\n> > +     echo \"Usage: $0 <src_dir> <output_header> <shader_file1> [shader_file2 ...]\"\n> >       echo\n> >       echo \"Generates a C header file containing hex-encoded shader data.\"\n> >       echo\n> >       echo \"Arguments:\"\n> >       echo \"  src_dir             Path to the base of the source directory\"\n> > -     echo \"  build_dir           Directory where shader files are located and header will be written\"\n> > -     echo \"  output_header_name  Name of the generated header file (relative to build_dir)\"\n> > +     echo \"  output_header       Path to the generated header file\"\n> >       echo \"  shader_file(s)      One or more shader files to embed in the header\"\n> >       exit 1\n> >  }\n> > @@ -21,8 +20,7 @@ if [ $# -lt 4 ]; then\n> >  fi\n> >  \n> >  src_dir=\"$1\"; shift\n> > -build_dir=\"$1\"; shift\n> > -build_path=$build_dir/\"$1\"; shift\n> > +build_path=\"$1\"; shift\n> >  \n> >  cat <<EOF > \"$build_path\"\n> >  /* SPDX-License-Identifier: LGPL-2.1-or-later */\n> > @@ -40,7 +38,7 @@ cat <<EOF >> \"$build_path\"\n> >  EOF\n> >  \n> >  for file in \"$@\"; do\n> > -     name=$(basename \"$build_dir/$file\" | tr '.' '_')\n> > +     name=$(basename \"$file\" | tr '.' '_')\n> >       echo \"[SHADER-GEN] $name\"\n> >       echo \" * unsigned char $name;\" >> \"$build_path\"\n> >  done\n> > @@ -49,7 +47,7 @@ echo \"*/\" >> \"$build_path\"\n> >  \n> >  echo \"/* Hex encoded shader data */\" >> \"$build_path\"\n> >  for file in \"$@\"; do\n> > -     name=$(basename \"$build_dir/$file\")\n> > -     \"$src_dir/utils/gen-shader-header.py\" \"$name\" \"$build_dir/$file\" >> \"$build_path\"\n> > +     name=$(basename \"$file\")\n> > +     \"$src_dir/utils/gen-shader-header.py\" \"$name\" \"$file\" >> \"$build_path\"\n> >       echo >> \"$build_path\"\n> >  done\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 B9DA0BD7D8\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 15 Dec 2025 17:29:50 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A29D9619EF;\n\tMon, 15 Dec 2025 18:29:49 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E0BD9619D8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 15 Dec 2025 18:29:48 +0100 (CET)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 22BCCC66;\n\tMon, 15 Dec 2025 18:29:43 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"rXPfEHDH\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1765819783;\n\tbh=mFjlaPZ9jenYrbVRwnOUk9jkAJ1Rw2CsKPtDnxIu+1I=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=rXPfEHDHfESbUHHBU9Aq+Tl+cfSrIEaUIUg6MBxCpR692NNwtmut1IZ9twQFVCENX\n\tn8Qx/ri57ydsdMspFAz82cPhk8oU/Xn/NazTLpSmqRPLEJb1pSGe58u5CUj9A08aMJ\n\t71dTZE3AXtul0EAtT3m50xyOhHqAvb2G39oNnHx0=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20251215101854.GC11477@pendragon.ideasonboard.com>","References":"<20251215093706.573761-1-barnabas.pocze@ideasonboard.com>\n\t<20251215101854.GC11477@pendragon.ideasonboard.com>","Subject":"Re: [PATCH v1] utils: gen-shader-headers: Fix subproject build","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org,\n\tBryan O'Donoghue <bryan.odonoghue@linaro.org>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Date":"Mon, 15 Dec 2025 17:29:44 +0000","Message-ID":"<176581978429.3401191.10441324226051326951@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]