summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2013-08-21 13:26:34 +0200
committerChristian Heimes <christian@cheimes.de>2013-08-21 13:26:34 +0200
commitd1e599e1c9f6aa68e2974fb2746d5bb5b49f35e3 (patch)
treeec860a7832a8b48b4962deededc6034688a0739d /configure.ac
parent5ac4b5df2c236c92a1c9bf79d15f0b0bf88b9904 (diff)
parent8d78b37b4eae9ab6191aacd9b885f32d134a70f6 (diff)
downloadcpython-d1e599e1c9f6aa68e2974fb2746d5bb5b49f35e3.tar.gz
Issue #18747: Re-seed OpenSSL's pseudo-random number generator after fork.
A pthread_atfork() child handler is used to seeded the PRNG with pid, time and some stack data.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac61
1 files changed, 39 insertions, 22 deletions
diff --git a/configure.ac b/configure.ac
index b53dee2296..47f5c57924 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ dnl * Please run autoreconf to test your changes! *
dnl ***********************************************
# Set VERSION so we only need to edit in one place (i.e., here)
-m4_define(PYTHON_VERSION, 3.3)
+m4_define(PYTHON_VERSION, 3.4)
AC_PREREQ(2.65)
@@ -917,6 +917,7 @@ fi
# Other platforms follow
if test $enable_shared = "yes"; then
+ PY_ENABLE_SHARED=1
AC_DEFINE(Py_ENABLE_SHARED, 1, [Defined if Python is built as a shared library.])
case $ac_sys_system in
CYGWIN*)
@@ -972,6 +973,7 @@ if test $enable_shared = "yes"; then
esac
else # shared is disabled
+ PY_ENABLE_SHARED=0
case $ac_sys_system in
CYGWIN*)
BLDLIBRARY='$(LIBRARY)'
@@ -1182,6 +1184,28 @@ yes)
BASECFLAGS="$BASECFLAGS -Wno-unused-result"
fi
+ AC_MSG_CHECKING(for -Werror=declaration-after-statement)
+ ac_save_cc="$CC"
+ CC="$CC -Werror=declaration-after-statement"
+ save_CFLAGS="$CFLAGS"
+ AC_CACHE_VAL(ac_cv_declaration_after_statement_warning,
+ AC_COMPILE_IFELSE(
+ [
+ AC_LANG_PROGRAM([[]], [[]])
+ ],[
+ ac_cv_declaration_after_statement_warning=yes
+ ],[
+ ac_cv_declaration_after_statement_warning=no
+ ]))
+ CFLAGS="$save_CFLAGS"
+ CC="$ac_save_cc"
+ AC_MSG_RESULT($ac_cv_declaration_after_statement_warning)
+
+ if test $ac_cv_declaration_after_statement_warning = yes
+ then
+ BASECFLAGS="$BASECFLAGS -Werror=declaration-after-statement"
+ fi
+
# if using gcc on alpha, use -mieee to get (near) full IEEE 754
# support. Without this, treatment of subnormals doesn't follow
# the standard.
@@ -1326,24 +1350,6 @@ then
BASECFLAGS="$BASECFLAGS $ac_arch_flags"
fi
-# Check whether GCC supports PyArg_ParseTuple format
-if test "$GCC" = "yes"
-then
- AC_MSG_CHECKING(whether gcc supports ParseTuple __format__)
- save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS -Werror -Wformat"
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[void f(char*,...)__attribute((format(PyArg_ParseTuple, 1, 2)));]], [[]])
- ],[
- AC_DEFINE(HAVE_ATTRIBUTE_FORMAT_PARSETUPLE, 1,
- [Define if GCC supports __attribute__((format(PyArg_ParseTuple, 2, 3)))])
- AC_MSG_RESULT(yes)
- ],[
- AC_MSG_RESULT(no)
- ])
- CFLAGS=$save_CFLAGS
-fi
-
# On some compilers, pthreads are available without further options
# (e.g. MacOS X). On some of these systems, the compiler will not
# complain if unaccepted options are passed (e.g. gcc on Mac OS X).
@@ -1566,7 +1572,7 @@ AC_CHECK_HEADERS(linux/netlink.h,,,[
])
# On Linux, can.h and can/raw.h require sys/socket.h
-AC_CHECK_HEADERS(linux/can.h linux/can/raw.h,,,[
+AC_CHECK_HEADERS(linux/can.h linux/can/raw.h linux/can/bcm.h,,,[
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
@@ -2108,6 +2114,12 @@ then
# -u libsys_s pulls in all symbols in libsys
Darwin/*)
LINKFORSHARED="$extra_undefs -framework CoreFoundation"
+
+ # Issue #18075: the default maximum stack size (8MBytes) is too
+ # small for the default recursion limit. Increase the stack size
+ # to ensure that tests don't crash
+ LINKFORSHARED="-Wl,-stack_size,1000000 $LINKFORSHARED"
+
if test "$enable_framework"
then
LINKFORSHARED="$LINKFORSHARED "'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
@@ -2815,7 +2827,7 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
sigtimedwait sigwait sigwaitinfo snprintf strftime strlcpy symlinkat sync \
sysconf tcgetpgrp tcsetpgrp tempnam timegm times tmpfile tmpnam tmpnam_r \
truncate uname unlinkat unsetenv utimensat utimes waitid waitpid wait3 wait4 \
- wcscoll wcsftime wcsxfrm writev _getpty)
+ wcscoll wcsftime wcsxfrm wmemcmp writev _getpty)
AC_CHECK_DECL(dirfd,
AC_DEFINE(HAVE_DIRFD, 1,
@@ -3955,6 +3967,11 @@ AC_MSG_CHECKING(LDVERSION)
LDVERSION='$(VERSION)$(ABIFLAGS)'
AC_MSG_RESULT($LDVERSION)
+dnl define LIBPL after ABIFLAGS and LDVERSION is defined.
+AC_SUBST(PY_ENABLE_SHARED)
+LIBPL="${prefix}/lib/python${VERSION}/config-${LDVERSION}"
+AC_SUBST(LIBPL)
+
# Check whether right shifting a negative integer extends the sign bit
# or fills with zeros (like the Cray J90, according to Tim Peters).
AC_MSG_CHECKING(whether right shift extends the sign bit)
@@ -4634,7 +4651,7 @@ if test "$have_gcc_asm_for_x87" = yes; then
fi
# generate output files
-AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc)
+AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc Misc/python-config.sh)
AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix])
AC_OUTPUT