# shared-glapi is required if at least two OpenGL APIs are being built
if not with_shared_glapi
- if ((with_gles1 == 'true' and with_gles2 == 'true') or
+ if ((with_gles1 == 'true' and with_gles2 == 'true') or
(with_gles1 == 'true' and with_opengl) or
(with_gles2 == 'true' and with_opengl))
error('shared-glapi required for building two or more of OpenGL, OpenGL ES 1.x, OpenGL ES 2.x')
if with_glx != 'disabled'
if not (with_platform_x11 and with_any_opengl)
error('Cannot build GLX support without X11 platform support and at least one OpenGL API')
- elif with_glx == 'gallium-xlib'
+ elif with_glx == 'gallium-xlib'
if not with_gallium
error('Gallium-xlib based GLX requires at least one gallium driver')
elif not with_gallium_softpipe
elif with_dri
error('gallium-xlib conflicts with any dri driver')
endif
- elif with_glx == 'xlib'
+ elif with_glx == 'xlib'
if with_dri
error('xlib conflicts with any dri driver')
endif
# Check for generic C arguments
c_args = []
foreach a : ['-Werror=implicit-function-declaration',
- '-Werror=missing-prototypes', '-Werror=return-type',
+ '-Werror=missing-prototypes',
+ '-Werror=return-type',
'-Werror=incompatible-pointer-types',
'-Werror=format',
'-Wformat-security',
+ '-Wno-missing-field-initializers',
+ '-Wno-format-truncation',
'-fno-math-errno',
- '-fno-trapping-math', '-Qunused-arguments']
+ '-fno-trapping-math',
+ '-Qunused-arguments']
if cc.has_argument(a)
c_args += a
endif
endforeach
-foreach a : ['missing-field-initializers', 'format-truncation']
- if cc.has_argument('-W' + a)
- c_args += '-Wno-' + a
- endif
-endforeach
-
c_vis_args = []
if cc.has_argument('-fvisibility=hidden')
c_vis_args += '-fvisibility=hidden'
foreach a : ['-Werror=return-type',
'-Werror=format',
'-Wformat-security',
- '-fno-math-errno', '-fno-trapping-math',
+ '-Wno-non-virtual-dtor',
+ '-Wno-missing-field-initializers',
+ '-Wno-format-truncation',
+ '-fno-math-errno',
+ '-fno-trapping-math',
'-Qunused-arguments']
if cpp.has_argument(a)
cpp_args += a
endif
endforeach
-# For some reason, the test for -Wno-foo always succeeds with gcc, even if the
-# option is not supported. Hence, check for -Wfoo instead.
-
-foreach a : ['non-virtual-dtor', 'missing-field-initializers', 'format-truncation']
- if cpp.has_argument('-W' + a)
- cpp_args += '-Wno-' + a
- endif
-endforeach
-
no_override_init_args = []
-foreach a : ['override-init', 'initializer-overrides']
- if cc.has_argument('-W' + a)
- no_override_init_args += '-Wno-' + a
+foreach a : ['-Wno-override-init',
+ '-Wno-initializer-overrides']
+ if cc.has_argument(a)
+ no_override_init_args += a
endif
endforeach
endif
dep_glvnd = null_dep
+glvnd_missing_pc_files = false
if with_glvnd
dep_glvnd = dependency('libglvnd', version : '>= 0.2.0')
+ # GLVND until commit 0dfaea2bcb7cdcc785f9 ("Add pkg-config files for EGL, GL,
+ # GLES, and GLX.") was missing its pkg-config files, forcing every vendor to
+ # provide them and the distro maintainers to resolve the conflict.
+ glvnd_missing_pc_files = dep_glvnd.version().version_compare('< 1.2.0')
pre_args += '-DUSE_LIBGLVND=1'
endif
if with_glx == 'dri' or with_glx == 'gallium-xlib'
dep_glproto = dependency('glproto', version : '>= 1.4.14')
endif
- if with_glx == 'dri'
+ if with_glx == 'dri'
if with_dri_platform == 'drm'
dep_dri2proto = dependency('dri2proto', version : '>= 2.8')
dep_xxf86vm = dependency('xxf86vm')