diff options
Diffstat (limited to 'cffi/verifier.py')
-rw-r--r-- | cffi/verifier.py | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/cffi/verifier.py b/cffi/verifier.py index 9603a7e..d575a25 100644 --- a/cffi/verifier.py +++ b/cffi/verifier.py @@ -1,7 +1,17 @@ -import sys, os, binascii, imp, shutil +import sys, os, binascii, shutil from . import __version__ from . import ffiplatform +if sys.version_info >= (3, 3): + import importlib.machinery + def extension_suffixes(): + return importlib.machinery.EXTENSION_SUFFIXES[:] +else: + import imp + def extension_suffixes(): + return [suffix for suffix, _, type in imp.get_suffixes() + if type == imp.C_EXTENSION] + class Verifier(object): @@ -222,11 +232,7 @@ def cleanup_tmpdir(tmpdir=None, keep_so=False): pass def _get_so_suffixes(): - suffixes = [] - for suffix, mode, type in imp.get_suffixes(): - if type == imp.C_EXTENSION: - suffixes.append(suffix) - + suffixes = extension_suffixes() if not suffixes: # bah, no C_EXTENSION available. Occurs on pypy without cpyext if sys.platform == 'win32': |