scons: add support for MAJOR_IN_{MKDEV,SYSMACROS}
authorEric Engestrom <eric.engestrom@intel.com>
Thu, 22 Aug 2019 11:12:20 +0000 (12:12 +0100)
committerEric Engestrom <eric.engestrom@intel.com>
Tue, 27 Aug 2019 13:03:46 +0000 (14:03 +0100)
commit239f7f1c0ad7ee8985e62e8d7f84f6834d14f990
tree9f86dad2b087b93e7e9f3b018827aac66d067d49
parent49f5ddd3aeee948db85f2b8e67167753a9d48e56
scons: add support for MAJOR_IN_{MKDEV,SYSMACROS}

src/gallium/winsys/svga/drm/vmw_screen.c: In function ‘vmw_dev_compare’:
src/gallium/winsys/svga/drm/vmw_screen.c:48:12: warning: implicit declaration of function ‘major’ [-Wimplicit-function-declaration]
   48 |    return (major(*(dev_t *)key1) == major(*(dev_t *)key2) &&
      |            ^~~~~
src/gallium/winsys/svga/drm/vmw_screen.c:49:12: warning: implicit declaration of function ‘minor’ [-Wimplicit-function-declaration]
   49 |            minor(*(dev_t *)key1) == minor(*(dev_t *)key2)) ? 0 : 1;
      |            ^~~~~

That file (and many others) already has the proper #include with their
respective guards, but scons wasn't defining them, resulting in implicit
functions being used instead (and an always-true check that's probably
breaking something down the line).

Note that I'm cheating a bit here because Scons doesn't seem to have
a clean way to detect the existence of major() et al. as functions or
macros, so I'm taking the shortcut of just detecting the presence of the
header and assuming its contents is what we expect.

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-By: Jose Fonseca <jfonseca@vmware.com>
scons/gallium.py