changeset: 103922:18825546acbc branch: 3.6 parent: 103919:554f49f7f909 parent: 103921:c4cec8f7c727 user: Christian Heimes date: Sun Sep 18 14:34:13 2016 +0200 files: Misc/NEWS setup.py description: Issue #26661: setup.py now detects system libffi with multiarch wrapper. diff -r 554f49f7f909 -r 18825546acbc Misc/NEWS --- a/Misc/NEWS Sun Sep 18 14:53:12 2016 +0300 +++ b/Misc/NEWS Sun Sep 18 14:34:13 2016 +0200 @@ -93,6 +93,8 @@ Build ----- +- Issue #26661: setup.py now detects system libffi with multiarch wrapper. + - Issue #15819: Remove redundant include search directory option for building outside the source tree. diff -r 554f49f7f909 -r 18825546acbc setup.py --- a/setup.py Sun Sep 18 14:53:12 2016 +0300 +++ b/setup.py Sun Sep 18 14:34:13 2016 +0200 @@ -2025,14 +2025,16 @@ 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 + with open(ffi_h) as f: + for line in f: + line = line.strip() + if line.startswith(('#define LIBFFI_H', + '#define ffi_wrapper_h')): break - if line.startswith('#define LIBFFI_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'):