1# Copyright © 2019 Google, Inc
2
3# Permission is hereby granted, free of charge, to any person obtaining a copy
4# of this software and associated documentation files (the "Software"), to deal
5# in the Software without restriction, including without limitation the rights
6# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7# copies of the Software, and to permit persons to whom the Software is
8# furnished to do so, subject to the following conditions:
9
10# The above copyright notice and this permission notice shall be included in
11# all copies or substantial portions of the Software.
12
13# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19# SOFTWARE.
20
21xml_files = [
22  'a2xx.xml',
23  'a3xx.xml',
24  'a4xx.xml',
25  'a5xx.xml',
26  'a6xx.xml',
27  'a6xx_gmu.xml',
28  'ocmem.xml',
29  'adreno_control_regs.xml',
30  'adreno_pipe_regs.xml',
31  'adreno_common.xml',
32  'adreno_pm4.xml',
33]
34
35foreach f : xml_files
36  _name = f + '.h'
37  freedreno_xml_header_files += custom_target(
38    _name,
39    input: [gen_header_py, f],
40    output: _name,
41    command: [prog_python, '@INPUT0@', rnn_src_path, '@INPUT1@'],
42    capture: true,
43  )
44  _gzname = f + '.gz'
45  custom_target(
46    _gzname,
47    input: f,
48    output: _gzname,
49    command: [prog_gzip, '-kc', '@INPUT@'],
50    capture: true,
51    install_dir: rnn_install_path + '/adreno',
52    install: install_fd_decode_tools,
53    build_by_default: install_fd_decode_tools,
54  )
55endforeach
56
57freedreno_xml_header_files += custom_target(
58    'a6xx-pack.xml.h',
59    input: [gen_header_py, 'a6xx.xml'],
60    output: 'a6xx-pack.xml.h',
61    command: [prog_python, '@INPUT0@', rnn_src_path, '@INPUT1@', '--pack-structs'],
62    capture: true,
63)
64
65freedreno_xml_header_files += custom_target(
66    'adreno-pm4-pack.xml.h',
67    input: [gen_header_py, 'adreno_pm4.xml'],
68    output: 'adreno-pm4-pack.xml.h',
69    command: [prog_python, '@INPUT0@', rnn_src_path, '@INPUT1@', '--pack-structs'],
70    capture: true,
71)
72