• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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