[Python-checkins] cpython (merge 3.2 -> default): Improve the test for dirfd(). Some systems #define it rather than

gregory.p.smith python-checkins at python.org
Sun Jan 22 03:22:08 CET 2012


http://hg.python.org/cpython/rev/ea5a6edb0de7
changeset: 74572:ea5a6edb0de7
parent: 74570:665b748ee4c1
parent: 74571:07bea5e8ad5f
user: Gregory P. Smith <greg at krypto.org>
date: Sat Jan 21 18:21:56 2012 -0800
summary:
 Improve the test for dirfd(). Some systems #define it rather than
have it as a library function.
files:
 configure | 126 ++++++++++++++++++++-----------------
 configure.in | 8 ++-
 pyconfig.h.in | 2 +-
 3 files changed, 76 insertions(+), 60 deletions(-)
diff --git a/configure b/configure
--- a/configure
+++ b/configure
@@ -2242,63 +2242,6 @@
 
 } # ac_fn_c_check_func
 
-# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
-# ----------------------------------------------------
-# Tries to find if the field MEMBER exists in type AGGR, after including
-# INCLUDES, setting cache variable VAR accordingly.
-ac_fn_c_check_member ()
-{
- as_lineno=${as_lineno-"1ドル"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 2ドル.3ドル" >&5
-$as_echo_n "checking for 2ドル.3ドル... " >&6; }
-if eval \${4ドル+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-5ドル
-int
-main ()
-{
-static 2ドル ac_aggr;
-if (ac_aggr.3ドル)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "4ドル=yes"
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-5ドル
-int
-main ()
-{
-static 2ドル ac_aggr;
-if (sizeof ac_aggr.3ドル)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "4ドル=yes"
-else
- eval "4ドル=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$4ドル
-	 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_member
-
 # ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
 # ---------------------------------------------
 # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
@@ -2344,6 +2287,63 @@
 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_decl
+
+# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
+# ----------------------------------------------------
+# Tries to find if the field MEMBER exists in type AGGR, after including
+# INCLUDES, setting cache variable VAR accordingly.
+ac_fn_c_check_member ()
+{
+ as_lineno=${as_lineno-"1ドル"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 2ドル.3ドル" >&5
+$as_echo_n "checking for 2ドル.3ドル... " >&6; }
+if eval \${4ドル+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+5ドル
+int
+main ()
+{
+static 2ドル ac_aggr;
+if (ac_aggr.3ドル)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "4ドル=yes"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+5ドル
+int
+main ()
+{
+static 2ドル ac_aggr;
+if (sizeof ac_aggr.3ドル)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "4ドル=yes"
+else
+ eval "4ドル=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$4ドル
+	 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_member
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
@@ -9396,7 +9396,7 @@
 
 # checks for library functions
 for ac_func in alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
- clock confstr ctermid dirfd execv faccessat fchmod fchmodat fchown fchownat \
+ clock confstr ctermid execv faccessat fchmod fchmodat fchown fchownat \
 fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
 futimens futimes gai_strerror \
 getgrouplist getgroups getlogin getloadavg getpeername getpgid getpid \
@@ -9429,6 +9429,16 @@
 done
 
 
+ac_fn_c_check_decl "$LINENO" "dirfd" "ac_cv_have_decl_dirfd" "#include <sys/types.h>
+ #include <dirent.h>
+"
+if test "x$ac_cv_have_decl_dirfd" = xyes; then :
+
+$as_echo "#define HAVE_DIRFD 1" >>confdefs.h
+
+fi
+
+
 # For some functions, having a definition is not sufficient, since
 # we want to take their address.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for chroot" >&5
diff --git a/configure.in b/configure.in
--- a/configure.in
+++ b/configure.in
@@ -2562,7 +2562,7 @@
 
 # checks for library functions
 AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
- clock confstr ctermid dirfd execv faccessat fchmod fchmodat fchown fchownat \
+ clock confstr ctermid execv faccessat fchmod fchmodat fchown fchownat \
 fexecve fdopendir fork fpathconf fstatat ftime ftruncate futimesat \
 futimens futimes gai_strerror \
 getgrouplist getgroups getlogin getloadavg getpeername getpgid getpid \
@@ -2584,6 +2584,12 @@
 truncate uname unlinkat unsetenv utimensat utimes waitid waitpid wait3 wait4 \
 wcscoll wcsftime wcsxfrm writev _getpty)
 
+AC_CHECK_DECL(dirfd,
+ AC_DEFINE(HAVE_DIRFD, 1,
+ Define if you have the 'dirfd' function or macro.), ,
+ [#include <sys/types.h>
+ #include <dirent.h>])
+
 # For some functions, having a definition is not sufficient, since
 # we want to take their address.
 AC_MSG_CHECKING(for chroot)
diff --git a/pyconfig.h.in b/pyconfig.h.in
--- a/pyconfig.h.in
+++ b/pyconfig.h.in
@@ -181,7 +181,7 @@
 */
 #undef HAVE_DIRENT_H
 
-/* Define to 1 if you have the `dirfd' function. */
+/* Define if you have the 'dirfd' function or macro. */
 #undef HAVE_DIRFD
 
 /* Define to 1 if you have the <dlfcn.h> header file. */
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /