Lines Matching +full:shared +full:- +full:llvm
1 # Copyright © 2017-2020 Intel Corporation
30 …default_options : ['buildtype=debugoptimized', 'b_ndebug=if-release', 'c_std=c11', 'cpp_std=c++14']
54 '-D__STDC_CONSTANT_MACROS',
55 '-D__STDC_FORMAT_MACROS',
56 '-D__STDC_LIMIT_MACROS',
57 '-DPACKAGE_VERSION="@0@"'.format(meson.project_version()),
58 '-DPACKAGE_BUGREPORT="https://gitlab.freedesktop.org/mesa/mesa/-/issues"',
63 with_moltenvk_dir = get_option('moltenvk-dir')
64 with_vulkan_icd_dir = get_option('vulkan-icd-dir')
65 with_tests = get_option('build-tests')
66 with_aco_tests = get_option('build-aco-tests')
67 with_glx_read_only_text = get_option('glx-read-only-text')
68 with_glx_direct = get_option('glx-direct')
70 with_vulkan_overlay_layer = get_option('vulkan-layers').contains('overlay')
71 with_vulkan_device_select_layer = get_option('vulkan-layers').contains('device-select')
75 'drm-shim',
76 'dlclose-skip',
81 'intel-ui',
91 with_any_vulkan_layers = get_option('vulkan-layers').length() != 0
92 with_intel_tools = with_tools.contains('intel') or with_tools.contains('intel-ui')
95 dri_drivers_path = get_option('dri-drivers-path')
99 dri_search_path = get_option('dri-search-path')
104 gbm_backends_path = get_option('gbm-backends-path')
135 # Default shared glapi off for windows, on elsewhere.
136 _sg = get_option('shared-glapi')
139 warning('shared-glapi option "true" deprecated, please use "enabled" instead.')
142 warning('shared-glapi option "false" deprecated, please use "disabled" instead.')
150 # shared-glapi is required if at least two OpenGL APIs are being built
155 error('shared-glapi required for building two or more of OpenGL, OpenGL ES 1.x, OpenGL ES 2.x')
178 dri_drivers = get_option('dri-drivers')
185 gallium_drivers = get_option('gallium-drivers')
204 …error('Unknown architecture @0@. Please pass -Dgallium-drivers to set driver options. Patches glad…
210 …error('Unknown OS @0@. Please pass -Dgallium-drivers to set driver options. Patches gladly accepte…
235 pre_args += '-DHAVE_@0@'.format(gallium_driver.to_upper())
249 _vulkan_drivers = get_option('vulkan-drivers')
259 …error('Unknown architecture @0@. Please pass -Dvulkan-drivers to set driver options. Patches gladl…
266 …error('Unknown OS @0@. Please pass -Dvulkan-drivers to set driver options. Patches gladly accepted…
276 with_virtio_vk = _vulkan_drivers.contains('virtio-experimental')
277 with_freedreno_kgsl = get_option('freedreno-kgsl')
278 with_freedreno_virtio = get_option('freedreno-virtio')
280 with_imagination_vk = _vulkan_drivers.contains('imagination-experimental')
281 with_imagination_srv = get_option('imagination-srv')
282 with_microsoft_vk = _vulkan_drivers.contains('microsoft-experimental')
298 with_microsoft_clc = get_option('microsoft-clc').enabled()
299 with_intel_clc = get_option('intel-clc').enabled()
302 with_spirv_to_dxil = get_option('spirv-to-dxil')
306 pre_args += '-DBUILDING_MESA'
318 with_vulkan_beta = get_option('vulkan-beta')
320 pre_args += '-DVK_ENABLE_BETA_EXTENSIONS'
323 _codecs = get_option('video-codecs')
325 pre_args += '-DVIDEO_CODEC_@0@=@1@'.format(c.to_upper(), _codecs.contains(c).to_int())
339 …error('Unknown OS @0@. Please pass -Dplatforms to set platforms. Patches gladly accepted to fix th…
403 _xlib_lease = get_option('xlib-lease')
418 c_args += '-DVK_USE_PLATFORM_WAYLAND_KHR'
420 #cpp_args += '-DVK_USE_PLATFORM_WAYLAND_KHR'
423 c_args += ['-DVK_USE_PLATFORM_XCB_KHR', '-DVK_USE_PLATFORM_XLIB_KHR']
425 #cpp_args += ['-DVK_USE_PLATFORM_XCB_KHR', '-DVK_USE_PLATFORM_XLIB_KHR']
428 c_args += '-DVK_USE_PLATFORM_WIN32_KHR'
430 #cpp_args += '-DVK_USE_PLATFORM_WIN32_KHR'
433 c_args += '-DVK_USE_PLATFORM_ANDROID_KHR'
434 cpp_args += '-DVK_USE_PLATFORM_ANDROID_KHR'
437 c_args += '-DVK_USE_PLATFORM_XLIB_XRANDR_EXT'
439 #cpp_args += '-DVK_USE_PLATFORM_XLIB_XRANDR_EXT'
442 c_args += '-DVK_USE_PLATFORM_DISPLAY_KHR'
443 cpp_args += '-DVK_USE_PLATFORM_DISPLAY_KHR'
446 c_args += '-DVK_USE_PLATFORM_MACOS_MVK'
447 cpp_args += '-DVK_USE_PLATFORM_MACOS_MVK'
448 c_args += '-DVK_USE_PLATFORM_METAL_EXT'
449 cpp_args += '-DVK_USE_PLATFORM_METAL_EXT'
451 c_args += '-DVK_ENABLE_BETA_EXTENSIONS'
452 cpp_args += '-DVK_ENABLE_BETA_EXTENSIONS'
473 error('EGL requires shared-glapi')
490 egl_native_platform = get_option('egl-native-platform')
497 error('-Degl-native-platform does not specify an enabled platform')
505 pre_args += '-DHAVE_@0@_PLATFORM'.format(platform.to_upper())
508 if with_platform_android and get_option('platform-sdk-version') >= 29
512 c_args += '-fno-emulated-tls'
513 cpp_args += '-fno-emulated-tls'
516 # -mtls-dialect=gnu2 speeds up non-initial-exec TLS significantly but requires
520 if c_arg.startswith('-mtls-dialect=')
527 # cross-compiling, but because this is just an optimization we can skip it
529 warning('cannot auto-detect -mtls-dialect when cross-compiling, using compiler default')
531 # -fpic to force dynamic tls, otherwise TLS relaxation defeats check
533 args: ['-mtls-dialect=gnu2', '-fpic'],
534 name: '-mtls-dialect=gnu2')
536 # check for lld 13 bug: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5665
538 … # get_linker_id misses LDFLAGS=-fuse-ld=lld: https://github.com/mesonbuild/meson/issues/6377
545 c_args += '-mtls-dialect=gnu2'
546 cpp_args += '-mtls-dialect=gnu2'
564 error('dri based GLX requires shared-glapi')
570 glvnd_vendor_name = get_option('glvnd-vendor-name')
579 if get_option('egl-lib-suffix') != ''
620 dep_dxheaders = dependency('directx-headers', required : false)
622 dep_dxheaders = dependency('DirectX-Headers',
624 fallback : ['DirectX-Headers', 'dep_dxheaders'],
630 _with_gallium_d3d12_video = get_option('gallium-d3d12-video')
634 pre_args += '-DHAVE_GALLIUM_D3D12_VIDEO'
637 _vdpau = get_option('gallium-vdpau')
640 warning('gallium-vdpau option "true" deprecated, please use "enabled" instead.')
643 warning('gallium-vdpau option "false" deprecated, please use "disabled" instead.')
647 error('VDPAU state tracker can only be build on unix-like OSes.')
660 …ollowing gallium drivers: r300, r600, radeonsi, nouveau, d3d12 (with option gallium-d3d12-video).')
676 pre_args += '-DHAVE_ST_VDPAU'
678 vdpau_drivers_path = get_option('vdpau-libs-path')
685 if run_command(prog_glslang, [ '--quiet', '--version' ], check : false).returncode() == 0
686 glslang_quiet = ['--quiet']
692 _xvmc = get_option('gallium-xvmc')
695 warning('gallium-xvmc option "true" deprecated, please use "enabled" instead.')
698 warning('gallium-xvmc option "false" deprecated, please use "disabled" instead.')
702 error('XVMC state tracker can only be build on unix-like OSes.')
728 xvmc_drivers_path = get_option('xvmc-libs-path')
733 _omx = get_option('gallium-omx')
738 error('OMX state tracker can only be built on unix-like OSes.')
752 'libomxil-bellagio', required : _omx == 'bellagio'
772 error('OMX-Tizonia state tracker requires dri and egl')
782 '-DENABLE_ST_OMX_BELLAGIO=' + (with_gallium_omx == 'bellagio' ? '1' : '0'),
783 '-DENABLE_ST_OMX_TIZONIA=' + (with_gallium_omx == 'tizonia' ? '1' : '0'),
787 omx_drivers_path = get_option('omx-libs-path')
813 _va = get_option('gallium-va')
816 warning('gallium-va option "true" deprecated, please use "enabled" instead.')
819 warning('gallium-va option "false" deprecated, please use "disabled" instead.')
823 error('VA state tracker can only be built on unix-like OSes.')
829 … the following gallium drivers: r600, radeonsi, nouveau, d3d12 (with option gallium-d3d12-video).')
843 pre_args += '-DHAVE_VA_SURFACE_ATTRIB_DRM_FORMAT_MODIFIERS'
848 va_drivers_path = get_option('va-libs-path')
853 _xa = get_option('gallium-xa')
856 warning('gallium-xa option "true" deprecated, please use "enabled" instead.')
859 warning('gallium-xa option "false" deprecated, please use "disabled" instead.')
863 error('XA state tracker can only be built on unix-like OSes.')
877 d3d_drivers_path = get_option('d3d-drivers-path')
882 with_gallium_st_nine = get_option('gallium-nine')
889 error('The nine state tracker requires at least one non-swrast gallium driver.')
895 with_gallium_st_d3d10umd = get_option('gallium-d3d10umd')
922 args : '-mpower8-vector',
924 pre_args += ['-D_ARCH_PWR8', '-mpower8-vector']
931 if get_option('vmware-mks-stats')
933 error('vmware-mks-stats requires gallium VMware/svga driver.')
935 pre_args += '-DVMX86_STATS=1'
938 _opencl = get_option('gallium-opencl')
963 if with_glx == 'xlib' or with_glx == 'gallium-xlib'
964 pre_args += '-DUSE_XSHM'
966 pre_args += '-DGLX_INDIRECT_RENDERING'
968 pre_args += '-DGLX_DIRECT_RENDERING'
971 pre_args += '-DGLX_USE_DRM'
973 pre_args += '-DGLX_USE_APPLEGL'
975 pre_args += '-DGLX_USE_WINDOWSGL'
979 pre_args += '-DEGL_NO_X11'
980 gl_pkgconfig_c_flags += '-DEGL_NO_X11'
983 with_android_stub = get_option('android-stub')
985 error('`-D android-stub=true` makes no sense without `-D platforms=android`')
997 if get_option('platform-sdk-version') >= 26
1000 if get_option('platform-sdk-version') >= 30
1005 '-DANDROID',
1006 '-DANDROID_API_LEVEL=' + get_option('platform-sdk-version').to_string()
1011 pre_args += '-DHAVE_OHOS_PLATFORM'
1016 c_args += '-I../ohos'
1023 prog_python, '-c',
1039 pre_args += '-DETIME=ETIMEDOUT'
1044 pre_args += '-DDEBUG'
1048 _shader_cache = get_option('shader-cache')
1062 pre_args += '-DENABLE_SHADER_CACHE'
1063 if not get_option('shader-cache-default')
1064 pre_args += '-DSHADER_CACHE_DISABLE_BY_DEFAULT'
1071 shader_cache_max_size = get_option('shader-cache-max-size')
1073 pre_args += '-DMESA_SHADER_CACHE_MAX_SIZE="@0@"'.format(shader_cache_max_size)
1081 pre_args += '-DHAVE___BUILTIN_@0@'.format(b.to_upper())
1091 pre_args += '-DHAVE_FUNC_ATTRIBUTE_@0@'.format(a.to_upper())
1094 pre_args += '-DHAVE_FUNC_ATTRIBUTE_VISIBILITY'
1098 pre_args += '-DHAVE_UINT128'
1102 pre_args += '-DHAVE_REALLOCARRAY'
1107 pre_args += '-D_GNU_SOURCE'
1109 pre_args += '-D__EXTENSIONS__'
1112 '-D_WINDOWS', '-D_WIN32_WINNT=0x0A00', '-DWINVER=0x0A00',
1113 '-DPIPE_SUBSYSTEM_WINDOWS_USER',
1114 '-D_USE_MATH_DEFINES', # XXX: scons didn't use this for mingw
1118 '-DVC_EXTRALEAN',
1119 '-D_CRT_SECURE_NO_WARNINGS',
1120 '-D_CRT_SECURE_NO_DEPRECATE',
1121 '-D_SCL_SECURE_NO_WARNINGS',
1122 '-D_SCL_SECURE_NO_DEPRECATE',
1123 '-D_ALLOW_KEYWORD_MACROS',
1124 '-D_HAS_EXCEPTIONS=0', # Tell C++ STL to not use exceptions
1125 '-DNOMINMAX',
1138 pre_args += ['-D__MSVCRT_VERSION__=0x0700']
1142 pre_args += '-D_ISOC11_SOURCE'
1152 '/wd4056', # overflow in floating-point constant arithmetic
1162 '/wd4200', # nonstandard extension used: zero-sized array in struct/union
1163 '/wd4624', # destructor was implicitly defined as deleted [from LLVM]
1175 '-Werror=implicit-function-declaration',
1176 '-Werror=missing-prototypes',
1177 '-Werror=return-type',
1178 '-Werror=empty-body',
1179 '-Werror=incompatible-pointer-types',
1180 '-Werror=int-conversion',
1181 '-Wimplicit-fallthrough',
1182 '-Wno-missing-field-initializers',
1183 '-Wno-format-truncation',
1184 '-fno-math-errno',
1185 '-fno-trapping-math',
1186 '-Qunused-arguments',
1187 '-fno-common',
1189 '-Wno-microsoft-enum-value',
1190 '-Wno-unused-function',
1193 '-Werror=return-type',
1194 '-Werror=empty-body',
1195 '-Wno-non-virtual-dtor',
1196 '-Wno-missing-field-initializers',
1197 '-Wno-format-truncation',
1198 '-fno-math-errno',
1199 '-fno-trapping-math',
1200 '-Qunused-arguments',
1202 # gcc does aggressive dead-store elimination which threats all writes
1205 '-flifetime-dse=1',
1207 '-Wno-microsoft-enum-value',
1212 _trial_c += ['-Werror=format', '-Wformat-security']
1213 _trial_cpp += ['-Werror=format', '-Wformat-security']
1218 _trial_c += ['-Werror=thread-safety']
1223 # drop shared code unused by that specific driver (particularly
1225 if cc.has_link_argument('-Wl,--gc-sections')
1226 _trial_c += ['-ffunction-sections', '-fdata-sections']
1227 _trial_cpp += ['-ffunction-sections', '-fdata-sections']
1231 # builds. Don't treat this as an error, since we build with -Werror even for
1234 _trial_c += ['-Wno-unused-variable', '-Wno-unused-but-set-variable']
1235 _trial_cpp += ['-Wno-unused-variable', '-Wno-unused-but-set-variable']
1242 ['-Wno-override-init', '-Wno-initializer-overrides']
1248 _trial_msvc = ['-Werror=pointer-arith', '-Werror=vla', '-Werror=gnu-empty-initializer']
1271 '-Wl,--nxcompat',
1272 '-Wl,--dynamicbase',
1273 '-static-libgcc',
1274 '-static-libstdc++',
1280 '-Wl,--nxcompat',
1281 '-Wl,--dynamicbase',
1282 '-static-libgcc',
1283 '-static-libstdc++',
1291 pre_args += '-DUSE_SSE41'
1293 sse41_args = ['-msse4.1']
1301 # produce shared objects, and have no control over the stack
1303 # -mstackrealign or -mincoming-stack-boundary=2.
1305 # XXX: We could have SSE without -mstackrealign if we always used
1308 c_args += ['-msse2', '-mfpmath=sse', '-mstackrealign']
1310 # GCC on x86 (not x86_64) with -msse* assumes a 16 byte aligned stack, but
1312 sse41_args += '-mstackrealign'
1333 pre_args += '-DUSE_GCC_ATOMIC_BUILTINS'
1335 # Not all atomic calls can be turned into lock-free instructions, in which
1337 # link with -latomic.
1339 # This can happen for 64-bit atomic operations on 32-bit architectures such
1349 name : 'GCC atomic builtins required -latomic')
1360 pre_args += '-DMISSING_64BIT_ATOMICS'
1365 # TODO: shared/static? Is this even worth doing?
1371 pre_args += ['-DUSE_X86_ASM', '-DUSE_MMX_ASM', '-DUSE_3DNOW_ASM',
1372 '-DUSE_SSE_ASM']
1375 pre_args += ['-DGLX_X86_READONLY_TEXT']
1381 pre_args += ['-DUSE_X86_64_ASM']
1386 pre_args += ['-DUSE_ARM_ASM']
1391 pre_args += ['-DUSE_AARCH64_ASM']
1396 pre_args += ['-DUSE_SPARC_ASM']
1401 pre_args += ['-DUSE_PPC64LE_ASM']
1406 pre_args += ['-DUSE_MIPS64EL_ASM']
1414 pre_args += '-DMAJOR_IN_SYSMACROS'
1419 pre_args += '-DMAJOR_IN_MKDEV'
1423 pre_args += '-DHAS_SCHED_H'
1425 pre_args += '-DHAS_SCHED_GETAFFINITY'
1432 pre_args += '-DHAVE_SYS_SYSCTL_H'
1438 pre_args += '-DHAVE_@0@'.format(h.to_upper().underscorify())
1457 pre_args += '-DHAVE_@0@'.format(f.to_upper())
1462 pre_args += '-DHAVE_STRUCT_TIMESPEC'
1469 pre_args += '-DHAVE_THRD_CREATE'
1475 args : '-D_GNU_SOURCE')
1476 pre_args += '-DHAVE_PROGRAM_INVOCATION_NAME'
1482 args : '-D_GNU_SOURCE')
1483 pre_args += '-DHAVE_ISSIGNALING'
1489 # non-windows platforms.
1492 pre_args += '-DHAVE_POSIX_MEMALIGN'
1498 pre_args += '-DHAVE_DIRENT_D_TYPE'
1520 pre_args += '-DHAVE_STRTOD_L'
1525 if cc.links('int main() { return 0; }', args : '-Wl,-Bsymbolic', name : 'Bsymbolic')
1526 ld_args_bsymbolic += '-Wl,-Bsymbolic'
1530 args : '-Wl,--gc-sections', name : 'gc-sections')
1531 ld_args_gc_sections += '-Wl,--gc-sections'
1535 args : '-Wl,--version-script=@0@'.format(
1536 join_paths(meson.source_root(), 'build-support/conftest.map')),
1537 name : 'version-script')
1542 args : '-Wl,--dynamic-list=@0@'.format(
1543 join_paths(meson.source_root(), 'build-support/conftest.dyn')),
1544 name : 'dynamic-list')
1548 ld_args_build_id = cc.get_supported_link_arguments('-Wl,--build-id=sha1')
1558 pre_args += '-DHAVE_DLADDR'
1563 pre_args += '-DHAVE_DL_ITERATE_PHDR'
1579 pre_args += '-DHAVE_ZLIB'
1593 pre_args += '-DHAVE_ZSTD'
1601 pre_args += '-DHAVE_COMPRESSION'
1608 pre_args += '-DHAVE_PTHREAD'
1613 args : '-D_GNU_SOURCE')
1614 pre_args += '-DHAVE_PTHREAD_SETAFFINITY'
1632 dep_regex = declare_dependency(compile_args : ['-DNO_REGEX'])
1644 if (get_option('min-windows-version') < 8)
1645 pre_args += '-DWINDOWS_NO_FUTEX'
1708 pre_args += '-DHAVE_LIBDRM'
1715 pre_args += '-DHAVE_DRI'
1718 pre_args += '-DHAVE_DRI2'
1721 pre_args += '-DHAVE_DRISW_KMS'
1726 pre_args += '-DHAVE_LIBUDEV'
1742 llvm_optional_modules += ['all-targets', 'frontendopenmp']
1746 llvm_optional_modules += ['all-targets']
1748 draw_with_llvm = get_option('draw-use-llvm')
1763 _shared_llvm = get_option('shared-llvm')
1776 _llvm = get_option('llvm')
1779 warning('llvm option "true" deprecated, please use "enabled" instead.')
1782 warning('llvm option "false" deprecated, please use "disabled" instead.')
1786 # want to link dynamically. Before 0.54.0 meson will try cmake even when shared
1787 # linking is requested, so we need to force the config-tool method to be used
1788 # in that case, but in 0.54.0 meson won't try the cmake method if shared
1792 _llvm_method = 'config-tool'
1799 'llvm',
1809 fallback : ['llvm', 'dep_llvm'],
1815 pre_args += '-DLLVM_AVAILABLE'
1816 pre_args += '-DMESA_LLVM_VERSION_STRING="@0@"'.format(dep_llvm.version())
1817 pre_args += '-DLLVM_IS_SHARED=@0@'.format(_shared_llvm.to_int())
1820 pre_args += '-DDRAW_LLVM_AVAILABLE'
1822 error('Lavapipe requires LLVM draw support.')
1826 # LLVM can be built without rtti, turning off rtti changes the ABI of C++
1831 _llvm_rtti = subproject('llvm').get_variable('has_rtti', true) project
1833 # The CMake finder will return 'ON', the llvm-config will return 'YES'
1834 …= ['ON', 'YES'].contains(dep_llvm.get_variable(cmake : 'LLVM_ENABLE_RTTI', configtool: 'has-rtti'))
1838 …error('LLVM was built with RTTI, cannot build Mesa with RTTI disabled. Remove cpp_rtti disable swi…
1840 …error('LLVM was built without RTTI, so Mesa must also disable RTTI. Use an LLVM built with LLVM_EN…
1846 # Suppress "/DELAYLOAD:ole32.dll/shell32.dll ignored" warnings that LLVM adds
1853 error('ACO tests require LLVM, but LLVM is disabled.')
1855 …error('The following drivers require LLVM: RadeonSI, SWR, Lavapipe. One of these is enabled, but L…
1857 error('The OpenCL "Clover" state tracker requires LLVM, but LLVM is disabled.')
1859 error('The CLC compiler requires LLVM, but LLVM is disabled.')
1864 with_opencl_spirv = (_opencl != 'disabled' and get_option('opencl-spirv')) or with_clc
1870 # Require an SPIRV-LLVM-Translator version compatible with the chosen LLVM
1873 # This first version check is still needed as maybe LLVM 8.0 was picked but
1874 # we do not want to accept SPIRV-LLVM-Translator 8.0.0.1 as that version does
1881 dep_spirv_tools = dependency('SPIRV-Tools', required : true, version : '>= 2018.0')
1882 # LLVMSPIRVLib is available at https://github.com/KhronosGroup/SPIRV-LLVM-Translator
1893 dep_clang = cpp.find_library('clang-cpp', dirs : llvm_libdir, required : false)
1917 with_opencl_native = _opencl != 'disabled' and get_option('opencl-native')
1933 pre_args += '-DUSE_LIBGLVND=1'
1947 pre_args += '-DHAVE_VALGRIND'
1957 asan_c_args = ['-DBUILT_WITH_ASAN=1']
1959 asan_c_args = ['-DBUILT_WITH_ASAN=0']
1972 prog_flex = [prog_flex, '--wincompat']
1978 prog_flex += '-DYY_USE_CONST='
1985 prog_flex_cpp += '-D__STDC_VERSION__=199901'
2000 # old-bison compat. See discussion in
2003 prog_bison = [prog_bison, '-Wno-deprecated']
2016 pre_args += '-DMESA_SELINUX'
2020 pre_args += '-DMESA_EXECMEM'
2038 pre_args += '-DHAVE_LIBUNWIND'
2053 osmesa_bits = get_option('osmesa-bits')
2055 warning('osmesa-bits option is deprecated and have no effect, please remove it.')
2062 dep_wl_scanner = dependency('wayland-scanner', native: true)
2065 wl_scanner_arg = 'private-code'
2069 dep_wl_protocols = dependency('wayland-protocols', version : '>= 1.24')
2070 dep_wayland_client = dependency('wayland-client', version : '>=1.18')
2071 dep_wayland_server = dependency('wayland-server', version : '>=1.18')
2073 dep_wayland_egl = dependency('wayland-egl-backend', version : '>= 3')
2078 'linux-dmabuf', 'linux-dmabuf-unstable-v1.xml'
2080 pre_args += '-DWL_HIDE_DEPRECATED'
2108 pre_args += ['-DHAVE_OPENMP']
2113 if with_glx == 'xlib' or with_glx == 'gallium-xlib'
2121 dep_xcb_glx = dependency('xcb-glx', version : '>= 1.8.1')
2122 dep_xcb_shm = dependency('xcb-shm')
2128 dep_x11_xcb = dependency('x11-xcb')
2134 dep_xcb_dri2 = dependency('xcb-dri2', version : '>= 1.8')
2137 pre_args += '-DHAVE_DRI3'
2138 dep_xcb_dri3 = dependency('xcb-dri3')
2139 dep_xcb_present = dependency('xcb-present')
2140 # until xcb-dri3 has been around long enough to make a hard-dependency:
2143 pre_args += '-DHAVE_DRI3_MODIFIERS'
2145 dep_xcb_shm = dependency('xcb-shm')
2146 dep_xcb_sync = dependency('xcb-sync')
2150 if with_glx == 'dri' or with_glx == 'xlib' or with_glx == 'gallium-xlib'
2165 dep_xcb_xfixes = dependency('xcb-xfixes')
2168 dep_xcb_xrandr = dependency('xcb-randr')
2175 if get_option('gallium-extra-hud')
2176 pre_args += '-DHAVE_GALLIUM_EXTRA_HUD=1'
2190 pre_args += '-DHAVE_LIBSENSORS=1'
2196 _shader_replacement = get_option('custom-shader-replacement')
2199 pre_args += '-DCUSTOM_SHADER_REPLACEMENT'
2207 pre_args += '-DHAVE_PERFETTO'
2216 if with_glx == 'xlib' or with_glx == 'gallium-xlib'
2220 'x11', 'xext', 'xfixes', 'x11-xcb', 'xcb',
2221 'xcb-glx >= 1.8.1']
2223 gl_priv_reqs += 'xcb-dri2 >= 1.8'
2235 gl_priv_libs += ['-lpthread', '-pthread']
2238 gl_priv_libs += '-lm'
2241 gl_priv_libs += '-ldl'
2247 gbm_priv_libs += '-ldl'
2256 symbols_check_args = ['--dumpbin', prog_dumpbin.path()]
2261 symbols_check_args = ['--nm', prog_nm.path()]
2266 gcc_lto_quirk = (cc.get_id() == 'gcc') ? ['-fno-lto'] : []
2309 lines += 'GLX: DRI-based'
2311 lines += 'GLX: Xlib-based'
2348 lines += 'Vulkan layers: ' + ' '.join(get_option('vulkan-layers'))
2356 lines += 'llvm: yes'
2357 lines += 'llvm-version: ' + dep_llvm.version()
2359 lines += 'llvm: no'
2395 lines += 'Shared-glapi: ' + (with_shared_glapi ? 'yes' : 'no')