
Currently there is not a separate option for setting the search path of
DRI drivers in meson, like there is in scons and autotools. This is an
oversight and needs to be fixed. This adds an extra option
`dri-search-path`, which will default to the value of
`dri-drivers-path`, like autotools does.
v2: - Split input list before joining.
v3: - use : instead of ; as the delimiter. The autotools help string
incorrectly says ; but the code uses :
v4: - Take list in pre : delimited form (Ilia)
- Ensure that the dri-search-path is absolute when using
dri_drivers_path
Fixes: db9788420d
("meson: Add support for configuring dri drivers directory.")
Reported-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net> (v2)
Reviewed-by: Eric Engestrom <eric@engestrom.ch> (v3)
283 lines
7.1 KiB
Meson
283 lines
7.1 KiB
Meson
# Copyright © 2017 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 : 'string',
|
|
value : 'auto',
|
|
description : 'comma separated list of window systems to support. If this is set to auto all platforms applicable to the OS will be enabled.'
|
|
)
|
|
option(
|
|
'dri3',
|
|
type : 'combo',
|
|
value : 'auto',
|
|
choices : ['auto', 'true', 'false'],
|
|
description : 'enable support for dri3'
|
|
)
|
|
option(
|
|
'dri-drivers',
|
|
type : 'string',
|
|
value : 'auto',
|
|
description : 'comma separated 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 : 'string',
|
|
value : 'auto',
|
|
description : 'comma separated 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'],
|
|
description : 'enable gallium vdpau state tracker.',
|
|
)
|
|
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'],
|
|
description : 'enable gallium xvmc state tracker.',
|
|
)
|
|
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', 'true', 'false'],
|
|
description : 'enable gallium omx bellagio state tracker.',
|
|
)
|
|
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'],
|
|
description : 'enable gallium va state tracker.',
|
|
)
|
|
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'],
|
|
description : 'enable gallium xa state tracker.',
|
|
)
|
|
option(
|
|
'gallium-nine',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'build gallium "nine" Direct3D 9.x state tracker.',
|
|
)
|
|
option(
|
|
'gallium-opencl',
|
|
type : 'combo',
|
|
choices : ['icd', 'standalone', 'disabled'],
|
|
value : 'disabled',
|
|
description : 'build gallium "clover" OpenCL state tracker.',
|
|
)
|
|
option(
|
|
'd3d-drivers-path',
|
|
type : 'string',
|
|
value : '',
|
|
description : 'Location of D3D drivers. Default: $libdir/d3d',
|
|
)
|
|
option(
|
|
'vulkan-drivers',
|
|
type : 'string',
|
|
value : 'auto',
|
|
description : 'comma separated 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 : 'boolean',
|
|
value : true,
|
|
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(
|
|
'shared-glapi',
|
|
type : 'boolean',
|
|
value : true,
|
|
description : 'Whether to build a shared or static glapi'
|
|
)
|
|
option(
|
|
'gles1',
|
|
type : 'boolean',
|
|
value : true,
|
|
description : 'Build support for OpenGL ES 1.x'
|
|
)
|
|
option(
|
|
'gles2',
|
|
type : 'boolean',
|
|
value : true,
|
|
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'],
|
|
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'],
|
|
description : 'Build support for EGL platform'
|
|
)
|
|
option(
|
|
'glvnd',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable GLVND support.'
|
|
)
|
|
option(
|
|
'asm',
|
|
type : 'boolean',
|
|
value : true,
|
|
description : 'Build assembly code if possible'
|
|
)
|
|
option(
|
|
'llvm',
|
|
type : 'combo',
|
|
value : 'auto',
|
|
choices : ['auto', 'true', 'false'],
|
|
description : 'Build with LLVM support.'
|
|
)
|
|
option(
|
|
'valgrind',
|
|
type : 'combo',
|
|
value : 'auto',
|
|
choices : ['auto', 'true', 'false'],
|
|
description : 'Build with valgrind support'
|
|
)
|
|
option(
|
|
'libunwind',
|
|
type : 'combo',
|
|
value : 'auto',
|
|
choices : ['auto', 'true', 'false'],
|
|
description : 'Use libunwind for stack-traces'
|
|
)
|
|
option(
|
|
'lmsensors',
|
|
type : 'combo',
|
|
value : 'auto',
|
|
choices : ['auto', 'true', 'false'],
|
|
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(
|
|
'texture-float',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable floating point textures and renderbuffers. This option may be patent encumbered, please read docs/patents.txt and consult with your lawyer before turning this on.'
|
|
)
|
|
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 : 'string',
|
|
value : 'avx,avx2',
|
|
description : 'Comma delemited swr architectures. choices : avx,avx2,knl,skx'
|
|
)
|