xref: /aosp_15_r20/external/mesa3d/src/freedreno/isa/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1# Copyright © 2020 Google, Inc
2# SPDX-License-Identifier: MIT
3
4isa_depend_files = [
5  'ir3-common.xml',
6  'ir3-cat0.xml',
7  'ir3-cat1.xml',
8  'ir3-cat2.xml',
9  'ir3-cat3.xml',
10  'ir3-cat4.xml',
11  'ir3-cat5.xml',
12  'ir3-cat6.xml',
13  'ir3-cat7.xml',
14  isaspec_py_deps
15]
16
17ir3_isa = custom_target(
18  'ir3-isa',
19  input: ['ir3.xml'],
20  output: ['ir3-isa.c', 'ir3-isa.h'],
21  command: [
22    prog_isaspec_decode, '--xml', '@INPUT@',
23    '--out-c', '@OUTPUT0@', '--out-h', '@OUTPUT1@',
24  ],
25  depend_files: isa_depend_files,
26)
27
28decode_files = [
29  ir3_isa,
30  'isa.h',
31]
32
33_libir3decode = static_library(
34  'ir3decode',
35  decode_files,
36  dependencies: [idep_mesautil, idep_isaspec_decode],
37  link_with: [libisaspec],
38  include_directories: [
39    inc_include,
40    inc_src,
41  ],
42  gnu_symbol_visibility: 'hidden',
43)
44
45idep_libir3decode = declare_dependency(
46  include_directories : [
47    include_directories('.'),
48    inc_include,
49    inc_src
50  ],
51  link_with : _libir3decode,
52  dependencies: [idep_isaspec_decode],
53  sources : [ir3_isa],
54)
55
56ir3disasm = executable(
57  'ir3-disasm',
58  ['ir3-disasm.c'],
59  dependencies: [idep_libir3decode, idep_libfreedreno_common],
60  build_by_default: with_tools.contains('freedreno'),
61  include_directories: [
62    inc_src,
63  ],
64  install: false,
65)
66
67encode_h = custom_target(
68  'encode.h',
69  input: ['ir3.xml'],
70  output: 'encode.h',
71  command: [
72    prog_isaspec_encode, '--xml', '@INPUT@', '--out-h', '@OUTPUT@'
73  ],
74  depend_files: isa_depend_files,
75)
76
77encode_files = [
78  encode_h,
79  'encode.c',
80  'isa.h',
81]
82
83libir3encode = static_library(
84  'ir3encode',
85  encode_files,
86  dependencies: [idep_mesautil, idep_nir],
87  include_directories: [
88    inc_src,
89    inc_include,
90    inc_freedreno,
91  ],
92  gnu_symbol_visibility: 'hidden',
93)
94