File: bscript

package info (click to toggle)
python-scipy 0.18.1-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 75,464 kB
  • ctags: 79,406
  • sloc: python: 143,495; cpp: 89,357; fortran: 81,650; ansic: 79,778; makefile: 364; sh: 265
file content (86 lines) | stat: -rw-r--r-- 3,378 bytes parent folder | download | duplicates (2)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import sys
import os

from bento.commands import hooks
from scipy._build_utils import get_g77_abi_wrappers, get_sgemv_fix


def _append_abi_wrappers(source, env):
    def make_relpath(f):
        return os.path.relpath(f, os.path.abspath(os.path.dirname(__file__)))

    info = {}
    #FIXME: (Accelerate not detected now, should be:
    #if "Accelerate" in env.FRAMEWORK_CBLAS:
    if sys.platform == 'darwin':
        info['extra_link_args'] = ['Accelerate']
    source += [make_relpath(f) for f in get_g77_abi_wrappers(info)]
    source += [make_relpath(f) for f in get_sgemv_fix(info)]


@hooks.pre_build
def pre_build(context):
    default_builder = context.default_builder
    bld = context.waf_context

    def fblas_builder(extension):
        source = extension.sources[:]
        _append_abi_wrappers(source, bld.env)
        return default_builder(extension,
                               features="c fc pyext bento cshlib f2py",
                               source=source,
                               use="LAPACK CLIB")
    context.register_builder("_fblas", fblas_builder)

    def cblas_builder(extension):
        if bld.env.HAS_CBLAS:
            return default_builder(extension,
                                   features="c fc pyext bento cshlib f2py",
                                   use="CBLAS")
    context.register_builder("_cblas", cblas_builder)

    def flapack_builder(extension):
        source = extension.sources[:]
        _append_abi_wrappers(source, bld.env)
        return default_builder(extension,
                               features="c fc pyext bento cshlib f2py",
                               source=source,
                               use="LAPACK CLIB")
    context.register_builder("_flapack", flapack_builder)

    def clapack_builder(extension):
        if bld.env.HAS_CLAPACK:
            return default_builder(extension,
                                   features="c pyext bento cshlib f2py",
                                   use="CLAPACK")
    context.register_builder("_clapack", clapack_builder)

    context.tweak_extension("_flinalg",
                            features="c fc pyext bento cshlib f2py f2py_fortran",
                            use="LAPACK CLIB")

    context.tweak_extension("_interpolative",
                            features="c fc pyext bento cshlib f2py",
                            use="LAPACK CLIB")

    context.tweak_extension("_calc_lwork",
                            features="c fc pyext bento cshlib f2py f2py_fortran",
                            use="LAPACK CLIB")

    def cython_blas_builder(extension):
        source = extension.sources[:]
        _append_abi_wrappers(source, bld.env)
        return default_builder(extension,
                               features="c fc pyext bento cshlib f2py",
                               source=source,
                               use="LAPACK CLIB")
    context.register_builder("cython_blas", cython_blas_builder)

    def cython_lapack_builder(extension):
        source = extension.sources[:]
        _append_abi_wrappers(source, bld.env)
        return default_builder(extension,
                               features="c fc pyext bento cshlib f2py",
                               source=source,
                               use="LAPACK CLIB")
    context.register_builder("cython_lapack", cython_lapack_builder)