xref: /aosp_15_r20/external/mesa3d/src/freedreno/drm/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1# Copyright © 2018 Rob Clark
2# SPDX-License-Identifier: MIT
3
4libfreedreno_drm_files = files(
5  'freedreno_bo.c',
6  'freedreno_bo_heap.c',
7  'freedreno_bo_cache.c',
8  'freedreno_device.c',
9  'freedreno_drmif.h',
10  'freedreno_pipe.c',
11  'freedreno_priv.h',
12  'freedreno_ringbuffer.c',
13  'freedreno_ringbuffer.h',
14  'freedreno_ringbuffer_sp.c',
15  'freedreno_ringbuffer_sp.h',
16  'freedreno_ringbuffer_sp_reloc.h',
17)
18libfreedreno_drm_flags = []
19libfreedreno_drm_includes = [
20  inc_freedreno,
21  inc_include,
22  inc_src,
23]
24libfreedreno_drm_deps = [
25  dep_libdrm,
26  dep_valgrind,
27  idep_mesautil,
28]
29
30if with_perfetto
31  libfreedreno_drm_deps += dep_perfetto
32  libfreedreno_drm_files += 'freedreno_drm_perfetto.cc'
33endif
34
35# The header file ends up part of the build (but just a stub)
36# in either case:
37libfreedreno_drm_files += 'freedreno_drm_perfetto.h'
38
39libfreedreno_drm_msm_files = files(
40  'msm/msm_bo.c',
41  'msm/msm_device.c',
42  'msm/msm_pipe.c',
43  'msm/msm_priv.h',
44  'msm/msm_ringbuffer.c',
45  'msm/msm_ringbuffer_sp.c',
46)
47libfreedreno_drm_files += libfreedreno_drm_msm_files
48
49libfreedreno_drm_virtio_files = files(
50  'virtio/virtio_bo.c',
51  'virtio/virtio_device.c',
52  'virtio/virtio_pipe.c',
53  'virtio/virtio_priv.h',
54  'virtio/virtio_ringbuffer.c',
55)
56if freedreno_kmds.contains('virtio')
57  libfreedreno_drm_files += libfreedreno_drm_virtio_files
58  libfreedreno_drm_flags += '-DHAVE_FREEDRENO_VIRTIO'
59  libfreedreno_drm_includes += [
60    inc_virtio_gpu,
61    inc_virtio_vdrm,
62  ]
63endif
64
65libfreedreno_drm = static_library(
66  'freedreno_drm',
67  [
68    libfreedreno_drm_files,
69    freedreno_xml_header_files,
70  ],
71  include_directories : libfreedreno_drm_includes,
72  c_args : [no_override_init_args, libfreedreno_drm_flags],
73  gnu_symbol_visibility : 'hidden',
74  dependencies : libfreedreno_drm_deps,
75  # TODO
76  link_with : [libvdrm],
77  build_by_default : false,
78)
79
80