summaryrefslogtreecommitdiff
path: root/ccompiler.py
diff options
context:
space:
mode:
authorNed Deily <nad@python.org>2016-02-25 00:56:38 +1100
committerNed Deily <nad@python.org>2016-02-25 00:56:38 +1100
commitef3d89d581b83fa214d5563d4e3a9e7c901746ab (patch)
tree121d59ec92c47e9855c8719167cb0dfaba855f09 /ccompiler.py
parent7a7aaaf398456bb31074f4446d8c1290d9695019 (diff)
downloadpython-setuptools-git-ef3d89d581b83fa214d5563d4e3a9e7c901746ab.tar.gz
Issue #25136: Support Apple Xcode 7's new textual SDK stub libraries.
As of Xcode 7, SDKs for Apple platforms now include textual-format stub libraries whose file names have a .tbd extension rather than the standard OS X .dylib extension. The Apple compiler tool chain handles these stub libraries transparently and the installed system shared libraries are still .dylibs. However, the new stub libraries cause problems for third-party programs that support building with Apple SDKs and make build-time decisions based on the presence or paths of system-supplied shared libraries in the SDK. In particular, building Python itself with an SDK fails to find system-supplied libraries during setup.py's build of standard library extension modules. The solution is to have find_library_file() in Distutils search for .tbd files, along with the existing types (.a, .so, and .dylib). Patch by Tim Smith.
Diffstat (limited to 'ccompiler.py')
-rw-r--r--ccompiler.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/ccompiler.py b/ccompiler.py
index 82fd7d5c..b71d1d39 100644
--- a/ccompiler.py
+++ b/ccompiler.py
@@ -875,9 +875,9 @@ main (int argc, char **argv) {
def library_filename(self, libname, lib_type='static', # or 'shared'
strip_dir=0, output_dir=''):
assert output_dir is not None
- if lib_type not in ("static", "shared", "dylib"):
+ if lib_type not in ("static", "shared", "dylib", "xcode_stub"):
raise ValueError(
- "'lib_type' must be \"static\", \"shared\" or \"dylib\"")
+ "'lib_type' must be \"static\", \"shared\", \"dylib\", or \"xcode_stub\"")
fmt = getattr(self, lib_type + "_lib_format")
ext = getattr(self, lib_type + "_lib_extension")