meson_options.txt revision 53c12917
101e04c3fSmrg# Copyright © 2017-2018 Intel Corporation 201e04c3fSmrg 301e04c3fSmrg# Permission is hereby granted, free of charge, to any person obtaining a copy 401e04c3fSmrg# of this software and associated documentation files (the "Software"), to deal 501e04c3fSmrg# in the Software without restriction, including without limitation the rights 601e04c3fSmrg# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 701e04c3fSmrg# copies of the Software, and to permit persons to whom the Software is 801e04c3fSmrg# furnished to do so, subject to the following conditions: 901e04c3fSmrg 1001e04c3fSmrg# The above copyright notice and this permission notice shall be included in 1101e04c3fSmrg# all copies or substantial portions of the Software. 1201e04c3fSmrg 1301e04c3fSmrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1401e04c3fSmrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1501e04c3fSmrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 1601e04c3fSmrg# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 1701e04c3fSmrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 1801e04c3fSmrg# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 1901e04c3fSmrg# SOFTWARE. 2001e04c3fSmrg 2101e04c3fSmrgoption( 2201e04c3fSmrg 'platforms', 2301e04c3fSmrg type : 'array', 2401e04c3fSmrg value : ['auto'], 2501e04c3fSmrg choices : [ 2601e04c3fSmrg '', 'auto', 'x11', 'wayland', 'drm', 'surfaceless', 'haiku', 'android', 2701e04c3fSmrg ], 2801e04c3fSmrg description : 'window systems to support. If this is set to `auto`, all platforms applicable will be enabled.' 2901e04c3fSmrg) 3001e04c3fSmrgoption( 3101e04c3fSmrg 'dri3', 3201e04c3fSmrg type : 'combo', 3301e04c3fSmrg value : 'auto', 3401e04c3fSmrg choices : ['auto', 'true', 'false'], 3501e04c3fSmrg description : 'enable support for dri3' 3601e04c3fSmrg) 3701e04c3fSmrgoption( 3801e04c3fSmrg 'dri-drivers', 3901e04c3fSmrg type : 'array', 4001e04c3fSmrg value : ['auto'], 4101e04c3fSmrg choices : ['', 'auto', 'i915', 'i965', 'r100', 'r200', 'nouveau', 'swrast'], 4201e04c3fSmrg description : 'List of dri drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built' 4301e04c3fSmrg) 4401e04c3fSmrgoption( 4501e04c3fSmrg 'dri-drivers-path', 4601e04c3fSmrg type : 'string', 4701e04c3fSmrg value : '', 4801e04c3fSmrg description : 'Location to install dri drivers. Default: $libdir/dri.' 4901e04c3fSmrg) 5001e04c3fSmrgoption( 5101e04c3fSmrg 'dri-search-path', 5201e04c3fSmrg type : 'string', 5301e04c3fSmrg value : '', 5401e04c3fSmrg description : 'Locations to search for dri drivers, passed as colon separated list. Default: dri-drivers-path.' 5501e04c3fSmrg) 5601e04c3fSmrgoption( 5701e04c3fSmrg 'gallium-drivers', 5801e04c3fSmrg type : 'array', 5901e04c3fSmrg value : ['auto'], 6001e04c3fSmrg choices : [ 6153c12917Smaya '', 'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno', 6253c12917Smaya 'swrast', 'v3d', 'vc4', 'etnaviv', 'tegra', 'i915', 'svga', 'virgl', 6353c12917Smaya 'swr', 'panfrost', 'iris', 'lima' 6401e04c3fSmrg ], 6501e04c3fSmrg description : 'List of gallium drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built' 6601e04c3fSmrg) 6701e04c3fSmrgoption( 6801e04c3fSmrg 'gallium-extra-hud', 6901e04c3fSmrg type : 'boolean', 7001e04c3fSmrg value : false, 7101e04c3fSmrg description : 'Enable HUD block/NIC I/O HUD status support', 7201e04c3fSmrg) 7301e04c3fSmrgoption( 7401e04c3fSmrg 'gallium-vdpau', 7501e04c3fSmrg type : 'combo', 7601e04c3fSmrg value : 'auto', 7701e04c3fSmrg choices : ['auto', 'true', 'false'], 7801e04c3fSmrg description : 'enable gallium vdpau state tracker.', 7901e04c3fSmrg) 8001e04c3fSmrgoption( 8101e04c3fSmrg 'vdpau-libs-path', 8201e04c3fSmrg type : 'string', 8301e04c3fSmrg value : '', 8401e04c3fSmrg description : 'path to put vdpau libraries. defaults to $libdir/vdpau.' 8501e04c3fSmrg) 8601e04c3fSmrgoption( 8701e04c3fSmrg 'gallium-xvmc', 8801e04c3fSmrg type : 'combo', 8901e04c3fSmrg value : 'auto', 9001e04c3fSmrg choices : ['auto', 'true', 'false'], 9101e04c3fSmrg description : 'enable gallium xvmc state tracker.', 9201e04c3fSmrg) 9301e04c3fSmrgoption( 9401e04c3fSmrg 'xvmc-libs-path', 9501e04c3fSmrg type : 'string', 9601e04c3fSmrg value : '', 9701e04c3fSmrg description : 'path to put xvmc libraries. defaults to $libdir.' 9801e04c3fSmrg) 9901e04c3fSmrgoption( 10001e04c3fSmrg 'gallium-omx', 10101e04c3fSmrg type : 'combo', 10201e04c3fSmrg value : 'auto', 10301e04c3fSmrg choices : ['auto', 'disabled', 'bellagio', 'tizonia'], 10401e04c3fSmrg description : 'enable gallium omx state tracker.', 10501e04c3fSmrg) 10601e04c3fSmrgoption( 10701e04c3fSmrg 'omx-libs-path', 10801e04c3fSmrg type : 'string', 10901e04c3fSmrg value : '', 11001e04c3fSmrg description : 'path to put omx libraries. defaults to omx-bellagio pkg-config pluginsdir.' 11101e04c3fSmrg) 11201e04c3fSmrgoption( 11301e04c3fSmrg 'gallium-va', 11401e04c3fSmrg type : 'combo', 11501e04c3fSmrg value : 'auto', 11601e04c3fSmrg choices : ['auto', 'true', 'false'], 11701e04c3fSmrg description : 'enable gallium va state tracker.', 11801e04c3fSmrg) 11901e04c3fSmrgoption( 12001e04c3fSmrg 'va-libs-path', 12101e04c3fSmrg type : 'string', 12201e04c3fSmrg value : '', 12301e04c3fSmrg description : 'path to put va libraries. defaults to $libdir/dri.' 12401e04c3fSmrg) 12501e04c3fSmrgoption( 12601e04c3fSmrg 'gallium-xa', 12701e04c3fSmrg type : 'combo', 12801e04c3fSmrg value : 'auto', 12901e04c3fSmrg choices : ['auto', 'true', 'false'], 13001e04c3fSmrg description : 'enable gallium xa state tracker.', 13101e04c3fSmrg) 13201e04c3fSmrgoption( 13301e04c3fSmrg 'gallium-nine', 13401e04c3fSmrg type : 'boolean', 13501e04c3fSmrg value : false, 13601e04c3fSmrg description : 'build gallium "nine" Direct3D 9.x state tracker.', 13701e04c3fSmrg) 13801e04c3fSmrgoption( 13901e04c3fSmrg 'gallium-opencl', 14001e04c3fSmrg type : 'combo', 14101e04c3fSmrg choices : ['icd', 'standalone', 'disabled'], 14201e04c3fSmrg value : 'disabled', 14301e04c3fSmrg description : 'build gallium "clover" OpenCL state tracker.', 14401e04c3fSmrg) 14501e04c3fSmrgoption( 14601e04c3fSmrg 'd3d-drivers-path', 14701e04c3fSmrg type : 'string', 14801e04c3fSmrg value : '', 14901e04c3fSmrg description : 'Location of D3D drivers. Default: $libdir/d3d', 15001e04c3fSmrg) 15101e04c3fSmrgoption( 15201e04c3fSmrg 'vulkan-drivers', 15301e04c3fSmrg type : 'array', 15401e04c3fSmrg value : ['auto'], 15553c12917Smaya choices : ['', 'auto', 'amd', 'freedreno', 'intel'], 15601e04c3fSmrg description : 'List of vulkan drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built' 15701e04c3fSmrg) 15801e04c3fSmrgoption( 15901e04c3fSmrg 'shader-cache', 16053c12917Smaya type : 'combo', 16153c12917Smaya value : 'auto', 16253c12917Smaya choices : ['auto', 'true', 'false'], 16301e04c3fSmrg description : 'Build with on-disk shader cache support' 16401e04c3fSmrg) 16501e04c3fSmrgoption( 16601e04c3fSmrg 'vulkan-icd-dir', 16701e04c3fSmrg type : 'string', 16801e04c3fSmrg value : '', 16901e04c3fSmrg description : 'Location relative to prefix to put vulkan icds on install. Default: $datadir/vulkan/icd.d' 17001e04c3fSmrg) 17153c12917Smayaoption( 17253c12917Smaya 'vulkan-overlay-layer', 17353c12917Smaya type : 'boolean', 17453c12917Smaya value : false, 17553c12917Smaya description : 'Whether to build the vulkan overlay layer' 17653c12917Smaya) 17701e04c3fSmrgoption( 17801e04c3fSmrg 'shared-glapi', 17901e04c3fSmrg type : 'boolean', 18001e04c3fSmrg value : true, 18101e04c3fSmrg description : 'Whether to build a shared or static glapi' 18201e04c3fSmrg) 18301e04c3fSmrgoption( 18401e04c3fSmrg 'gles1', 18553c12917Smaya type : 'combo', 18653c12917Smaya value : 'auto', 18753c12917Smaya choices : ['auto', 'true', 'false'], 18801e04c3fSmrg description : 'Build support for OpenGL ES 1.x' 18901e04c3fSmrg) 19001e04c3fSmrgoption( 19101e04c3fSmrg 'gles2', 19253c12917Smaya type : 'combo', 19353c12917Smaya value : 'auto', 19453c12917Smaya choices : ['auto', 'true', 'false'], 19501e04c3fSmrg description : 'Build support for OpenGL ES 2.x and 3.x' 19601e04c3fSmrg) 19701e04c3fSmrgoption( 19801e04c3fSmrg 'opengl', 19901e04c3fSmrg type : 'boolean', 20001e04c3fSmrg value : true, 20101e04c3fSmrg description : 'Build support for OpenGL (all versions)' 20201e04c3fSmrg) 20301e04c3fSmrgoption( 20401e04c3fSmrg 'gbm', 20501e04c3fSmrg type : 'combo', 20601e04c3fSmrg value : 'auto', 20701e04c3fSmrg choices : ['auto', 'true', 'false'], 20801e04c3fSmrg description : 'Build support for gbm platform' 20901e04c3fSmrg) 21001e04c3fSmrgoption( 21101e04c3fSmrg 'glx', 21201e04c3fSmrg type : 'combo', 21301e04c3fSmrg value : 'auto', 21401e04c3fSmrg choices : ['auto', 'disabled', 'dri', 'xlib', 'gallium-xlib'], 21501e04c3fSmrg description : 'Build support for GLX platform' 21601e04c3fSmrg) 21701e04c3fSmrgoption( 21801e04c3fSmrg 'egl', 21901e04c3fSmrg type : 'combo', 22001e04c3fSmrg value : 'auto', 22101e04c3fSmrg choices : ['auto', 'true', 'false'], 22201e04c3fSmrg description : 'Build support for EGL platform' 22301e04c3fSmrg) 22401e04c3fSmrgoption( 22501e04c3fSmrg 'glvnd', 22601e04c3fSmrg type : 'boolean', 22701e04c3fSmrg value : false, 22801e04c3fSmrg description : 'Enable GLVND support.' 22901e04c3fSmrg) 23001e04c3fSmrgoption( 23101e04c3fSmrg 'asm', 23201e04c3fSmrg type : 'boolean', 23301e04c3fSmrg value : true, 23401e04c3fSmrg description : 'Build assembly code if possible' 23501e04c3fSmrg) 23601e04c3fSmrgoption( 23701e04c3fSmrg 'glx-read-only-text', 23801e04c3fSmrg type : 'boolean', 23901e04c3fSmrg value : false, 24001e04c3fSmrg description : 'Disable writable .text section on x86 (decreases performance)' 24101e04c3fSmrg) 24201e04c3fSmrgoption( 24301e04c3fSmrg 'llvm', 24401e04c3fSmrg type : 'combo', 24501e04c3fSmrg value : 'auto', 24601e04c3fSmrg choices : ['auto', 'true', 'false'], 24701e04c3fSmrg description : 'Build with LLVM support.' 24801e04c3fSmrg) 24901e04c3fSmrgoption( 25001e04c3fSmrg 'shared-llvm', 25101e04c3fSmrg type : 'boolean', 25201e04c3fSmrg value : true, 25301e04c3fSmrg description : 'Whether to link llvm shared or statically.' 25401e04c3fSmrg) 25501e04c3fSmrgoption( 25601e04c3fSmrg 'valgrind', 25701e04c3fSmrg type : 'combo', 25801e04c3fSmrg value : 'auto', 25901e04c3fSmrg choices : ['auto', 'true', 'false'], 26001e04c3fSmrg description : 'Build with valgrind support' 26101e04c3fSmrg) 26201e04c3fSmrgoption( 26301e04c3fSmrg 'libunwind', 26401e04c3fSmrg type : 'combo', 26501e04c3fSmrg value : 'auto', 26601e04c3fSmrg choices : ['auto', 'true', 'false'], 26701e04c3fSmrg description : 'Use libunwind for stack-traces' 26801e04c3fSmrg) 26901e04c3fSmrgoption( 27001e04c3fSmrg 'lmsensors', 27101e04c3fSmrg type : 'combo', 27201e04c3fSmrg value : 'auto', 27301e04c3fSmrg choices : ['auto', 'true', 'false'], 27401e04c3fSmrg description : 'Enable HUD lmsensors support.' 27501e04c3fSmrg) 27601e04c3fSmrgoption( 27701e04c3fSmrg 'build-tests', 27801e04c3fSmrg type : 'boolean', 27901e04c3fSmrg value : false, 28001e04c3fSmrg description : 'Build unit tests. Currently this will build *all* unit tests, which may build more than expected.' 28101e04c3fSmrg) 28253c12917Smayaoption( 28353c12917Smaya 'install-intel-gpu-tests', 28453c12917Smaya type : 'boolean', 28553c12917Smaya value : false, 28653c12917Smaya description : 'Build and install Intel unit tests which require the GPU. This option is for developers and the Intel CI system only.' 28753c12917Smaya) 28801e04c3fSmrgoption( 28901e04c3fSmrg 'selinux', 29001e04c3fSmrg type : 'boolean', 29101e04c3fSmrg value : false, 29201e04c3fSmrg description : 'Build an SELinux-aware Mesa' 29301e04c3fSmrg) 29401e04c3fSmrgoption( 29501e04c3fSmrg 'osmesa', 29601e04c3fSmrg type : 'combo', 29701e04c3fSmrg value : 'none', 29801e04c3fSmrg choices : ['none', 'classic', 'gallium'], 29901e04c3fSmrg description : 'Build OSmesa.' 30001e04c3fSmrg) 30101e04c3fSmrgoption( 30201e04c3fSmrg 'osmesa-bits', 30301e04c3fSmrg type : 'combo', 30401e04c3fSmrg value : '8', 30501e04c3fSmrg choices : ['8', '16', '32'], 30601e04c3fSmrg description : 'Number of channel bits for OSMesa.' 30701e04c3fSmrg) 30801e04c3fSmrgoption( 30901e04c3fSmrg 'swr-arches', 31001e04c3fSmrg type : 'array', 31101e04c3fSmrg value : ['avx', 'avx2'], 31201e04c3fSmrg choices : ['avx', 'avx2', 'knl', 'skx'], 31301e04c3fSmrg description : 'Architectures to build SWR support for.', 31401e04c3fSmrg) 31501e04c3fSmrgoption( 31601e04c3fSmrg 'tools', 31701e04c3fSmrg type : 'array', 31801e04c3fSmrg value : [], 31953c12917Smaya choices : ['etnaviv', 'freedreno', 'glsl', 'intel', 'intel-ui', 'nir', 'nouveau', 'xvmc', 'all'], 32001e04c3fSmrg description : 'List of tools to build. (Note: `intel-ui` selects `intel`)', 32101e04c3fSmrg) 32201e04c3fSmrgoption( 32301e04c3fSmrg 'power8', 32401e04c3fSmrg type : 'combo', 32501e04c3fSmrg value : 'auto', 32601e04c3fSmrg choices : ['auto', 'true', 'false'], 32701e04c3fSmrg description : 'Enable power8 optimizations.', 32801e04c3fSmrg) 32901e04c3fSmrgoption( 33001e04c3fSmrg 'xlib-lease', 33101e04c3fSmrg type : 'combo', 33201e04c3fSmrg value : 'auto', 33301e04c3fSmrg choices : ['auto', 'true', 'false'], 33401e04c3fSmrg description : 'Enable VK_EXT_acquire_xlib_display.' 33501e04c3fSmrg) 33601e04c3fSmrgoption( 33701e04c3fSmrg 'glx-direct', 33801e04c3fSmrg type : 'boolean', 33901e04c3fSmrg value : true, 34001e04c3fSmrg description : 'Enable direct rendering in GLX and EGL for DRI', 34101e04c3fSmrg) 34253c12917Smayaoption( 34353c12917Smaya 'I-love-half-baked-turnips', 34453c12917Smaya type : 'boolean', 34553c12917Smaya value : false, 34653c12917Smaya description : 'Allow work-in-progress freedreno vulkan driver to be enabled', 34753c12917Smaya) 34853c12917Smayaoption('egl-lib-suffix', 34953c12917Smaya type : 'string', 35053c12917Smaya value : '', 35153c12917Smaya description : 'Suffix to append to EGL library name. Default: none.' 35253c12917Smaya) 35353c12917Smayaoption( 35453c12917Smaya 'gles-lib-suffix', 35553c12917Smaya type : 'string', 35653c12917Smaya value : '', 35753c12917Smaya description : 'Suffix to append to GLES library names. Default: none.' 35853c12917Smaya) 35953c12917Smayaoption( 36053c12917Smaya 'platform-sdk-version', 36153c12917Smaya type : 'integer', 36253c12917Smaya min : 25, 36353c12917Smaya max : 28, 36453c12917Smaya value : 25, 36553c12917Smaya description : 'Android Platform SDK version. Default: Nougat version.' 36653c12917Smaya) 367