summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorFabio Tranchitella <fabio@tranchitella.eu>2009-08-05 11:23:58 +0000
committerFabio Tranchitella <fabio@tranchitella.eu>2009-08-05 11:23:58 +0000
commit4d3e4353863fd8d7a7d13535cc6648668d454e5c (patch)
treebbe1de02dce29fa9a4bfea29491e48a8e5c5b90e /setup.py
parentecce3b19b5cfe3c9c2f00ff13730118526c4c2a2 (diff)
downloadzope-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.py59
1 files changed, 21 insertions, 38 deletions
diff --git a/setup.py b/setup.py
index 96c2e82..74839f8 100644
--- a/setup.py
+++ b/setup.py
@@ -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},
- )
-
+)