diff --git a/setup.py b/setup.py index 6ed6e9526ec95cc0ea601e218ace721141450bbe_c2V0dXAucHk=..2fad7dda50f63cb8eb5a9f38beb3cdbd5acafa55_c2V0dXAucHk= 100644 --- a/setup.py +++ b/setup.py @@ -4,4 +4,6 @@ ez_setup.use_setuptools() from setuptools import setup, find_packages, Extension, Feature +from distutils.command.build_ext import build_ext +from distutils.errors import CCompilerError @@ -7,5 +9,5 @@ -VERSION = '1.7' +VERSION = '1.7.1' DESCRIPTION = "Simple, fast, extensible JSON encoder/decoder for Python" LONG_DESCRIPTION = """ simplejson is a simple, fast, complete, correct and extensible @@ -32,6 +34,23 @@ Topic :: Software Development :: Libraries :: Python Modules """.splitlines())) + +BUILD_EXT_WARNING=""" +WARNING: The C extension could not be compiled, speedups are not enabled. + +Above is the output showing how the compilation failed. +""" + +class ve_build_ext(build_ext): + # This class allows C extension building to fail. + def build_extension(self, ext): + try: + build_ext.build_extension(self, ext) + except CCompilerError, x: + print ('*'*70+'\n') + print BUILD_EXT_WARNING + print ('*'*70+'\n') + speedups = Feature( "options C speed-enhancement modules", standard=True, @@ -58,4 +77,5 @@ 'paste.filter_app_factory': ['json = simplejson.jsonfilter:factory'], }, features={'speedups': speedups}, + cmdclass={'build_ext': ve_build_ext}, ) diff --git a/simplejson/__init__.py b/simplejson/__init__.py index 6ed6e9526ec95cc0ea601e218ace721141450bbe_c2ltcGxlanNvbi9fX2luaXRfXy5weQ==..2fad7dda50f63cb8eb5a9f38beb3cdbd5acafa55_c2ltcGxlanNvbi9fX2luaXRfXy5weQ== 100644 --- a/simplejson/__init__.py +++ b/simplejson/__init__.py @@ -86,7 +86,7 @@ Note that the JSON produced by this module's default settings is a subset of YAML, so it may be used as a serializer for that as well. """ -__version__ = '1.7' +__version__ = '1.7.1' __all__ = [ 'dump', 'dumps', 'load', 'loads', 'JSONDecoder', 'JSONEncoder',