Skip to content

Commit

Permalink
Issue python#26661: setup.py now detects system libffi with multiarch…
Browse files Browse the repository at this point in the history
… wrapper.
  • Loading branch information
tiran committed Sep 18, 2016
2 parents 892cc19 + 85c98bf commit aa630e0
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
2 changes: 2 additions & 0 deletions Misc/NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,8 @@ Windows
Build
-----

- Issue #26661: setup.py now detects system libffi with multiarch wrapper.

- Issue #27979: A full copy of libffi is no longer bundled for use when
building _ctypes on non-OSX UNIX platforms. An installed copy of libffi is
now required when building _ctypes on such platforms.
Expand Down
16 changes: 9 additions & 7 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -1976,14 +1976,16 @@ def detect_ctypes(self, inc_dirs, lib_dirs):
ffi_inc = find_file('ffi.h', [], inc_dirs)
if ffi_inc is not None:
ffi_h = ffi_inc[0] + '/ffi.h'
with open(ffi_h) as fp:
while 1:
line = fp.readline()
if not line:
ffi_inc = None
break
if line.startswith('#define LIBFFI_H'):
with open(ffi_h) as f:
for line in f:
line = line.strip()
if line.startswith(('#define LIBFFI_H',
'#define ffi_wrapper_h')):
break
else:
ffi_inc = None
print('Header file {} does not define LIBFFI_H or '
'ffi_wrapper_h'.format(ffi_h))
ffi_lib = None
if ffi_inc is not None:
for lib_name in ('ffi', 'ffi_pic'):
Expand Down

0 comments on commit aa630e0

Please sign in to comment.