#! /usr/bin/env python # -------- import sys, os from distutils.sysconfig import get_config_vars config = get_config_vars() CC = os.environ.get('CC') if CC: del os.environ['CC'] config['CC'] = CC CXX = os.environ.get('CXX') if CXX: del os.environ['CCX'] config['CCX'] = CXX LD = os.environ.get('LD') if LD: del os.environ['LD'] LDSHARED = config['LDSHARED'].split() LDSHARED = LD.split() + LDSHARED[1:] config['LDSHARED'] = ' '.join(LDSHARED) # -------- import sys, os, tempfile from distutils.core import setup from distutils.dir_util import remove_tree from Cython.Distutils.extension import Extension from Cython.Distutils import build_ext def main(source, **args): name, ext = os.path.splitext(source) tmpdir = tempfile.mkdtemp() try: setup(script_args = ['build', '--build-base', tmpdir, 'build_ext', '--force', '--inplace', ], ext_modules = [Extension(name, [source])], cmdclass = {'build_ext' : build_ext}, ) finally: remove_tree(tmpdir) # -------- if __name__ == '__main__': main(sys.argv[1]) # -------- # Local Variables: # mode: python # End: