On 9/10/19 5:55 AM, Eric Engestrom wrote:
On Monday, 2019-09-09 16:51:16 -0700, Alan Coopersmith wrote:
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.

So we check for sys/mkdev.h first, as autoconf's AC_HEADER_MAJOR does.

Reviewed-by: Eric Engestrom <eric.engest...@intel.com>

Alternatively, how about this?
---8<---
diff --git a/meson.build b/meson.build
index bc5cfc588d0c621a9725..263f691ab2b9107f5be1 100644
--- a/meson.build
+++ b/meson.build
@@ -183,9 +183,14 @@ foreach header : ['sys/sysctl.h', 'sys/select.h', 
'alloca.h']
    config.set('HAVE_' + header.underscorify().to_upper(),
      cc.compiles('#include <@0@>'.format(header), name : '@0@ 
works'.format(header)))
  endforeach
-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'))
    config.set10('MAJOR_IN_SYSMACROS', true)
-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'))
    config.set10('MAJOR_IN_MKDEV', true)
  endif
  config.set10('HAVE_OPEN_MEMSTREAM', cc.has_function('open_memstream'))
--->8---

Makes both checks independent and represent the reality of what's wanted
more accurately (despite the historical name of the macro).

That works:

Header <sys/sysmacros.h> has symbol "major" : YES (cached)
Header <sys/sysmacros.h> has symbol "minor" : YES
Header <sys/sysmacros.h> has symbol "makedev" : NO
Header <sys/mkdev.h> has symbol "major" : YES
Header <sys/mkdev.h> has symbol "minor" : YES
Header <sys/mkdev.h> has symbol "makedev" : YES

Would you like me to resubmit with that, or do you want to submit it?

If you want to go ahead, then:

Reviewed-by: Alan Coopersmith <alan.coopersm...@oracle.com>
Tested-by: Alan Coopersmith <alan.coopersm...@oracle.com>

--
        -Alan Coopersmith-               alan.coopersm...@oracle.com
         Oracle Solaris Engineering - https://blogs.oracle.com/alanc
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to