diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2008-11-04 20:40:09 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2008-11-04 20:40:09 (GMT) |
commit | bb86d831340239e50036ef4f524bd90a727fdcd4 (patch) | |
tree | 98dec06bdc4bd399b944537222d3fd74b628c84e | |
parent | 81e92e582e06481f37a7ce1d23bd251316c58383 (diff) | |
download | cpython-bb86d831340239e50036ef4f524bd90a727fdcd4.zip cpython-bb86d831340239e50036ef4f524bd90a727fdcd4.tar.gz cpython-bb86d831340239e50036ef4f524bd90a727fdcd4.tar.bz2 |
Issue #4204: Fixed module build errors on FreeBSD 4.
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | Modules/_multiprocessing/multiprocessing.h | 2 | ||||
-rw-r--r-- | Modules/readline.c | 8 | ||||
-rwxr-xr-x | configure | 26 | ||||
-rw-r--r-- | configure.in | 24 | ||||
-rw-r--r-- | setup.py | 2 |
6 files changed, 38 insertions, 26 deletions
@@ -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; @@ -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) @@ -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 |