cantera/interfaces/cython/setup.py.in
Ray Speth eaceaf7b86 [SCons] Use SCons to compile the Cython extension
Fixes issues with mismatched compilers between the Cython extension and the
cantera library, especially on OS X. Improves build dependency resolution to
eliminate unnecessary recompilation of _cantera.cpp.
2014-01-31 23:15:17 +00:00

55 lines
2 KiB
Python

import os
from distutils.core import setup
# Monkey patch to prevent bdist_msi from incorrectly overwriting the value of
# build-lib specified on the command line.
# See http://bugs.python.org/issue1109963
# This patch works by returning False the first time that the
# 'has_ext_modules' method is called in bdist_msi.run, which is where the
# replacement of build_lib happens. Subsequent calls to 'has_ext_modules'
# should use the correct value so that the resulting installer is specific to
# this Python version. Known to affect Python versions 2.6 through 3.3. If
# this bug is ever fixed, this patch should be made conditional on the Python
# version.
if os.name == 'nt':
from distutils.command.bdist_msi import bdist_msi
bdist_run_orig = bdist_msi.run
def bdist_run_new(self):
has_ext_modules_orig = self.distribution.has_ext_modules
self._first_call = True
def has_ext_modules():
if self._first_call:
self._first_call = False
return False
else:
return has_ext_modules_orig()
self.distribution.has_ext_modules = has_ext_modules
return bdist_run_orig(self)
bdist_msi.run = bdist_run_new
setup(name="Cantera",
version="@cantera_version@",
description="The Cantera Python Interface",
long_description="""
""",
author="Raymond Speth",
author_email="speth@mit.edu",
url="http://code.google.com/p/cantera",
packages = ['cantera',
'cantera.data',
'cantera.test',
'cantera.test.data',
'cantera.mixmaster',
'cantera.mixmaster.Units',
'cantera.examples'],
scripts=[@py_ctml_writer@,
@py_ck2cti@,
@py_mixmaster@],
package_data = {'cantera.data': ['*.*'],
'cantera.test.data': ['*.*'],
'cantera.examples': ['*/*.*'],
'cantera': ["@py_extension@", '*.pxd']})