[Checkins] SVN: zope.proxy/trunk/ Add support for PyPy.

Tres Seaver cvs-admin at zope.org
Wed Jun 6 20:13:24 UTC 2012


Log message for revision 126625:
  Add support for PyPy.

Changed:
  _U  zope.proxy/trunk/
  U   zope.proxy/trunk/CHANGES.txt
  U   zope.proxy/trunk/setup.py

-=-
Modified: zope.proxy/trunk/CHANGES.txt
===================================================================
--- zope.proxy/trunk/CHANGES.txt	2012-06-06 20:13:17 UTC (rev 126624)
+++ zope.proxy/trunk/CHANGES.txt	2012-06-06 20:13:21 UTC (rev 126625)
@@ -5,6 +5,8 @@
 4.0.0 (unreleased)
 ------------------
 
+- Added support for PyPy.
+
 - Added a pure-Python fallback implementations of ``zope.proxy.ProxyBase``
   and the proxy module API functions.
 

Modified: zope.proxy/trunk/setup.py
===================================================================
--- zope.proxy/trunk/setup.py	2012-06-06 20:13:17 UTC (rev 126624)
+++ zope.proxy/trunk/setup.py	2012-06-06 20:13:21 UTC (rev 126625)
@@ -18,12 +18,35 @@
 ##############################################################################
 """Setup for zope.proxy package
 """
-import os, sys
-from setuptools import setup, Extension
+import os
+import platform
 
+from setuptools import setup, Extension, Feature
+
 def read(*rnames):
     return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
 
+Cwrapper = Feature(
+    "C wrapper",
+    standard = True,
+    ext_modules=[Extension("zope.proxy._zope_proxy_proxy",
+                            [os.path.join('src', 'zope', 'proxy',
+                                        "_zope_proxy_proxy.c")
+                            ],
+                            extra_compile_args=['-g']),
+                ],
+)
+
+# PyPy won't build the extension.
+py_impl = getattr(platform, 'python_implementation', lambda: None)
+is_pypy = py_impl() == 'PyPy'
+if is_pypy:
+    features = {}
+    headers = []
+else:
+    features = {'Cwrapper': Cwrapper}
+    headers=[os.path.join('src', 'zope', 'proxy', 'proxy.h')],
+
 setup(name='zope.proxy',
       version = '4.0.0dev',
       author='Zope Foundation and Contributors',
@@ -46,20 +69,16 @@
           'Programming Language :: Python :: 2.7',
           'Programming Language :: Python :: 3',
           'Programming Language :: Python :: 3.2',
+          'Programming Language :: Python :: Implementation :: CPython',
+          'Programming Language :: Python :: Implementation :: PyPy',
           'Natural Language :: English',
           'Operating System :: OS Independent'],
       keywords='proxy generic transparent',
       packages=['zope', 'zope.proxy'],
       package_dir = {'': 'src'},
       namespace_packages=['zope',],
-
-      headers=[os.path.join('src', 'zope', 'proxy', 'proxy.h')],
-      ext_modules=[Extension("zope.proxy._zope_proxy_proxy",
-                             [os.path.join('src', 'zope', 'proxy',
-                                           "_zope_proxy_proxy.c")
-                              ]),
-                   ],
-
+      features=features,
+      headers=headers,
       test_suite = 'zope.proxy',
       install_requires=[
           'zope.interface',



More information about the checkins mailing list