Chris@87: from __future__ import division, print_function Chris@87: Chris@87: import os Chris@87: import sys Chris@87: Chris@87: def configuration(parent_package='',top_path=None): Chris@87: from numpy.distutils.misc_util import Configuration Chris@87: from numpy.distutils.system_info import get_info Chris@87: config = Configuration('linalg', parent_package, top_path) Chris@87: Chris@87: config.add_data_dir('tests') Chris@87: Chris@87: # Configure lapack_lite Chris@87: Chris@87: src_dir = 'lapack_lite' Chris@87: lapack_lite_src = [ Chris@87: os.path.join(src_dir, 'python_xerbla.c'), Chris@87: os.path.join(src_dir, 'zlapack_lite.c'), Chris@87: os.path.join(src_dir, 'dlapack_lite.c'), Chris@87: os.path.join(src_dir, 'blas_lite.c'), Chris@87: os.path.join(src_dir, 'dlamch.c'), Chris@87: os.path.join(src_dir, 'f2c_lite.c'), Chris@87: os.path.join(src_dir, 'f2c.h'), Chris@87: ] Chris@87: Chris@87: lapack_info = get_info('lapack_opt', 0) # and {} Chris@87: def get_lapack_lite_sources(ext, build_dir): Chris@87: if not lapack_info: Chris@87: print("### Warning: Using unoptimized lapack ###") Chris@87: return ext.depends[:-1] Chris@87: else: Chris@87: if sys.platform=='win32': Chris@87: print("### Warning: python_xerbla.c is disabled ###") Chris@87: return ext.depends[:1] Chris@87: return ext.depends[:2] Chris@87: Chris@87: config.add_extension('lapack_lite', Chris@87: sources = [get_lapack_lite_sources], Chris@87: depends = ['lapack_litemodule.c'] + lapack_lite_src, Chris@87: extra_info = lapack_info Chris@87: ) Chris@87: Chris@87: # umath_linalg module Chris@87: Chris@87: config.add_extension('_umath_linalg', Chris@87: sources = [get_lapack_lite_sources], Chris@87: depends = ['umath_linalg.c.src'] + lapack_lite_src, Chris@87: extra_info = lapack_info, Chris@87: libraries = ['npymath'], Chris@87: ) Chris@87: Chris@87: return config Chris@87: Chris@87: if __name__ == '__main__': Chris@87: from numpy.distutils.core import setup Chris@87: setup(configuration=configuration)