diff options
author | Fabio Tranchitella <fabio@tranchitella.eu> | 2009-08-05 11:23:58 +0000 |
---|---|---|
committer | Fabio Tranchitella <fabio@tranchitella.eu> | 2009-08-05 11:23:58 +0000 |
commit | 4d3e4353863fd8d7a7d13535cc6648668d454e5c (patch) | |
tree | bbe1de02dce29fa9a4bfea29491e48a8e5c5b90e /setup.py | |
parent | ecce3b19b5cfe3c9c2f00ff13730118526c4c2a2 (diff) | |
download | zope-i18nmessageid-4d3e4353863fd8d7a7d13535cc6648668d454e5c.tar.gz |
Fixed the compilation of the C extension with python 2.6: refactored it as a setuptools Feature.
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 59 |
1 files changed, 21 insertions, 38 deletions
@@ -1,3 +1,12 @@ +#!/usr/bin/python2.6 + +import sys + +sys.path[0:0] = [ + '/home/kobold/buildbot/ztk/zope.i18nmessageid-py2.6-64bit-linux/build/src', + '/home/kobold/.buildout/eggs/setuptools-0.6c9-py2.6.egg', +] + ############################################################################## # # Copyright (c) 2006 Zope Corporation and Contributors. @@ -19,7 +28,7 @@ $Id$ import os import sys -from setuptools import setup, find_packages, Extension +from setuptools import setup, find_packages, Extension, Feature from distutils.command.build_ext import build_ext from distutils.errors import CCompilerError from distutils.errors import DistutilsExecError @@ -28,35 +37,15 @@ from distutils.errors import DistutilsPlatformError def read(*rnames): return open(os.path.join(os.path.dirname(__file__), *rnames)).read() -class optional_build_ext(build_ext): - """This class subclasses build_ext and allows - the building of C extensions to fail. - """ - def run(self): - try: - build_ext.run(self) - - except DistutilsPlatformError, e: - self._unavailable(e) - - def build_extension(self, ext): - try: - build_ext.build_extension(self, ext) - - except (CCompilerError, DistutilsExecError), e: - self._unavailable(e) - - def _unavailable(self, e): - print >> sys.stderr, '*' * 80 - print >> sys.stderr, """WARNING: - - An optional code optimization (C extension) could not be compiled. - - Optimizations for this package will not be available!""" - print >> sys.stderr - print >> sys.stderr, e - print >> sys.stderr, '*' * 80 - +codeoptimization = Feature("Optional code optimizations", + standard=True, + ext_modules=[ + Extension("zope.i18nmessageid._zope_i18nmessageid_message", [ + os.path.join('src', 'zope', 'i18nmessageid', + "_zope_i18nmessageid_message.c") + ]), + ], +) setup(name='zope.i18nmessageid', version = '3.5.1dev', @@ -85,16 +74,10 @@ setup(name='zope.i18nmessageid', url='http://pypi.python.org/pypi/zope.i18nmessageid', packages=find_packages('src'), package_dir = {'': 'src'}, - ext_modules=[ - Extension("zope.i18nmessageid._zope_i18nmessageid_message", - [os.path.join('src', 'zope', 'i18nmessageid', - "_zope_i18nmessageid_message.c") ]), - ], + features = {'codeoptimization': codeoptimization}, namespace_packages=['zope',], tests_require = ['zope.testing'], install_requires=['setuptools'], include_package_data = True, zip_safe = False, - cmdclass = {'build_ext':optional_build_ext}, - ) - +) |