From 9c33c5389818bc5035eb4538ea5d3fc1321dd27e Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Sun, 2 Aug 2020 11:55:43 -0700 Subject: [PATCH] freedreno/registers: install gzip'd register database The decode tools aren't too useful to install without the xml. But since libxml2 can read compressed xml, we'll gzip them for installation. Signed-off-by: Rob Clark Part-of: --- src/freedreno/decode/meson.build | 4 ++-- src/freedreno/meson.build | 8 ++++++-- src/freedreno/registers/adreno/meson.build | 11 +++++++++++ src/freedreno/registers/meson.build | 13 +++++++++++++ 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/src/freedreno/decode/meson.build b/src/freedreno/decode/meson.build index 4314c9f..9435fc8 100644 --- a/src/freedreno/decode/meson.build +++ b/src/freedreno/decode/meson.build @@ -100,7 +100,7 @@ if dep_lua.found() and dep_libarchive.found() libfreedreno_io, ], build_by_default: with_tools.contains('freedreno'), - install : with_tools.contains('freedreno'), + install: install_fd_decode_tools, ) endif @@ -119,7 +119,7 @@ crashdec = executable( libfreedreno_cffdec, ], build_by_default: with_tools.contains('freedreno'), - install : with_tools.contains('freedreno'), + install: install_fd_decode_tools, ) if dep_libarchive.found() diff --git a/src/freedreno/meson.build b/src/freedreno/meson.build index e039ab9..6ecf2e1 100644 --- a/src/freedreno/meson.build +++ b/src/freedreno/meson.build @@ -25,6 +25,12 @@ rnn_src_path = meson.source_root() + '/src/freedreno/registers' rnn_install_path = get_option('datadir') + '/freedreno/registers' rnn_path = rnn_src_path + ':' + get_option('prefix') + '/' + rnn_install_path +dep_libxml2 = dependency('libxml-2.0', required: false) +prog_gzip = find_program('gzip', required: false) + +install_fd_decode_tools = dep_libxml2.found() and prog_gzip.found() and \ + with_tools.contains('freedreno') + subdir('common') subdir('registers') subdir('drm') @@ -34,8 +40,6 @@ subdir('fdl') subdir('perfcntrs') subdir('computerator') -dep_libxml2 = dependency('libxml-2.0', required: false) - # Everything that depends on rnn requires (indirectly) libxml2: if dep_libxml2.found() subdir('rnn') diff --git a/src/freedreno/registers/adreno/meson.build b/src/freedreno/registers/adreno/meson.build index eb9c0730..f43e55d 100644 --- a/src/freedreno/registers/adreno/meson.build +++ b/src/freedreno/registers/adreno/meson.build @@ -37,6 +37,17 @@ foreach f : xml_files command: [prog_python, '@INPUT0@', rnn_src_path, '@INPUT1@'], capture: true, ) + _gzname = f + '.gz' + custom_target( + _gzname, + input: f, + output: _gzname, + command: [prog_gzip, '-kc', '@INPUT@'], + capture: true, + install_dir: rnn_install_path + '/adreno', + install: install_fd_decode_tools, + build_by_default: install_fd_decode_tools, + ) endforeach freedreno_xml_header_files += custom_target( diff --git a/src/freedreno/registers/meson.build b/src/freedreno/registers/meson.build index a0f2b35..3f5a1d1 100644 --- a/src/freedreno/registers/meson.build +++ b/src/freedreno/registers/meson.build @@ -20,6 +20,8 @@ xml_files = [ 'adreno.xml', + 'freedreno_copyright.xml', + 'rules-ng.xsd', ] gen_header_py = files('gen_header.py') @@ -35,6 +37,17 @@ foreach f : xml_files command: [prog_python, '@INPUT0@', rnn_src_path, '@INPUT1@'], capture: true, ) + _gzname = f + '.gz' + custom_target( + _gzname, + input: f, + output: _gzname, + command: [prog_gzip, '-kc', '@INPUT@'], + capture: true, + install_dir: rnn_install_path, + install: install_fd_decode_tools, + build_by_default: install_fd_decode_tools, + ) endforeach subdir('adreno') -- 2.7.4