aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/python.m425
-rwxr-xr-xconfigure25
2 files changed, 46 insertions, 4 deletions
diff --git a/config/python.m4 b/config/python.m4
index e29f05987b5..babf5ab1dbe 100644
--- a/config/python.m4
+++ b/config/python.m4
@@ -88,12 +88,18 @@ then
found_shlib=1
else
# Otherwise, guess the base name of the shlib.
- # LDVERSION was added in Python 3.2, before that use $python_version.
+ # LDVERSION was added in Python 3.2, before that use VERSION,
+ # or failing that, $python_version from _PGAC_CHECK_PYTHON_DIRS.
python_ldversion=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LDVERSION'))))"`
if test x"${python_ldversion}" != x""; then
ldlibrary="python${python_ldversion}"
else
- ldlibrary="python${python_version}"
+ python_version_var=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('VERSION'))))"`
+ if test x"${python_version_var}" != x""; then
+ ldlibrary="python${python_version_var}"
+ else
+ ldlibrary="python${python_version}"
+ fi
fi
# Search for a likely-looking file.
found_shlib=0
@@ -124,6 +130,21 @@ else
done
done
fi
+ # As usual, Windows has its own ideas. c:/Windows/System32 takes the
+ # place of /usr/lib as a possible default library location, and the
+ # "lib" prefix might not be there.
+ if test "$found_shlib" != 1 -a "$PORTNAME" = win32 ; then
+ for d in "${python_libdir}" "${python_configdir}" c:/Windows/System32
+ do
+ for f in "$d/lib${ldlibrary}.dll" "$d/${ldlibrary}.dll" ; do
+ if test -e "$f"; then
+ python_libdir="$d"
+ found_shlib=1
+ break 2
+ fi
+ done
+ done
+ fi
fi
if test "$found_shlib" != 1; then
AC_MSG_ERROR([could not find shared library for Python
diff --git a/configure b/configure
index 3d08f5a5e95..204daa056d5 100755
--- a/configure
+++ b/configure
@@ -7631,12 +7631,18 @@ then
found_shlib=1
else
# Otherwise, guess the base name of the shlib.
- # LDVERSION was added in Python 3.2, before that use $python_version.
+ # LDVERSION was added in Python 3.2, before that use VERSION,
+ # or failing that, $python_version from _PGAC_CHECK_PYTHON_DIRS.
python_ldversion=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LDVERSION'))))"`
if test x"${python_ldversion}" != x""; then
ldlibrary="python${python_ldversion}"
else
- ldlibrary="python${python_version}"
+ python_version_var=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('VERSION'))))"`
+ if test x"${python_version_var}" != x""; then
+ ldlibrary="python${python_version_var}"
+ else
+ ldlibrary="python${python_version}"
+ fi
fi
# Search for a likely-looking file.
found_shlib=0
@@ -7667,6 +7673,21 @@ else
done
done
fi
+ # As usual, Windows has its own ideas. c:/Windows/System32 takes the
+ # place of /usr/lib as a possible default library location, and the
+ # "lib" prefix might not be there.
+ if test "$found_shlib" != 1 -a "$PORTNAME" = win32 ; then
+ for d in "${python_libdir}" "${python_configdir}" c:/Windows/System32
+ do
+ for f in "$d/lib${ldlibrary}.dll" "$d/${ldlibrary}.dll" ; do
+ if test -e "$f"; then
+ python_libdir="$d"
+ found_shlib=1
+ break 2
+ fi
+ done
+ done
+ fi
fi
if test "$found_shlib" != 1; then
as_fn_error $? "could not find shared library for Python