Author: Armin Rigo <[email protected]>
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
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit