xref: /aosp_15_r20/external/mesa3d/src/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
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