1# Copyright © 2017 Dylan Baker
2# Copyright © 2017-2018 Intel Corporation
3
4# Permission is hereby granted, free of charge, to any person obtaining a copy
5# of this software and associated documentation files (the "Software"), to deal
6# in the Software without restriction, including without limitation the rights
7# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8# copies of the Software, and to permit persons to whom the Software is
9# furnished to do so, subject to the following conditions:
10
11# The above copyright notice and this permission notice shall be included in
12# all copies or substantial portions of the Software.
13
14# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20# SOFTWARE.
21
22inc_gallium_drivers = include_directories('drivers')
23inc_gallium_winsys = include_directories('winsys')
24
25subdir('auxiliary')
26subdir('auxiliary/pipe-loader')
27subdir('winsys/sw/null')
28if with_dri
29  subdir('winsys/sw/dri')
30else
31  libswdri = []
32endif
33if with_gallium_drisw_kms
34  subdir('winsys/sw/kms-dri')
35else
36  libswkmsdri = []
37endif
38subdir('winsys/sw/wrapper')
39if with_platform_haiku
40  subdir('winsys/sw/hgl')
41endif
42if with_gallium_swr
43  subdir('drivers/swr')
44else
45  driver_swr = declare_dependency()
46endif
47if with_gallium_softpipe
48  subdir('drivers/softpipe')
49  if with_llvm
50    subdir('drivers/llvmpipe')
51  endif
52else
53  driver_swrast = declare_dependency()
54endif
55if with_gallium_r300 or with_gallium_radeonsi or with_gallium_r600
56  subdir('winsys/radeon/drm')
57endif
58if with_gallium_r300
59  subdir('drivers/r300')
60else
61  driver_r300 = declare_dependency()
62endif
63if with_gallium_r600
64  subdir('drivers/r600')
65else
66  driver_r600 = declare_dependency()
67endif
68if with_gallium_radeonsi
69  subdir('winsys/amdgpu/drm')
70  subdir('drivers/radeonsi')
71else
72  driver_radeonsi = declare_dependency()
73endif
74if with_gallium_nouveau
75  subdir('winsys/nouveau/drm')
76  subdir('drivers/nouveau')
77else
78  driver_nouveau = declare_dependency()
79endif
80if with_gallium_freedreno
81  subdir('winsys/freedreno/drm')
82  subdir('drivers/freedreno')
83else
84  driver_freedreno = declare_dependency()
85endif
86if with_gallium_vc4
87  subdir('winsys/vc4/drm')
88  subdir('drivers/vc4')
89else
90  driver_vc4 = declare_dependency()
91endif
92if with_gallium_panfrost
93  subdir('winsys/panfrost/drm')
94  subdir('drivers/panfrost')
95else
96  driver_panfrost = declare_dependency()
97endif
98if with_gallium_etnaviv
99  subdir('winsys/etnaviv/drm')
100  subdir('drivers/etnaviv')
101else
102  driver_etnaviv = declare_dependency()
103endif
104if with_gallium_kmsro
105  subdir('winsys/kmsro/drm')
106else
107  driver_kmsro = declare_dependency()
108endif
109if with_gallium_v3d
110  subdir('winsys/v3d/drm')
111  subdir('drivers/v3d')
112else
113  driver_v3d = declare_dependency()
114endif
115if with_gallium_tegra
116  subdir('winsys/tegra/drm')
117  subdir('drivers/tegra')
118else
119  driver_tegra = declare_dependency()
120endif
121if with_gallium_iris
122  subdir('winsys/iris/drm')
123  subdir('drivers/iris')
124else
125  driver_iris = declare_dependency()
126endif
127if with_gallium_i915
128  subdir('winsys/i915/drm')
129  subdir('drivers/i915')
130else
131  driver_i915 = declare_dependency()
132endif
133if with_gallium_svga
134  subdir('winsys/svga/drm')
135  subdir('drivers/svga')
136else
137  driver_svga = declare_dependency()
138endif
139if with_gallium_virgl
140  subdir('winsys/virgl/drm')
141  subdir('winsys/virgl/vtest')
142  subdir('drivers/virgl')
143else
144  driver_virgl = declare_dependency()
145endif
146if with_gallium_lima
147  subdir('winsys/lima/drm')
148  subdir('drivers/lima')
149else
150  driver_lima = declare_dependency()
151endif
152if with_gallium_opencl
153  # TODO: this isn't really clover specific, but ATM clover is the only
154  # consumer
155  subdir('targets/pipe-loader')
156
157  subdir('state_trackers/clover')
158  subdir('targets/opencl')
159endif
160if with_dri
161  subdir('state_trackers/dri')
162  subdir('targets/dri')
163endif
164if with_osmesa == 'gallium'
165  subdir('state_trackers/osmesa')
166  subdir('targets/osmesa')
167endif
168if with_glx == 'gallium-xlib'
169  subdir('winsys/sw/xlib')
170  subdir('state_trackers/glx/xlib')
171  subdir('targets/libgl-xlib')
172endif
173if with_gallium_vdpau
174  subdir('state_trackers/vdpau')
175  subdir('targets/vdpau')
176endif
177if with_gallium_xvmc
178  subdir('state_trackers/xvmc')
179  subdir('targets/xvmc')
180endif
181if with_gallium_omx != 'disabled'
182  subdir('state_trackers/omx')
183  subdir('targets/omx')
184endif
185if with_gallium_va
186  subdir('state_trackers/va')
187  subdir('targets/va')
188endif
189if with_gallium_xa
190  subdir('state_trackers/xa')
191  subdir('targets/xa')
192endif
193if with_platform_haiku
194  subdir('state_trackers/hgl')
195  subdir('targets/haiku-softpipe')
196endif
197if with_gallium_st_nine
198  subdir('state_trackers/nine')
199  subdir('targets/d3dadapter9')
200endif
201if with_tests
202  subdir('targets/graw-null')
203  if with_glx == 'gallium-xlib'
204    subdir('targets/graw-xlib')
205  endif
206  subdir('tests')
207endif
208