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

Reply via email to