1*61046927SAndroid Build Coastguard Worker# Copyright © 2017 Intel Corporation 2*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT 3*61046927SAndroid Build Coastguard Worker 4*61046927SAndroid Build Coastguard Workersubdir('gtest') 5*61046927SAndroid Build Coastguard Workersubdir('c11/impl') 6*61046927SAndroid Build Coastguard Workersubdir('android_stub') 7*61046927SAndroid Build Coastguard Workersubdir('util') 8*61046927SAndroid Build Coastguard Worker 9*61046927SAndroid Build Coastguard Workerinc_mesa = include_directories('mesa') 10*61046927SAndroid Build Coastguard Workerinc_mapi = include_directories('mapi') 11*61046927SAndroid Build Coastguard Workerinc_src = include_directories('.') 12*61046927SAndroid Build Coastguard Workerinc_gallium = include_directories('gallium/include') 13*61046927SAndroid Build Coastguard Workerinc_gallium_aux = include_directories('gallium/auxiliary') 14*61046927SAndroid Build Coastguard Workerinc_amd_common = include_directories('amd/common') 15*61046927SAndroid Build Coastguard Workerinc_tool = include_directories('tool') 16*61046927SAndroid Build Coastguard Workerinc_virtio_gpu = include_directories('virtio/virtio-gpu') 17*61046927SAndroid Build Coastguard Workerinc_frontends = include_directories('gallium/frontends') 18*61046927SAndroid Build Coastguard Workerpps_datasources = [] 19*61046927SAndroid Build Coastguard Workerpps_includes = [] 20*61046927SAndroid Build Coastguard Worker 21*61046927SAndroid Build Coastguard Workerinc_llvmpipe = include_directories('gallium/drivers/llvmpipe') 22*61046927SAndroid Build Coastguard Worker 23*61046927SAndroid Build Coastguard Workerif with_llvm 24*61046927SAndroid Build Coastguard Worker inc_amd_common_llvm = include_directories('amd/llvm') 25*61046927SAndroid Build Coastguard Workerelse 26*61046927SAndroid Build Coastguard Worker inc_amd_common_llvm = [] 27*61046927SAndroid Build Coastguard Workerendif 28*61046927SAndroid Build Coastguard Worker 29*61046927SAndroid Build Coastguard Workerglsl_util_files = files( 30*61046927SAndroid Build Coastguard Worker 'mesa/main/extensions_table.c', 31*61046927SAndroid Build Coastguard Worker 'mesa/program/prog_parameter.c', 32*61046927SAndroid Build Coastguard Worker 'mesa/program/symbol_table.c', 33*61046927SAndroid Build Coastguard Worker 'mesa/program/dummy_errors.c', 34*61046927SAndroid Build Coastguard Worker) 35*61046927SAndroid Build Coastguard Worker 36*61046927SAndroid Build Coastguard Workersha1_h = custom_target( 37*61046927SAndroid Build Coastguard Worker 'git_sha1.h', 38*61046927SAndroid Build Coastguard Worker output : 'git_sha1.h', 39*61046927SAndroid Build Coastguard Worker command : [prog_python, git_sha1_gen_py, '--output', '@OUTPUT@'], 40*61046927SAndroid Build Coastguard Worker build_by_default : true, 41*61046927SAndroid Build Coastguard Worker build_always_stale : true, # commit sha1 can change without having touched these files 42*61046927SAndroid Build Coastguard Worker) 43*61046927SAndroid Build Coastguard Worker 44*61046927SAndroid Build Coastguard Workerif cc.get_argument_syntax() == 'msvc' 45*61046927SAndroid Build Coastguard Worker subdir('getopt') 46*61046927SAndroid Build Coastguard Workerelse 47*61046927SAndroid Build Coastguard Worker idep_getopt = null_dep 48*61046927SAndroid Build Coastguard Workerendif 49*61046927SAndroid Build Coastguard Workersubdir('x11') 50*61046927SAndroid Build Coastguard Workerif with_gallium or with_gbm or with_platform_wayland 51*61046927SAndroid Build Coastguard Worker subdir('loader') 52*61046927SAndroid Build Coastguard Workerendif 53*61046927SAndroid Build Coastguard Workerif with_gallium 54*61046927SAndroid Build Coastguard Worker subdir('mapi') 55*61046927SAndroid Build Coastguard Workerendif 56*61046927SAndroid Build Coastguard Workersubdir('compiler') 57*61046927SAndroid Build Coastguard Workerif with_tools.contains('drm-shim') 58*61046927SAndroid Build Coastguard Worker subdir('drm-shim') 59*61046927SAndroid Build Coastguard Workerendif 60*61046927SAndroid Build Coastguard Workerif with_imgui 61*61046927SAndroid Build Coastguard Worker subdir('imgui') 62*61046927SAndroid Build Coastguard Workerendif 63*61046927SAndroid Build Coastguard Workerif with_platform_wayland 64*61046927SAndroid Build Coastguard Worker subdir('egl/wayland/wayland-drm') 65*61046927SAndroid Build Coastguard Workerendif 66*61046927SAndroid Build Coastguard Workerif with_any_vk or with_gallium_zink 67*61046927SAndroid Build Coastguard Worker subdir('vulkan') 68*61046927SAndroid Build Coastguard Workerendif 69*61046927SAndroid Build Coastguard Workerif with_any_intel 70*61046927SAndroid Build Coastguard Worker subdir('intel') 71*61046927SAndroid Build Coastguard Workerendif 72*61046927SAndroid Build Coastguard Workerif with_gallium_radeonsi or with_amd_vk or with_gallium_r300 or with_gallium_r600 73*61046927SAndroid Build Coastguard Worker subdir('amd') 74*61046927SAndroid Build Coastguard Workerendif 75*61046927SAndroid Build Coastguard Workerif with_any_broadcom 76*61046927SAndroid Build Coastguard Worker subdir('broadcom') 77*61046927SAndroid Build Coastguard Workerendif 78*61046927SAndroid Build Coastguard Workerif with_gallium_etnaviv 79*61046927SAndroid Build Coastguard Worker subdir('etnaviv') 80*61046927SAndroid Build Coastguard Workerendif 81*61046927SAndroid Build Coastguard Workerif system_has_kms_drm or with_gallium_virgl 82*61046927SAndroid Build Coastguard Worker subdir('virtio') 83*61046927SAndroid Build Coastguard Workerendif 84*61046927SAndroid Build Coastguard Workerif with_gallium_freedreno or with_freedreno_vk or with_tools.contains('freedreno') 85*61046927SAndroid Build Coastguard Worker subdir('freedreno') 86*61046927SAndroid Build Coastguard Workerendif 87*61046927SAndroid Build Coastguard Workerif with_imagination_vk 88*61046927SAndroid Build Coastguard Worker subdir('imagination') 89*61046927SAndroid Build Coastguard Workerendif 90*61046927SAndroid Build Coastguard Workerif with_gallium_panfrost or with_gallium_lima or with_panfrost_vk or with_tools.contains('panfrost') 91*61046927SAndroid Build Coastguard Worker subdir('panfrost') 92*61046927SAndroid Build Coastguard Workerendif 93*61046927SAndroid Build Coastguard Worker#if with_gallium_virgl or with_virtio_vk 94*61046927SAndroid Build Coastguard Worker# subdir('virtio') 95*61046927SAndroid Build Coastguard Worker#endif 96*61046927SAndroid Build Coastguard Workerif with_microsoft_clc or with_gallium_d3d12 or with_spirv_to_dxil or with_microsoft_vk 97*61046927SAndroid Build Coastguard Worker subdir('microsoft') 98*61046927SAndroid Build Coastguard Workerendif 99*61046927SAndroid Build Coastguard Workerif with_any_nouveau 100*61046927SAndroid Build Coastguard Worker subdir('nouveau') 101*61046927SAndroid Build Coastguard Workerendif 102*61046927SAndroid Build Coastguard Workerif with_gfxstream_vk 103*61046927SAndroid Build Coastguard Worker subdir('gfxstream') 104*61046927SAndroid Build Coastguard Workerendif 105*61046927SAndroid Build Coastguard Workerif with_gallium_asahi or with_tools.contains('asahi') 106*61046927SAndroid Build Coastguard Worker subdir('asahi') 107*61046927SAndroid Build Coastguard Workerendif 108*61046927SAndroid Build Coastguard Workerif with_gallium 109*61046927SAndroid Build Coastguard Worker subdir('mesa') 110*61046927SAndroid Build Coastguard Workerendif 111*61046927SAndroid Build Coastguard Workerif with_gallium_or_lvp 112*61046927SAndroid Build Coastguard Worker subdir('gallium') 113*61046927SAndroid Build Coastguard Workerendif 114*61046927SAndroid Build Coastguard Workerif with_gallium 115*61046927SAndroid Build Coastguard Worker # This has to be here since it requires libgallium, and subdir cannot 116*61046927SAndroid Build Coastguard Worker # contain .. 117*61046927SAndroid Build Coastguard Worker if with_tests 118*61046927SAndroid Build Coastguard Worker subdir('mesa/main/tests') 119*61046927SAndroid Build Coastguard Worker endif 120*61046927SAndroid Build Coastguard Worker if with_tests and with_shared_glapi 121*61046927SAndroid Build Coastguard Worker subdir('mesa/state_tracker/tests') 122*61046927SAndroid Build Coastguard Worker endif 123*61046927SAndroid Build Coastguard Workerendif 124*61046927SAndroid Build Coastguard Workerif with_glx == 'dri' 125*61046927SAndroid Build Coastguard Worker subdir('glx') 126*61046927SAndroid Build Coastguard Workerendif 127*61046927SAndroid Build Coastguard Workerif with_gbm 128*61046927SAndroid Build Coastguard Worker subdir('gbm') 129*61046927SAndroid Build Coastguard Workerelse 130*61046927SAndroid Build Coastguard Worker inc_gbm = [] 131*61046927SAndroid Build Coastguard Workerendif 132*61046927SAndroid Build Coastguard Workerif with_egl 133*61046927SAndroid Build Coastguard Worker subdir('egl') 134*61046927SAndroid Build Coastguard Workerendif 135*61046927SAndroid Build Coastguard Workerif with_gallium and with_gbm 136*61046927SAndroid Build Coastguard Worker if with_glx == 'dri' or with_platform_x11 or with_platform_xcb 137*61046927SAndroid Build Coastguard Worker subdir('gallium/targets/dril') 138*61046927SAndroid Build Coastguard Worker endif 139*61046927SAndroid Build Coastguard Workerendif 140*61046927SAndroid Build Coastguard Worker 141*61046927SAndroid Build Coastguard Worker# This must be after at least mesa, glx, and gallium, since libgl will be 142*61046927SAndroid Build Coastguard Worker# defined in one of those subdirs depending on the glx provider. 143*61046927SAndroid Build Coastguard Workerif with_glx != 'disabled' and not with_glvnd 144*61046927SAndroid Build Coastguard Worker pkg.generate( 145*61046927SAndroid Build Coastguard Worker name : 'gl', 146*61046927SAndroid Build Coastguard Worker description : 'Mesa OpenGL Library', 147*61046927SAndroid Build Coastguard Worker version : meson.project_version(), 148*61046927SAndroid Build Coastguard Worker libraries : libgl, 149*61046927SAndroid Build Coastguard Worker libraries_private : gl_priv_libs, 150*61046927SAndroid Build Coastguard Worker requires_private : gl_priv_reqs, 151*61046927SAndroid Build Coastguard Worker variables : ['glx_tls=yes'], 152*61046927SAndroid Build Coastguard Worker ) 153*61046927SAndroid Build Coastguard Workerendif 154*61046927SAndroid Build Coastguard Worker 155*61046927SAndroid Build Coastguard Workersubdir('tool') 156