Improve detection of Python 3.2 installations

Because of ABI tagging, the library version number might no longer be
exactly the Python version number, so do extra lookups.  This affects
installations without a shared library, such as ActiveState's
installer.

Also update the way to detect the location of the 'config' directory,
which can also be versioned.

Ashesh Vashi
pull/1/head
Peter Eisentraut 14 years ago
parent e1f9aa4eae
commit f8c2029ef0
  1. 9
      config/python.m4
  2. 9
      configure

@ -32,7 +32,7 @@ fi
AC_MSG_CHECKING([Python configuration directory]) AC_MSG_CHECKING([Python configuration directory])
python_majorversion=`${PYTHON} -c "import sys; print(sys.version[[0]])"` python_majorversion=`${PYTHON} -c "import sys; print(sys.version[[0]])"`
python_version=`${PYTHON} -c "import sys; print(sys.version[[:3]])"` python_version=`${PYTHON} -c "import sys; print(sys.version[[:3]])"`
python_configdir=`${PYTHON} -c "from distutils.sysconfig import get_python_lib as f; import os; print(os.path.join(f(plat_specific=1,standard_lib=1),'config'))"` python_configdir=`${PYTHON} -c "import distutils.sysconfig,string; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBPL'))))"`
python_includespec=`${PYTHON} -c "import distutils.sysconfig; print('-I'+distutils.sysconfig.get_python_inc())"` python_includespec=`${PYTHON} -c "import distutils.sysconfig; print('-I'+distutils.sysconfig.get_python_inc())"`
AC_SUBST(python_majorversion)[]dnl AC_SUBST(python_majorversion)[]dnl
@ -69,7 +69,12 @@ then
else else
# Old way: use libpython from python_configdir # Old way: use libpython from python_configdir
python_libdir="${python_configdir}" python_libdir="${python_configdir}"
python_libspec="-L${python_libdir} -lpython${python_version}" # LDVERSION was introduced in Python 3.2.
python_ldversion=`${PYTHON} -c "import distutils.sysconfig,string; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LDVERSION'))))"`
if test x"${python_ldversion}" = x""; then
python_ldversion=$python_version
fi
python_libspec="-L${python_libdir} -lpython${python_ldversion}"
fi fi
python_additional_libs=`${PYTHON} -c "import distutils.sysconfig,string; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBS','LIBC','LIBM','BASEMODLIBS'))))"` python_additional_libs=`${PYTHON} -c "import distutils.sysconfig,string; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBS','LIBC','LIBM','BASEMODLIBS'))))"`

9
configure vendored

@ -7242,7 +7242,7 @@ fi
$as_echo_n "checking Python configuration directory... " >&6; } $as_echo_n "checking Python configuration directory... " >&6; }
python_majorversion=`${PYTHON} -c "import sys; print(sys.version[0])"` python_majorversion=`${PYTHON} -c "import sys; print(sys.version[0])"`
python_version=`${PYTHON} -c "import sys; print(sys.version[:3])"` python_version=`${PYTHON} -c "import sys; print(sys.version[:3])"`
python_configdir=`${PYTHON} -c "from distutils.sysconfig import get_python_lib as f; import os; print(os.path.join(f(plat_specific=1,standard_lib=1),'config'))"` python_configdir=`${PYTHON} -c "import distutils.sysconfig,string; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBPL'))))"`
python_includespec=`${PYTHON} -c "import distutils.sysconfig; print('-I'+distutils.sysconfig.get_python_inc())"` python_includespec=`${PYTHON} -c "import distutils.sysconfig; print('-I'+distutils.sysconfig.get_python_inc())"`
# This should be enough of a message. # This should be enough of a message.
@ -7266,7 +7266,12 @@ then
else else
# Old way: use libpython from python_configdir # Old way: use libpython from python_configdir
python_libdir="${python_configdir}" python_libdir="${python_configdir}"
python_libspec="-L${python_libdir} -lpython${python_version}" # LDVERSION was introduced in Python 3.2.
python_ldversion=`${PYTHON} -c "import distutils.sysconfig,string; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LDVERSION'))))"`
if test x"${python_ldversion}" = x""; then
python_ldversion=$python_version
fi
python_libspec="-L${python_libdir} -lpython${python_ldversion}"
fi fi
python_additional_libs=`${PYTHON} -c "import distutils.sysconfig,string; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBS','LIBC','LIBM','BASEMODLIBS'))))"` python_additional_libs=`${PYTHON} -c "import distutils.sysconfig,string; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBS','LIBC','LIBM','BASEMODLIBS'))))"`

Loading…
Cancel
Save