summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2002-11-11 13:23:45 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2002-11-11 13:23:45 (GMT)
commitc8ad7cc55e96058b20c7c46ea9c046002b6bf5b4 (patch)
treec02e236c7ad3516c0a3e9580c6814e480d934bdf
parenteb342298dea8ec3a9c16ba61061690bcf586c5cc (diff)
downloadcpython-c8ad7cc55e96058b20c7c46ea9c046002b6bf5b4.zip
cpython-c8ad7cc55e96058b20c7c46ea9c046002b6bf5b4.tar.gz
cpython-c8ad7cc55e96058b20c7c46ea9c046002b6bf5b4.tar.bz2
Check whether we can take the address of chown, link, and symlink.
-rwxr-xr-xconfigure155
-rw-r--r--configure.in27
-rw-r--r--pyconfig.h.in6
3 files changed, 175 insertions, 13 deletions
diff --git a/configure b/configure
index 95b0da4..61ca57c 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.in Revision: 1.363 .
+# From configure.in Revision: 1.364 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.53 for python 2.3.
#
@@ -11964,18 +11964,15 @@ echo "${ECHO_T}MACHDEP_OBJS" >&6
-
-
-
-for ac_func in alarm chown chroot clock confstr ctermid ctermid_r execv \
+for ac_func in alarm chown clock confstr ctermid ctermid_r execv \
fchdir flock fork fsync fdatasync fpathconf ftime ftruncate \
gai_strerror getgroups getlogin getpeername getpgid getpid getpwent getwd \
- hstrerror inet_pton kill killpg lchown link lstat mkfifo mknod mktime \
+ hstrerror inet_pton kill killpg lchown lstat mkfifo mknod mktime \
mremap nice pathconf pause plock poll pthread_init \
putenv readlink \
select setegid seteuid setgid setgroups \
setlocale setregid setreuid setsid setpgid setuid setvbuf snprintf \
- sigaction siginterrupt sigrelse strftime strptime symlink \
+ sigaction siginterrupt sigrelse strftime strptime \
sysconf tcgetpgrp tcsetpgrp tempnam timegm times tmpfile tmpnam tmpnam_r \
truncate uname unsetenv utimes waitpid _getpty getpriority
do
@@ -12053,6 +12050,150 @@ fi
done
+# For some functions, having a definition is not sufficient, since
+# we want to take their address.
+echo "$as_me:$LINENO: checking for chroot" >&5
+echo $ECHO_N "checking for chroot... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <unistd.h>
+#ifdef F77_DUMMY_MAIN
+# ifdef __cplusplus
+ extern "C"
+# endif
+ int F77_DUMMY_MAIN() { return 1; }
+#endif
+int
+main ()
+{
+void *x=chroot
+ ;
+ 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_CHROOT 1
+_ACEOF
+
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+ echo "$as_me: failed program was:" >&5
+cat 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 link" >&5
+echo $ECHO_N "checking for link... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <unistd.h>
+#ifdef F77_DUMMY_MAIN
+# ifdef __cplusplus
+ extern "C"
+# endif
+ int F77_DUMMY_MAIN() { return 1; }
+#endif
+int
+main ()
+{
+void *x=link
+ ;
+ 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_LINK 1
+_ACEOF
+
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+ echo "$as_me: failed program was:" >&5
+cat 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 symlink" >&5
+echo $ECHO_N "checking for symlink... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <unistd.h>
+#ifdef F77_DUMMY_MAIN
+# ifdef __cplusplus
+ extern "C"
+# endif
+ int F77_DUMMY_MAIN() { return 1; }
+#endif
+int
+main ()
+{
+void *x=symlink
+ ;
+ 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_SYMLINK 1
+_ACEOF
+
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+else
+ echo "$as_me: failed program was:" >&5
+cat 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
+
# check for openpty and forkpty
diff --git a/configure.in b/configure.in
index e47ba11..4c6738c 100644
--- a/configure.in
+++ b/configure.in
@@ -1712,18 +1712,39 @@ fi
AC_MSG_RESULT(MACHDEP_OBJS)
# checks for library functions
-AC_CHECK_FUNCS(alarm chown chroot clock confstr ctermid ctermid_r execv \
+AC_CHECK_FUNCS(alarm chown clock confstr ctermid ctermid_r execv \
fchdir flock fork fsync fdatasync fpathconf ftime ftruncate \
gai_strerror getgroups getlogin getpeername getpgid getpid getpwent getwd \
- hstrerror inet_pton kill killpg lchown link lstat mkfifo mknod mktime \
+ hstrerror inet_pton kill killpg lchown lstat mkfifo mknod mktime \
mremap nice pathconf pause plock poll pthread_init \
putenv readlink \
select setegid seteuid setgid setgroups \
setlocale setregid setreuid setsid setpgid setuid setvbuf snprintf \
- sigaction siginterrupt sigrelse strftime strptime symlink \
+ sigaction siginterrupt sigrelse strftime strptime \
sysconf tcgetpgrp tcsetpgrp tempnam timegm times tmpfile tmpnam tmpnam_r \
truncate uname unsetenv utimes waitpid _getpty getpriority)
+# For some functions, having a definition is not sufficient, since
+# we want to take their address.
+AC_MSG_CHECKING(for chroot)
+AC_TRY_COMPILE([#include <unistd.h>], void *x=chroot,
+ AC_DEFINE(HAVE_CHROOT, 1, Define if you have the 'chroot' function.)
+ AC_MSG_RESULT(yes),
+ AC_MSG_RESULT(no)
+)
+AC_MSG_CHECKING(for link)
+AC_TRY_COMPILE([#include <unistd.h>], void *x=link,
+ AC_DEFINE(HAVE_LINK, 1, Define if you have the 'link' function.)
+ AC_MSG_RESULT(yes),
+ AC_MSG_RESULT(no)
+)
+AC_MSG_CHECKING(for symlink)
+AC_TRY_COMPILE([#include <unistd.h>], void *x=symlink,
+ AC_DEFINE(HAVE_SYMLINK, 1, Define if you have the 'symlink' function.)
+ AC_MSG_RESULT(yes),
+ AC_MSG_RESULT(no)
+)
+
# check for openpty and forkpty
AC_CHECK_FUNCS(openpty,, AC_CHECK_LIB(util,openpty, [AC_DEFINE(HAVE_OPENPTY) LIBS="$LIBS -lutil"]))
diff --git a/pyconfig.h.in b/pyconfig.h.in
index ce17133..c09a3ed 100644
--- a/pyconfig.h.in
+++ b/pyconfig.h.in
@@ -42,7 +42,7 @@
/* Define to 1 if you have the `chown' function. */
#undef HAVE_CHOWN
-/* Define to 1 if you have the `chroot' function. */
+/* Define if you have the 'chroot' function. */
#undef HAVE_CHROOT
/* Define to 1 if you have the `clock' function. */
@@ -235,7 +235,7 @@
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
-/* Define to 1 if you have the `link' function. */
+/* Define if you have the 'link' function. */
#undef HAVE_LINK
/* Define to 1 if you have the <locale.h> header file. */
@@ -444,7 +444,7 @@
`HAVE_STRUCT_STAT_ST_BLOCKS' instead. */
#undef HAVE_ST_BLOCKS
-/* Define to 1 if you have the `symlink' function. */
+/* Define if you have the 'symlink' function. */
#undef HAVE_SYMLINK
/* Define to 1 if you have the `sysconf' function. */