From: Eric Engestrom Date: Sat, 14 Sep 2019 21:18:32 +0000 (+0100) Subject: meson: fix sys/mkdev.h detection on Solaris X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6f26eae077af2b4e1f51e9a9524617937afc8e36;p=mesa.git meson: fix sys/mkdev.h detection on Solaris On Solaris, sys/sysmacros.h has long-deprecated copies of major() & minor() but not makedev(). sys/mkdev.h has all three and is the preferred choice. Let's make sure we check for all 3 major(), minor() and makedev(). Reported-by: Alan Coopersmith Signed-off-by: Eric Engestrom Reviewed-by: Alan Coopersmith Tested-by: Alan Coopersmith --- diff --git a/meson.build b/meson.build index 8f30a94ed8d..20c40f1d221 100644 --- a/meson.build +++ b/meson.build @@ -1052,9 +1052,14 @@ elif host_machine.cpu_family().startswith('ppc64') and host_machine.endian() == endif # Check for standard headers and functions -if cc.has_header_symbol('sys/sysmacros.h', 'major') +if (cc.has_header_symbol('sys/sysmacros.h', 'major') and + cc.has_header_symbol('sys/sysmacros.h', 'minor') and + cc.has_header_symbol('sys/sysmacros.h', 'makedev')) pre_args += '-DMAJOR_IN_SYSMACROS' -elif cc.has_header_symbol('sys/mkdev.h', 'major') +endif +if (cc.has_header_symbol('sys/mkdev.h', 'major') and + cc.has_header_symbol('sys/mkdev.h', 'minor') and + cc.has_header_symbol('sys/mkdev.h', 'makedev')) pre_args += '-DMAJOR_IN_MKDEV' endif