summaryrefslogtreecommitdiff
path: root/numpy/linalg/meson.build
blob: 083692913c7c744aa2e25f37245dd414c0df7bdc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
lapack_lite_sources = [
  'lapack_lite/f2c.c',
  'lapack_lite/f2c_c_lapack.c',
  'lapack_lite/f2c_d_lapack.c',
  'lapack_lite/f2c_s_lapack.c',
  'lapack_lite/f2c_z_lapack.c',
  'lapack_lite/f2c_blas.c',
  'lapack_lite/f2c_config.c',
  'lapack_lite/f2c_lapack.c',
  'lapack_lite/python_xerbla.c',
]

# TODO: ILP64 support

lapack_lite_module_src = ['lapack_litemodule.c']
if not have_lapack
  warning('LAPACK was not found, NumPy is using an unoptimized, naive build from sources!')
  lapack_lite_module_src += lapack_lite_sources
endif

py.extension_module('lapack_lite',
  lapack_lite_module_src,
  dependencies: [np_core_dep, lapack],
  install: true,
  subdir: 'numpy/linalg',
)

_umath_linalg_src = ['umath_linalg.cpp'] + lapack_lite_sources

py.extension_module('_umath_linalg',
  _umath_linalg_src,
  dependencies: np_core_dep,
  link_with: npymath_lib,
  install: true,
  subdir: 'numpy/linalg',
)

py.install_sources(
  [
    '__init__.py',
    '__init__.pyi',
    'linalg.py',
    'linalg.pyi',
  ],
  subdir: 'numpy/linalg'
)

py.install_sources(
  [
    'tests/__init__.py',
    'tests/test_deprecations.py',
    'tests/test_linalg.py',
    'tests/test_regression.py',
  ],
  subdir: 'numpy/linalg/tests'
)