Jonathan Giddy notes, and Chris Lawrence agrees, that some comments on
#else/#endif are wrong, and that #if HAVE_TM_ZONE should be #ifdef.
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 174b7a8..bd6d727 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -634,8 +634,8 @@
#endif
ins(d, "daylight", PyInt_FromLong((long)daylight));
ins(d, "tzname", Py_BuildValue("(zz)", tzname[0], tzname[1]));
-#else /* !HAVE_TZNAME && !__GNU_LIBRARY__ */
-#if HAVE_TM_ZONE
+#else /* !HAVE_TZNAME || __GNU_LIBRARY__ */
+#ifdef HAVE_TM_ZONE
{
#define YEAR ((time_t)((365 * 24 + 6) * 3600))
time_t t;
@@ -683,7 +683,7 @@
ins(d, "tzname", Py_BuildValue("(zz)", "", ""));
#endif /* macintosh */
#endif /* HAVE_TM_ZONE */
-#endif /* !HAVE_TZNAME */
+#endif /* !HAVE_TZNAME || __GNU_LIBRARY__ */
if (PyErr_Occurred())
Py_FatalError("Can't initialize time module");
}