[04/10] meson: Move all code generation scripts to utils/codegen/
diff mbox series

Message ID 20240809005914.20662-5-laurent.pinchart@ideasonboard.com
State Accepted
Headers show
Series
  • libcamera: Improve code generation for controls
Related show

Commit Message

Laurent Pinchart Aug. 9, 2024, 12:59 a.m. UTC
We have multiple code generation scripts in utils/, mixed with other
miscellaneous utilities, as well as a larger code base based on mojom in
utils/ipc/. To make code sharing easier between the generator scripts,
without creating a mess in the utils/ directory, move all the code
generation code to utils/codegen/.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 include/libcamera/internal/meson.build              |  2 +-
 utils/{ => codegen}/gen-controls.py                 |  0
 utils/{ => codegen}/gen-formats.py                  |  0
 utils/{ => codegen}/gen-header.sh                   |  0
 utils/{ => codegen}/gen-ipa-pub-key.py              |  0
 utils/{tracepoints => codegen}/gen-tp-header.py     |  0
 utils/{ => codegen}/ipc/extract-docs.py             |  0
 utils/{ => codegen}/ipc/generate.py                 |  0
 utils/{ => codegen}/ipc/generators/__init__.py      |  0
 .../libcamera_templates/core_ipa_interface.h.tmpl   |  0
 .../libcamera_templates/core_ipa_serializer.h.tmpl  |  0
 .../libcamera_templates/definition_functions.tmpl   |  0
 .../ipc/generators/libcamera_templates/meson.build  |  0
 .../libcamera_templates/module_ipa_interface.h.tmpl |  0
 .../libcamera_templates/module_ipa_proxy.cpp.tmpl   |  0
 .../libcamera_templates/module_ipa_proxy.h.tmpl     |  0
 .../module_ipa_proxy_worker.cpp.tmpl                |  0
 .../module_ipa_serializer.h.tmpl                    |  0
 .../libcamera_templates/proxy_functions.tmpl        |  0
 .../generators/libcamera_templates/serializer.tmpl  |  0
 utils/{ => codegen}/ipc/generators/meson.build      |  0
 .../ipc/generators/mojom_libcamera_generator.py     |  0
 utils/{ => codegen}/ipc/meson.build                 |  0
 utils/{ => codegen}/ipc/mojo/README                 |  0
 utils/{ => codegen}/ipc/mojo/public/LICENSE         |  0
 .../{ => codegen}/ipc/mojo/public/tools/.style.yapf |  0
 utils/{ => codegen}/ipc/mojo/public/tools/BUILD.gn  |  0
 .../ipc/mojo/public/tools/bindings/BUILD.gn         |  0
 .../ipc/mojo/public/tools/bindings/README.md        |  0
 .../mojo/public/tools/bindings/checks/__init__.py   |  0
 .../tools/bindings/checks/mojom_attributes_check.py |  0
 .../checks/mojom_attributes_check_unittest.py       |  0
 .../bindings/checks/mojom_definitions_check.py      |  0
 .../checks/mojom_interface_feature_check.py         |  0
 .../mojom_interface_feature_check_unittest.py       |  0
 .../bindings/checks/mojom_restrictions_check.py     |  0
 .../checks/mojom_restrictions_checks_unittest.py    |  0
 .../mojo/public/tools/bindings/concatenate-files.py |  0
 .../concatenate_and_replace_closure_exports.py      |  0
 .../public/tools/bindings/gen_data_files_list.py    |  0
 .../public/tools/bindings/generate_type_mappings.py |  0
 .../public/tools/bindings/minify_with_terser.py     |  0
 .../ipc/mojo/public/tools/bindings/mojom.gni        |  0
 .../tools/bindings/mojom_bindings_generator.py      |  0
 .../bindings/mojom_bindings_generator_unittest.py   |  0
 .../tools/bindings/validate_typemap_config.py       |  0
 .../ipc/mojo/public/tools/mojom/BUILD.gn            |  0
 .../ipc/mojo/public/tools/mojom/README.md           |  0
 .../tools/mojom/check_stable_mojom_compatibility.py |  0
 .../check_stable_mojom_compatibility_unittest.py    |  0
 .../ipc/mojo/public/tools/mojom/const_unittest.py   |  0
 .../ipc/mojo/public/tools/mojom/enum_unittest.py    |  0
 .../ipc/mojo/public/tools/mojom/feature_unittest.py |  0
 .../ipc/mojo/public/tools/mojom/mojom/BUILD.gn      |  0
 .../ipc/mojo/public/tools/mojom/mojom/__init__.py   |  0
 .../ipc/mojo/public/tools/mojom/mojom/error.py      |  0
 .../ipc/mojo/public/tools/mojom/mojom/fileutil.py   |  0
 .../public/tools/mojom/mojom/fileutil_unittest.py   |  0
 .../public/tools/mojom/mojom/generate/__init__.py   |  0
 .../mojo/public/tools/mojom/mojom/generate/check.py |  0
 .../public/tools/mojom/mojom/generate/generator.py  |  0
 .../mojom/mojom/generate/generator_unittest.py      |  0
 .../public/tools/mojom/mojom/generate/module.py     |  0
 .../tools/mojom/mojom/generate/module_unittest.py   |  0
 .../mojo/public/tools/mojom/mojom/generate/pack.py  |  0
 .../tools/mojom/mojom/generate/pack_unittest.py     |  0
 .../tools/mojom/mojom/generate/template_expander.py |  0
 .../public/tools/mojom/mojom/generate/translate.py  |  0
 .../mojom/mojom/generate/translate_unittest.py      |  0
 .../mojo/public/tools/mojom/mojom/parse/__init__.py |  0
 .../ipc/mojo/public/tools/mojom/mojom/parse/ast.py  |  0
 .../public/tools/mojom/mojom/parse/ast_unittest.py  |  0
 .../tools/mojom/mojom/parse/conditional_features.py |  0
 .../mojom/parse/conditional_features_unittest.py    |  0
 .../mojo/public/tools/mojom/mojom/parse/lexer.py    |  0
 .../tools/mojom/mojom/parse/lexer_unittest.py       |  0
 .../mojo/public/tools/mojom/mojom/parse/parser.py   |  0
 .../tools/mojom/mojom/parse/parser_unittest.py      |  0
 .../ipc/mojo/public/tools/mojom/mojom_parser.py     |  0
 .../public/tools/mojom/mojom_parser_test_case.py    |  0
 .../public/tools/mojom/mojom_parser_unittest.py     |  0
 .../public/tools/mojom/stable_attribute_unittest.py |  0
 .../ipc/mojo/public/tools/mojom/union_unittest.py   |  0
 .../tools/mojom/version_compatibility_unittest.py   |  0
 .../mojo/public/tools/run_all_python_unittests.py   |  0
 utils/{ => codegen}/ipc/parser.py                   |  0
 utils/{ => codegen}/ipc/tools/README                |  0
 .../ipc/tools/diagnosis/crbug_1001171.py            |  0
 utils/codegen/meson.build                           | 13 +++++++++++++
 utils/meson.build                                   | 10 +---------
 utils/tracepoints/meson.build                       |  5 -----
 91 files changed, 15 insertions(+), 15 deletions(-)
 rename utils/{ => codegen}/gen-controls.py (100%)
 rename utils/{ => codegen}/gen-formats.py (100%)
 rename utils/{ => codegen}/gen-header.sh (100%)
 rename utils/{ => codegen}/gen-ipa-pub-key.py (100%)
 rename utils/{tracepoints => codegen}/gen-tp-header.py (100%)
 rename utils/{ => codegen}/ipc/extract-docs.py (100%)
 rename utils/{ => codegen}/ipc/generate.py (100%)
 rename utils/{ => codegen}/ipc/generators/__init__.py (100%)
 rename utils/{ => codegen}/ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl (100%)
 rename utils/{ => codegen}/ipc/generators/libcamera_templates/core_ipa_serializer.h.tmpl (100%)
 rename utils/{ => codegen}/ipc/generators/libcamera_templates/definition_functions.tmpl (100%)
 rename utils/{ => codegen}/ipc/generators/libcamera_templates/meson.build (100%)
 rename utils/{ => codegen}/ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl (100%)
 rename utils/{ => codegen}/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl (100%)
 rename utils/{ => codegen}/ipc/generators/libcamera_templates/module_ipa_proxy.h.tmpl (100%)
 rename utils/{ => codegen}/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl (100%)
 rename utils/{ => codegen}/ipc/generators/libcamera_templates/module_ipa_serializer.h.tmpl (100%)
 rename utils/{ => codegen}/ipc/generators/libcamera_templates/proxy_functions.tmpl (100%)
 rename utils/{ => codegen}/ipc/generators/libcamera_templates/serializer.tmpl (100%)
 rename utils/{ => codegen}/ipc/generators/meson.build (100%)
 rename utils/{ => codegen}/ipc/generators/mojom_libcamera_generator.py (100%)
 rename utils/{ => codegen}/ipc/meson.build (100%)
 rename utils/{ => codegen}/ipc/mojo/README (100%)
 rename utils/{ => codegen}/ipc/mojo/public/LICENSE (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/.style.yapf (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/BUILD.gn (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/BUILD.gn (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/README.md (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/__init__.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/mojom_definitions_check.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_check.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_checks_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/concatenate-files.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/gen_data_files_list.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/generate_type_mappings.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/minify_with_terser.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/mojom.gni (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/mojom_bindings_generator.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/mojom_bindings_generator_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/validate_typemap_config.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/BUILD.gn (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/README.md (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/const_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/enum_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/feature_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/BUILD.gn (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/__init__.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/error.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/fileutil.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/__init__.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/check.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/generator.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/generator_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/module.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/module_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/pack.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/pack_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/translate.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/translate_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/__init__.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/ast.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/ast_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/parser.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/parser_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom_parser.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom_parser_test_case.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom_parser_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/stable_attribute_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/union_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/version_compatibility_unittest.py (100%)
 rename utils/{ => codegen}/ipc/mojo/public/tools/run_all_python_unittests.py (100%)
 rename utils/{ => codegen}/ipc/parser.py (100%)
 rename utils/{ => codegen}/ipc/tools/README (100%)
 rename utils/{ => codegen}/ipc/tools/diagnosis/crbug_1001171.py (100%)
 create mode 100644 utils/codegen/meson.build
 delete mode 100644 utils/tracepoints/meson.build

Comments

Dan Scally Aug. 12, 2024, 2:53 p.m. UTC | #1
Hi Laurent - thanks for the tidy-up

On 09/08/2024 01:59, Laurent Pinchart wrote:
> We have multiple code generation scripts in utils/, mixed with other
> miscellaneous utilities, as well as a larger code base based on mojom in
> utils/ipc/. To make code sharing easier between the generator scripts,
> without creating a mess in the utils/ directory, move all the code
> generation code to utils/codegen/.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
> ---
>   include/libcamera/internal/meson.build              |  2 +-
>   utils/{ => codegen}/gen-controls.py                 |  0
>   utils/{ => codegen}/gen-formats.py                  |  0
>   utils/{ => codegen}/gen-header.sh                   |  0
>   utils/{ => codegen}/gen-ipa-pub-key.py              |  0
>   utils/{tracepoints => codegen}/gen-tp-header.py     |  0
>   utils/{ => codegen}/ipc/extract-docs.py             |  0
>   utils/{ => codegen}/ipc/generate.py                 |  0
>   utils/{ => codegen}/ipc/generators/__init__.py      |  0
>   .../libcamera_templates/core_ipa_interface.h.tmpl   |  0
>   .../libcamera_templates/core_ipa_serializer.h.tmpl  |  0
>   .../libcamera_templates/definition_functions.tmpl   |  0
>   .../ipc/generators/libcamera_templates/meson.build  |  0
>   .../libcamera_templates/module_ipa_interface.h.tmpl |  0
>   .../libcamera_templates/module_ipa_proxy.cpp.tmpl   |  0
>   .../libcamera_templates/module_ipa_proxy.h.tmpl     |  0
>   .../module_ipa_proxy_worker.cpp.tmpl                |  0
>   .../module_ipa_serializer.h.tmpl                    |  0
>   .../libcamera_templates/proxy_functions.tmpl        |  0
>   .../generators/libcamera_templates/serializer.tmpl  |  0
>   utils/{ => codegen}/ipc/generators/meson.build      |  0
>   .../ipc/generators/mojom_libcamera_generator.py     |  0
>   utils/{ => codegen}/ipc/meson.build                 |  0
>   utils/{ => codegen}/ipc/mojo/README                 |  0
>   utils/{ => codegen}/ipc/mojo/public/LICENSE         |  0
>   .../{ => codegen}/ipc/mojo/public/tools/.style.yapf |  0
>   utils/{ => codegen}/ipc/mojo/public/tools/BUILD.gn  |  0
>   .../ipc/mojo/public/tools/bindings/BUILD.gn         |  0
>   .../ipc/mojo/public/tools/bindings/README.md        |  0
>   .../mojo/public/tools/bindings/checks/__init__.py   |  0
>   .../tools/bindings/checks/mojom_attributes_check.py |  0
>   .../checks/mojom_attributes_check_unittest.py       |  0
>   .../bindings/checks/mojom_definitions_check.py      |  0
>   .../checks/mojom_interface_feature_check.py         |  0
>   .../mojom_interface_feature_check_unittest.py       |  0
>   .../bindings/checks/mojom_restrictions_check.py     |  0
>   .../checks/mojom_restrictions_checks_unittest.py    |  0
>   .../mojo/public/tools/bindings/concatenate-files.py |  0
>   .../concatenate_and_replace_closure_exports.py      |  0
>   .../public/tools/bindings/gen_data_files_list.py    |  0
>   .../public/tools/bindings/generate_type_mappings.py |  0
>   .../public/tools/bindings/minify_with_terser.py     |  0
>   .../ipc/mojo/public/tools/bindings/mojom.gni        |  0
>   .../tools/bindings/mojom_bindings_generator.py      |  0
>   .../bindings/mojom_bindings_generator_unittest.py   |  0
>   .../tools/bindings/validate_typemap_config.py       |  0
>   .../ipc/mojo/public/tools/mojom/BUILD.gn            |  0
>   .../ipc/mojo/public/tools/mojom/README.md           |  0
>   .../tools/mojom/check_stable_mojom_compatibility.py |  0
>   .../check_stable_mojom_compatibility_unittest.py    |  0
>   .../ipc/mojo/public/tools/mojom/const_unittest.py   |  0
>   .../ipc/mojo/public/tools/mojom/enum_unittest.py    |  0
>   .../ipc/mojo/public/tools/mojom/feature_unittest.py |  0
>   .../ipc/mojo/public/tools/mojom/mojom/BUILD.gn      |  0
>   .../ipc/mojo/public/tools/mojom/mojom/__init__.py   |  0
>   .../ipc/mojo/public/tools/mojom/mojom/error.py      |  0
>   .../ipc/mojo/public/tools/mojom/mojom/fileutil.py   |  0
>   .../public/tools/mojom/mojom/fileutil_unittest.py   |  0
>   .../public/tools/mojom/mojom/generate/__init__.py   |  0
>   .../mojo/public/tools/mojom/mojom/generate/check.py |  0
>   .../public/tools/mojom/mojom/generate/generator.py  |  0
>   .../mojom/mojom/generate/generator_unittest.py      |  0
>   .../public/tools/mojom/mojom/generate/module.py     |  0
>   .../tools/mojom/mojom/generate/module_unittest.py   |  0
>   .../mojo/public/tools/mojom/mojom/generate/pack.py  |  0
>   .../tools/mojom/mojom/generate/pack_unittest.py     |  0
>   .../tools/mojom/mojom/generate/template_expander.py |  0
>   .../public/tools/mojom/mojom/generate/translate.py  |  0
>   .../mojom/mojom/generate/translate_unittest.py      |  0
>   .../mojo/public/tools/mojom/mojom/parse/__init__.py |  0
>   .../ipc/mojo/public/tools/mojom/mojom/parse/ast.py  |  0
>   .../public/tools/mojom/mojom/parse/ast_unittest.py  |  0
>   .../tools/mojom/mojom/parse/conditional_features.py |  0
>   .../mojom/parse/conditional_features_unittest.py    |  0
>   .../mojo/public/tools/mojom/mojom/parse/lexer.py    |  0
>   .../tools/mojom/mojom/parse/lexer_unittest.py       |  0
>   .../mojo/public/tools/mojom/mojom/parse/parser.py   |  0
>   .../tools/mojom/mojom/parse/parser_unittest.py      |  0
>   .../ipc/mojo/public/tools/mojom/mojom_parser.py     |  0
>   .../public/tools/mojom/mojom_parser_test_case.py    |  0
>   .../public/tools/mojom/mojom_parser_unittest.py     |  0
>   .../public/tools/mojom/stable_attribute_unittest.py |  0
>   .../ipc/mojo/public/tools/mojom/union_unittest.py   |  0
>   .../tools/mojom/version_compatibility_unittest.py   |  0
>   .../mojo/public/tools/run_all_python_unittests.py   |  0
>   utils/{ => codegen}/ipc/parser.py                   |  0
>   utils/{ => codegen}/ipc/tools/README                |  0
>   .../ipc/tools/diagnosis/crbug_1001171.py            |  0
>   utils/codegen/meson.build                           | 13 +++++++++++++
>   utils/meson.build                                   | 10 +---------
>   utils/tracepoints/meson.build                       |  5 -----
>   91 files changed, 15 insertions(+), 15 deletions(-)
>   rename utils/{ => codegen}/gen-controls.py (100%)
>   rename utils/{ => codegen}/gen-formats.py (100%)
>   rename utils/{ => codegen}/gen-header.sh (100%)
>   rename utils/{ => codegen}/gen-ipa-pub-key.py (100%)
>   rename utils/{tracepoints => codegen}/gen-tp-header.py (100%)
>   rename utils/{ => codegen}/ipc/extract-docs.py (100%)
>   rename utils/{ => codegen}/ipc/generate.py (100%)
>   rename utils/{ => codegen}/ipc/generators/__init__.py (100%)
>   rename utils/{ => codegen}/ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl (100%)
>   rename utils/{ => codegen}/ipc/generators/libcamera_templates/core_ipa_serializer.h.tmpl (100%)
>   rename utils/{ => codegen}/ipc/generators/libcamera_templates/definition_functions.tmpl (100%)
>   rename utils/{ => codegen}/ipc/generators/libcamera_templates/meson.build (100%)
>   rename utils/{ => codegen}/ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl (100%)
>   rename utils/{ => codegen}/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl (100%)
>   rename utils/{ => codegen}/ipc/generators/libcamera_templates/module_ipa_proxy.h.tmpl (100%)
>   rename utils/{ => codegen}/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl (100%)
>   rename utils/{ => codegen}/ipc/generators/libcamera_templates/module_ipa_serializer.h.tmpl (100%)
>   rename utils/{ => codegen}/ipc/generators/libcamera_templates/proxy_functions.tmpl (100%)
>   rename utils/{ => codegen}/ipc/generators/libcamera_templates/serializer.tmpl (100%)
>   rename utils/{ => codegen}/ipc/generators/meson.build (100%)
>   rename utils/{ => codegen}/ipc/generators/mojom_libcamera_generator.py (100%)
>   rename utils/{ => codegen}/ipc/meson.build (100%)
>   rename utils/{ => codegen}/ipc/mojo/README (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/LICENSE (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/.style.yapf (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/BUILD.gn (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/BUILD.gn (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/README.md (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/__init__.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/mojom_definitions_check.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_check.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_checks_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/concatenate-files.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/gen_data_files_list.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/generate_type_mappings.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/minify_with_terser.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/mojom.gni (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/mojom_bindings_generator.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/mojom_bindings_generator_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/bindings/validate_typemap_config.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/BUILD.gn (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/README.md (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/const_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/enum_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/feature_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/BUILD.gn (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/__init__.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/error.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/fileutil.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/__init__.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/check.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/generator.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/generator_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/module.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/module_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/pack.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/pack_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/translate.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/generate/translate_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/__init__.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/ast.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/ast_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/parser.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom/parse/parser_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom_parser.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom_parser_test_case.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/mojom_parser_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/stable_attribute_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/union_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/mojom/version_compatibility_unittest.py (100%)
>   rename utils/{ => codegen}/ipc/mojo/public/tools/run_all_python_unittests.py (100%)
>   rename utils/{ => codegen}/ipc/parser.py (100%)
>   rename utils/{ => codegen}/ipc/tools/README (100%)
>   rename utils/{ => codegen}/ipc/tools/diagnosis/crbug_1001171.py (100%)
>   create mode 100644 utils/codegen/meson.build
>   delete mode 100644 utils/tracepoints/meson.build
>
> diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build
> index 39230facc8a4..1c5eef9cab80 100644
> --- a/include/libcamera/internal/meson.build
> +++ b/include/libcamera/internal/meson.build
> @@ -48,7 +48,7 @@ tracepoints_h = custom_target(
>       'tp_header',
>       input : ['tracepoints.h.in', tracepoint_files],
>       output : 'tracepoints.h',
> -    command : [gen_tracepoints_header, include_build_dir, '@OUTPUT@', '@INPUT@'],
> +    command : [gen_tracepoints, include_build_dir, '@OUTPUT@', '@INPUT@'],
>   )
>   
>   libcamera_internal_headers += tracepoints_h
> diff --git a/utils/gen-controls.py b/utils/codegen/gen-controls.py
> similarity index 100%
> rename from utils/gen-controls.py
> rename to utils/codegen/gen-controls.py
> diff --git a/utils/gen-formats.py b/utils/codegen/gen-formats.py
> similarity index 100%
> rename from utils/gen-formats.py
> rename to utils/codegen/gen-formats.py
> diff --git a/utils/gen-header.sh b/utils/codegen/gen-header.sh
> similarity index 100%
> rename from utils/gen-header.sh
> rename to utils/codegen/gen-header.sh
> diff --git a/utils/gen-ipa-pub-key.py b/utils/codegen/gen-ipa-pub-key.py
> similarity index 100%
> rename from utils/gen-ipa-pub-key.py
> rename to utils/codegen/gen-ipa-pub-key.py
> diff --git a/utils/tracepoints/gen-tp-header.py b/utils/codegen/gen-tp-header.py
> similarity index 100%
> rename from utils/tracepoints/gen-tp-header.py
> rename to utils/codegen/gen-tp-header.py
> diff --git a/utils/ipc/extract-docs.py b/utils/codegen/ipc/extract-docs.py
> similarity index 100%
> rename from utils/ipc/extract-docs.py
> rename to utils/codegen/ipc/extract-docs.py
> diff --git a/utils/ipc/generate.py b/utils/codegen/ipc/generate.py
> similarity index 100%
> rename from utils/ipc/generate.py
> rename to utils/codegen/ipc/generate.py
> diff --git a/utils/ipc/generators/__init__.py b/utils/codegen/ipc/generators/__init__.py
> similarity index 100%
> rename from utils/ipc/generators/__init__.py
> rename to utils/codegen/ipc/generators/__init__.py
> diff --git a/utils/ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl b/utils/codegen/ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl
> similarity index 100%
> rename from utils/ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl
> rename to utils/codegen/ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl
> diff --git a/utils/ipc/generators/libcamera_templates/core_ipa_serializer.h.tmpl b/utils/codegen/ipc/generators/libcamera_templates/core_ipa_serializer.h.tmpl
> similarity index 100%
> rename from utils/ipc/generators/libcamera_templates/core_ipa_serializer.h.tmpl
> rename to utils/codegen/ipc/generators/libcamera_templates/core_ipa_serializer.h.tmpl
> diff --git a/utils/ipc/generators/libcamera_templates/definition_functions.tmpl b/utils/codegen/ipc/generators/libcamera_templates/definition_functions.tmpl
> similarity index 100%
> rename from utils/ipc/generators/libcamera_templates/definition_functions.tmpl
> rename to utils/codegen/ipc/generators/libcamera_templates/definition_functions.tmpl
> diff --git a/utils/ipc/generators/libcamera_templates/meson.build b/utils/codegen/ipc/generators/libcamera_templates/meson.build
> similarity index 100%
> rename from utils/ipc/generators/libcamera_templates/meson.build
> rename to utils/codegen/ipc/generators/libcamera_templates/meson.build
> diff --git a/utils/ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl b/utils/codegen/ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl
> similarity index 100%
> rename from utils/ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl
> rename to utils/codegen/ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl
> diff --git a/utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl b/utils/codegen/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl
> similarity index 100%
> rename from utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl
> rename to utils/codegen/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl
> diff --git a/utils/ipc/generators/libcamera_templates/module_ipa_proxy.h.tmpl b/utils/codegen/ipc/generators/libcamera_templates/module_ipa_proxy.h.tmpl
> similarity index 100%
> rename from utils/ipc/generators/libcamera_templates/module_ipa_proxy.h.tmpl
> rename to utils/codegen/ipc/generators/libcamera_templates/module_ipa_proxy.h.tmpl
> diff --git a/utils/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl b/utils/codegen/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl
> similarity index 100%
> rename from utils/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl
> rename to utils/codegen/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl
> diff --git a/utils/ipc/generators/libcamera_templates/module_ipa_serializer.h.tmpl b/utils/codegen/ipc/generators/libcamera_templates/module_ipa_serializer.h.tmpl
> similarity index 100%
> rename from utils/ipc/generators/libcamera_templates/module_ipa_serializer.h.tmpl
> rename to utils/codegen/ipc/generators/libcamera_templates/module_ipa_serializer.h.tmpl
> diff --git a/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl b/utils/codegen/ipc/generators/libcamera_templates/proxy_functions.tmpl
> similarity index 100%
> rename from utils/ipc/generators/libcamera_templates/proxy_functions.tmpl
> rename to utils/codegen/ipc/generators/libcamera_templates/proxy_functions.tmpl
> diff --git a/utils/ipc/generators/libcamera_templates/serializer.tmpl b/utils/codegen/ipc/generators/libcamera_templates/serializer.tmpl
> similarity index 100%
> rename from utils/ipc/generators/libcamera_templates/serializer.tmpl
> rename to utils/codegen/ipc/generators/libcamera_templates/serializer.tmpl
> diff --git a/utils/ipc/generators/meson.build b/utils/codegen/ipc/generators/meson.build
> similarity index 100%
> rename from utils/ipc/generators/meson.build
> rename to utils/codegen/ipc/generators/meson.build
> diff --git a/utils/ipc/generators/mojom_libcamera_generator.py b/utils/codegen/ipc/generators/mojom_libcamera_generator.py
> similarity index 100%
> rename from utils/ipc/generators/mojom_libcamera_generator.py
> rename to utils/codegen/ipc/generators/mojom_libcamera_generator.py
> diff --git a/utils/ipc/meson.build b/utils/codegen/ipc/meson.build
> similarity index 100%
> rename from utils/ipc/meson.build
> rename to utils/codegen/ipc/meson.build
> diff --git a/utils/ipc/mojo/README b/utils/codegen/ipc/mojo/README
> similarity index 100%
> rename from utils/ipc/mojo/README
> rename to utils/codegen/ipc/mojo/README
> diff --git a/utils/ipc/mojo/public/LICENSE b/utils/codegen/ipc/mojo/public/LICENSE
> similarity index 100%
> rename from utils/ipc/mojo/public/LICENSE
> rename to utils/codegen/ipc/mojo/public/LICENSE
> diff --git a/utils/ipc/mojo/public/tools/.style.yapf b/utils/codegen/ipc/mojo/public/tools/.style.yapf
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/.style.yapf
> rename to utils/codegen/ipc/mojo/public/tools/.style.yapf
> diff --git a/utils/ipc/mojo/public/tools/BUILD.gn b/utils/codegen/ipc/mojo/public/tools/BUILD.gn
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/BUILD.gn
> rename to utils/codegen/ipc/mojo/public/tools/BUILD.gn
> diff --git a/utils/ipc/mojo/public/tools/bindings/BUILD.gn b/utils/codegen/ipc/mojo/public/tools/bindings/BUILD.gn
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/BUILD.gn
> rename to utils/codegen/ipc/mojo/public/tools/bindings/BUILD.gn
> diff --git a/utils/ipc/mojo/public/tools/bindings/README.md b/utils/codegen/ipc/mojo/public/tools/bindings/README.md
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/README.md
> rename to utils/codegen/ipc/mojo/public/tools/bindings/README.md
> diff --git a/utils/ipc/mojo/public/tools/bindings/checks/__init__.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/__init__.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/checks/__init__.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/__init__.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check_unittest.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/checks/mojom_definitions_check.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_definitions_check.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/checks/mojom_definitions_check.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_definitions_check.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check_unittest.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_check.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_check.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_check.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_check.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_checks_unittest.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_checks_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_checks_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_checks_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/concatenate-files.py b/utils/codegen/ipc/mojo/public/tools/bindings/concatenate-files.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/concatenate-files.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/concatenate-files.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py b/utils/codegen/ipc/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/gen_data_files_list.py b/utils/codegen/ipc/mojo/public/tools/bindings/gen_data_files_list.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/gen_data_files_list.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/gen_data_files_list.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/generate_type_mappings.py b/utils/codegen/ipc/mojo/public/tools/bindings/generate_type_mappings.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/generate_type_mappings.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/generate_type_mappings.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/minify_with_terser.py b/utils/codegen/ipc/mojo/public/tools/bindings/minify_with_terser.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/minify_with_terser.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/minify_with_terser.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/mojom.gni b/utils/codegen/ipc/mojo/public/tools/bindings/mojom.gni
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/mojom.gni
> rename to utils/codegen/ipc/mojo/public/tools/bindings/mojom.gni
> diff --git a/utils/ipc/mojo/public/tools/bindings/mojom_bindings_generator.py b/utils/codegen/ipc/mojo/public/tools/bindings/mojom_bindings_generator.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/mojom_bindings_generator.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/mojom_bindings_generator.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/mojom_bindings_generator_unittest.py b/utils/codegen/ipc/mojo/public/tools/bindings/mojom_bindings_generator_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/mojom_bindings_generator_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/mojom_bindings_generator_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/bindings/validate_typemap_config.py b/utils/codegen/ipc/mojo/public/tools/bindings/validate_typemap_config.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/bindings/validate_typemap_config.py
> rename to utils/codegen/ipc/mojo/public/tools/bindings/validate_typemap_config.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/BUILD.gn b/utils/codegen/ipc/mojo/public/tools/mojom/BUILD.gn
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/BUILD.gn
> rename to utils/codegen/ipc/mojo/public/tools/mojom/BUILD.gn
> diff --git a/utils/ipc/mojo/public/tools/mojom/README.md b/utils/codegen/ipc/mojo/public/tools/mojom/README.md
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/README.md
> rename to utils/codegen/ipc/mojo/public/tools/mojom/README.md
> diff --git a/utils/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility.py b/utils/codegen/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/const_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/const_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/const_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/const_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/enum_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/enum_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/enum_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/enum_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/feature_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/feature_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/feature_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/feature_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/BUILD.gn b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/BUILD.gn
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/BUILD.gn
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/BUILD.gn
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/__init__.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/__init__.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/__init__.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/__init__.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/error.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/error.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/error.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/error.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/fileutil.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/fileutil.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/fileutil.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/fileutil.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/__init__.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/__init__.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/__init__.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/__init__.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/check.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/check.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/check.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/check.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/generator.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/generator.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/generator.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/generator.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/generator_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/generator_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/generator_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/generator_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/module.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/module.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/module.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/module.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/module_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/module_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/module_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/module_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/pack.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/pack.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/pack.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/pack.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/pack_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/pack_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/pack_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/pack_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/translate.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/translate.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/translate.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/translate.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/translate_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/translate_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/translate_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/translate_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/__init__.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/__init__.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/__init__.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/__init__.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/ast.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/ast.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/ast.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/ast.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/ast_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/ast_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/ast_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/ast_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/parser.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/parser.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/parser.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/parser.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/parser_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/parser_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/parser_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/parser_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom_parser.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom_parser.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom_parser.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom_parser.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom_parser_test_case.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom_parser_test_case.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom_parser_test_case.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom_parser_test_case.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/mojom_parser_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom_parser_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/mojom_parser_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom_parser_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/stable_attribute_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/stable_attribute_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/stable_attribute_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/stable_attribute_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/union_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/union_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/union_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/union_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/mojom/version_compatibility_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/version_compatibility_unittest.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/mojom/version_compatibility_unittest.py
> rename to utils/codegen/ipc/mojo/public/tools/mojom/version_compatibility_unittest.py
> diff --git a/utils/ipc/mojo/public/tools/run_all_python_unittests.py b/utils/codegen/ipc/mojo/public/tools/run_all_python_unittests.py
> similarity index 100%
> rename from utils/ipc/mojo/public/tools/run_all_python_unittests.py
> rename to utils/codegen/ipc/mojo/public/tools/run_all_python_unittests.py
> diff --git a/utils/ipc/parser.py b/utils/codegen/ipc/parser.py
> similarity index 100%
> rename from utils/ipc/parser.py
> rename to utils/codegen/ipc/parser.py
> diff --git a/utils/ipc/tools/README b/utils/codegen/ipc/tools/README
> similarity index 100%
> rename from utils/ipc/tools/README
> rename to utils/codegen/ipc/tools/README
> diff --git a/utils/ipc/tools/diagnosis/crbug_1001171.py b/utils/codegen/ipc/tools/diagnosis/crbug_1001171.py
> similarity index 100%
> rename from utils/ipc/tools/diagnosis/crbug_1001171.py
> rename to utils/codegen/ipc/tools/diagnosis/crbug_1001171.py
> diff --git a/utils/codegen/meson.build b/utils/codegen/meson.build
> new file mode 100644
> index 000000000000..7dd312e16559
> --- /dev/null
> +++ b/utils/codegen/meson.build
> @@ -0,0 +1,13 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
> +## Code generation
> +
> +py_modules += ['jinja2', 'yaml']
> +
> +gen_controls = files('gen-controls.py')
> +gen_formats = files('gen-formats.py')
> +gen_header = files('gen-header.sh')
> +gen_ipa_pub_key = files('gen-ipa-pub-key.py')
> +gen_tracepoints = files('gen-tp-header.py')
> +
> +subdir('ipc')
> diff --git a/utils/meson.build b/utils/meson.build
> index 8e28ada7165a..95d657ac965f 100644
> --- a/utils/meson.build
> +++ b/utils/meson.build
> @@ -1,15 +1,7 @@
>   # SPDX-License-Identifier: CC0-1.0
>   
> -subdir('ipc')
> +subdir('codegen')
>   subdir('ipu3')
> -subdir('tracepoints')
> -
> -## Code generation
> -py_modules += ['yaml']
> -gen_controls = files('gen-controls.py')
> -gen_formats = files('gen-formats.py')
> -gen_header = files('gen-header.sh')
>   
>   ## Module signing
>   gen_ipa_priv_key = files('gen-ipa-priv-key.sh')
> -gen_ipa_pub_key = files('gen-ipa-pub-key.py')
> diff --git a/utils/tracepoints/meson.build b/utils/tracepoints/meson.build
> deleted file mode 100644
> index 807230fc092d..000000000000
> --- a/utils/tracepoints/meson.build
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -# SPDX-License-Identifier: CC0-1.0
> -
> -py_modules += ['jinja2']
> -
> -gen_tracepoints_header = find_program('./gen-tp-header.py')
Paul Elder Aug. 15, 2024, 1:52 a.m. UTC | #2
On Fri, Aug 09, 2024 at 03:59:08AM +0300, Laurent Pinchart wrote:
> We have multiple code generation scripts in utils/, mixed with other
> miscellaneous utilities, as well as a larger code base based on mojom in
> utils/ipc/. To make code sharing easier between the generator scripts,
> without creating a mess in the utils/ directory, move all the code
> generation code to utils/codegen/.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

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

<snip>

Patch
diff mbox series

diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build
index 39230facc8a4..1c5eef9cab80 100644
--- a/include/libcamera/internal/meson.build
+++ b/include/libcamera/internal/meson.build
@@ -48,7 +48,7 @@  tracepoints_h = custom_target(
     'tp_header',
     input : ['tracepoints.h.in', tracepoint_files],
     output : 'tracepoints.h',
-    command : [gen_tracepoints_header, include_build_dir, '@OUTPUT@', '@INPUT@'],
+    command : [gen_tracepoints, include_build_dir, '@OUTPUT@', '@INPUT@'],
 )
 
 libcamera_internal_headers += tracepoints_h
diff --git a/utils/gen-controls.py b/utils/codegen/gen-controls.py
similarity index 100%
rename from utils/gen-controls.py
rename to utils/codegen/gen-controls.py
diff --git a/utils/gen-formats.py b/utils/codegen/gen-formats.py
similarity index 100%
rename from utils/gen-formats.py
rename to utils/codegen/gen-formats.py
diff --git a/utils/gen-header.sh b/utils/codegen/gen-header.sh
similarity index 100%
rename from utils/gen-header.sh
rename to utils/codegen/gen-header.sh
diff --git a/utils/gen-ipa-pub-key.py b/utils/codegen/gen-ipa-pub-key.py
similarity index 100%
rename from utils/gen-ipa-pub-key.py
rename to utils/codegen/gen-ipa-pub-key.py
diff --git a/utils/tracepoints/gen-tp-header.py b/utils/codegen/gen-tp-header.py
similarity index 100%
rename from utils/tracepoints/gen-tp-header.py
rename to utils/codegen/gen-tp-header.py
diff --git a/utils/ipc/extract-docs.py b/utils/codegen/ipc/extract-docs.py
similarity index 100%
rename from utils/ipc/extract-docs.py
rename to utils/codegen/ipc/extract-docs.py
diff --git a/utils/ipc/generate.py b/utils/codegen/ipc/generate.py
similarity index 100%
rename from utils/ipc/generate.py
rename to utils/codegen/ipc/generate.py
diff --git a/utils/ipc/generators/__init__.py b/utils/codegen/ipc/generators/__init__.py
similarity index 100%
rename from utils/ipc/generators/__init__.py
rename to utils/codegen/ipc/generators/__init__.py
diff --git a/utils/ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl b/utils/codegen/ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl
similarity index 100%
rename from utils/ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl
rename to utils/codegen/ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl
diff --git a/utils/ipc/generators/libcamera_templates/core_ipa_serializer.h.tmpl b/utils/codegen/ipc/generators/libcamera_templates/core_ipa_serializer.h.tmpl
similarity index 100%
rename from utils/ipc/generators/libcamera_templates/core_ipa_serializer.h.tmpl
rename to utils/codegen/ipc/generators/libcamera_templates/core_ipa_serializer.h.tmpl
diff --git a/utils/ipc/generators/libcamera_templates/definition_functions.tmpl b/utils/codegen/ipc/generators/libcamera_templates/definition_functions.tmpl
similarity index 100%
rename from utils/ipc/generators/libcamera_templates/definition_functions.tmpl
rename to utils/codegen/ipc/generators/libcamera_templates/definition_functions.tmpl
diff --git a/utils/ipc/generators/libcamera_templates/meson.build b/utils/codegen/ipc/generators/libcamera_templates/meson.build
similarity index 100%
rename from utils/ipc/generators/libcamera_templates/meson.build
rename to utils/codegen/ipc/generators/libcamera_templates/meson.build
diff --git a/utils/ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl b/utils/codegen/ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl
similarity index 100%
rename from utils/ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl
rename to utils/codegen/ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl
diff --git a/utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl b/utils/codegen/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl
similarity index 100%
rename from utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl
rename to utils/codegen/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl
diff --git a/utils/ipc/generators/libcamera_templates/module_ipa_proxy.h.tmpl b/utils/codegen/ipc/generators/libcamera_templates/module_ipa_proxy.h.tmpl
similarity index 100%
rename from utils/ipc/generators/libcamera_templates/module_ipa_proxy.h.tmpl
rename to utils/codegen/ipc/generators/libcamera_templates/module_ipa_proxy.h.tmpl
diff --git a/utils/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl b/utils/codegen/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl
similarity index 100%
rename from utils/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl
rename to utils/codegen/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl
diff --git a/utils/ipc/generators/libcamera_templates/module_ipa_serializer.h.tmpl b/utils/codegen/ipc/generators/libcamera_templates/module_ipa_serializer.h.tmpl
similarity index 100%
rename from utils/ipc/generators/libcamera_templates/module_ipa_serializer.h.tmpl
rename to utils/codegen/ipc/generators/libcamera_templates/module_ipa_serializer.h.tmpl
diff --git a/utils/ipc/generators/libcamera_templates/proxy_functions.tmpl b/utils/codegen/ipc/generators/libcamera_templates/proxy_functions.tmpl
similarity index 100%
rename from utils/ipc/generators/libcamera_templates/proxy_functions.tmpl
rename to utils/codegen/ipc/generators/libcamera_templates/proxy_functions.tmpl
diff --git a/utils/ipc/generators/libcamera_templates/serializer.tmpl b/utils/codegen/ipc/generators/libcamera_templates/serializer.tmpl
similarity index 100%
rename from utils/ipc/generators/libcamera_templates/serializer.tmpl
rename to utils/codegen/ipc/generators/libcamera_templates/serializer.tmpl
diff --git a/utils/ipc/generators/meson.build b/utils/codegen/ipc/generators/meson.build
similarity index 100%
rename from utils/ipc/generators/meson.build
rename to utils/codegen/ipc/generators/meson.build
diff --git a/utils/ipc/generators/mojom_libcamera_generator.py b/utils/codegen/ipc/generators/mojom_libcamera_generator.py
similarity index 100%
rename from utils/ipc/generators/mojom_libcamera_generator.py
rename to utils/codegen/ipc/generators/mojom_libcamera_generator.py
diff --git a/utils/ipc/meson.build b/utils/codegen/ipc/meson.build
similarity index 100%
rename from utils/ipc/meson.build
rename to utils/codegen/ipc/meson.build
diff --git a/utils/ipc/mojo/README b/utils/codegen/ipc/mojo/README
similarity index 100%
rename from utils/ipc/mojo/README
rename to utils/codegen/ipc/mojo/README
diff --git a/utils/ipc/mojo/public/LICENSE b/utils/codegen/ipc/mojo/public/LICENSE
similarity index 100%
rename from utils/ipc/mojo/public/LICENSE
rename to utils/codegen/ipc/mojo/public/LICENSE
diff --git a/utils/ipc/mojo/public/tools/.style.yapf b/utils/codegen/ipc/mojo/public/tools/.style.yapf
similarity index 100%
rename from utils/ipc/mojo/public/tools/.style.yapf
rename to utils/codegen/ipc/mojo/public/tools/.style.yapf
diff --git a/utils/ipc/mojo/public/tools/BUILD.gn b/utils/codegen/ipc/mojo/public/tools/BUILD.gn
similarity index 100%
rename from utils/ipc/mojo/public/tools/BUILD.gn
rename to utils/codegen/ipc/mojo/public/tools/BUILD.gn
diff --git a/utils/ipc/mojo/public/tools/bindings/BUILD.gn b/utils/codegen/ipc/mojo/public/tools/bindings/BUILD.gn
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/BUILD.gn
rename to utils/codegen/ipc/mojo/public/tools/bindings/BUILD.gn
diff --git a/utils/ipc/mojo/public/tools/bindings/README.md b/utils/codegen/ipc/mojo/public/tools/bindings/README.md
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/README.md
rename to utils/codegen/ipc/mojo/public/tools/bindings/README.md
diff --git a/utils/ipc/mojo/public/tools/bindings/checks/__init__.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/__init__.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/checks/__init__.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/__init__.py
diff --git a/utils/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check.py
diff --git a/utils/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check_unittest.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_attributes_check_unittest.py
diff --git a/utils/ipc/mojo/public/tools/bindings/checks/mojom_definitions_check.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_definitions_check.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/checks/mojom_definitions_check.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_definitions_check.py
diff --git a/utils/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check.py
diff --git a/utils/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check_unittest.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_interface_feature_check_unittest.py
diff --git a/utils/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_check.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_check.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_check.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_check.py
diff --git a/utils/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_checks_unittest.py b/utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_checks_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_checks_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/checks/mojom_restrictions_checks_unittest.py
diff --git a/utils/ipc/mojo/public/tools/bindings/concatenate-files.py b/utils/codegen/ipc/mojo/public/tools/bindings/concatenate-files.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/concatenate-files.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/concatenate-files.py
diff --git a/utils/ipc/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py b/utils/codegen/ipc/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/concatenate_and_replace_closure_exports.py
diff --git a/utils/ipc/mojo/public/tools/bindings/gen_data_files_list.py b/utils/codegen/ipc/mojo/public/tools/bindings/gen_data_files_list.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/gen_data_files_list.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/gen_data_files_list.py
diff --git a/utils/ipc/mojo/public/tools/bindings/generate_type_mappings.py b/utils/codegen/ipc/mojo/public/tools/bindings/generate_type_mappings.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/generate_type_mappings.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/generate_type_mappings.py
diff --git a/utils/ipc/mojo/public/tools/bindings/minify_with_terser.py b/utils/codegen/ipc/mojo/public/tools/bindings/minify_with_terser.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/minify_with_terser.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/minify_with_terser.py
diff --git a/utils/ipc/mojo/public/tools/bindings/mojom.gni b/utils/codegen/ipc/mojo/public/tools/bindings/mojom.gni
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/mojom.gni
rename to utils/codegen/ipc/mojo/public/tools/bindings/mojom.gni
diff --git a/utils/ipc/mojo/public/tools/bindings/mojom_bindings_generator.py b/utils/codegen/ipc/mojo/public/tools/bindings/mojom_bindings_generator.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/mojom_bindings_generator.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/mojom_bindings_generator.py
diff --git a/utils/ipc/mojo/public/tools/bindings/mojom_bindings_generator_unittest.py b/utils/codegen/ipc/mojo/public/tools/bindings/mojom_bindings_generator_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/mojom_bindings_generator_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/mojom_bindings_generator_unittest.py
diff --git a/utils/ipc/mojo/public/tools/bindings/validate_typemap_config.py b/utils/codegen/ipc/mojo/public/tools/bindings/validate_typemap_config.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/bindings/validate_typemap_config.py
rename to utils/codegen/ipc/mojo/public/tools/bindings/validate_typemap_config.py
diff --git a/utils/ipc/mojo/public/tools/mojom/BUILD.gn b/utils/codegen/ipc/mojo/public/tools/mojom/BUILD.gn
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/BUILD.gn
rename to utils/codegen/ipc/mojo/public/tools/mojom/BUILD.gn
diff --git a/utils/ipc/mojo/public/tools/mojom/README.md b/utils/codegen/ipc/mojo/public/tools/mojom/README.md
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/README.md
rename to utils/codegen/ipc/mojo/public/tools/mojom/README.md
diff --git a/utils/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility.py b/utils/codegen/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility.py
diff --git a/utils/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/const_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/const_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/const_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/const_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/enum_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/enum_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/enum_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/enum_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/feature_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/feature_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/feature_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/feature_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/BUILD.gn b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/BUILD.gn
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/BUILD.gn
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/BUILD.gn
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/__init__.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/__init__.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/__init__.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/__init__.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/error.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/error.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/error.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/error.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/fileutil.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/fileutil.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/fileutil.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/fileutil.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/fileutil_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/__init__.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/__init__.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/__init__.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/__init__.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/check.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/check.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/check.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/check.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/generator.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/generator.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/generator.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/generator.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/generator_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/generator_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/generator_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/generator_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/module.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/module.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/module.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/module.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/module_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/module_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/module_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/module_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/pack.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/pack.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/pack.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/pack.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/pack_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/pack_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/pack_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/pack_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/translate.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/translate.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/translate.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/translate.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/generate/translate_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/translate_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/generate/translate_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/translate_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/__init__.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/__init__.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/__init__.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/__init__.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/ast.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/ast.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/ast.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/ast.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/ast_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/ast_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/ast_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/ast_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/conditional_features_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/lexer.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/lexer_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/parser.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/parser.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/parser.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/parser.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom/parse/parser_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/parser_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom/parse/parser_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom/parse/parser_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom_parser.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom_parser.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom_parser.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom_parser.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom_parser_test_case.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom_parser_test_case.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom_parser_test_case.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom_parser_test_case.py
diff --git a/utils/ipc/mojo/public/tools/mojom/mojom_parser_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/mojom_parser_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/mojom_parser_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/mojom_parser_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/stable_attribute_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/stable_attribute_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/stable_attribute_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/stable_attribute_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/union_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/union_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/union_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/union_unittest.py
diff --git a/utils/ipc/mojo/public/tools/mojom/version_compatibility_unittest.py b/utils/codegen/ipc/mojo/public/tools/mojom/version_compatibility_unittest.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/mojom/version_compatibility_unittest.py
rename to utils/codegen/ipc/mojo/public/tools/mojom/version_compatibility_unittest.py
diff --git a/utils/ipc/mojo/public/tools/run_all_python_unittests.py b/utils/codegen/ipc/mojo/public/tools/run_all_python_unittests.py
similarity index 100%
rename from utils/ipc/mojo/public/tools/run_all_python_unittests.py
rename to utils/codegen/ipc/mojo/public/tools/run_all_python_unittests.py
diff --git a/utils/ipc/parser.py b/utils/codegen/ipc/parser.py
similarity index 100%
rename from utils/ipc/parser.py
rename to utils/codegen/ipc/parser.py
diff --git a/utils/ipc/tools/README b/utils/codegen/ipc/tools/README
similarity index 100%
rename from utils/ipc/tools/README
rename to utils/codegen/ipc/tools/README
diff --git a/utils/ipc/tools/diagnosis/crbug_1001171.py b/utils/codegen/ipc/tools/diagnosis/crbug_1001171.py
similarity index 100%
rename from utils/ipc/tools/diagnosis/crbug_1001171.py
rename to utils/codegen/ipc/tools/diagnosis/crbug_1001171.py
diff --git a/utils/codegen/meson.build b/utils/codegen/meson.build
new file mode 100644
index 000000000000..7dd312e16559
--- /dev/null
+++ b/utils/codegen/meson.build
@@ -0,0 +1,13 @@ 
+# SPDX-License-Identifier: CC0-1.0
+
+## Code generation
+
+py_modules += ['jinja2', 'yaml']
+
+gen_controls = files('gen-controls.py')
+gen_formats = files('gen-formats.py')
+gen_header = files('gen-header.sh')
+gen_ipa_pub_key = files('gen-ipa-pub-key.py')
+gen_tracepoints = files('gen-tp-header.py')
+
+subdir('ipc')
diff --git a/utils/meson.build b/utils/meson.build
index 8e28ada7165a..95d657ac965f 100644
--- a/utils/meson.build
+++ b/utils/meson.build
@@ -1,15 +1,7 @@ 
 # SPDX-License-Identifier: CC0-1.0
 
-subdir('ipc')
+subdir('codegen')
 subdir('ipu3')
-subdir('tracepoints')
-
-## Code generation
-py_modules += ['yaml']
-gen_controls = files('gen-controls.py')
-gen_formats = files('gen-formats.py')
-gen_header = files('gen-header.sh')
 
 ## Module signing
 gen_ipa_priv_key = files('gen-ipa-priv-key.sh')
-gen_ipa_pub_key = files('gen-ipa-pub-key.py')
diff --git a/utils/tracepoints/meson.build b/utils/tracepoints/meson.build
deleted file mode 100644
index 807230fc092d..000000000000
--- a/utils/tracepoints/meson.build
+++ /dev/null
@@ -1,5 +0,0 @@ 
-# SPDX-License-Identifier: CC0-1.0
-
-py_modules += ['jinja2']
-
-gen_tracepoints_header = find_program('./gen-tp-header.py')