Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r2590:169e377c8437 Date: 2016-01-15 17:33 +0100 http://bitbucket.org/cffi/cffi/changeset/169e377c8437/
Log: fixes for pypy diff --git a/cffi/api.py b/cffi/api.py --- a/cffi/api.py +++ b/cffi/api.py @@ -545,6 +545,12 @@ def _apply_embedding_fix(self, kwds): # must include an argument like "-lpython2.7" for the compiler if '__pypy__' in sys.builtin_module_names: + if hasattr(sys, 'prefix'): + import os + libdir = os.path.join(sys.prefix, 'bin') + dirs = kwds.setdefault('library_dirs', []) + if libdir not in dirs: + dirs.append(libdir) pythonlib = "pypy-c" else: if sys.platform == "win32": @@ -557,9 +563,9 @@ (sys.hexversion >> 24, (sys.hexversion >> 16) & 0xff)) if hasattr(sys, 'abiflags'): pythonlib += sys.abiflags - libraries = kwds.get('libraries', []) + libraries = kwds.setdefault('libraries', []) if pythonlib not in libraries: - kwds['libraries'] = libraries + [pythonlib] + libraries.append(pythonlib) def set_source(self, module_name, source, source_extension='.c', **kwds): if hasattr(self, '_assigned_source'): diff --git a/testing/embedding/test_basic.py b/testing/embedding/test_basic.py --- a/testing/embedding/test_basic.py +++ b/testing/embedding/test_basic.py @@ -20,7 +20,7 @@ ffi._apply_embedding_fix(kwds) ffi.set_source("_test_lib_python_found", "", **kwds) try: - ffi.compile(tmpdir=tmpdir) + ffi.compile(tmpdir=tmpdir, verbose=True) except cffi.VerificationError as e: _link_error = e else: _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit