Test for __sun instead of __sun__, since SUNWspro only defines the latter;
gcc defines both.
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
index a56a67c..6f79aa0 100644
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
@@ -118,7 +118,7 @@
 #include <term.h>
 #endif
 
-#if defined(sgi) || defined(__sun__)
+#if defined(sgi) || defined(__sun)
 #define STRICT_SYSV_CURSES       /* Don't use ncurses extensions */
 typedef chtype attr_t;           /* No attr_t type is available */
 #endif
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 2ca99c9..053d2ba 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -94,7 +94,7 @@
 #ifdef HAVE_GETHOSTBYNAME_R
 #if defined(_AIX) || defined(__osf__)
 #define HAVE_GETHOSTBYNAME_R_3_ARG
-#elif defined(__sun__) || defined(__sgi)
+#elif defined(__sun) || defined(__sgi)
 #define HAVE_GETHOSTBYNAME_R_5_ARG
 #elif defined(linux)
 /* Rely on the configure script */