summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2008-11-04 20:40:09 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2008-11-04 20:40:09 (GMT)
commitbb86d831340239e50036ef4f524bd90a727fdcd4 (patch)
tree98dec06bdc4bd399b944537222d3fd74b628c84e
parent81e92e582e06481f37a7ce1d23bd251316c58383 (diff)
downloadcpython-bb86d831340239e50036ef4f524bd90a727fdcd4.zip
cpython-bb86d831340239e50036ef4f524bd90a727fdcd4.tar.gz
cpython-bb86d831340239e50036ef4f524bd90a727fdcd4.tar.bz2
Issue #4204: Fixed module build errors on FreeBSD 4.
-rw-r--r--Misc/NEWS2
-rw-r--r--Modules/_multiprocessing/multiprocessing.h2
-rw-r--r--Modules/readline.c8
-rwxr-xr-xconfigure26
-rw-r--r--configure.in24
-rw-r--r--setup.py2
6 files changed, 38 insertions, 26 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 1aa57c8..a430b83 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -63,6 +63,8 @@ Build
- Issue #3758: Add ``patchcheck`` build target to .PHONY.
+- Issue #4204: Fixed module build errors on FreeBSD 4.
+
C-API
-----
diff --git a/Modules/_multiprocessing/multiprocessing.h b/Modules/_multiprocessing/multiprocessing.h
index 0b32790..2bfad87 100644
--- a/Modules/_multiprocessing/multiprocessing.h
+++ b/Modules/_multiprocessing/multiprocessing.h
@@ -20,7 +20,9 @@
# define SEM_VALUE_MAX LONG_MAX
#else
# include <fcntl.h> /* O_CREAT and O_EXCL */
+# include <netinet/in.h>
# include <sys/socket.h>
+# include <sys/uio.h>
# include <arpa/inet.h> /* htonl() and ntohl() */
# if HAVE_SEM_OPEN
# include <semaphore.h>
diff --git a/Modules/readline.c b/Modules/readline.c
index 90904ab..f5a54bc 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -35,7 +35,11 @@
#define completion_matches(x, y) \
rl_completion_matches((x), ((rl_compentry_func_t *)(y)))
#else
+#if defined(_RL_FUNCTION_TYPEDEF)
extern char **completion_matches(char *, rl_compentry_func_t *);
+#else
+extern char **completion_matches(char *, CPFunction *);
+#endif
#endif
static void
@@ -213,7 +217,11 @@ set_completion_display_matches_hook(PyObject *self, PyObject *args)
default completion display. */
rl_completion_display_matches_hook =
completion_display_matches_hook ?
+#if defined(_RL_FUNCTION_TYPEDEF)
(rl_compdisp_func_t *)on_completion_display_matches_hook : 0;
+#else
+ (VFunction *)on_completion_display_matches_hook : 0;
+#endif
#endif
return result;
diff --git a/configure b/configure
index f303e1a..63d5b1d 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.in Revision: 66295 .
+# From configure.in Revision: 66764 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61 for python 2.7.
#
@@ -2105,11 +2105,18 @@ _ACEOF
# 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
- # 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 FreeBSD 4, the math functions C89 does not cover are never defined
+ # with _XOPEN_SOURCE and __BSD_VISIBLE does not re-enable them.
+ FreeBSD/4.*)
+ define_xopen_source=no;;
+ # On 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.*
+ # 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/[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
@@ -2121,13 +2128,6 @@ _ACEOF
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
- ;;
# On QNX 6.3.2, defining _XOPEN_SOURCE prevents netdb.h from
# defining NI_NUMERICHOST.
QNX/6.3.2)
diff --git a/configure.in b/configure.in
index fd84170..8b9d377 100644
--- a/configure.in
+++ b/configure.in
@@ -276,11 +276,18 @@ case $ac_sys_system/$ac_sys_release in
# 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
- # 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 FreeBSD 4, the math functions C89 does not cover are never defined
+ # with _XOPEN_SOURCE and __BSD_VISIBLE does not re-enable them.
+ FreeBSD/4.*)
+ define_xopen_source=no;;
+ # On 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.*
+ # 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/@<:@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
@@ -292,13 +299,6 @@ case $ac_sys_system/$ac_sys_release in
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
- ;;
# On QNX 6.3.2, defining _XOPEN_SOURCE prevents netdb.h from
# defining NI_NUMERICHOST.
QNX/6.3.2)
diff --git a/setup.py b/setup.py
index 36a0d77..5c37e45 100644
--- a/setup.py
+++ b/setup.py
@@ -1261,7 +1261,7 @@ class PyBuildExt(build_ext):
)
libraries = []
- elif platform in ('freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'):
+ elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'):
# FreeBSD's P1003.1b semaphore support is very experimental
# and has many known problems. (as of June 2008)
macros = dict( # FreeBSD