with_dri_nouveau = dri_drivers.contains('nouveau')
with_dri_swrast = dri_drivers.contains('swrast')
-with_dri = dri_drivers.length() != 0 and dri_drivers != ['']
+with_dri = dri_drivers.length() != 0
gallium_drivers = get_option('gallium-drivers')
if gallium_drivers.contains('auto')
with_gallium_lima = gallium_drivers.contains('lima')
with_gallium_zink = gallium_drivers.contains('zink')
-with_gallium = gallium_drivers.length() != 0 and gallium_drivers != ['']
+with_gallium = gallium_drivers.length() != 0
if with_gallium and system_has_kms_drm
_glx = get_option('glx')
with_intel_vk = _vulkan_drivers.contains('intel')
with_amd_vk = _vulkan_drivers.contains('amd')
with_freedreno_vk = _vulkan_drivers.contains('freedreno')
-with_any_vk = _vulkan_drivers.length() != 0 and _vulkan_drivers != ['']
+with_any_vk = _vulkan_drivers.length() != 0
if with_dri_swrast and (with_gallium_softpipe or with_gallium_swr)
error('Only one swrast provider can be built')
with_platform_surfaceless = _platforms.contains('surfaceless')
with_platform_windows = _platforms.contains('windows')
-with_platforms = false
-if _platforms.length() != 0 and _platforms != ['']
- # sanity check that list contains no empty strings
- if _platforms.contains('')
- error('Invalid argument list given to -Dplatforms, please fix.')
- endif
- with_platforms = true
+if _platforms.length() != 0
egl_native_platform = _platforms[0]
endif
if _egl == 'auto'
with_egl = (
not ['darwin', 'windows'].contains(host_machine.system()) and
- with_dri and with_shared_glapi and with_platforms
+ with_dri and with_shared_glapi and _platforms.length() != 0
)
elif _egl == 'enabled'
if not with_dri
error('EGL requires dri')
elif not with_shared_glapi
error('EGL requires shared-glapi')
- elif not with_platforms
+ elif _platforms.length() == 0
error('No platforms specified, consider -Dplatforms=drm,x11,surfaceless at least')
elif not ['disabled', 'dri'].contains(with_glx)
error('EGL requires dri, but a GLX is being built without dri')
pre_args += '-DMAJOR_IN_MKDEV'
endif
-foreach h : ['xlocale.h', 'sys/sysctl.h', 'linux/futex.h', 'endian.h', 'dlfcn.h', 'execinfo.h', 'sys/shm.h', 'cet.h']
+if not ['linux'].contains(host_machine.system())
+ # Deprecated on Linux and requires <sys/types.h> on FreeBSD and OpenBSD
+ if cc.check_header('sys/sysctl.h', prefix : '#include <sys/types.h>')
+ pre_args += '-DHAVE_SYS_SYSCTL_H'
+ endif
+endif
+
+foreach h : ['xlocale.h', 'linux/futex.h', 'endian.h', 'dlfcn.h', 'execinfo.h', 'sys/shm.h', 'cet.h']
if cc.check_header(h)
pre_args += '-DHAVE_@0@'.format(h.to_upper().underscorify())
endif
lines += 'EGL drivers: ' + ' '.join(egl_drivers)
endif
lines += 'GBM: ' + (with_gbm ? 'yes' : 'no')
-if with_platforms
+if _platforms.length() != 0
lines += 'EGL/Vulkan/VL platforms: ' + ' '.join(_platforms)
endif