| # Copyright © 2017-2019 Intel Corporation |
| |
| # Permission is hereby granted, free of charge, to any person obtaining a copy |
| # of this software and associated documentation files (the "Software"), to deal |
| # in the Software without restriction, including without limitation the rights |
| # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
| # copies of the Software, and to permit persons to whom the Software is |
| # furnished to do so, subject to the following conditions: |
| |
| # The above copyright notice and this permission notice shall be included in |
| # all copies or substantial portions of the Software. |
| |
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
| # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
| # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| # SOFTWARE. |
| |
| option( |
| 'platforms', |
| type : 'array', |
| value : ['auto'], |
| choices : [ |
| 'auto', 'x11', 'wayland', 'drm', 'surfaceless', 'haiku', 'android', |
| 'windows', |
| ], |
| description : 'window systems to support. If this is set to `auto`, all platforms applicable will be enabled.' |
| ) |
| option( |
| 'dri3', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'disabled', 'enabled'], |
| description : 'enable support for dri3' |
| ) |
| option( |
| 'dri-drivers', |
| type : 'array', |
| value : ['auto'], |
| choices : ['auto', 'i915', 'i965', 'r100', 'r200', 'nouveau', 'swrast'], |
| description : 'List of dri drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built' |
| ) |
| option( |
| 'dri-drivers-path', |
| type : 'string', |
| value : '', |
| description : 'Location to install dri drivers. Default: $libdir/dri.' |
| ) |
| option( |
| 'dri-search-path', |
| type : 'string', |
| value : '', |
| description : 'Locations to search for dri drivers, passed as colon separated list. Default: dri-drivers-path.' |
| ) |
| option( |
| 'gallium-drivers', |
| type : 'array', |
| value : ['auto'], |
| choices : [ |
| 'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno', |
| 'swrast', 'v3d', 'vc4', 'etnaviv', 'tegra', 'i915', 'svga', 'virgl', |
| 'swr', 'panfrost', 'iris', 'lima', 'zink' |
| ], |
| description : 'List of gallium drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built' |
| ) |
| option( |
| 'gallium-extra-hud', |
| type : 'boolean', |
| value : false, |
| description : 'Enable HUD block/NIC I/O HUD status support', |
| ) |
| option( |
| 'gallium-vdpau', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'enable gallium vdpau frontend.', |
| ) |
| option( |
| 'vdpau-libs-path', |
| type : 'string', |
| value : '', |
| description : 'path to put vdpau libraries. defaults to $libdir/vdpau.' |
| ) |
| option( |
| 'gallium-xvmc', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'enable gallium xvmc frontend.', |
| ) |
| option( |
| 'xvmc-libs-path', |
| type : 'string', |
| value : '', |
| description : 'path to put xvmc libraries. defaults to $libdir.' |
| ) |
| option( |
| 'gallium-omx', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'disabled', 'bellagio', 'tizonia'], |
| description : 'enable gallium omx frontend.', |
| ) |
| option( |
| 'omx-libs-path', |
| type : 'string', |
| value : '', |
| description : 'path to put omx libraries. defaults to omx-bellagio pkg-config pluginsdir.' |
| ) |
| option( |
| 'gallium-va', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'enable gallium va frontend.', |
| ) |
| option( |
| 'va-libs-path', |
| type : 'string', |
| value : '', |
| description : 'path to put va libraries. defaults to $libdir/dri.' |
| ) |
| option( |
| 'gallium-xa', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'enable gallium xa frontend.', |
| ) |
| option( |
| 'gallium-nine', |
| type : 'boolean', |
| value : false, |
| description : 'build gallium "nine" Direct3D 9.x frontend.', |
| ) |
| option( |
| 'gallium-opencl', |
| type : 'combo', |
| choices : ['icd', 'standalone', 'disabled'], |
| value : 'disabled', |
| description : 'build gallium "clover" OpenCL frontend.', |
| ) |
| option( |
| 'opencl-spirv', |
| type : 'boolean', |
| value : false, |
| description : 'build gallium "clover" OpenCL frontend with SPIR-V binary support.', |
| ) |
| option( |
| 'd3d-drivers-path', |
| type : 'string', |
| value : '', |
| description : 'Location of D3D drivers. Default: $libdir/d3d', |
| ) |
| option( |
| 'vulkan-drivers', |
| type : 'array', |
| value : ['auto'], |
| choices : ['auto', 'amd', 'freedreno', 'intel'], |
| description : 'List of vulkan drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built' |
| ) |
| option( |
| 'shader-cache', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'Build with on-disk shader cache support' |
| ) |
| option( |
| 'vulkan-icd-dir', |
| type : 'string', |
| value : '', |
| description : 'Location relative to prefix to put vulkan icds on install. Default: $datadir/vulkan/icd.d' |
| ) |
| option( |
| 'vulkan-overlay-layer', |
| type : 'boolean', |
| value : false, |
| description : 'Whether to build the vulkan overlay layer' |
| ) |
| option( |
| 'vulkan-device-select-layer', |
| type : 'boolean', |
| value : false, |
| description : 'Whether to build the vulkan device select layer' |
| ) |
| option( |
| 'shared-glapi', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'Whether to build a shared or static glapi. Defaults to false on Windows, true elsewhere' |
| ) |
| option( |
| 'gles1', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'Build support for OpenGL ES 1.x' |
| ) |
| option( |
| 'gles2', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'Build support for OpenGL ES 2.x and 3.x' |
| ) |
| option( |
| 'opengl', |
| type : 'boolean', |
| value : true, |
| description : 'Build support for OpenGL (all versions)' |
| ) |
| option( |
| 'gbm', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'Build support for gbm platform' |
| ) |
| option( |
| 'glx', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'disabled', 'dri', 'xlib', 'gallium-xlib'], |
| description : 'Build support for GLX platform' |
| ) |
| option( |
| 'egl', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'Build support for EGL platform' |
| ) |
| option( |
| 'glvnd', |
| type : 'boolean', |
| value : false, |
| description : 'Enable GLVND support.' |
| ) |
| option( |
| 'glx-read-only-text', |
| type : 'boolean', |
| value : false, |
| description : 'Disable writable .text section on x86 (decreases performance)' |
| ) |
| option( |
| 'llvm', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'Build with LLVM support.' |
| ) |
| option( |
| 'shared-llvm', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'Whether to link LLVM shared or statically.' |
| ) |
| option( |
| 'valgrind', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'Build with valgrind support' |
| ) |
| option( |
| 'libunwind', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'Use libunwind for stack-traces' |
| ) |
| option( |
| 'lmsensors', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'Enable HUD lmsensors support.' |
| ) |
| option( |
| 'build-tests', |
| type : 'boolean', |
| value : false, |
| description : 'Build unit tests. Currently this will build *all* unit tests, which may build more than expected.' |
| ) |
| option( |
| 'install-intel-gpu-tests', |
| type : 'boolean', |
| value : false, |
| description : 'Build and install Intel unit tests which require the GPU. This option is for developers and the Intel CI system only.' |
| ) |
| option( |
| 'selinux', |
| type : 'boolean', |
| value : false, |
| description : 'Build an SELinux-aware Mesa' |
| ) |
| option( |
| 'osmesa', |
| type : 'combo', |
| value : 'none', |
| choices : ['none', 'classic', 'gallium'], |
| description : 'Build OSmesa.' |
| ) |
| option( |
| 'osmesa-bits', |
| type : 'combo', |
| value : '8', |
| choices : ['8', '16', '32'], |
| description : 'Number of channel bits for OSMesa.' |
| ) |
| option( |
| 'swr-arches', |
| type : 'array', |
| value : ['avx', 'avx2'], |
| choices : ['avx', 'avx2', 'knl', 'skx'], |
| description : 'Architectures to build SWR support for.', |
| ) |
| option( |
| 'shared-swr', |
| type : 'boolean', |
| value : true, |
| description : 'Whether to link SWR shared or statically.', |
| ) |
| |
| option( |
| 'tools', |
| type : 'array', |
| value : [], |
| choices : ['drm-shim', 'etnaviv', 'freedreno', 'glsl', 'intel', 'intel-ui', 'nir', 'nouveau', 'xvmc', 'lima', 'panfrost', 'all'], |
| description : 'List of tools to build. (Note: `intel-ui` selects `intel`)', |
| ) |
| option( |
| 'power8', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'Enable power8 optimizations.', |
| ) |
| option( |
| 'xlib-lease', |
| type : 'combo', |
| value : 'auto', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| description : 'Enable VK_EXT_acquire_xlib_display.' |
| ) |
| option( |
| 'glx-direct', |
| type : 'boolean', |
| value : true, |
| description : 'Enable direct rendering in GLX and EGL for DRI', |
| ) |
| option( |
| 'prefer-iris', |
| type : 'boolean', |
| value : true, |
| description : 'Prefer new Intel iris driver over older i965 driver' |
| ) |
| option('egl-lib-suffix', |
| type : 'string', |
| value : '', |
| description : 'Suffix to append to EGL library name. Default: none.' |
| ) |
| option( |
| 'gles-lib-suffix', |
| type : 'string', |
| value : '', |
| description : 'Suffix to append to GLES library names. Default: none.' |
| ) |
| option( |
| 'platform-sdk-version', |
| type : 'integer', |
| min : 25, |
| max : 28, |
| value : 25, |
| description : 'Android Platform SDK version. Default: Nougat version.' |
| ) |
| option( |
| 'zstd', |
| type : 'combo', |
| choices : ['auto', 'true', 'false', 'enabled', 'disabled'], |
| value : 'auto', |
| description : 'Use ZSTD instead of ZLIB in some cases.' |
| ) |