summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaulius Žemaitaitis <saulius@zemaitaitis.lt>2018-01-03 17:51:40 +0200
committerSaulius Žemaitaitis <saulius@zemaitaitis.lt>2018-01-03 17:51:40 +0200
commit5bfc9f03ffb6458ed579f4166cc9825ed7d46315 (patch)
tree39c1674dbd7a1877f9c4f72d26b7a20ef05bc164
parent3084d3efbc9ef709dd4ebff059df365b434dea57 (diff)
downloadpython-lxml-5bfc9f03ffb6458ed579f4166cc9825ed7d46315.tar.gz
Include -isysroot linker arg on macos
Adds -isysroot linker flag when building extensions on darwin target. Uses `xcrun --show-sdk-path` to determine isysroot value. Based on suggestions found in https://forums.developer.apple.com/thread/87829 and addresses https://bugs.launchpad.net/lxml/+bug/1727864
-rw-r--r--setupinfo.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/setupinfo.py b/setupinfo.py
index 8907f72a..c27932bc 100644
--- a/setupinfo.py
+++ b/setupinfo.py
@@ -124,6 +124,9 @@ def ext_modules(static_include_dirs, static_library_dirs,
])
_library_dirs = _prefer_reldirs(base_dir, library_dirs(static_library_dirs))
_cflags = cflags(static_cflags)
+ _ldflags = []
+ if sys.platform == 'darwin':
+ _ldflags.extend(['-isysroot', get_xcode_isysroot()])
_define_macros = define_macros()
_libraries = libraries()
@@ -162,6 +165,7 @@ def ext_modules(static_include_dirs, static_library_dirs,
sources = [main_module_source],
depends = find_dependencies(module),
extra_compile_args = _cflags,
+ extra_link_args = _ldflags,
extra_objects = static_binaries,
define_macros = _define_macros,
include_dirs = _include_dirs,
@@ -400,6 +404,10 @@ def flags(option):
flag_list.append(flag)
return flag_list
+
+def get_xcode_isysroot():
+ return run_command('xcrun', '--show-sdk-path')
+
XSLT_CONFIG = None
XML2_CONFIG = None