meson: fix warnings about comparing unlike types
authorDylan Baker <dylan@pnwbakers.com>
Thu, 15 Mar 2018 20:30:22 +0000 (13:30 -0700)
committerDylan Baker <dylan@pnwbakers.com>
Fri, 6 Apr 2018 22:29:53 +0000 (15:29 -0700)
commitb5f92b6fd4e4ef0358fe464d951893de20048bf6
treeb701b8208feac6431e752911020a6e2c93eeb656
parent81ed629b385af62bbac2d7975986ea7ad4ed2d1a
meson: fix warnings about comparing unlike types

In the old days (0.42.x), when mesa's meson system was written the
recommendation for handling conditional dependencies was to define them
as empty lists. When meson would evaluate the dependencies of a target
it would recursively flatten all of the arguments, and empty lists would
be removed. There are some problems with this, among them that lists and
dependencies have different methods (namely .found()), so the
recommendation changed to use `dependency('', required : false)` for
such cases.  This has the advantage of providing a .found() method, so
there is no need to do things like `dep_foo != [] and dep_foo.found()`,
such a dependency should never exist.

I've tested this with 0.42 (the minimum we claim to support) and 0.45.
On 0.45 this removes warnings about comparing unlike types, such as:

meson.build:1337: WARNING: Trying to compare values of different types
(DependencyHolder, list) using !=.

v2: - Use dependency('', required : false) instead of
      declare_dependency(), the later will always report that it is
      found, which is not what we want.

Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
meson.build
src/gallium/auxiliary/meson.build
src/glx/apple/meson.build
src/glx/meson.build