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 <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7974>
This commit is contained in:
Rob Clark 2020-12-07 09:05:29 -08:00 committed by Marge Bot
parent 4c670b13dd
commit 7dda840f32
3 changed files with 34 additions and 18 deletions

View File

@ -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,
)

View File

@ -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))

View File

@ -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)