meson: Move all code generation scripts to utils/codegen/
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> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
This commit is contained in:
parent
d3bf27180e
commit
50c92cc7e2
91 changed files with 15 additions and 15 deletions
|
@ -0,0 +1,56 @@
|
|||
{#-
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
# Copyright (C) 2020, Google Inc.
|
||||
-#}
|
||||
|
||||
{#
|
||||
# \brief Generate enum definition
|
||||
#
|
||||
# \param enum Enum object whose definition is to be generated
|
||||
#}
|
||||
{%- macro define_enum(enum) -%}
|
||||
enum{{" class" if enum|is_scoped}} {{enum.mojom_name}} {
|
||||
{%- for field in enum.fields %}
|
||||
{{field.mojom_name}} = {{field.numeric_value}},
|
||||
{%- endfor %}
|
||||
};
|
||||
{%- endmacro -%}
|
||||
|
||||
{#
|
||||
# \brief Generate struct definition
|
||||
#
|
||||
# \param struct Struct object whose definition is to be generated
|
||||
#}
|
||||
{%- macro define_struct(struct) -%}
|
||||
struct {{struct.mojom_name}}
|
||||
{
|
||||
public:
|
||||
#ifndef __DOXYGEN__
|
||||
{{struct.mojom_name}}() {%- if struct|has_default_fields %}
|
||||
:{% endif %}
|
||||
{%- for field in struct.fields|with_default_values -%}
|
||||
{{" " if loop.first}}{{field.mojom_name}}({{field|default_value}}){{", " if not loop.last}}
|
||||
{%- endfor %}
|
||||
{
|
||||
}
|
||||
|
||||
{{struct.mojom_name}}(
|
||||
{%- for field in struct.fields -%}
|
||||
{{"const " if not field|is_pod}}{{field|name}} {{"&" if not field|is_pod}}_{{field.mojom_name}}{{", " if not loop.last}}
|
||||
{%- endfor -%}
|
||||
)
|
||||
:
|
||||
{%- for field in struct.fields -%}
|
||||
{{" " if loop.first}}{{field.mojom_name}}(_{{field.mojom_name}}){{", " if not loop.last}}
|
||||
{%- endfor %}
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
{% for field in struct.fields %}
|
||||
{{field|name}} {{field.mojom_name}};
|
||||
{%- endfor %}
|
||||
};
|
||||
{%- endmacro -%}
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue