diff options
author | Peter Eisentraut | 2013-01-05 13:56:14 +0000 |
---|---|---|
committer | Peter Eisentraut | 2013-01-05 13:56:14 +0000 |
commit | fc8745070a53469a43ecbf999dc5692a36a649cc (patch) | |
tree | 37576ca6e7172b822af95e732631d8ba8e5f5685 /configure | |
parent | 7e938e3c56590899bcfa587ad0220869cb9be951 (diff) |
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.
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/configure b/configure index 33548e175dd..09bc0cf2195 100755 --- a/configure +++ b/configure @@ -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}$//"` - -if test x"${python_libdir}" != x"" -a x"${python_ldlibrary}" != x"" -a x"${python_ldlibrary}" != x"${ldlibrary}" +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 -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; } |