On tis, 2012-05-08 at 11:33 -0400, Clay McClure wrote:
> "The gist of it is to grab python-config --prefix and store it in a
> variable, say py_prefix. If the file $py_prefix/Python exists, you are
> dealing with a Framework build and -framework Python is the
> appropriate method of linking. Otherwise, you have a UNIX-style build
> and -lpython is the appropriate method of linking."
Please try the attached patch. It's completely untested, as I don't
have that platform, but as a guidance about how it might work.
diff --git i/config/python.m4 w/config/python.m4
index baa7136..d051203 100644
--- i/config/python.m4
+++ w/config/python.m4
@@ -79,6 +79,15 @@ fi
python_additional_libs=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBS','LIBC','LIBM','BASEMODLIBS'))))"`
+case $host_os in darwin*)
+ python_prefix=`${PYTHON} -c "import distutils.sysconfig; print(distutils.sysconfig.PREFIX)"`
+ if test -f "$python_prefix/Python"; then
+ python_libspec='-framework Python'
+ python_additional_libs=
+ fi
+ ;;
+esac
+
AC_MSG_RESULT([${python_libspec} ${python_additional_libs}])
AC_SUBST(python_libdir)[]dnl
diff --git i/configure w/configure
index 60db1f7..5859b51 100755
--- i/configure
+++ w/configure
@@ -7387,6 +7387,15 @@ fi
python_additional_libs=`${PYTHON} -c "import distutils.sysconfig; print(' '.join(filter(None,distutils.sysconfig.get_config_vars('LIBS','LIBC','LIBM','BASEMODLIBS'))))"`
+case $host_os in darwin*)
+ python_prefix=`${PYTHON} -c "import distutils.sysconfig; print(distutils.sysconfig.PREFIX)"`
+ if test -f "$python_prefix/Python"; then
+ python_libspec='-framework Python'
+ python_additional_libs=
+ fi
+ ;;
+esac
+
{ $as_echo "$as_me:$LINENO: result: ${python_libspec} ${python_additional_libs}" >&5
$as_echo "${python_libspec} ${python_additional_libs}" >&6; }
diff --git i/src/pl/plpython/Makefile w/src/pl/plpython/Makefile
index af6b459..e6a72fb 100644
--- i/src/pl/plpython/Makefile
+++ w/src/pl/plpython/Makefile
@@ -23,9 +23,9 @@ endif
# Darwin (OS X) has its own ideas about how to do this.
ifeq ($(PORTNAME), darwin)
+ifneq(,$(filter -framework,$(python_libspec)))
shared_libpython = yes
-override python_libspec = -framework Python
-override python_additional_libs =
+endif
endif
# If we don't have a shared library and the platform doesn't allow it
--
Sent via pgsql-bugs mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs