1# Copyright © 2017 Broadcom 2# SPDX-License-Identifier: MIT 3 4inc_broadcom = include_directories('.', 'cle') 5 6subdir('cle') 7 8v3d_versions = ['42', '71'] 9v3d_libs = [] 10 11if with_gallium_v3d or with_broadcom_vk 12 subdir('compiler') 13 subdir('qpu') 14 subdir('simulator') 15endif 16 17if with_tools.contains('drm-shim') 18 subdir('drm-shim') 19endif 20 21per_version_libs = [] 22foreach ver : v3d_versions 23 per_version_libs += static_library( 24 'broadcom-v' + ver, 25 [ 26 files('clif/v3dx_dump.c'), 27 v3d_xml_pack 28 ], 29 include_directories : [inc_include, inc_src, inc_broadcom], 30 c_args : [no_override_init_args, '-DV3D_VERSION=' + ver], 31 gnu_symbol_visibility : 'hidden', 32 dependencies: [dep_valgrind, dep_thread], 33 ) 34endforeach 35 36v3d_args = ['-DV3D_BUILD_NEON'] 37 38v3d_neon_c_args = [] 39if host_machine.cpu_family() == 'arm' 40 v3d_neon_c_args = '-mfpu=neon' 41endif 42 43libv3d_neon = static_library( 44 'v3d_neon', 45 'common/v3d_tiling.c', 46 include_directories : [ 47 inc_src, inc_include, inc_broadcom, 48 ], 49 c_args : [v3d_args, v3d_neon_c_args], 50 gnu_symbol_visibility : 'hidden', 51 dependencies : [dep_libdrm, dep_valgrind, idep_nir_headers, idep_mesautil], 52) 53 54libbroadcom_v3d = static_library( 55 'broadcom_v3d', 56 [ 57 files('common/v3d_debug.c', 'common/v3d_device_info.c', 'clif/clif_dump.c', 'common/v3d_util.c'), 58 v3d_xml_pack, 59 ], 60 include_directories : [inc_include, inc_src, inc_broadcom], 61 c_args : [no_override_init_args], 62 gnu_symbol_visibility : 'hidden', 63 link_whole : v3d_libs + per_version_libs, 64 link_with: [libv3d_neon], 65 build_by_default : false, 66 dependencies: [dep_valgrind, dep_thread, idep_mesautil], 67) 68 69if with_broadcom_vk 70 subdir('vulkan') 71endif 72