Chris@87
|
1 from __future__ import division, print_function
|
Chris@87
|
2
|
Chris@87
|
3 import os
|
Chris@87
|
4 import sys
|
Chris@87
|
5
|
Chris@87
|
6 def configuration(parent_package='',top_path=None):
|
Chris@87
|
7 from numpy.distutils.misc_util import Configuration
|
Chris@87
|
8 from numpy.distutils.system_info import get_info
|
Chris@87
|
9 config = Configuration('linalg', parent_package, top_path)
|
Chris@87
|
10
|
Chris@87
|
11 config.add_data_dir('tests')
|
Chris@87
|
12
|
Chris@87
|
13 # Configure lapack_lite
|
Chris@87
|
14
|
Chris@87
|
15 src_dir = 'lapack_lite'
|
Chris@87
|
16 lapack_lite_src = [
|
Chris@87
|
17 os.path.join(src_dir, 'python_xerbla.c'),
|
Chris@87
|
18 os.path.join(src_dir, 'zlapack_lite.c'),
|
Chris@87
|
19 os.path.join(src_dir, 'dlapack_lite.c'),
|
Chris@87
|
20 os.path.join(src_dir, 'blas_lite.c'),
|
Chris@87
|
21 os.path.join(src_dir, 'dlamch.c'),
|
Chris@87
|
22 os.path.join(src_dir, 'f2c_lite.c'),
|
Chris@87
|
23 os.path.join(src_dir, 'f2c.h'),
|
Chris@87
|
24 ]
|
Chris@87
|
25
|
Chris@87
|
26 lapack_info = get_info('lapack_opt', 0) # and {}
|
Chris@87
|
27 def get_lapack_lite_sources(ext, build_dir):
|
Chris@87
|
28 if not lapack_info:
|
Chris@87
|
29 print("### Warning: Using unoptimized lapack ###")
|
Chris@87
|
30 return ext.depends[:-1]
|
Chris@87
|
31 else:
|
Chris@87
|
32 if sys.platform=='win32':
|
Chris@87
|
33 print("### Warning: python_xerbla.c is disabled ###")
|
Chris@87
|
34 return ext.depends[:1]
|
Chris@87
|
35 return ext.depends[:2]
|
Chris@87
|
36
|
Chris@87
|
37 config.add_extension('lapack_lite',
|
Chris@87
|
38 sources = [get_lapack_lite_sources],
|
Chris@87
|
39 depends = ['lapack_litemodule.c'] + lapack_lite_src,
|
Chris@87
|
40 extra_info = lapack_info
|
Chris@87
|
41 )
|
Chris@87
|
42
|
Chris@87
|
43 # umath_linalg module
|
Chris@87
|
44
|
Chris@87
|
45 config.add_extension('_umath_linalg',
|
Chris@87
|
46 sources = [get_lapack_lite_sources],
|
Chris@87
|
47 depends = ['umath_linalg.c.src'] + lapack_lite_src,
|
Chris@87
|
48 extra_info = lapack_info,
|
Chris@87
|
49 libraries = ['npymath'],
|
Chris@87
|
50 )
|
Chris@87
|
51
|
Chris@87
|
52 return config
|
Chris@87
|
53
|
Chris@87
|
54 if __name__ == '__main__':
|
Chris@87
|
55 from numpy.distutils.core import setup
|
Chris@87
|
56 setup(configuration=configuration)
|