1# Copyright © 2017 Intel Corporation 2# SPDX-License-Identifier: MIT 3 4libintel_decoder_files = files( 5 'intel_decoder.h', 6 ) 7 8libintel_decoder_deps = [ 9 idep_intel_dev 10] 11 12if not dep_expat.found() 13 libintel_decoder_files += files( 14 'intel_batch_decoder_stub.c', 15 ) 16 libintel_decoder_brw_files = files() 17 libintel_decoder_elk_files = files() 18else 19 libintel_decoder_deps += dep_expat 20 libintel_decoder_files += files( 21 'intel_decoder.c', 22 'intel_batch_decoder.c', 23 ) 24 libintel_decoder_brw_files = files('intel_batch_decoder_brw.c') 25 libintel_decoder_elk_files = files('intel_batch_decoder_elk.c') 26endif 27 28libintel_decoder = static_library( 29 'intel_decoder', 30 [libintel_decoder_files, genX_xml_h, sha1_h], 31 include_directories : [inc_include, inc_src, inc_intel], 32 c_args : [no_override_init_args, sse2_args], 33 gnu_symbol_visibility : 'hidden', 34 dependencies : libintel_decoder_deps, 35 build_by_default : false, 36) 37 38idep_intel_decoder = declare_dependency( 39 link_with : [libintel_decoder], 40 dependencies : libintel_decoder_deps, 41) 42 43libintel_decoder_brw = static_library( 44 'intel_decoder_brw', 45 [libintel_decoder_brw_files, genX_xml_h, sha1_h], 46 include_directories : [inc_include, inc_src, inc_intel], 47 c_args : [no_override_init_args, sse2_args], 48 gnu_symbol_visibility : 'hidden', 49 dependencies : idep_intel_decoder, 50 build_by_default : false, 51) 52 53idep_intel_decoder_brw = declare_dependency( 54 link_with : [libintel_decoder_brw], 55 dependencies : idep_intel_decoder, 56) 57 58libintel_decoder_elk = static_library( 59 'intel_decoder_elk', 60 [libintel_decoder_elk_files, genX_xml_h, sha1_h], 61 include_directories : [inc_include, inc_src, inc_intel], 62 c_args : [no_override_init_args, sse2_args], 63 gnu_symbol_visibility : 'hidden', 64 dependencies : idep_intel_decoder, 65 build_by_default : false, 66) 67 68idep_intel_decoder_elk = declare_dependency( 69 link_with : [libintel_decoder_elk], 70 dependencies : idep_intel_decoder, 71) 72 73if with_tests and not with_platform_android 74 gentest_xml = 'tests/gentest.xml' 75 _name = 'gentest_pack.h' 76 gentest_pack = custom_target( 77 _name, 78 input : [gen_pack_header_py, gentest_xml], 79 output : _name, 80 command : [prog_python, '@INPUT@'], 81 capture : true, 82 depend_files: gen_pack_header_deps 83 ) 84 85 genxml_path = join_paths(meson.current_source_dir(), 86 '@0@'.format(gentest_xml)) 87 88 test( 89 'genxml_test', 90 executable( 91 'genxml_test', 92 ['tests/genxml_test.c', gentest_pack], 93 include_directories : [ 94 inc_include, 95 inc_src, 96 inc_intel 97 ], 98 dependencies : [ 99 idep_libintel_common, 100 idep_intel_decoder_brw, 101 idep_intel_decoder_elk, 102 idep_mesautil, 103 idep_intel_dev, 104 idep_genxml, 105 ], 106 c_args : [ 107 '-DGENXML_DIR="@0@"'.format(fs.parent(genxml_path)), 108 '-DGENXML_FILE="@0@"'.format(fs.name(genxml_path)), 109 ], 110 ), 111 args : ['-quiet'], 112 suite : ['intel'], 113 ) 114endif 115