[Python-checkins] r66288 - in python/branches/release25-maint: configure.in pyconfig.h.in
gregory.p.smith
python-checkins at python.org
Sun Sep 7 08:42:43 CEST 2008
Author: gregory.p.smith
Date: Sun Sep 7 08:42:43 2008
New Revision: 66288
Log:
backport r66179 and r66283 from trunk:
- 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).
Modified:
python/branches/release25-maint/configure.in
python/branches/release25-maint/pyconfig.h.in
Modified: python/branches/release25-maint/configure.in
==============================================================================
--- python/branches/release25-maint/configure.in (original)
+++ python/branches/release25-maint/configure.in Sun Sep 7 08:42:43 2008
@@ -201,7 +201,7 @@
# 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
@@ -3095,16 +3095,40 @@
# check where readline lives
# save the value of LIBS so we don't actually link Python with readline
LIBS_no_readline=$LIBS
-AC_CHECK_LIB(readline, readline)
-if test "$ac_cv_have_readline_readline" = no
-then
- AC_CHECK_LIB(termcap, readline)
+
+# 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
+AC_MSG_CHECKING([how to link readline libs])
+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"
+ AC_LINK_IFELSE(
+ [AC_LANG_CALL([],[readline])],
+ [py_cv_lib_readline=yes])
+ 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
+ AC_MSG_RESULT([none])
+else
+ AC_MSG_RESULT([$READLINE_LIBS])
+ AC_DEFINE(HAVE_LIBREADLINE, 1,
+ [Define if you have the readline library (-lreadline).])
fi
# check for readline 2.1
AC_CHECK_LIB(readline, rl_callback_handler_install,
AC_DEFINE(HAVE_RL_CALLBACK, 1,
- [Define if you have readline 2.1]), , )
+ [Define if you have readline 2.1]), ,$READLINE_LIBS)
# check for readline 2.2
AC_TRY_CPP([#include <readline/readline.h>],
@@ -3120,12 +3144,12 @@
# check for readline 4.0
AC_CHECK_LIB(readline, rl_pre_input_hook,
AC_DEFINE(HAVE_RL_PRE_INPUT_HOOK, 1,
- [Define if you have readline 4.0]), , )
+ [Define if you have readline 4.0]), ,$READLINE_LIBS)
# check for readline 4.2
AC_CHECK_LIB(readline, rl_completion_matches,
AC_DEFINE(HAVE_RL_COMPLETION_MATCHES, 1,
- [Define if you have readline 4.2]), , )
+ [Define if you have readline 4.2]), ,$READLINE_LIBS)
# also in readline 4.2
AC_TRY_CPP([#include <readline/readline.h>],
Modified: python/branches/release25-maint/pyconfig.h.in
==============================================================================
--- python/branches/release25-maint/pyconfig.h.in (original)
+++ python/branches/release25-maint/pyconfig.h.in Sun Sep 7 08:42:43 2008
@@ -309,9 +309,6 @@
/* Define to 1 if you have the `resolv' library (-lresolv). */
#undef HAVE_LIBRESOLV
-/* Define to 1 if you have the `termcap' library (-ltermcap). */
-#undef HAVE_LIBTERMCAP
-
/* Define to 1 if you have the <libutil.h> header file. */
#undef HAVE_LIBUTIL_H
More information about the Python-checkins
mailing list