From: Christian Heimes Date: Sun, 18 Sep 2016 12:40:15 +0000 (+0200) Subject: Issue #26661: setup.py now detects system libffi with multiarch wrapper. X-Git-Tag: v2.7.13rc1~118 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=37471dc6f9911b0f36aafdf4c130ce608e0443d1;p=python Issue #26661: setup.py now detects system libffi with multiarch wrapper. --- diff --git a/Misc/NEWS b/Misc/NEWS index 9ef88bf07b..49cafbb2b4 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -186,6 +186,8 @@ Tests Build ----- +- Issue #26661: setup.py now detects system libffi with multiarch wrapper. + - Issue #15819: The Include directory in the build tree is already searched; drop unused code trying to add it again. diff --git a/setup.py b/setup.py index e15350c56e..54054c208a 100644 --- a/setup.py +++ b/setup.py @@ -2132,14 +2132,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' - fp = open(ffi_h) - while 1: - line = fp.readline() - if not line: + 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 - break - if line.startswith('#define LIBFFI_H'): - break + 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_convenience', 'ffi_pic', 'ffi'):