[libcamera-devel] [PATCH v1] libcamera: tracing: fix header generation when built as subproject

Paul Elder paul.elder at ideasonboard.com
Thu Nov 10 04:27:36 CET 2022


On Wed, Nov 09, 2022 at 04:36:14PM +0000, Barnabás Pőcze via libcamera-devel wrote:
> Date: Wed, 09 Nov 2022 16:36:14 +0000
> From: Barnabás Pőcze <pobrn at protonmail.com>
> To: libcamera-devel at lists.libcamera.org
> Subject: [PATCH v1] libcamera: tracing: fix header generation when built as
>  subproject
> 
> The previously used
> 
>   path = output.replace('include/', '', 1)
> 
> logic is not sufficient to correctly determine the proper path
> when libcamera is built as a subproject. Fix it by using Python's
> pathlib to calculate the relative path of the output file with
> respect to the "include" directory of libcamera.
> 
> Signed-off-by: Barnabás Pőcze <pobrn at protonmail.com>

Reviewed-by: Paul Elder <paul.elder at ideasonboard.com>

> ---
>  include/libcamera/internal/meson.build |  2 +-
>  include/meson.build                    |  2 ++
>  utils/tracepoints/gen-tp-header.py     | 13 +++++++------
>  3 files changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build
> index 7a780d48ee57..f8be86e040c5 100644
> --- a/include/libcamera/internal/meson.build
> +++ b/include/libcamera/internal/meson.build
> @@ -6,7 +6,7 @@ libcamera_tracepoint_header = custom_target(
>      'tp_header',
>      input: ['tracepoints.h.in', tracepoint_files],
>      output: 'tracepoints.h',
> -    command: [gen_tracepoints_header, '@OUTPUT@', '@INPUT@'],
> +    command: [gen_tracepoints_header, include_build_dir, '@OUTPUT@', '@INPUT@'],
>  )
> 
>  libcamera_internal_headers = files([
> diff --git a/include/meson.build b/include/meson.build
> index 27ce2f41c534..19b93a7bd753 100644
> --- a/include/meson.build
> +++ b/include/meson.build
> @@ -1,4 +1,6 @@
>  # SPDX-License-Identifier: CC0-1.0
> 
> +include_build_dir = meson.current_build_dir()
> +
>  subdir('android')
>  subdir('libcamera')
> diff --git a/utils/tracepoints/gen-tp-header.py b/utils/tracepoints/gen-tp-header.py
> index bbd472d972d0..a454615e4625 100755
> --- a/utils/tracepoints/gen-tp-header.py
> +++ b/utils/tracepoints/gen-tp-header.py
> @@ -8,22 +8,23 @@
> 
>  import datetime
>  import jinja2
> +import pathlib
>  import os
>  import sys
> 
>  def main(argv):
> -    if len(argv) < 3:
> -        print(f'Usage: {argv[0]} output template tp_files...')
> +    if len(argv) < 4:
> +        print(f'Usage: {argv[0]} include_build_dir output template tp_files...')
>          return 1
> 
> -    output = argv[1]
> -    template = argv[2]
> +    output = argv[2]
> +    template = argv[3]
> 
>      year = datetime.datetime.now().year
> -    path = output.replace('include/', '', 1)
> +    path = pathlib.Path(output).absolute().relative_to(argv[1])
> 
>      source = ''
> -    for fname in argv[3:]:
> +    for fname in argv[4:]:
>          source += open(fname, 'r', encoding='utf-8').read() + '\n\n'
> 
>      template = jinja2.Template(open(template, 'r', encoding='utf-8').read())
> --
> 2.38.1
> 
> 


More information about the libcamera-devel mailing list