freedreno/registers: install gzip'd register database
authorRob Clark <robdclark@chromium.org>
Sun, 2 Aug 2020 18:55:43 +0000 (11:55 -0700)
committerMarge Bot <eric+marge@anholt.net>
Mon, 3 Aug 2020 19:46:49 +0000 (19:46 +0000)
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 <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6154>

src/freedreno/decode/meson.build
src/freedreno/meson.build
src/freedreno/registers/adreno/meson.build
src/freedreno/registers/meson.build

index 4314c9f6c7c19b6290caee8bc297a5f58d9951e5..9435fc8c04cf8a898766cd3f27adf377b87e4635 100644 (file)
@@ -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()
index e039ab9c9a620981ec3b50fe6f72da51aaa8fe67..6ecf2e196aa7649d2911cc3db04922df27a69db7 100644 (file)
@@ -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')
index eb9c0730df48c8384feb02bca412f6099c7d1f8d..f43e55d5656bcd2a3332a5b93b42774e11b79c3c 100644 (file)
@@ -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(
index a0f2b351f88257e09fb6a87b300e8d9df1cd8d19..3f5a1d122ba5d7069ce10f676e9517fa7e74fe32 100644 (file)
@@ -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')