diff options
author | Christian Heimes <christian@python.org> | 2016-09-18 12:35:39 (GMT) |
---|---|---|
committer | Christian Heimes <christian@python.org> | 2016-09-18 12:35:39 (GMT) |
commit | aa630e051b0bada78b30d0eba7842931235b7b5e (patch) | |
tree | 04cc4d32aada2e3dedf6bbe4312f8db62a3251d8 | |
parent | 892cc1952454341fe40da085befe0cb3dddb8d98 (diff) | |
parent | 85c98bf9682a46f7b15e9c79c68d38af8a9109b0 (diff) | |
download | cpython-aa630e051b0bada78b30d0eba7842931235b7b5e.zip cpython-aa630e051b0bada78b30d0eba7842931235b7b5e.tar.gz cpython-aa630e051b0bada78b30d0eba7842931235b7b5e.tar.bz2 |
Issue #26661: setup.py now detects system libffi with multiarch wrapper.
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | setup.py | 16 |
2 files changed, 11 insertions, 7 deletions
@@ -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. @@ -1976,14 +1976,16 @@ class PyBuildExt(build_ext): 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'): |