Added #defines to enable SUSv2 compatibility where available and
to switch on support for BSD and SysV on platforms which use glibc
such as Linux.

These #defines are documented in e.g. the file /usr/include/features.h
on Linux platforms and the SUSv2 docs.
diff --git a/Include/Python.h b/Include/Python.h
index b3b07e0..e17abeb 100644
--- a/Include/Python.h
+++ b/Include/Python.h
@@ -12,6 +12,16 @@
 redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 ******************************************************************/
 
+/* Enable compiler features including SUSv2 compatibility; switching
+   on C lib defines doesn't work here, because the symbols haven't
+   necessarily been defined yet. */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE	1
+#endif
+#ifndef _XOPEN_SOURCE
+# define _XOPEN_SOURCE	500
+#endif
+
 /* Include nearly all Python header files */
 
 #include "patchlevel.h"