Don't define _XOPEN_SOURCE and _POSIX_C_SOURCE on FreeBSD 5.0. Fixes #636318.
diff --git a/configure b/configure
index 0638270..2b8b404 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 1.367 .
+# From configure.in Revision: 1.368 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.53 for python 2.3.
 #
@@ -1252,28 +1252,8 @@
 _ACEOF
 
 
-# The definition of _GNU_SOURCE potentially causes a change of the value
-# of _XOPEN_SOURCE. So define it only conditionally.
-
-
-
 define_xopen_source=yes
 
-# On Tru64 Unix 4.0F, defining _XOPEN_SOURCE also requires definition
-# of _XOPEN_SOURCE_EXTENDED and _POSIX_C_SOURCE, or else several APIs
-# are not declared. Since this is also needed in some cases for HP-UX,
-# we define it globally.
-
-cat >>confdefs.h <<\_ACEOF
-#define _XOPEN_SOURCE_EXTENDED 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define _POSIX_C_SOURCE 199506L
-_ACEOF
-
-
 # Arguments passed to configure.
 
 CONFIG_ARGS="$ac_configure_args"
@@ -1361,14 +1341,36 @@
   # even though select is a POSIX function. Reported by J. Ribbens.
   OpenBSD/2.* | OpenBSD/3.[012])
     define_xopen_source=no;;
+  # On FreeBSD 5.0, chroot and setgroups are not declared if _XOPEN_SOURCE
+  # is define. Reported by M. Recht.
+  FreeBSD/5.0*)
+    define_xopen_source=no;;
 esac
 
 if test $define_xopen_source = yes
 then
-  cat >>confdefs.h <<\_ACEOF
-#define _XOPEN_SOURCE 500
+
+cat >>confdefs.h <<\_ACEOF
+#define _XOPEN_SOURCE 600
 _ACEOF
 
+
+  # On Tru64 Unix 4.0F, defining _XOPEN_SOURCE also requires
+  # definition of _XOPEN_SOURCE_EXTENDED and _POSIX_C_SOURCE, or else
+  # several APIs are not declared. Since this is also needed in some
+  # cases for HP-UX, we define it globally.
+
+
+cat >>confdefs.h <<\_ACEOF
+#define _XOPEN_SOURCE_EXTENDED 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define _POSIX_C_SOURCE 200112L
+_ACEOF
+
+
 fi
 
 #
diff --git a/configure.in b/configure.in
index 2bfe8c3..76061d1 100644
--- a/configure.in
+++ b/configure.in
@@ -34,23 +34,8 @@
 # on Linux, so we need _GNU_SOURCE to re-enable them (makedev, tm_zone).
 AC_DEFINE(_GNU_SOURCE, 1, [Define on Linux to activate all library features])
 
-# The definition of _GNU_SOURCE potentially causes a change of the value
-# of _XOPEN_SOURCE. So define it only conditionally.
-AH_VERBATIM([_XOPEN_SOURCE],
-[/* Define on UNIX to activate XPG/5 features.  */
-#ifndef _XOPEN_SOURCE
-# undef _XOPEN_SOURCE
-#endif])
-
 define_xopen_source=yes
 
-# On Tru64 Unix 4.0F, defining _XOPEN_SOURCE also requires definition
-# of _XOPEN_SOURCE_EXTENDED and _POSIX_C_SOURCE, or else several APIs
-# are not declared. Since this is also needed in some cases for HP-UX,
-# we define it globally.
-AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Define to activate Unix95-and-earlier features)
-AC_DEFINE(_POSIX_C_SOURCE, 199506L, Define to activate features from IEEE Stds 1003.{123}-1995)
-
 # Arguments passed to configure.
 AC_SUBST(CONFIG_ARGS)
 CONFIG_ARGS="$ac_configure_args"
@@ -135,11 +120,25 @@
   # even though select is a POSIX function. Reported by J. Ribbens.
   OpenBSD/2.* | OpenBSD/3.@<:@012@:>@) 
     define_xopen_source=no;;
+  # On FreeBSD 5.0, chroot and setgroups are not declared if _XOPEN_SOURCE
+  # is define. Reported by M. Recht.
+  FreeBSD/5.0*)
+    define_xopen_source=no;;
 esac
 
 if test $define_xopen_source = yes
 then
-  AC_DEFINE(_XOPEN_SOURCE, 500)
+  AC_DEFINE(_XOPEN_SOURCE, 600, 
+            Define to the level of X/Open that your system supports)
+
+  # On Tru64 Unix 4.0F, defining _XOPEN_SOURCE also requires
+  # definition of _XOPEN_SOURCE_EXTENDED and _POSIX_C_SOURCE, or else
+  # several APIs are not declared. Since this is also needed in some
+  # cases for HP-UX, we define it globally.
+  
+  AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Define to activate Unix95-and-earlier features)
+  AC_DEFINE(_POSIX_C_SOURCE, 200112L, Define to activate features from IEEE Stds 1003.1-2001)
+
 fi
 
 #
diff --git a/pyconfig.h.in b/pyconfig.h.in
index e612494..19a0ab2 100644
--- a/pyconfig.h.in
+++ b/pyconfig.h.in
@@ -790,7 +790,7 @@
    this defined. */
 #undef _POSIX_1_SOURCE
 
-/* Define to activate features from IEEE Stds 1003.{123}-1995 */
+/* Define to activate features from IEEE Stds 1003.1-2001 */
 #undef _POSIX_C_SOURCE
 
 /* Define to 1 if you need to in order for `stat' and other things to work. */
@@ -802,10 +802,8 @@
 /* Define to force use of thread-safe errno, h_errno, and other functions */
 #undef _REENTRANT
 
-/* Define on UNIX to activate XPG/5 features.  */
-#ifndef _XOPEN_SOURCE
-# undef _XOPEN_SOURCE
-#endif
+/* Define to the level of X/Open that your system supports */
+#undef _XOPEN_SOURCE
 
 /* Define to activate Unix95-and-earlier features */
 #undef _XOPEN_SOURCE_EXTENDED