From ae41bb4befa4eaa4207f2bacbdce5d7ebfae4d8f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 30 May 2014 18:18:32 -0400 Subject: [PATCH] On OS X, link libpython normally, ignoring the "framework" framework. 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 | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/pl/plpython/Makefile b/src/pl/plpython/Makefile index 651e23b9d9c..7b93ead83e2 100644 --- a/src/pl/plpython/Makefile +++ b/src/pl/plpython/Makefile @@ -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