Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
bpo-36146: Fix inc_dirs in setup.py on macOS
Fix setup.py on macOS: only add /usr/include/ffi to include
directories of _ctypes, not for all extensions.
  • Loading branch information
vstinner committed Feb 28, 2019
commit 05087a66c5d9f23aa1d34919d5d06cca1ce175bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Fix setup.py on macOS: only add ``/usr/include/ffi`` to include
directories of _ctypes, not for all extensions.
5 changes: 3 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2003,16 +2003,17 @@ def detect_ctypes(self, inc_dirs, lib_dirs):
libraries=['m'])
self.extensions.extend([ext, ext_test])

ffi_inc_dirs = inc_dirs.copy()
if MACOS:
if '--with-system-ffi' not in sysconfig.get_config_var("CONFIG_ARGS"):
return
# OS X 10.5 comes with libffi.dylib; the include files are
# in /usr/include/ffi
inc_dirs.append('/usr/include/ffi')
ffi_inc_dirs.append('/usr/include/ffi')

ffi_inc = [sysconfig.get_config_var("LIBFFI_INCLUDEDIR")]
if not ffi_inc or ffi_inc[0] == '':
ffi_inc = find_file('ffi.h', [], inc_dirs)
ffi_inc = find_file('ffi.h', [], ffi_inc_dirs)
if ffi_inc is not None:
ffi_h = ffi_inc[0] + '/ffi.h'
if not os.path.exists(ffi_h):
Expand Down