1# Copyright © 2017-2019 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 21option( 22 'platforms', 23 type : 'array', 24 value : ['auto'], 25 choices : [ 26 'auto', 'x11', 'wayland', 'haiku', 'android', 'windows', 27 ], 28 description : 'window systems to support. If this is set to `auto`, all platforms applicable will be enabled.' 29) 30option( 31 'android-stub', 32 type : 'boolean', 33 value : false, 34 description : 'Build against android-stub', 35) 36 37option( 38 'dri3', 39 type : 'combo', 40 value : 'auto', 41 choices : ['auto', 'true', 'false', 'disabled', 'enabled'], 42 description : 'enable support for dri3' 43) 44option( 45 'dri-drivers', 46 type : 'array', 47 value : ['auto'], 48 choices : ['auto', 'i915', 'i965', 'r100', 'r200', 'nouveau', 'swrast'], 49 description : 'List of dri drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built' 50) 51option( 52 'dri-drivers-path', 53 type : 'string', 54 value : '', 55 description : 'Location to install dri drivers. Default: $libdir/dri.' 56) 57option( 58 'dri-search-path', 59 type : 'string', 60 value : '', 61 description : 'Locations to search for dri drivers, passed as colon separated list. Default: dri-drivers-path.' 62) 63option( 64 'gallium-drivers', 65 type : 'array', 66 value : ['auto'], 67 choices : [ 68 'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno', 69 'swrast', 'v3d', 'vc4', 'etnaviv', 'tegra', 'i915', 'svga', 'virgl', 70 'swr', 'panfrost', 'iris', 'lima', 'zink' 71 ], 72 description : 'List of gallium drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built' 73) 74option( 75 'gallium-extra-hud', 76 type : 'boolean', 77 value : false, 78 description : 'Enable HUD block/NIC I/O HUD status support', 79) 80option( 81 'gallium-vdpau', 82 type : 'combo', 83 value : 'auto', 84 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 85 description : 'enable gallium vdpau frontend.', 86) 87option( 88 'vdpau-libs-path', 89 type : 'string', 90 value : '', 91 description : 'path to put vdpau libraries. defaults to $libdir/vdpau.' 92) 93option( 94 'gallium-xvmc', 95 type : 'combo', 96 value : 'auto', 97 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 98 description : 'enable gallium xvmc frontend.', 99) 100option( 101 'xvmc-libs-path', 102 type : 'string', 103 value : '', 104 description : 'path to put xvmc libraries. defaults to $libdir.' 105) 106option( 107 'gallium-omx', 108 type : 'combo', 109 value : 'auto', 110 choices : ['auto', 'disabled', 'bellagio', 'tizonia'], 111 description : 'enable gallium omx frontend.', 112) 113option( 114 'omx-libs-path', 115 type : 'string', 116 value : '', 117 description : 'path to put omx libraries. defaults to omx-bellagio pkg-config pluginsdir.' 118) 119option( 120 'gallium-va', 121 type : 'combo', 122 value : 'auto', 123 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 124 description : 'enable gallium va frontend.', 125) 126option( 127 'va-libs-path', 128 type : 'string', 129 value : '', 130 description : 'path to put va libraries. defaults to $libdir/dri.' 131) 132option( 133 'gallium-xa', 134 type : 'combo', 135 value : 'auto', 136 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 137 description : 'enable gallium xa frontend.', 138) 139option( 140 'gallium-nine', 141 type : 'boolean', 142 value : false, 143 description : 'build gallium "nine" Direct3D 9.x frontend.', 144) 145option( 146 'gallium-opencl', 147 type : 'combo', 148 choices : ['icd', 'standalone', 'disabled'], 149 value : 'disabled', 150 description : 'build gallium "clover" OpenCL frontend.', 151) 152option( 153 'opencl-spirv', 154 type : 'boolean', 155 value : false, 156 description : 'build gallium "clover" OpenCL frontend with SPIR-V binary support.', 157) 158option( 159 'static-libclc', 160 type : 'array', 161 value : [], 162 choices : ['spirv', 'spirv64', 'all'], 163 description : 'Link libclc SPIR-V statically.', 164) 165option( 166 'd3d-drivers-path', 167 type : 'string', 168 value : '', 169 description : 'Location of D3D drivers. Default: $libdir/d3d', 170) 171option( 172 'vulkan-drivers', 173 type : 'array', 174 value : ['auto'], 175 choices : ['auto', 'amd', 'broadcom', 'freedreno', 'intel', 'swrast'], 176 description : 'List of vulkan drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built' 177) 178option( 179 'freedreno-kgsl', 180 type : 'boolean', 181 value : false, 182 description : 'use kgsl backend for freedreno vulkan driver', 183) 184option( 185 'shader-cache', 186 type : 'combo', 187 value : 'auto', 188 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 189 description : 'Build with on-disk shader cache support.', 190) 191option( 192 'shader-cache-default', 193 type : 'boolean', 194 value : true, 195 description : 'If set to false, the feature is only activated when environment variable MESA_GLSL_CACHE_DISABLE is set to false', 196) 197option( 198 'vulkan-icd-dir', 199 type : 'string', 200 value : '', 201 description : 'Location relative to prefix to put vulkan icds on install. Default: $datadir/vulkan/icd.d' 202) 203option( 204 'vulkan-overlay-layer', 205 type : 'boolean', 206 value : false, 207 description : 'Whether to build the vulkan overlay layer' 208) 209option( 210 'vulkan-device-select-layer', 211 type : 'boolean', 212 value : false, 213 description : 'Whether to build the vulkan device select layer' 214) 215option( 216 'shared-glapi', 217 type : 'combo', 218 value : 'auto', 219 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 220 description : 'Whether to build a shared or static glapi. Defaults to false on Windows, true elsewhere' 221) 222option( 223 'gles1', 224 type : 'combo', 225 value : 'auto', 226 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 227 description : 'Build support for OpenGL ES 1.x' 228) 229option( 230 'gles2', 231 type : 'combo', 232 value : 'auto', 233 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 234 description : 'Build support for OpenGL ES 2.x and 3.x' 235) 236option( 237 'opengl', 238 type : 'boolean', 239 value : true, 240 description : 'Build support for OpenGL (all versions)' 241) 242option( 243 'gbm', 244 type : 'combo', 245 value : 'auto', 246 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 247 description : 'Build support for gbm platform' 248) 249option( 250 'glx', 251 type : 'combo', 252 value : 'auto', 253 choices : ['auto', 'disabled', 'dri', 'xlib', 'gallium-xlib'], 254 description : 'Build support for GLX platform' 255) 256option( 257 'egl', 258 type : 'combo', 259 value : 'auto', 260 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 261 description : 'Build support for EGL platform' 262) 263option( 264 'glvnd', 265 type : 'boolean', 266 value : false, 267 description : 'Enable GLVND support.' 268) 269option( 270 'glx-read-only-text', 271 type : 'boolean', 272 value : false, 273 description : 'Disable writable .text section on x86 (decreases performance)' 274) 275option( 276 'llvm', 277 type : 'combo', 278 value : 'auto', 279 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 280 description : 'Build with LLVM support.' 281) 282option( 283 'shared-llvm', 284 type : 'combo', 285 value : 'auto', 286 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 287 description : 'Whether to link LLVM shared or statically.' 288) 289option( 290 'valgrind', 291 type : 'combo', 292 value : 'auto', 293 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 294 description : 'Build with valgrind support' 295) 296option( 297 'libunwind', 298 type : 'combo', 299 value : 'auto', 300 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 301 description : 'Use libunwind for stack-traces' 302) 303option( 304 'lmsensors', 305 type : 'combo', 306 value : 'auto', 307 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 308 description : 'Enable HUD lmsensors support.' 309) 310option( 311 'build-tests', 312 type : 'boolean', 313 value : false, 314 description : 'Build unit tests. Currently this will build *all* unit tests except the ACO tests, which may build more than expected.' 315) 316option( 317 'build-aco-tests', 318 type : 'boolean', 319 value : false, 320 description : 'Build ACO tests. These require RADV and glslang but not an AMD GPU.' 321) 322option( 323 'install-intel-gpu-tests', 324 type : 'boolean', 325 value : false, 326 description : 'Build and install Intel unit tests which require the GPU. This option is for developers and the Intel CI system only.' 327) 328option( 329 'selinux', 330 type : 'boolean', 331 value : false, 332 description : 'Build an SELinux-aware Mesa' 333) 334option( 335 'osmesa', 336 type : 'combo', 337 value : 'none', 338 choices : ['none', 'classic', 'gallium'], 339 description : 'Build OSmesa.' 340) 341option( 342 'osmesa-bits', 343 type : 'combo', 344 value : '8', 345 choices : ['8', '16', '32'], 346 description : 'Number of channel bits for OSMesa.' 347) 348option( 349 'swr-arches', 350 type : 'array', 351 value : ['avx', 'avx2'], 352 choices : ['avx', 'avx2', 'knl', 'skx'], 353 description : 'Architectures to build SWR support for.', 354) 355option( 356 'shared-swr', 357 type : 'boolean', 358 value : true, 359 description : 'Whether to link SWR shared or statically.', 360) 361 362option( 363 'tools', 364 type : 'array', 365 value : [], 366 choices : ['drm-shim', 'etnaviv', 'freedreno', 'glsl', 'intel', 'intel-ui', 'nir', 'nouveau', 'xvmc', 'lima', 'panfrost', 'all'], 367 description : 'List of tools to build. (Note: `intel-ui` selects `intel`)', 368) 369option( 370 'power8', 371 type : 'combo', 372 value : 'auto', 373 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 374 description : 'Enable power8 optimizations.', 375) 376option( 377 'xlib-lease', 378 type : 'combo', 379 value : 'auto', 380 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 381 description : 'Enable VK_EXT_acquire_xlib_display.' 382) 383option( 384 'glx-direct', 385 type : 'boolean', 386 value : true, 387 description : 'Enable direct rendering in GLX and EGL for DRI', 388) 389option( 390 'prefer-iris', 391 type : 'boolean', 392 value : true, 393 description : 'Prefer new Intel iris driver over older i965 driver' 394) 395option('egl-lib-suffix', 396 type : 'string', 397 value : '', 398 description : 'Suffix to append to EGL library name. Default: none.' 399) 400option( 401 'gles-lib-suffix', 402 type : 'string', 403 value : '', 404 description : 'Suffix to append to GLES library names. Default: none.' 405) 406option( 407 'platform-sdk-version', 408 type : 'integer', 409 min : 25, 410 max : 28, 411 value : 25, 412 description : 'Android Platform SDK version. Default: Nougat version.' 413) 414option( 415 'zstd', 416 type : 'combo', 417 choices : ['auto', 'true', 'false', 'enabled', 'disabled'], 418 value : 'auto', 419 description : 'Use ZSTD instead of ZLIB in some cases.' 420) 421