From 7dda840f32a92c0c5004e43acdf765ed650f978f Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Mon, 7 Dec 2020 09:05:29 -0800 Subject: [PATCH] gallium/aux: Split u_tracepoints.[ch] generation Allow for separate rules to be used to generate the .c and .h (partially to make it easier for scons build, and partially because that is just a better practice). Signed-off-by: Rob Clark Part-of: --- src/gallium/auxiliary/meson.build | 23 ++++++++++++++----- src/gallium/auxiliary/util/u_trace.py | 25 ++++++++++++--------- src/gallium/auxiliary/util/u_tracepoints.py | 4 ++-- 3 files changed, 34 insertions(+), 18 deletions(-) diff --git a/src/gallium/auxiliary/meson.build b/src/gallium/auxiliary/meson.build index 4eedc856635..f8d0d0553b4 100644 --- a/src/gallium/auxiliary/meson.build +++ b/src/gallium/auxiliary/meson.build @@ -485,19 +485,32 @@ endif u_trace_py = files('util/u_trace.py') -files_u_tracepoints = custom_target( - 'u_tracepoints.[ch]', +files_libgallium += custom_target( + 'u_tracepoints.c', input: 'util/u_tracepoints.py', - output: ['u_tracepoints.c', 'u_tracepoints.h'], + output: 'u_tracepoints.c', command: [ prog_python, '@INPUT@', '-p', join_paths(meson.source_root(), 'src/gallium/auxiliary/util/'), - '-C', '@OUTPUT0@', - '-H', '@OUTPUT1@', + '-C', '@OUTPUT@', ], depend_files: u_trace_py, ) + +files_u_tracepoints = custom_target( + 'u_tracepoints.h', + input: 'util/u_tracepoints.py', + output: 'u_tracepoints.h', + command: [ + prog_python, '@INPUT@', + '-p', join_paths(meson.source_root(), 'src/gallium/auxiliary/util/'), + '-H', '@OUTPUT@', + ], + depend_files: u_trace_py, +) + files_libgallium += files_u_tracepoints + idep_u_tracepoints = declare_dependency( sources: files_u_tracepoints, ) diff --git a/src/gallium/auxiliary/util/u_trace.py b/src/gallium/auxiliary/util/u_trace.py index 395768a6247..0b441916431 100644 --- a/src/gallium/auxiliary/util/u_trace.py +++ b/src/gallium/auxiliary/util/u_trace.py @@ -205,15 +205,18 @@ void __trace_${trace_name}(struct u_trace *ut """ def utrace_generate(cpath, hpath): - hdr = os.path.basename(hpath) - with open(cpath, 'wb') as f: - f.write(Template(src_template, output_encoding='utf-8').render( - hdr=hdr, - HEADERS=HEADERS, - TRACEPOINTS=TRACEPOINTS)) + if cpath is not None: + hdr = os.path.basename(cpath).rsplit('.', 1)[0] + '.h' + with open(cpath, 'wb') as f: + f.write(Template(src_template, output_encoding='utf-8').render( + hdr=hdr, + HEADERS=HEADERS, + TRACEPOINTS=TRACEPOINTS)) - with open(hpath, 'wb') as f: - f.write(Template(hdr_template, output_encoding='utf-8').render( - hdrname=hdr.rstrip('.h').upper(), - HEADERS=HEADERS, - TRACEPOINTS=TRACEPOINTS)) + if hpath is not None: + hdr = os.path.basename(hpath) + with open(hpath, 'wb') as f: + f.write(Template(hdr_template, output_encoding='utf-8').render( + hdrname=hdr.rstrip('.h').upper(), + HEADERS=HEADERS, + TRACEPOINTS=TRACEPOINTS)) diff --git a/src/gallium/auxiliary/util/u_tracepoints.py b/src/gallium/auxiliary/util/u_tracepoints.py index c20460f9c0c..f8a70d05c09 100644 --- a/src/gallium/auxiliary/util/u_tracepoints.py +++ b/src/gallium/auxiliary/util/u_tracepoints.py @@ -29,8 +29,8 @@ import sys # parser = argparse.ArgumentParser() parser.add_argument('-p', '--import-path', required=True) -parser.add_argument('-C', '--src', required=True) -parser.add_argument('-H', '--hdr', required=True) +parser.add_argument('-C', '--src') +parser.add_argument('-H', '--hdr') args = parser.parse_args() sys.path.insert(0, args.import_path)