From a64988c001d21335d47451586654702caec8aa1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Sat, 20 Sep 2003 15:30:20 +0000 Subject: [PATCH] Check for declarations of fchdir and fsync. Fixes #800710. Backported to 2.3. --- configure | 145 ++++++++++++++++++++++++++++++++++++++++++++++++-- configure.in | 20 ++++++- pyconfig.h.in | 10 ++-- 3 files changed, 164 insertions(+), 11 deletions(-) diff --git a/configure b/configure index f6e08b0f7a3..209e6bb19c9 100755 --- a/configure +++ b/configure @@ -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. # @@ -13079,15 +13079,12 @@ 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 \ @@ -13319,6 +13316,144 @@ 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 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 +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 +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 +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 diff --git a/configure.in b/configure.in index bf11b9275dd..b2deb65b09d 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 ], void *x=symlink, AC_MSG_RESULT(yes), AC_MSG_RESULT(no) ) +AC_MSG_CHECKING(for fchdir) +AC_TRY_COMPILE([#include ], 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 ], 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 ], 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 9df836f937d..6c0a744f32f 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 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