From cae7f886e31f25fd9255be05322626675713d74f Mon Sep 17 00:00:00 2001 From: "Gregory P. Smith" Date: Sun, 7 Sep 2008 06:44:12 +0000 Subject: [PATCH] rerun autoconf after r66288, add the Misc/NEWS entry. --- Misc/NEWS | 3 ++ configure | 133 ++++++++++++++---------------------------------------- 2 files changed, 38 insertions(+), 98 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index ebf0956d719..e0e95087880 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -76,6 +76,9 @@ Core and builtins - Issue #2588, #2589: Fix potential integer underflow and overflow conditions in the PyOS_vsnprintf C API function. +- Issue #1204: The configure script now tests for additional libraries + that may be required when linking against readline. This fixes issues + with x86_64 builds on some platforms (a few Linux flavors and OpenBSD). Library ------- diff --git a/configure b/configure index 4ee0b96887a..415619bc83d 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision: 60465 . +# From configure.in Revision: 66288 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for python 2.5. # @@ -2003,7 +2003,7 @@ case $ac_sys_system/$ac_sys_release in # On OpenBSD, select(2) is not available if _XOPEN_SOURCE is defined, # even though select is a POSIX function. Reported by J. Ribbens. # Reconfirmed for OpenBSD 3.3 by Zachary Hamm, for 3.4 by Jason Ish. - OpenBSD/2.* | OpenBSD/3.[0123456789] | OpenBSD/4.[0]) + OpenBSD/2.* | OpenBSD/3.[0123456789] | OpenBSD/4.[0123]) define_xopen_source=no # OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is # also defined. This can be overridden by defining _BSD_SOURCE @@ -20977,14 +20977,20 @@ fi # save the value of LIBS so we don't actually link Python with readline LIBS_no_readline=$LIBS -{ echo "$as_me:$LINENO: checking for readline in -lreadline" >&5 -echo $ECHO_N "checking for readline in -lreadline... $ECHO_C" >&6; } -if test "${ac_cv_lib_readline_readline+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lreadline $LIBS" -cat >conftest.$ac_ext <<_ACEOF +# On some systems we need to link readline to a termcap compatible +# library. NOTE: Keep the precedence of listed libraries synchronised +# with setup.py. +py_cv_lib_readline=no +{ echo "$as_me:$LINENO: checking how to link readline libs" >&5 +echo $ECHO_N "checking how to link readline libs... $ECHO_C" >&6; } +for py_libtermcap in "" ncursesw ncurses curses termcap; do + if test -z "$py_libtermcap"; then + READLINE_LIBS="-lreadline" + else + READLINE_LIBS="-lreadline -l$py_libtermcap" + fi + LIBS="$READLINE_LIBS $LIBS_no_readline" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -21024,102 +21030,33 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then - ac_cv_lib_readline_readline=yes + py_cv_lib_readline=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_readline_readline=no + fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_readline_readline" >&5 -echo "${ECHO_T}$ac_cv_lib_readline_readline" >&6; } -if test $ac_cv_lib_readline_readline = yes; then - cat >>confdefs.h <<_ACEOF + if test $py_cv_lib_readline = yes; then + break + fi +done +# Uncomment this line if you want to use READINE_LIBS in Makefile or scripts +#AC_SUBST([READLINE_LIBS]) +if test $py_cv_lib_readline = !yes; then + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +else + { echo "$as_me:$LINENO: result: $READLINE_LIBS" >&5 +echo "${ECHO_T}$READLINE_LIBS" >&6; } + +cat >>confdefs.h <<\_ACEOF #define HAVE_LIBREADLINE 1 _ACEOF - LIBS="-lreadline $LIBS" - -fi - -if test "$ac_cv_have_readline_readline" = no -then - -{ echo "$as_me:$LINENO: checking for readline in -ltermcap" >&5 -echo $ECHO_N "checking for readline in -ltermcap... $ECHO_C" >&6; } -if test "${ac_cv_lib_termcap_readline+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ltermcap $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char readline (); -int -main () -{ -return readline (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_termcap_readline=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_termcap_readline=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_readline" >&5 -echo "${ECHO_T}$ac_cv_lib_termcap_readline" >&6; } -if test $ac_cv_lib_termcap_readline = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBTERMCAP 1 -_ACEOF - - LIBS="-ltermcap $LIBS" - -fi - fi # check for readline 2.1 @@ -21129,7 +21066,7 @@ if test "${ac_cv_lib_readline_rl_callback_handler_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lreadline $LIBS" +LIBS="-lreadline $READLINE_LIBS $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -21257,7 +21194,7 @@ if test "${ac_cv_lib_readline_rl_pre_input_hook+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lreadline $LIBS" +LIBS="-lreadline $READLINE_LIBS $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -21328,7 +21265,7 @@ if test "${ac_cv_lib_readline_rl_completion_matches+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lreadline $LIBS" +LIBS="-lreadline $READLINE_LIBS $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF