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