Issue #3928: Support 'os.mknod()' in Solaris
diff --git a/Misc/NEWS b/Misc/NEWS
index d026e36..248d41b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -324,6 +324,8 @@
   http://www.jcea.es/programacion/pybsddb.htm#bsddb3-4.8.4.
   This update drops support for Berkeley DB 4.0, and adds support for 4.8.
 
+- Issue #3928: os.mknod() now available in Solaris, also.
+
 - Issue #8142: Update libffi to the 3.0.9 release.
 
 - Issue #8300: When passing a non-integer argument to struct.pack with any
diff --git a/configure b/configure
index 697df6d..efa6e6b 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 80187 .
+# From configure.in Revision: 80443 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.61 for python 2.7.
 #
@@ -6606,7 +6606,14 @@
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+
+#if defined(MAJOR_IN_MKDEV)
+#include <sys/mkdev.h>
+#elif defined(MAJOR_IN_SYSMACROS)
+#include <sys/sysmacros.h>
+#else
 #include <sys/types.h>
+#endif
 int
 main ()
 {
diff --git a/configure.in b/configure.in
index 63ed01c..d907d4f 100644
--- a/configure.in
+++ b/configure.in
@@ -1373,7 +1373,14 @@
 
 # Check whether using makedev requires defining _OSF_SOURCE
 AC_MSG_CHECKING(for makedev)
-AC_TRY_LINK([#include <sys/types.h> ],
+AC_TRY_LINK([
+#if defined(MAJOR_IN_MKDEV)
+#include <sys/mkdev.h>
+#elif defined(MAJOR_IN_SYSMACROS)
+#include <sys/sysmacros.h>
+#else
+#include <sys/types.h>
+#endif ],
 	    [ makedev(0, 0) ],
 	    ac_cv_has_makedev=yes,
 	    ac_cv_has_makedev=no)