1# Copyright © 2017 Intel Corporation 2 3# Permission is hereby granted, free of charge, to any person obtaining a copy 4# of this software and associated documentation files (the "Software"), to deal 5# in the Software without restriction, including without limitation the rights 6# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7# copies of the Software, and to permit persons to whom the Software is 8# furnished to do so, subject to the following conditions: 9 10# The above copyright notice and this permission notice shall be included in 11# all copies or substantial portions of the Software. 12 13# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19# SOFTWARE. 20 21#subdir('gtest') 22subdir('c11/impl') 23#subdir('android_stub') 24subdir('util') 25 26#inc_mesa = include_directories('mesa') 27#inc_mapi = include_directories('mapi') 28inc_src = include_directories('.') 29#inc_gallium = include_directories('gallium/include') 30#inc_gallium_aux = include_directories('gallium/auxiliary') 31#inc_amd_common = include_directories('amd/common') 32#inc_tool = include_directories('tool') 33#inc_virtio_gpu = include_directories('virtio/virtio-gpu') 34#inc_frontends = include_directories('gallium/frontends') 35pps_datasources = [] 36pps_includes = [] 37 38#inc_llvmpipe = include_directories('gallium/drivers/llvmpipe') 39 40#if with_llvm 41# inc_amd_common_llvm = include_directories('amd/llvm') 42#else 43# inc_amd_common_llvm = [] 44#endif 45 46#glsl_util_files = files( 47# 'mesa/main/extensions_table.c', 48# 'mesa/program/prog_parameter.c', 49# 'mesa/program/symbol_table.c', 50# 'mesa/program/dummy_errors.c', 51#) 52 53sha1_h = custom_target( 54 'git_sha1.h', 55 output : 'git_sha1.h', 56 command : [prog_python, git_sha1_gen_py, '--output', '@OUTPUT@'], 57 build_by_default : true, 58 build_always_stale : true, # commit sha1 can change without having touched these files 59) 60 61if cc.get_argument_syntax() == 'msvc' 62 subdir('getopt') 63else 64 idep_getopt = null_dep 65endif 66if with_gallium 67 subdir('mapi') 68endif 69if not with_vk_no_nir 70 subdir('compiler') 71endif 72if with_tools.contains('drm-shim') 73 subdir('drm-shim') 74endif 75if with_imgui 76 subdir('imgui') 77endif 78if with_platform_wayland 79 subdir('egl/wayland/wayland-drm') 80endif 81subdir('vulkan') 82if with_any_intel 83 subdir('intel') 84endif 85if with_gallium_radeonsi or with_amd_vk or with_gallium_r300 or with_gallium_r600 86 subdir('amd') 87endif 88if with_any_broadcom 89 subdir('broadcom') 90endif 91if with_gallium_etnaviv 92 subdir('etnaviv') 93endif 94if with_gallium_freedreno or with_freedreno_vk or with_tools.contains('freedreno') 95 subdir('freedreno') 96endif 97if with_imagination_vk 98 subdir('imagination') 99endif 100if with_gallium_panfrost or with_gallium_lima or with_panfrost_vk or with_tools.contains('panfrost') 101 subdir('panfrost') 102endif 103if with_gallium_virgl or with_virtio_vk 104 subdir('virtio') 105endif 106if with_microsoft_clc or with_gallium_d3d12 or with_spirv_to_dxil or with_microsoft_vk 107 subdir('microsoft') 108endif 109if with_any_nouveau 110 subdir('nouveau') 111endif 112if with_gallium_asahi or with_tools.contains('asahi') 113 subdir('asahi') 114endif 115if with_gallium or with_gbm 116 subdir('loader') 117endif 118if with_gbm 119 subdir('gbm') 120else 121 inc_gbm = [] 122endif 123if with_gallium 124 subdir('mesa') 125 subdir('gallium') 126 if with_glx == 'dri' 127 subdir('glx') 128 endif 129 # This has to be here since it requires libgallium, and subdir cannot 130 # contain .. 131 if with_tests 132 subdir('mesa/main/tests') 133 endif 134 if with_tests and with_shared_glapi 135 subdir('mesa/state_tracker/tests') 136 endif 137endif 138if with_egl 139 subdir('egl') 140endif 141 142# This must be after at least mesa, glx, and gallium, since libgl will be 143# defined in one of those subdirs depending on the glx provider. 144if with_glx != 'disabled' and not with_glvnd 145 pkg.generate( 146 name : 'gl', 147 description : 'Mesa OpenGL Library', 148 version : meson.project_version(), 149 libraries : libgl, 150 libraries_private : gl_priv_libs, 151 requires_private : gl_priv_reqs, 152 variables : ['glx_tls=yes'], 153 ) 154endif 155 156#subdir('tool') 157