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 58if with_intel_elk 59 libintel_decoder_elk = static_library( 60 'intel_decoder_elk', 61 [libintel_decoder_elk_files, genX_xml_h, sha1_h], 62 include_directories : [inc_include, inc_src, inc_intel], 63 c_args : [no_override_init_args, sse2_args], 64 gnu_symbol_visibility : 'hidden', 65 dependencies : idep_intel_decoder, 66 build_by_default : false, 67 ) 68 69 idep_intel_decoder_elk = declare_dependency( 70 link_with : [libintel_decoder_elk], 71 dependencies : idep_intel_decoder, 72 ) 73else 74 idep_intel_decoder_elk = null_dep 75endif 76 77if with_tests and not with_platform_android 78 gentest_xml = 'tests/gentest.xml' 79 _name = 'gentest_pack.h' 80 gentest_pack = custom_target( 81 _name, 82 input : [gen_pack_header_py, gentest_xml], 83 output : _name, 84 command : [prog_python, '@INPUT@'], 85 capture : true, 86 depend_files: gen_pack_header_deps 87 ) 88 89 genxml_path = join_paths(meson.current_source_dir(), 90 '@0@'.format(gentest_xml)) 91 92 test( 93 'genxml_test', 94 executable( 95 'genxml_test', 96 ['tests/genxml_test.c', gentest_pack], 97 include_directories : [ 98 inc_include, 99 inc_src, 100 inc_intel 101 ], 102 dependencies : [ 103 idep_libintel_common, 104 idep_intel_decoder_brw, 105 idep_intel_decoder_elk, 106 idep_mesautil, 107 idep_intel_dev, 108 idep_genxml, 109 ], 110 c_args : [ 111 '-DGENXML_DIR="@0@"'.format(fs.parent(genxml_path)), 112 '-DGENXML_FILE="@0@"'.format(fs.name(genxml_path)), 113 ], 114 ), 115 args : ['-quiet'], 116 suite : ['intel'], 117 ) 118endif 119