diff mercurial/policy.py @ 29490:b4d117cee636

policy: add cffi policy for PyPy This adds cffi policy in the case where we don't want to use C modules, but instead we're happy to rely on cffi (bundled with pypy)
author Maciej Fijalkowski <fijall@gmail.com>
date Tue, 07 Jun 2016 15:35:58 +0200
parents b3a677c82a35
children 62939e0148f1
line wrap: on
line diff
--- a/mercurial/policy.py	Mon Jul 04 10:04:11 2016 -0700
+++ b/mercurial/policy.py	Tue Jun 07 15:35:58 2016 +0200
@@ -14,10 +14,15 @@
 #
 #    c - require C extensions
 #    allow - allow pure Python implementation when C loading fails
+#    cffi - required cffi versions (implemented within pure module)
+#    cffi-allow - allow pure Python implementation if cffi version is missing
 #    py - only load pure Python modules
 #
 # By default, require the C extensions for performance reasons.
 policy = 'c'
+policynoc = ('cffi', 'cffi-allow', 'py')
+policynocffi = ('c', 'py')
+
 try:
     from . import __modulepolicy__
     policy = __modulepolicy__.modulepolicy
@@ -29,7 +34,7 @@
 # The canonical way to do this is to test platform.python_implementation().
 # But we don't import platform and don't bloat for it here.
 if '__pypy__' in sys.builtin_module_names:
-    policy = 'py'
+    policy = 'cffi'
 
 # Our C extensions aren't yet compatible with Python 3. So use pure Python
 # on Python 3 for now.