changeset: 103924:2a3e4fa42464 branch: 2.7 parent: 103905:9b0d661a16de user: Christian Heimes date: Sun Sep 18 14:40:15 2016 +0200 files: Misc/NEWS setup.py description: Issue #26661: setup.py now detects system libffi with multiarch wrapper. diff -r 9b0d661a16de -r 2a3e4fa42464 Misc/NEWS --- a/Misc/NEWS Sat Sep 17 16:43:01 2016 -0700 +++ b/Misc/NEWS Sun Sep 18 14:40:15 2016 +0200 @@ -186,6 +186,8 @@ 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 -r 9b0d661a16de -r 2a3e4fa42464 setup.py --- a/setup.py Sat Sep 17 16:43:01 2016 -0700 +++ b/setup.py Sun Sep 18 14:40:15 2016 +0200 @@ -2132,14 +2132,16 @@ 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'):