[libcamera-devel] [PATCH v5 02/23] utils: ipc: add generator script

Niklas Söderlund niklas.soderlund at ragnatech.se
Fri Dec 18 16:53:00 CET 2020


Hi Paul,

Thanks for your work.

On 2020-12-05 19:30:45 +0900, Paul Elder wrote:
> We want to avoid changing our copy of mojo to make updates easier. Some
> parameters in the mojo generator script needs to be changed though; add
> a wrapper script that sets these parameters.
> 
> Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>

> 
> ---
> No change in v5
> 
> No change in v4
> 
> Changes in v3:
> - add SPDX and copyright and file description block
> - add todo for sys.pycache_prefix for python3.8+
> 
> Changes in v2:
> - add descriptions to python setup
> - disable pycache
> ---
>  utils/ipc/generate.py | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
>  create mode 100755 utils/ipc/generate.py
> 
> diff --git a/utils/ipc/generate.py b/utils/ipc/generate.py
> new file mode 100755
> index 00000000..8771e0a6
> --- /dev/null
> +++ b/utils/ipc/generate.py
> @@ -0,0 +1,29 @@
> +#!/usr/bin/env python3
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright (C) 2020, Google Inc.
> +#
> +# Author: Paul Elder <paul.elder at ideasonboard.com>
> +#
> +# generate.py - Run mojo code generator for generating libcamera IPC files
> +
> +import os
> +import sys
> +
> +# TODO set sys.pycache_prefix for >= python3.8
> +sys.dont_write_bytecode = True
> +
> +import mojo.public.tools.bindings.mojom_bindings_generator as generator
> +
> +def _GetModulePath(path, output_dir):
> +  return os.path.join(output_dir, path.relative_path())
> +
> +# Override the mojo code generator's generator list to only contain our
> +# libcamera generator
> +generator._BUILTIN_GENERATORS = {'libcamera': 'mojom_libcamera_generator'}
> +
> +# Override the mojo code generator's _GetModulePath method to not add
> +# the '-module' suffix when searching for mojo modules, so that we can
> +# pass the path to the mojom module without having to trim the '-module' suffix
> +generator._GetModulePath = _GetModulePath
> +
> +generator.main()
> -- 
> 2.27.0
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list