Issue #4368: Don't define _XOPEN_SOURCE on FreeBSD 4.*.
diff --git a/Misc/NEWS b/Misc/NEWS
index 6b7aa3a..97efe21 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -260,6 +260,8 @@
 Build
 -----
 
+- Issue #4368: Don't define _XOPEN_SOURCE on FreeBSD 4.*.
+
 Windows
 -------
 
diff --git a/configure b/configure
index f7e681a..23f66bc 100755
--- a/configure
+++ b/configure
@@ -2032,11 +2032,14 @@
   # but used in struct sockaddr.sa_family. Reported by Tim Rice.
   SCO_SV/3.2)
     define_xopen_source=no;;
-  # On FreeBSD 4.8 and MacOS X 10.2, a bug in ncurses.h means that
+  # On FreeBSD 4 and MacOS X 10.2, a bug in ncurses.h means that
   # it craps out if _XOPEN_EXTENDED_SOURCE is defined. Apparently,
   # this is fixed in 10.3, which identifies itself as Darwin/7.*
-  # This should hopefully be fixed in FreeBSD 4.9
-  FreeBSD/4.8* | Darwin/6* )
+  # On Mac OS X 10.4, defining _POSIX_C_SOURCE or _XOPEN_SOURCE
+  # disables platform specific features beyond repair.
+  # On Mac OS X 10.3, defining _POSIX_C_SOURCE or _XOPEN_SOURCE
+  # has no effect, don't bother defining them
+  FreeBSD/4.* | Darwin/[6789].*)
     define_xopen_source=no;;
   # On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but
   # used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined
@@ -2048,13 +2051,6 @@
       define_xopen_source=no
     fi
     ;;
-  # On Mac OS X 10.4, defining _POSIX_C_SOURCE or _XOPEN_SOURCE
-  # disables platform specific features beyond repair.
-  # On Mac OS X 10.3, defining _POSIX_C_SOURCE or _XOPEN_SOURCE
-  # has no effect, don't bother defining them
-  Darwin/[789].*)
-    define_xopen_source=no
-    ;;
 
 esac
 
diff --git a/configure.in b/configure.in
index cdd1773..3d7974e 100644
--- a/configure.in
+++ b/configure.in
@@ -226,11 +226,14 @@
   # but used in struct sockaddr.sa_family. Reported by Tim Rice.
   SCO_SV/3.2)
     define_xopen_source=no;;
-  # On FreeBSD 4.8 and MacOS X 10.2, a bug in ncurses.h means that
+  # On FreeBSD 4 and MacOS X 10.2, a bug in ncurses.h means that
   # it craps out if _XOPEN_EXTENDED_SOURCE is defined. Apparently,
   # this is fixed in 10.3, which identifies itself as Darwin/7.*
-  # This should hopefully be fixed in FreeBSD 4.9
-  FreeBSD/4.8* | Darwin/6* )
+  # On Mac OS X 10.4, defining _POSIX_C_SOURCE or _XOPEN_SOURCE
+  # disables platform specific features beyond repair.
+  # On Mac OS X 10.3, defining _POSIX_C_SOURCE or _XOPEN_SOURCE 
+  # has no effect, don't bother defining them
+  FreeBSD/4.* | Darwin/@<:@6789@:>@.*)
     define_xopen_source=no;;
   # On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but
   # used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined
@@ -242,13 +245,6 @@
       define_xopen_source=no
     fi
     ;;
-  # On Mac OS X 10.4, defining _POSIX_C_SOURCE or _XOPEN_SOURCE
-  # disables platform specific features beyond repair.
-  # On Mac OS X 10.3, defining _POSIX_C_SOURCE or _XOPEN_SOURCE 
-  # has no effect, don't bother defining them
-  Darwin/@<:@789@:>@.*)
-    define_xopen_source=no
-    ;;
 
 esac