Author: Armin Rigo <[email protected]>
Branch:
Changeset: r44905:8b6d76ae1f76
Date: 2011-06-13 13:46 +0200
http://bitbucket.org/pypy/pypy/changeset/8b6d76ae1f76/
Log: Fix for some Linuxes on which there is really no libffi.a, but just
libffi.so.
diff --git a/pypy/rlib/clibffi.py b/pypy/rlib/clibffi.py
--- a/pypy/rlib/clibffi.py
+++ b/pypy/rlib/clibffi.py
@@ -18,6 +18,10 @@
import sys
import ctypes.util
+from pypy.tool.ansi_print import ansi_log
+log = py.log.Producer("libffi")
+py.log.setconsumer("libffi", ansi_log)
+
# maaaybe isinstance here would be better. Think
_MSVC = platform.name == "msvc"
_MINGW = platform.name == "mingw32"
@@ -67,12 +71,17 @@
result = os.path.join(dir, 'libffi.a')
if os.path.exists(result):
return result
- raise ImportError("'libffi.a' not found in %s" % (dirlist,))
+ log.WARNING("'libffi.a' not found in %s" % (dirlist,))
+ log.WARNING("trying to use the dynamic library instead...")
+ return None
+ path_libffi_a = None
if hasattr(platform, 'library_dirs_for_libffi_a'):
+ path_libffi_a = find_libffi_a()
+ if path_libffi_a is not None:
# platforms on which we want static linking
libraries = []
- link_files = [find_libffi_a()]
+ link_files = [path_libffi_a]
else:
# platforms on which we want dynamic linking
libraries = ['ffi']
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit