mirror of https://github.com/python/cpython
Merged revisions 77212-77215 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r77212 | benjamin.peterson | 2010-01-01 09:16:29 -0600 (Fri, 01 Jan 2010) | 1 line use pkg-config to find the libffi headers when --with-system-ffi is used #6943 ........ r77213 | benjamin.peterson | 2010-01-01 09:18:38 -0600 (Fri, 01 Jan 2010) | 1 line add note ........ r77214 | benjamin.peterson | 2010-01-01 09:20:06 -0600 (Fri, 01 Jan 2010) | 1 line fix indentation ........ r77215 | benjamin.peterson | 2010-01-01 09:21:13 -0600 (Fri, 01 Jan 2010) | 1 line allow --with-dbmliborder to specify that no dbm modules will be built #6491 ........
This commit is contained in:
parent
b7b0019a2e
commit
d78735d8e3
|
@ -214,6 +214,8 @@ GRAMMAR_C= $(srcdir)/Python/graminit.c
|
||||||
GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar
|
GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar
|
||||||
|
|
||||||
|
|
||||||
|
LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
# Parser
|
# Parser
|
||||||
PGEN= Parser/pgen$(EXE)
|
PGEN= Parser/pgen$(EXE)
|
||||||
|
|
|
@ -517,6 +517,11 @@ Extension Modules
|
||||||
Build
|
Build
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
- Issue #6491: Allow --with-dbmliborder to specify that no dbms will be built.
|
||||||
|
|
||||||
|
- Issue #6943: Use pkg-config to find the libffi headers when the
|
||||||
|
--with-system-ffi flag is used.
|
||||||
|
|
||||||
- Issue #7609: Add a --with-system-expat option that causes the system's expat
|
- Issue #7609: Add a --with-system-expat option that causes the system's expat
|
||||||
library to be used for the pyexpat module instead of the one included with
|
library to be used for the pyexpat module instead of the one included with
|
||||||
Python.
|
Python.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# From configure.in Revision: 77190 .
|
# From configure.in Revision: 77196 .
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.61 for python 3.2.
|
# Generated by GNU Autoconf 2.61 for python 3.2.
|
||||||
#
|
#
|
||||||
|
@ -715,6 +715,8 @@ CCSHARED
|
||||||
LINKFORSHARED
|
LINKFORSHARED
|
||||||
CFLAGSFORSHARED
|
CFLAGSFORSHARED
|
||||||
SHLIBS
|
SHLIBS
|
||||||
|
PKG_CONFIG
|
||||||
|
LIBFFI_INCLUDEDIR
|
||||||
USE_SIGNAL_MODULE
|
USE_SIGNAL_MODULE
|
||||||
SIGNAL_OBJS
|
SIGNAL_OBJS
|
||||||
USE_THREAD_MODULE
|
USE_THREAD_MODULE
|
||||||
|
@ -15350,6 +15352,115 @@ if test "${with_system_ffi+set}" = set; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if test "$with_system_ffi" = "yes"; then
|
||||||
|
if test -n "$ac_tool_prefix"; then
|
||||||
|
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
|
||||||
|
set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
|
||||||
|
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||||
|
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
|
||||||
|
if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
case $PKG_CONFIG in
|
||||||
|
[\\/]* | ?:[\\/]*)
|
||||||
|
ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in $PATH
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||||
|
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||||
|
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
|
break 2
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
|
||||||
|
if test -n "$PKG_CONFIG"; then
|
||||||
|
{ echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
|
||||||
|
echo "${ECHO_T}$PKG_CONFIG" >&6; }
|
||||||
|
else
|
||||||
|
{ echo "$as_me:$LINENO: result: no" >&5
|
||||||
|
echo "${ECHO_T}no" >&6; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
if test -z "$ac_cv_path_PKG_CONFIG"; then
|
||||||
|
ac_pt_PKG_CONFIG=$PKG_CONFIG
|
||||||
|
# Extract the first word of "pkg-config", so it can be a program name with args.
|
||||||
|
set dummy pkg-config; ac_word=$2
|
||||||
|
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||||
|
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
|
||||||
|
if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
case $ac_pt_PKG_CONFIG in
|
||||||
|
[\\/]* | ?:[\\/]*)
|
||||||
|
ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in $PATH
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||||
|
ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||||
|
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
|
break 2
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
|
||||||
|
if test -n "$ac_pt_PKG_CONFIG"; then
|
||||||
|
{ echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
|
||||||
|
echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
|
||||||
|
else
|
||||||
|
{ echo "$as_me:$LINENO: result: no" >&5
|
||||||
|
echo "${ECHO_T}no" >&6; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$ac_pt_PKG_CONFIG" = x; then
|
||||||
|
PKG_CONFIG=""
|
||||||
|
else
|
||||||
|
case $cross_compiling:$ac_tool_warned in
|
||||||
|
yes:)
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
|
||||||
|
whose name does not start with the host triplet. If you think this
|
||||||
|
configuration is useful to you, please write to autoconf@gnu.org." >&5
|
||||||
|
echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
|
||||||
|
whose name does not start with the host triplet. If you think this
|
||||||
|
configuration is useful to you, please write to autoconf@gnu.org." >&2;}
|
||||||
|
ac_tool_warned=yes ;;
|
||||||
|
esac
|
||||||
|
PKG_CONFIG=$ac_pt_PKG_CONFIG
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
|
||||||
|
fi
|
||||||
|
|
||||||
|
LIBFFI_INCLUDEDIR="`"$PKG_CONFIG" libffi --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ *$//'`"
|
||||||
|
else
|
||||||
|
LIBFFI_INCLUDEDIR=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
{ echo "$as_me:$LINENO: result: $with_system_ffi" >&5
|
{ echo "$as_me:$LINENO: result: $with_system_ffi" >&5
|
||||||
echo "${ECHO_T}$with_system_ffi" >&6; }
|
echo "${ECHO_T}$with_system_ffi" >&6; }
|
||||||
|
|
||||||
|
@ -27732,6 +27843,8 @@ for ac_last_try in false false false false false :; do
|
||||||
cat >conf$$subs.sed <<_ACEOF
|
cat >conf$$subs.sed <<_ACEOF
|
||||||
CFLAGSFORSHARED!$CFLAGSFORSHARED$ac_delim
|
CFLAGSFORSHARED!$CFLAGSFORSHARED$ac_delim
|
||||||
SHLIBS!$SHLIBS$ac_delim
|
SHLIBS!$SHLIBS$ac_delim
|
||||||
|
PKG_CONFIG!$PKG_CONFIG$ac_delim
|
||||||
|
LIBFFI_INCLUDEDIR!$LIBFFI_INCLUDEDIR$ac_delim
|
||||||
USE_SIGNAL_MODULE!$USE_SIGNAL_MODULE$ac_delim
|
USE_SIGNAL_MODULE!$USE_SIGNAL_MODULE$ac_delim
|
||||||
SIGNAL_OBJS!$SIGNAL_OBJS$ac_delim
|
SIGNAL_OBJS!$SIGNAL_OBJS$ac_delim
|
||||||
USE_THREAD_MODULE!$USE_THREAD_MODULE$ac_delim
|
USE_THREAD_MODULE!$USE_THREAD_MODULE$ac_delim
|
||||||
|
@ -27754,7 +27867,7 @@ SRCDIRS!$SRCDIRS$ac_delim
|
||||||
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 22; then
|
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 24; then
|
||||||
break
|
break
|
||||||
elif $ac_last_try; then
|
elif $ac_last_try; then
|
||||||
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
||||||
|
|
|
@ -1872,6 +1872,14 @@ AC_MSG_CHECKING(for --with-system-ffi)
|
||||||
AC_ARG_WITH(system_ffi,
|
AC_ARG_WITH(system_ffi,
|
||||||
AC_HELP_STRING(--with-system-ffi, build _ctypes module using an installed ffi library))
|
AC_HELP_STRING(--with-system-ffi, build _ctypes module using an installed ffi library))
|
||||||
|
|
||||||
|
if test "$with_system_ffi" = "yes"; then
|
||||||
|
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
|
||||||
|
LIBFFI_INCLUDEDIR="`"$PKG_CONFIG" libffi --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ *$//'`"
|
||||||
|
else
|
||||||
|
LIBFFI_INCLUDEDIR=""
|
||||||
|
fi
|
||||||
|
AC_SUBST(LIBFFI_INCLUDEDIR)
|
||||||
|
|
||||||
AC_MSG_RESULT($with_system_ffi)
|
AC_MSG_RESULT($with_system_ffi)
|
||||||
|
|
||||||
# Check for --with-dbmliborder
|
# Check for --with-dbmliborder
|
||||||
|
|
12
setup.py
12
setup.py
|
@ -887,14 +887,15 @@ class PyBuildExt(build_ext):
|
||||||
else:
|
else:
|
||||||
missing.append('_sqlite3')
|
missing.append('_sqlite3')
|
||||||
|
|
||||||
|
dbm_order = ['gdbm']
|
||||||
# The standard Unix dbm module:
|
# The standard Unix dbm module:
|
||||||
if platform not in ['cygwin']:
|
if platform not in ['cygwin']:
|
||||||
config_args = [arg.strip("'")
|
config_args = [arg.strip("'")
|
||||||
for arg in sysconfig.get_config_var("CONFIG_ARGS").split()]
|
for arg in sysconfig.get_config_var("CONFIG_ARGS").split()]
|
||||||
dbm_args = [arg.split('=')[-1] for arg in config_args
|
dbm_args = [arg for arg in config_args
|
||||||
if arg.startswith('--with-dbmliborder=')]
|
if arg.startswith('--with-dbmliborder=')]
|
||||||
if dbm_args:
|
if dbm_args:
|
||||||
dbm_order = dbm_args[-1].split(":")
|
dbm_order = [arg.split('=')[-1] for arg in dbm_args][-1].split(":")
|
||||||
else:
|
else:
|
||||||
dbm_order = "ndbm:gdbm:bdb".split(":")
|
dbm_order = "ndbm:gdbm:bdb".split(":")
|
||||||
dbmext = None
|
dbmext = None
|
||||||
|
@ -958,7 +959,8 @@ class PyBuildExt(build_ext):
|
||||||
missing.append('_dbm')
|
missing.append('_dbm')
|
||||||
|
|
||||||
# Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm:
|
# Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm:
|
||||||
if (self.compiler_obj.find_library_file(lib_dirs, 'gdbm')):
|
if ('gdbm' in dbm_order and
|
||||||
|
self.compiler_obj.find_library_file(lib_dirs, 'gdbm')):
|
||||||
exts.append( Extension('_gdbm', ['_gdbmmodule.c'],
|
exts.append( Extension('_gdbm', ['_gdbmmodule.c'],
|
||||||
libraries = ['gdbm'] ) )
|
libraries = ['gdbm'] ) )
|
||||||
else:
|
else:
|
||||||
|
@ -1558,7 +1560,9 @@ class PyBuildExt(build_ext):
|
||||||
# in /usr/include/ffi
|
# in /usr/include/ffi
|
||||||
inc_dirs.append('/usr/include/ffi')
|
inc_dirs.append('/usr/include/ffi')
|
||||||
|
|
||||||
ffi_inc = find_file('ffi.h', [], inc_dirs)
|
ffi_inc = [sysconfig.get_config_var("LIBFFI_INCLUDEDIR")]
|
||||||
|
if not ffi_inc:
|
||||||
|
ffi_inc = find_file('ffi.h', [], inc_dirs)
|
||||||
if ffi_inc is not None:
|
if ffi_inc is not None:
|
||||||
ffi_h = ffi_inc[0] + '/ffi.h'
|
ffi_h = ffi_inc[0] + '/ffi.h'
|
||||||
fp = open(ffi_h)
|
fp = open(ffi_h)
|
||||||
|
|
Loading…
Reference in New Issue