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