FreeBSD 5.x has moved some library routines and typedefs outside the
scope of the _XOPEN_SOURCE and _POSIX_C_SOURCE symbols, including:
- getloadavg()
- typedefs for u_int, u_long, u_char, u_short, ushort & uint

These are now all defined under the control of a __BSD_VISIBLE symbol.

The lack of the typedefs causes several extension modules to build
incorrectly or not at all, and is the cause of failures reported for
test_socket and test_tempfile on this platform
(see python-dev: 29/6/03, pieterb@gewis.nl, "Running tests on freebsd5")

This change does not appear to be needed in the 2.2 branch.
diff --git a/pyconfig.h.in b/pyconfig.h.in
index e0e2f5b..0a58278 100644
--- a/pyconfig.h.in
+++ b/pyconfig.h.in
@@ -829,6 +829,9 @@
 /* Define on NetBSD to activate all library features */
 #undef _NETBSD_SOURCE
 
+/* Define on FreeBSD to activate all library features */
+#undef __BSD_VISIBLE
+
 /* Define _OSF_SOURCE to get the makedev macro. */
 #undef _OSF_SOURCE