mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
PL/Python: Make build on OS X more flexible
The PL/Python build on OS X was previously hardcoded to use the system installation of Python, ignoring whatever was specified to configure. Except that it would use the header files from configure, which could lead to mismatches. It was not possible to build against a custom Python installation. Now, we check in configure how the specified Python installation was built and use that, supporting framework and non-framework builds.
This commit is contained in:
14
configure
vendored
14
configure
vendored
@ -672,11 +672,11 @@ HAVE_IPV6
|
||||
LIBOBJS
|
||||
OSSP_UUID_LIBS
|
||||
ZIC
|
||||
python_enable_shared
|
||||
python_additional_libs
|
||||
python_libspec
|
||||
python_libdir
|
||||
python_includespec
|
||||
python_configdir
|
||||
python_version
|
||||
python_majorversion
|
||||
PYTHON
|
||||
@ -7446,8 +7446,14 @@ python_libdir=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(N
|
||||
python_ldlibrary=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LDLIBRARY'))))"`
|
||||
python_so=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('SO'))))"`
|
||||
ldlibrary=`echo "${python_ldlibrary}" | sed "s/${python_so}$//"`
|
||||
python_framework=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('PYTHONFRAMEWORK'))))"`
|
||||
python_enable_shared=`${PYTHON} -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_vars().get('Py_ENABLE_SHARED',0))"`
|
||||
|
||||
if test x"${python_libdir}" != x"" -a x"${python_ldlibrary}" != x"" -a x"${python_ldlibrary}" != x"${ldlibrary}"
|
||||
if test -n "$python_framework"; then
|
||||
python_frameworkprefix=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('PYTHONFRAMEWORKPREFIX'))))"`
|
||||
python_libspec="-F $python_frameworkprefix -framework $python_framework"
|
||||
python_enable_shared=1
|
||||
elif test x"${python_libdir}" != x"" -a x"${python_ldlibrary}" != x"" -a x"${python_ldlibrary}" != x"${ldlibrary}"
|
||||
then
|
||||
# New way: use the official shared library
|
||||
ldlibrary=`echo "${ldlibrary}" | sed "s/^lib//"`
|
||||
@ -7463,7 +7469,9 @@ else
|
||||
python_libspec="-L${python_libdir} -lpython${python_ldversion}"
|
||||
fi
|
||||
|
||||
python_additional_libs=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBS','LIBC','LIBM','BASEMODLIBS'))))"`
|
||||
if test -z "$python_framework"; then
|
||||
python_additional_libs=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBS','LIBC','LIBM','BASEMODLIBS'))))"`
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: result: ${python_libspec} ${python_additional_libs}" >&5
|
||||
$as_echo "${python_libspec} ${python_additional_libs}" >&6; }
|
||||
|
Reference in New Issue
Block a user