xref: /aosp_15_r20/external/mesa3d/src/intel/dev/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1# Copyright © 2017 Intel Corporation
2# SPDX-License-Identifier: MIT
3
4# TODO: android?
5
6files_libintel_dev = files(
7  'i915/intel_device_info.c',
8  'i915/intel_device_info.h',
9  'xe/intel_device_info.c',
10  'xe/intel_device_info.h',
11  'intel_debug.c',
12  'intel_debug.h',
13  'intel_device_info.c',
14  'intel_device_info.h',
15  'intel_hwconfig.c',
16  'intel_hwconfig.h',
17  'intel_kmd.c',
18  'intel_kmd.h',
19)
20
21intel_dev_wa_src = custom_target('intel_wa.[ch]',
22                                 input : ['gen_wa_helpers.py', 'mesa_defs.json'],
23                                 output : ['intel_wa.h', 'intel_wa.c'],
24                                 command : [prog_python, '@INPUT@', '@OUTPUT@'])
25
26intel_dev_info_gen_src = custom_target('intel_device_info_gen.h',
27                                       input : 'intel_device_info_gen_h.py',
28                                       depend_files: 'intel_device_info.py',
29                                       output : ['intel_device_info_gen.h'],
30                                       command : [prog_python, '@INPUT@', '@OUTPUT@'])
31
32intel_dev_serialize_src = custom_target('intel_device_info_serialize_gen.c',
33                                        input : 'intel_device_info_serialize_gen_c.py',
34                                        depend_files: 'intel_device_info.py',
35                                        output : ['intel_device_info_serialize_gen.c'],
36                                        command : [prog_python, '@INPUT@', '@OUTPUT@'])
37
38# ensures intel_wa.h exists before implementation files are compiled
39idep_intel_dev_wa = declare_dependency(sources : [intel_dev_wa_src[0]])
40
41idep_intel_dev_info_gen = declare_dependency(sources : [intel_dev_info_gen_src[0]])
42
43libintel_dev = static_library(
44  'intel_dev',
45  [files_libintel_dev, sha1_h, [intel_dev_wa_src]],
46  include_directories : [inc_include, inc_src, inc_intel],
47  dependencies : [dep_libdrm, idep_mesautil, idep_intel_dev_wa,
48                  idep_intel_dev_info_gen],
49  c_args : [no_override_init_args],
50  gnu_symbol_visibility : 'hidden',
51)
52
53idep_intel_dev = declare_dependency(
54  link_with : libintel_dev,
55  dependencies : [idep_intel_dev_wa, idep_intel_dev_info_gen, idep_mesautil],
56  sources : [intel_dev_info_gen_src, intel_dev_wa_src[0]],
57)
58
59if with_tests
60  test('intel_device_info_test',
61       executable(
62         'intel_device_info_test',
63         'intel_device_info_test.c',
64         include_directories : [inc_include, inc_src, inc_intel],
65         dependencies : idep_intel_dev,
66       ),
67       suite : ['intel'],
68      )
69endif
70
71if with_tests and with_tools.contains('drm-shim') and with_tools.contains('intel')
72  platforms = [ [ 70,  ['ivb', 'byt'] ],
73                [ 75,  ['hsw'] ],
74                [ 80,  ['bdw', 'chv'] ],
75                [ 90,  ['skl', 'kbl', 'aml', 'cml', 'whl', 'bxt', 'glk'] ],
76                [ 110, ['icl', 'ehl', 'jsl'] ],
77                [ 120, ['tgl', 'rkl', 'adl', 'rpl', 'dg1', 'sg1'] ],
78                [ 125, ['dg2'] ],
79              ]
80  intel_devinfo_override_test = executable(
81    'intel_device_info_override_test',
82    'intel_device_info_override_test.c',
83    dependencies : [dep_libdrm, idep_intel_dev],
84    include_directories : [inc_include, inc_src, inc_intel],
85  )
86  intel_drm_ld_preload = join_paths(meson.current_build_dir(), '..', 'tools', 'libintel_noop_drm_shim.so')
87  foreach _gens : platforms
88    gen = _gens[0]
89    foreach p : _gens[1]
90              test('intel_device_info_override_test_@0@'.format(p),
91                   intel_devinfo_override_test,
92                   args : '@0@'.format(gen),
93                   env : [
94                      'LD_PRELOAD=@0@'.format(intel_drm_ld_preload),
95                      'INTEL_STUB_GPU_PLATFORM=@0@'.format(p),
96                      'STRACEDIR=meson-logs/strace/intel_device_info_override_test_@0@'.format(p),
97                   ],
98                   suite : ['intel'],
99                  )
100    endforeach
101  endforeach
102endif
103