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
