Bug #1699: Define _BSD_SOURCE only on OpenBSD.
diff --git a/Misc/NEWS b/Misc/NEWS
index 9a60c64..377f33d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -1144,6 +1144,8 @@
 Build
 -----
 
+- Bug #1699: Define _BSD_SOURCE only on OpenBSD.
+
 - Bug #1608: use -fwrapv when GCC supports it.  This is important,
   newer GCC versions may optimize away overflow buffer overflow checks
   without this option!
diff --git a/configure b/configure
index e60d615..fb79c06 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 59533 .
+# From configure.in Revision: 59558 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.61 for python 2.6.
 #
@@ -1838,14 +1838,6 @@
 _ACEOF
 
 
-# OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is
-# also defined. This can be overridden by defining _BSD_SOURCE
-
-cat >>confdefs.h <<\_ACEOF
-#define _BSD_SOURCE 1
-_ACEOF
-
-
 # The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables
 # u_int on Irix 5.3. Defining _BSD_TYPES brings it back.
 
@@ -2012,7 +2004,16 @@
   # even though select is a POSIX function. Reported by J. Ribbens.
   # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish.
   OpenBSD/2.* | OpenBSD/3.[0123456789] | OpenBSD/4.[0])
-    define_xopen_source=no;;
+    define_xopen_source=no
+    # OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is
+    # also defined. This can be overridden by defining _BSD_SOURCE
+    # As this has a different meaning on Linux, only define it on OpenBSD
+
+cat >>confdefs.h <<\_ACEOF
+#define _BSD_SOURCE 1
+_ACEOF
+
+    ;;
   # Defining _XOPEN_SOURCE on NetBSD version prior to the introduction of
   # _NETBSD_SOURCE disables certain features (eg. setgroups). Reported by
   # Marc Recht
diff --git a/configure.in b/configure.in
index 0a2b17a..cdf1366 100644
--- a/configure.in
+++ b/configure.in
@@ -50,10 +50,6 @@
 # them.
 AC_DEFINE(__BSD_VISIBLE, 1, [Define on FreeBSD to activate all library features])
 
-# OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is
-# also defined. This can be overridden by defining _BSD_SOURCE
-AC_DEFINE(_BSD_SOURCE, 1, [Define on OpenBSD to activate all library features])
-
 # The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables
 # u_int on Irix 5.3. Defining _BSD_TYPES brings it back.
 AC_DEFINE(_BSD_TYPES, 1, [Define on Irix to enable u_int])
@@ -206,7 +202,12 @@
   # even though select is a POSIX function. Reported by J. Ribbens.
   # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish.
   OpenBSD/2.* | OpenBSD/3.@<:@0123456789@:>@ | OpenBSD/4.@<:@0@:>@) 
-    define_xopen_source=no;;
+    define_xopen_source=no
+    # OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is
+    # also defined. This can be overridden by defining _BSD_SOURCE
+    # As this has a different meaning on Linux, only define it on OpenBSD
+    AC_DEFINE(_BSD_SOURCE, 1, [Define on OpenBSD to activate all library features])
+    ;;
   # Defining _XOPEN_SOURCE on NetBSD version prior to the introduction of
   # _NETBSD_SOURCE disables certain features (eg. setgroups). Reported by
   # Marc Recht