Before declaring h_errno, do not check for Win32 only. Instead, do check
whether h_errno is a macro.
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 7fa8264..1c19c28 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -1789,7 +1789,7 @@
 
 	if (h == NULL) {
 		/* Let's get real error message to return */
-#ifndef MS_WIN32
+#ifndef h_errno
 		extern int h_errno;
 #endif
 		PyH_Err(h_errno);