1b8e80941Smrg# Copyright © 2017-2018 Intel Corporation 2b8e80941Smrg 3b8e80941Smrg# Permission is hereby granted, free of charge, to any person obtaining a copy 4b8e80941Smrg# of this software and associated documentation files (the "Software"), to deal 5b8e80941Smrg# in the Software without restriction, including without limitation the rights 6b8e80941Smrg# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7b8e80941Smrg# copies of the Software, and to permit persons to whom the Software is 8b8e80941Smrg# furnished to do so, subject to the following conditions: 9b8e80941Smrg 10b8e80941Smrg# The above copyright notice and this permission notice shall be included in 11b8e80941Smrg# all copies or substantial portions of the Software. 12b8e80941Smrg 13b8e80941Smrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14b8e80941Smrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15b8e80941Smrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16b8e80941Smrg# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17b8e80941Smrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18b8e80941Smrg# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19b8e80941Smrg# SOFTWARE. 20b8e80941Smrg 21b8e80941Smrgoption( 22b8e80941Smrg 'platforms', 23b8e80941Smrg type : 'array', 24b8e80941Smrg value : ['auto'], 25b8e80941Smrg choices : [ 26b8e80941Smrg '', 'auto', 'x11', 'wayland', 'drm', 'surfaceless', 'haiku', 'android', 27b8e80941Smrg ], 28b8e80941Smrg description : 'window systems to support. If this is set to `auto`, all platforms applicable will be enabled.' 29b8e80941Smrg) 30b8e80941Smrgoption( 31b8e80941Smrg 'dri3', 32b8e80941Smrg type : 'combo', 33b8e80941Smrg value : 'auto', 34b8e80941Smrg choices : ['auto', 'true', 'false'], 35b8e80941Smrg description : 'enable support for dri3' 36b8e80941Smrg) 37b8e80941Smrgoption( 38b8e80941Smrg 'dri-drivers', 39b8e80941Smrg type : 'array', 40b8e80941Smrg value : ['auto'], 41b8e80941Smrg choices : ['', 'auto', 'i915', 'i965', 'r100', 'r200', 'nouveau', 'swrast'], 42b8e80941Smrg description : 'List of dri drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built' 43b8e80941Smrg) 44b8e80941Smrgoption( 45b8e80941Smrg 'dri-drivers-path', 46b8e80941Smrg type : 'string', 47b8e80941Smrg value : '', 48b8e80941Smrg description : 'Location to install dri drivers. Default: $libdir/dri.' 49b8e80941Smrg) 50b8e80941Smrgoption( 51b8e80941Smrg 'dri-search-path', 52b8e80941Smrg type : 'string', 53b8e80941Smrg value : '', 54b8e80941Smrg description : 'Locations to search for dri drivers, passed as colon separated list. Default: dri-drivers-path.' 55b8e80941Smrg) 56b8e80941Smrgoption( 57b8e80941Smrg 'gallium-drivers', 58b8e80941Smrg type : 'array', 59b8e80941Smrg value : ['auto'], 60b8e80941Smrg choices : [ 61b8e80941Smrg '', 'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno', 62b8e80941Smrg 'swrast', 'v3d', 'vc4', 'etnaviv', 'tegra', 'i915', 'svga', 'virgl', 63b8e80941Smrg 'swr', 'panfrost', 'iris', 'lima' 64b8e80941Smrg ], 65b8e80941Smrg description : 'List of gallium drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built' 66b8e80941Smrg) 67b8e80941Smrgoption( 68b8e80941Smrg 'gallium-extra-hud', 69b8e80941Smrg type : 'boolean', 70b8e80941Smrg value : false, 71b8e80941Smrg description : 'Enable HUD block/NIC I/O HUD status support', 72b8e80941Smrg) 73b8e80941Smrgoption( 74b8e80941Smrg 'gallium-vdpau', 75b8e80941Smrg type : 'combo', 76b8e80941Smrg value : 'auto', 77b8e80941Smrg choices : ['auto', 'true', 'false'], 78b8e80941Smrg description : 'enable gallium vdpau state tracker.', 79b8e80941Smrg) 80b8e80941Smrgoption( 81b8e80941Smrg 'vdpau-libs-path', 82b8e80941Smrg type : 'string', 83b8e80941Smrg value : '', 84b8e80941Smrg description : 'path to put vdpau libraries. defaults to $libdir/vdpau.' 85b8e80941Smrg) 86b8e80941Smrgoption( 87b8e80941Smrg 'gallium-xvmc', 88b8e80941Smrg type : 'combo', 89b8e80941Smrg value : 'auto', 90b8e80941Smrg choices : ['auto', 'true', 'false'], 91b8e80941Smrg description : 'enable gallium xvmc state tracker.', 92b8e80941Smrg) 93b8e80941Smrgoption( 94b8e80941Smrg 'xvmc-libs-path', 95b8e80941Smrg type : 'string', 96b8e80941Smrg value : '', 97b8e80941Smrg description : 'path to put xvmc libraries. defaults to $libdir.' 98b8e80941Smrg) 99b8e80941Smrgoption( 100b8e80941Smrg 'gallium-omx', 101b8e80941Smrg type : 'combo', 102b8e80941Smrg value : 'auto', 103b8e80941Smrg choices : ['auto', 'disabled', 'bellagio', 'tizonia'], 104b8e80941Smrg description : 'enable gallium omx state tracker.', 105b8e80941Smrg) 106b8e80941Smrgoption( 107b8e80941Smrg 'omx-libs-path', 108b8e80941Smrg type : 'string', 109b8e80941Smrg value : '', 110b8e80941Smrg description : 'path to put omx libraries. defaults to omx-bellagio pkg-config pluginsdir.' 111b8e80941Smrg) 112b8e80941Smrgoption( 113b8e80941Smrg 'gallium-va', 114b8e80941Smrg type : 'combo', 115b8e80941Smrg value : 'auto', 116b8e80941Smrg choices : ['auto', 'true', 'false'], 117b8e80941Smrg description : 'enable gallium va state tracker.', 118b8e80941Smrg) 119b8e80941Smrgoption( 120b8e80941Smrg 'va-libs-path', 121b8e80941Smrg type : 'string', 122b8e80941Smrg value : '', 123b8e80941Smrg description : 'path to put va libraries. defaults to $libdir/dri.' 124b8e80941Smrg) 125b8e80941Smrgoption( 126b8e80941Smrg 'gallium-xa', 127b8e80941Smrg type : 'combo', 128b8e80941Smrg value : 'auto', 129b8e80941Smrg choices : ['auto', 'true', 'false'], 130b8e80941Smrg description : 'enable gallium xa state tracker.', 131b8e80941Smrg) 132b8e80941Smrgoption( 133b8e80941Smrg 'gallium-nine', 134b8e80941Smrg type : 'boolean', 135b8e80941Smrg value : false, 136b8e80941Smrg description : 'build gallium "nine" Direct3D 9.x state tracker.', 137b8e80941Smrg) 138b8e80941Smrgoption( 139b8e80941Smrg 'gallium-opencl', 140b8e80941Smrg type : 'combo', 141b8e80941Smrg choices : ['icd', 'standalone', 'disabled'], 142b8e80941Smrg value : 'disabled', 143b8e80941Smrg description : 'build gallium "clover" OpenCL state tracker.', 144b8e80941Smrg) 145b8e80941Smrgoption( 146b8e80941Smrg 'd3d-drivers-path', 147b8e80941Smrg type : 'string', 148b8e80941Smrg value : '', 149b8e80941Smrg description : 'Location of D3D drivers. Default: $libdir/d3d', 150b8e80941Smrg) 151b8e80941Smrgoption( 152b8e80941Smrg 'vulkan-drivers', 153b8e80941Smrg type : 'array', 154b8e80941Smrg value : ['auto'], 155b8e80941Smrg choices : ['', 'auto', 'amd', 'freedreno', 'intel'], 156b8e80941Smrg description : 'List of vulkan drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built' 157b8e80941Smrg) 158b8e80941Smrgoption( 159b8e80941Smrg 'shader-cache', 160b8e80941Smrg type : 'combo', 161b8e80941Smrg value : 'auto', 162b8e80941Smrg choices : ['auto', 'true', 'false'], 163b8e80941Smrg description : 'Build with on-disk shader cache support' 164b8e80941Smrg) 165b8e80941Smrgoption( 166b8e80941Smrg 'vulkan-icd-dir', 167b8e80941Smrg type : 'string', 168b8e80941Smrg value : '', 169b8e80941Smrg description : 'Location relative to prefix to put vulkan icds on install. Default: $datadir/vulkan/icd.d' 170b8e80941Smrg) 171b8e80941Smrgoption( 172b8e80941Smrg 'vulkan-overlay-layer', 173b8e80941Smrg type : 'boolean', 174b8e80941Smrg value : false, 175b8e80941Smrg description : 'Whether to build the vulkan overlay layer' 176b8e80941Smrg) 177b8e80941Smrgoption( 178b8e80941Smrg 'shared-glapi', 179b8e80941Smrg type : 'boolean', 180b8e80941Smrg value : true, 181b8e80941Smrg description : 'Whether to build a shared or static glapi' 182b8e80941Smrg) 183b8e80941Smrgoption( 184b8e80941Smrg 'gles1', 185b8e80941Smrg type : 'combo', 186b8e80941Smrg value : 'auto', 187b8e80941Smrg choices : ['auto', 'true', 'false'], 188b8e80941Smrg description : 'Build support for OpenGL ES 1.x' 189b8e80941Smrg) 190b8e80941Smrgoption( 191b8e80941Smrg 'gles2', 192b8e80941Smrg type : 'combo', 193b8e80941Smrg value : 'auto', 194b8e80941Smrg choices : ['auto', 'true', 'false'], 195b8e80941Smrg description : 'Build support for OpenGL ES 2.x and 3.x' 196b8e80941Smrg) 197b8e80941Smrgoption( 198b8e80941Smrg 'opengl', 199b8e80941Smrg type : 'boolean', 200b8e80941Smrg value : true, 201b8e80941Smrg description : 'Build support for OpenGL (all versions)' 202b8e80941Smrg) 203b8e80941Smrgoption( 204b8e80941Smrg 'gbm', 205b8e80941Smrg type : 'combo', 206b8e80941Smrg value : 'auto', 207b8e80941Smrg choices : ['auto', 'true', 'false'], 208b8e80941Smrg description : 'Build support for gbm platform' 209b8e80941Smrg) 210b8e80941Smrgoption( 211b8e80941Smrg 'glx', 212b8e80941Smrg type : 'combo', 213b8e80941Smrg value : 'auto', 214b8e80941Smrg choices : ['auto', 'disabled', 'dri', 'xlib', 'gallium-xlib'], 215b8e80941Smrg description : 'Build support for GLX platform' 216b8e80941Smrg) 217b8e80941Smrgoption( 218b8e80941Smrg 'egl', 219b8e80941Smrg type : 'combo', 220b8e80941Smrg value : 'auto', 221b8e80941Smrg choices : ['auto', 'true', 'false'], 222b8e80941Smrg description : 'Build support for EGL platform' 223b8e80941Smrg) 224b8e80941Smrgoption( 225b8e80941Smrg 'glvnd', 226b8e80941Smrg type : 'boolean', 227b8e80941Smrg value : false, 228b8e80941Smrg description : 'Enable GLVND support.' 229b8e80941Smrg) 230b8e80941Smrgoption( 231b8e80941Smrg 'asm', 232b8e80941Smrg type : 'boolean', 233b8e80941Smrg value : true, 234b8e80941Smrg description : 'Build assembly code if possible' 235b8e80941Smrg) 236b8e80941Smrgoption( 237b8e80941Smrg 'glx-read-only-text', 238b8e80941Smrg type : 'boolean', 239b8e80941Smrg value : false, 240b8e80941Smrg description : 'Disable writable .text section on x86 (decreases performance)' 241b8e80941Smrg) 242b8e80941Smrgoption( 243b8e80941Smrg 'llvm', 244b8e80941Smrg type : 'combo', 245b8e80941Smrg value : 'auto', 246b8e80941Smrg choices : ['auto', 'true', 'false'], 247b8e80941Smrg description : 'Build with LLVM support.' 248b8e80941Smrg) 249b8e80941Smrgoption( 250b8e80941Smrg 'shared-llvm', 251b8e80941Smrg type : 'boolean', 252b8e80941Smrg value : true, 253b8e80941Smrg description : 'Whether to link llvm shared or statically.' 254b8e80941Smrg) 255b8e80941Smrgoption( 256b8e80941Smrg 'valgrind', 257b8e80941Smrg type : 'combo', 258b8e80941Smrg value : 'auto', 259b8e80941Smrg choices : ['auto', 'true', 'false'], 260b8e80941Smrg description : 'Build with valgrind support' 261b8e80941Smrg) 262b8e80941Smrgoption( 263b8e80941Smrg 'libunwind', 264b8e80941Smrg type : 'combo', 265b8e80941Smrg value : 'auto', 266b8e80941Smrg choices : ['auto', 'true', 'false'], 267b8e80941Smrg description : 'Use libunwind for stack-traces' 268b8e80941Smrg) 269b8e80941Smrgoption( 270b8e80941Smrg 'lmsensors', 271b8e80941Smrg type : 'combo', 272b8e80941Smrg value : 'auto', 273b8e80941Smrg choices : ['auto', 'true', 'false'], 274b8e80941Smrg description : 'Enable HUD lmsensors support.' 275b8e80941Smrg) 276b8e80941Smrgoption( 277b8e80941Smrg 'build-tests', 278b8e80941Smrg type : 'boolean', 279b8e80941Smrg value : false, 280b8e80941Smrg description : 'Build unit tests. Currently this will build *all* unit tests, which may build more than expected.' 281b8e80941Smrg) 282b8e80941Smrgoption( 283b8e80941Smrg 'install-intel-gpu-tests', 284b8e80941Smrg type : 'boolean', 285b8e80941Smrg value : false, 286b8e80941Smrg description : 'Build and install Intel unit tests which require the GPU. This option is for developers and the Intel CI system only.' 287b8e80941Smrg) 288b8e80941Smrgoption( 289b8e80941Smrg 'selinux', 290b8e80941Smrg type : 'boolean', 291b8e80941Smrg value : false, 292b8e80941Smrg description : 'Build an SELinux-aware Mesa' 293b8e80941Smrg) 294b8e80941Smrgoption( 295b8e80941Smrg 'osmesa', 296b8e80941Smrg type : 'combo', 297b8e80941Smrg value : 'none', 298b8e80941Smrg choices : ['none', 'classic', 'gallium'], 299b8e80941Smrg description : 'Build OSmesa.' 300b8e80941Smrg) 301b8e80941Smrgoption( 302b8e80941Smrg 'osmesa-bits', 303b8e80941Smrg type : 'combo', 304b8e80941Smrg value : '8', 305b8e80941Smrg choices : ['8', '16', '32'], 306b8e80941Smrg description : 'Number of channel bits for OSMesa.' 307b8e80941Smrg) 308b8e80941Smrgoption( 309b8e80941Smrg 'swr-arches', 310b8e80941Smrg type : 'array', 311b8e80941Smrg value : ['avx', 'avx2'], 312b8e80941Smrg choices : ['avx', 'avx2', 'knl', 'skx'], 313b8e80941Smrg description : 'Architectures to build SWR support for.', 314b8e80941Smrg) 315b8e80941Smrgoption( 316b8e80941Smrg 'tools', 317b8e80941Smrg type : 'array', 318b8e80941Smrg value : [], 319b8e80941Smrg choices : ['etnaviv', 'freedreno', 'glsl', 'intel', 'intel-ui', 'nir', 'nouveau', 'xvmc', 'all'], 320b8e80941Smrg description : 'List of tools to build. (Note: `intel-ui` selects `intel`)', 321b8e80941Smrg) 322b8e80941Smrgoption( 323b8e80941Smrg 'power8', 324b8e80941Smrg type : 'combo', 325b8e80941Smrg value : 'auto', 326b8e80941Smrg choices : ['auto', 'true', 'false'], 327b8e80941Smrg description : 'Enable power8 optimizations.', 328b8e80941Smrg) 329b8e80941Smrgoption( 330b8e80941Smrg 'xlib-lease', 331b8e80941Smrg type : 'combo', 332b8e80941Smrg value : 'auto', 333b8e80941Smrg choices : ['auto', 'true', 'false'], 334b8e80941Smrg description : 'Enable VK_EXT_acquire_xlib_display.' 335b8e80941Smrg) 336b8e80941Smrgoption( 337b8e80941Smrg 'glx-direct', 338b8e80941Smrg type : 'boolean', 339b8e80941Smrg value : true, 340b8e80941Smrg description : 'Enable direct rendering in GLX and EGL for DRI', 341b8e80941Smrg) 342b8e80941Smrgoption( 343b8e80941Smrg 'I-love-half-baked-turnips', 344b8e80941Smrg type : 'boolean', 345b8e80941Smrg value : false, 346b8e80941Smrg description : 'Allow work-in-progress freedreno vulkan driver to be enabled', 347b8e80941Smrg) 348b8e80941Smrgoption('egl-lib-suffix', 349b8e80941Smrg type : 'string', 350b8e80941Smrg value : '', 351b8e80941Smrg description : 'Suffix to append to EGL library name. Default: none.' 352b8e80941Smrg) 353b8e80941Smrgoption( 354b8e80941Smrg 'gles-lib-suffix', 355b8e80941Smrg type : 'string', 356b8e80941Smrg value : '', 357b8e80941Smrg description : 'Suffix to append to GLES library names. Default: none.' 358b8e80941Smrg) 359b8e80941Smrgoption( 360b8e80941Smrg 'platform-sdk-version', 361b8e80941Smrg type : 'integer', 362b8e80941Smrg min : 25, 363b8e80941Smrg max : 28, 364b8e80941Smrg value : 25, 365b8e80941Smrg description : 'Android Platform SDK version. Default: Nougat version.' 366b8e80941Smrg) 367