diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2003-09-20 15:30:20 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2003-09-20 15:30:20 (GMT) |
commit | a64988c001d21335d47451586654702caec8aa1f (patch) | |
tree | 6de8660f39ad83f8a4ee6cb74c7339c0dafde447 | |
parent | 212ede6cbf2ce9277d6e5bced1137ec5914cc421 (diff) | |
download | cpython-a64988c001d21335d47451586654702caec8aa1f.zip cpython-a64988c001d21335d47451586654702caec8aa1f.tar.gz cpython-a64988c001d21335d47451586654702caec8aa1f.tar.bz2 |
Check for declarations of fchdir and fsync. Fixes #800710. Backported to 2.3.
-rwxr-xr-x | configure | 145 | ||||
-rw-r--r-- | configure.in | 20 | ||||
-rw-r--r-- | pyconfig.h.in | 10 |
3 files changed, 164 insertions, 11 deletions
@@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision: 1.432 . +# From configure.in Revision: 1.433 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.57 for python 2.4. # @@ -13083,11 +13083,8 @@ echo "${ECHO_T}MACHDEP_OBJS" >&6 - - - for ac_func in alarm chown clock confstr ctermid execv \ - fchdir fork fsync fdatasync fpathconf ftime ftruncate \ + fork fpathconf ftime ftruncate \ gai_strerror getgroups getlogin getloadavg getpeername getpgid getpid \ getpriority getpwent getwd \ kill killpg lchown lstat mkfifo mknod mktime \ @@ -13321,6 +13318,144 @@ echo "${ECHO_T}no" >&6 fi rm -f conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: checking for fchdir" >&5 +echo $ECHO_N "checking for fchdir... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <unistd.h> +int +main () +{ +void *x=fchdir + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_FCHDIR 1 +_ACEOF + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + +fi +rm -f conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: checking for fsync" >&5 +echo $ECHO_N "checking for fsync... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <unistd.h> +int +main () +{ +void *x=fsync + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_SYNC 1 +_ACEOF + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + +fi +rm -f conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: checking for fdatasync" >&5 +echo $ECHO_N "checking for fdatasync... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <unistd.h> +int +main () +{ +void *x=fdatasync + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_FDATASYNC 1 +_ACEOF + + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + +fi +rm -f conftest.$ac_objext conftest.$ac_ext # On some systems (eg. FreeBSD 5), we would find a definition of the # functions ctermid_r, setgroups in the library, but no prototype diff --git a/configure.in b/configure.in index bf11b92..b2deb65 100644 --- a/configure.in +++ b/configure.in @@ -2065,7 +2065,7 @@ AC_MSG_RESULT(MACHDEP_OBJS) # checks for library functions AC_CHECK_FUNCS(alarm chown clock confstr ctermid execv \ - fchdir fork fsync fdatasync fpathconf ftime ftruncate \ + fork fpathconf ftime ftruncate \ gai_strerror getgroups getlogin getloadavg getpeername getpgid getpid \ getpriority getpwent getwd \ kill killpg lchown lstat mkfifo mknod mktime \ @@ -2097,6 +2097,24 @@ AC_TRY_COMPILE([#include <unistd.h>], void *x=symlink, AC_MSG_RESULT(yes), AC_MSG_RESULT(no) ) +AC_MSG_CHECKING(for fchdir) +AC_TRY_COMPILE([#include <unistd.h>], void *x=fchdir, + AC_DEFINE(HAVE_FCHDIR, 1, Define if you have the 'fchdir' function.) + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no) +) +AC_MSG_CHECKING(for fsync) +AC_TRY_COMPILE([#include <unistd.h>], void *x=fsync, + AC_DEFINE(HAVE_SYNC, 1, Define if you have the 'fsync' function.) + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no) +) +AC_MSG_CHECKING(for fdatasync) +AC_TRY_COMPILE([#include <unistd.h>], void *x=fdatasync, + AC_DEFINE(HAVE_FDATASYNC, 1, Define if you have the 'fdatasync' function.) + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no) +) # On some systems (eg. FreeBSD 5), we would find a definition of the # functions ctermid_r, setgroups in the library, but no prototype diff --git a/pyconfig.h.in b/pyconfig.h.in index 9df836f..6c0a744 100644 --- a/pyconfig.h.in +++ b/pyconfig.h.in @@ -96,13 +96,13 @@ /* Define to 1 if you have the `execv' function. */ #undef HAVE_EXECV -/* Define to 1 if you have the `fchdir' function. */ +/* Define if you have the 'fchdir' function. */ #undef HAVE_FCHDIR /* Define to 1 if you have the <fcntl.h> header file. */ #undef HAVE_FCNTL_H -/* Define to 1 if you have the `fdatasync' function. */ +/* Define if you have the 'fdatasync' function. */ #undef HAVE_FDATASYNC /* Define if you have the 'flock' function. */ @@ -126,9 +126,6 @@ /* Define to 1 if you have the `fstatvfs' function. */ #undef HAVE_FSTATVFS -/* Define to 1 if you have the `fsync' function. */ -#undef HAVE_FSYNC - /* Define to 1 if you have the `ftell64' function. */ #undef HAVE_FTELL64 @@ -488,6 +485,9 @@ /* Define if you have the 'symlink' function. */ #undef HAVE_SYMLINK +/* Define if you have the 'fsync' function. */ +#undef HAVE_SYNC + /* Define to 1 if you have the `sysconf' function. */ #undef HAVE_SYSCONF |