Skip to content

Commit

Permalink
Do not build the C extensions when on PyPy or PURE_PYTHON is set.
Browse files Browse the repository at this point in the history
  • Loading branch information
Rotonen committed Oct 21, 2017
1 parent fe688c9 commit 97a6721
Showing 1 changed file with 45 additions and 10 deletions.
55 changes: 45 additions & 10 deletions setup.py
Expand Up @@ -12,22 +12,57 @@
#
##############################################################################

from os import environ
from os.path import join
from setuptools import Extension
from setuptools import find_packages
from setuptools import setup
import platform

from setuptools import setup, find_packages, Extension

README = open('README.rst').read()
CHANGES = open('CHANGES.rst').read()

ext_modules = [
Extension(
name='AccessControl.cAccessControl',
include_dirs=['include', 'src'],
sources=[join('src', 'AccessControl', 'cAccessControl.c')],
depends=[join('include', 'ExtensionClass', 'ExtensionClass.h'),
join('include', 'ExtensionClass', '_compat.h'),
join('include', 'Acquisition', 'Acquisition.h')]),
]
# PyPy is not compatible with ExtensionClass C extensions.
py_impl = getattr(platform, 'python_implementation', lambda: None)
is_pypy = py_impl() == 'PyPy'
is_pure = 'PURE_PYTHON' in environ

if is_pypy or is_pure:
ext_modules = []

else:
ext_modules = [
Extension(
name='AccessControl.cAccessControl',
include_dirs=[
'include',
'src',
],
sources=[join(
'src',
'AccessControl',
'cAccessControl.c',
)],
depends=[
join(
'include',
'ExtensionClass',
'ExtensionClass.h',
),
join(
'include',
'ExtensionClass',
'_compat.h',
),
join(
'include',
'Acquisition',
'Acquisition.h',
),
]),
]


version = '4.0b2.dev0'

Expand Down

0 comments on commit 97a6721

Please sign in to comment.