]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
On OS X, link libpython normally, ignoring the "framework" framework.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 30 May 2014 22:18:28 +0000 (18:18 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 30 May 2014 22:18:28 +0000 (18:18 -0400)
As of Xcode 5.0, Apple isn't including the Python framework as part of the
SDK-level files, which means that linking to it might fail depending on
whether Xcode thinks you've selected a specific SDK version.  According to
their Tech Note 2328, they've basically deprecated the framework method of
linking to libpython and are telling people to link to the shared library
normally.  (I'm pretty sure this is in direct contradiction to the advice
they were giving a few years ago, but whatever.)  Testing says that this
approach works fine at least as far back as OS X 10.4.11, so let's just
rip out the framework special case entirely.  We do still need a special
case to decide that OS X provides a shared library at all, unfortunately
(I wonder why the distutils check doesn't work ...).  But this is still
less of a special case than before, so it's fine.

Back-patch to all supported branches, since we'll doubtless be hearing
about this more as more people update to recent Xcode.

src/pl/plpython/Makefile

index 5abe2e0ff335a0a1e1d59f05d76b44550025bebe..8d5b724fb0f341c5d752bda620b0c9ac6c25c903 100644 (file)
@@ -21,11 +21,9 @@ python_includespec := $(subst \,/,$(python_includespec))
 override python_libspec =
 endif
 
-# Darwin (OS X) has its own ideas about how to do this.
+# Darwin (OS X) does supply a .dylib, but the above test doesn't match that.
 ifeq ($(PORTNAME), darwin)
 shared_libpython = yes
-override python_libspec = -framework Python
-override python_additional_libs =
 endif
 
 # If we don't have a shared library and the platform doesn't allow it