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