intel/dev: improve meson invocation for intel_device_info gen

Review for related code-generation commits advised that the use of an
--outdir parameter was undesirable.

Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27557>
This commit is contained in:
Mark Janes 2024-02-12 15:01:37 -08:00 committed by Marge Bot
parent f95b87a3dc
commit 2143da6d5a
2 changed files with 20 additions and 18 deletions

View file

@ -25,8 +25,8 @@ COPYRIGHT = """\
*/
"""
import argparse
import os
import sys
from textwrap import indent
from mako.template import Template
@ -146,21 +146,22 @@ def format_struct_member(m):
def main():
"""print intel_device_info_gen.h at the specified path"""
parser = argparse.ArgumentParser()
parser.add_argument('--outdir', required=True,
help='Directory to put the generated files in')
args = parser.parse_args()
path = os.path.join(args.outdir, 'intel_device_info_gen.h')
with open(path, 'w', encoding='utf-8') as f:
try:
f.write(Template(template).render(format_enum_value=format_enum_value,
format_struct_member=format_struct_member,
format_define=format_define))
except:
# provide some debug information to the user
print(exceptions.text_error_template().render(format_enum_value=format_enum_value,
format_struct_member=format_struct_member,
format_define=format_define))
if len(sys.argv) > 1:
outf = open(sys.argv[1], 'w', encoding='utf-8')
else:
outf = sys.stdout
try:
outf.write(Template(template).render(format_enum_value=format_enum_value,
format_struct_member=format_struct_member,
format_define=format_define))
except:
# provide some debug information to the user
print(exceptions.text_error_template().render(format_enum_value=format_enum_value,
format_struct_member=format_struct_member,
format_define=format_define))
sys.exit(1)
outf.close()
if __name__ == "__main__":
main()

View file

@ -41,9 +41,10 @@ intel_dev_wa_src = custom_target('intel_wa.[ch]',
command : [prog_python, '@INPUT@', '@OUTPUT@'])
intel_dev_info_gen_src = custom_target('intel_device_info_gen.h',
input : ['intel_device_info_gen_h.py', 'intel_device_info.py'],
input : 'intel_device_info_gen_h.py',
depend_files: 'intel_device_info.py',
output : ['intel_device_info_gen.h'],
command : [prog_python, '@INPUT0@', '--outdir', meson.current_build_dir()])
command : [prog_python, '@INPUT@', '@OUTPUT@'])
intel_dev_serialize_src = custom_target('intel_device_info_serialize_gen.c',
input : 'intel_device_info_serialize_gen_c.py',