def configuration(parent_package='', top_path=None): from numpy import get_include from scipy._build_utils.system_info import get_info from scipy._build_utils import uses_blas64 from numpy.distutils.misc_util import Configuration from os.path import join, dirname if uses_blas64(): lapack_opt = get_info('lapack_ilp64_opt') else: lapack_opt = get_info('lapack_opt') lib_inc = join(dirname(dirname(dirname(__file__))), '_lib') bld_inc = join(dirname(dirname(dirname(__file__))), '_build_utils', 'src') config = Configuration('_trlib', parent_package, top_path) config.add_extension( '_trlib', sources=[ '_trlib.c', 'trlib_krylov.c', 'trlib_eigen_inverse.c', 'trlib_leftmost.c', 'trlib_quadratic_zero.c', 'trlib_tri_factor.c' ], include_dirs=[get_include(), lib_inc, bld_inc, 'trlib'], extra_info=lapack_opt, ) return config
def configuration(parent_package='', top_path=None): from scipy._build_utils.system_info import get_info, NotFoundError lapack_opt = get_info("lapack_opt") from numpy.distutils.misc_util import Configuration config = Configuration('scipy', parent_package, top_path) config.add_subpackage('cluster') config.add_subpackage('constants') config.add_subpackage('fftpack') config.add_subpackage('integrate') config.add_subpackage('interpolate') config.add_subpackage('io') config.add_subpackage('linalg') config.add_data_files('*.pxd') config.add_subpackage('misc') config.add_subpackage('odr') config.add_subpackage('optimize') config.add_subpackage('signal') config.add_subpackage('sparse') config.add_subpackage('spatial') config.add_subpackage('special') config.add_subpackage('stats') config.add_subpackage('ndimage') config.add_subpackage('_build_utils') config.add_subpackage('_lib') config.make_config_py() return config
def configuration(parent_package='', top_path=None): import warnings from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info, BlasNotFoundError config = Configuration('odr', parent_package, top_path) libodr_files = ['d_odr.f', 'd_mprec.f', 'dlunoc.f'] blas_info = get_info('blas_opt') if blas_info: libodr_files.append('d_lpk.f') else: warnings.warn(BlasNotFoundError.__doc__) libodr_files.append('d_lpkbls.f') odrpack_src = [join('odrpack', x) for x in libodr_files] config.add_library('odrpack', sources=odrpack_src) sources = ['__odrpack.c'] libraries = ['odrpack'] + blas_info.pop('libraries', []) include_dirs = ['.'] + blas_info.pop('include_dirs', []) config.add_extension('__odrpack', sources=sources, libraries=libraries, include_dirs=include_dirs, depends=(['odrpack.h'] + odrpack_src), **blas_info ) config.add_data_dir('tests') return config
def configuration(parent_package='',top_path=None): from scipy._build_utils.system_info import get_info, NotFoundError lapack_opt = get_info("lapack_opt") from numpy.distutils.misc_util import Configuration config = Configuration('scipy',parent_package,top_path) config.add_subpackage('cluster') config.add_subpackage('constants') config.add_subpackage('fftpack') config.add_subpackage('integrate') config.add_subpackage('interpolate') config.add_subpackage('io') config.add_subpackage('linalg') config.add_data_files('*.pxd') config.add_subpackage('misc') config.add_subpackage('odr') config.add_subpackage('optimize') config.add_subpackage('signal') config.add_subpackage('sparse') config.add_subpackage('spatial') config.add_subpackage('special') config.add_subpackage('stats') config.add_subpackage('ndimage') config.add_subpackage('_build_utils') config.add_subpackage('_lib') config.make_config_py() return config
def configuration(parent_package='', top_path=None): from scipy._build_utils.system_info import get_info from numpy.distutils.misc_util import Configuration from scipy._build_utils import get_g77_abi_wrappers lapack_opt = get_info('lapack_opt') config = Configuration('arpack', parent_package, top_path) arpack_sources = [join('ARPACK', 'SRC', '*.f')] arpack_sources.extend([join('ARPACK', 'UTIL', '*.f')]) arpack_sources += get_g77_abi_wrappers(lapack_opt) config.add_library('arpack_scipy', sources=arpack_sources, include_dirs=[join('ARPACK', 'SRC')]) ext_sources = ['arpack.pyf.src'] config.add_extension( '_arpack', sources=ext_sources, libraries=['arpack_scipy'], extra_info=lapack_opt, depends=arpack_sources, ) config.add_data_dir('tests') # Add license files config.add_data_files('ARPACK/COPYING') return config
def configuration(parent_package='', top_path=None): import warnings from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info, BlasNotFoundError config = Configuration('odr', parent_package, top_path) libodr_files = ['d_odr.f', 'd_mprec.f', 'dlunoc.f'] blas_info = get_info('blas_opt') if blas_info: libodr_files.append('d_lpk.f') else: warnings.warn(BlasNotFoundError.__doc__) libodr_files.append('d_lpkbls.f') odrpack_src = [join('odrpack', x) for x in libodr_files] config.add_library('odrpack', sources=odrpack_src) sources = ['__odrpack.c'] libraries = ['odrpack'] + blas_info.pop('libraries', []) include_dirs = ['.'] + blas_info.pop('include_dirs', []) config.add_extension('__odrpack', sources=sources, libraries=libraries, include_dirs=include_dirs, depends=(['odrpack.h'] + odrpack_src), **blas_info) config.add_data_dir('tests') return config
def configuration(parent_package='',top_path=None): from scipy._build_utils.system_info import get_info, NotFoundError from numpy.distutils.misc_util import Configuration from scipy._build_utils import get_g77_abi_wrappers config = Configuration('isolve',parent_package,top_path) lapack_opt = get_info('lapack_opt') # iterative methods methods = ['BiCGREVCOM.f.src', 'BiCGSTABREVCOM.f.src', 'CGREVCOM.f.src', 'CGSREVCOM.f.src', # 'ChebyREVCOM.f.src', 'GMRESREVCOM.f.src', # 'JacobiREVCOM.f.src', 'QMRREVCOM.f.src', # 'SORREVCOM.f.src' ] Util = ['getbreak.f.src'] sources = Util + methods + ['_iterative.pyf.src'] sources = [join('iterative', x) for x in sources] sources += get_g77_abi_wrappers(lapack_opt) config.add_extension('_iterative', sources=sources, extra_info=lapack_opt) config.add_data_dir('tests') return config
def configuration(parent_package='', top_path=None): from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info, NotFoundError, numpy_info from numpy.distutils.misc_util import Configuration, get_numpy_include_dirs from scipy._build_utils import (get_g77_abi_wrappers, split_fortran_files) lapack_opt = get_info('lapack_opt') if not lapack_opt: msg = 'No lapack/blas resources found.' if sys.platform == "darwin": msg = ('No lapack/blas resources found. ' 'Note: Accelerate is no longer supported.') raise NotFoundError(msg) config = Configuration(None, parent_package, top_path) config.set_options(ignore_setup_xxx_py=True, assume_default_configuration=True, delegate_options_to_subpackages=True, quiet=True) config.add_subpackage('scipy') config.add_data_files(('scipy', '*.txt')) config.get_version('scipy/version.py') return config
def configuration(parent_package='',top_path=None): from scipy._build_utils.system_info import get_info, NotFoundError from numpy.distutils.misc_util import Configuration from scipy._build_utils import get_g77_abi_wrappers lapack_opt = get_info('lapack_opt') config = Configuration('arpack', parent_package, top_path) arpack_sources = [join('ARPACK','SRC', '*.f')] arpack_sources.extend([join('ARPACK','UTIL', '*.f')]) arpack_sources += get_g77_abi_wrappers(lapack_opt) config.add_library('arpack_scipy', sources=arpack_sources, include_dirs=[join('ARPACK', 'SRC')]) ext_sources = ['arpack.pyf.src'] config.add_extension('_arpack', sources=ext_sources, libraries=['arpack_scipy'], extra_info=lapack_opt, depends=arpack_sources, ) config.add_data_dir('tests') # Add license files config.add_data_files('ARPACK/COPYING') return config
def configuration(parent_package='', top_path=None): from scipy._build_utils.system_info import get_info, NotFoundError from numpy.distutils.misc_util import Configuration from scipy._build_utils import get_g77_abi_wrappers config = Configuration('isolve', parent_package, top_path) lapack_opt = get_info('lapack_opt') # iterative methods methods = [ 'BiCGREVCOM.f.src', 'BiCGSTABREVCOM.f.src', 'CGREVCOM.f.src', 'CGSREVCOM.f.src', # 'ChebyREVCOM.f.src', 'GMRESREVCOM.f.src', # 'JacobiREVCOM.f.src', 'QMRREVCOM.f.src', # 'SORREVCOM.f.src' ] Util = ['getbreak.f.src'] sources = Util + methods + ['_iterative.pyf.src'] sources = [join('iterative', x) for x in sources] sources += get_g77_abi_wrappers(lapack_opt) config.add_extension('_iterative', sources=sources, extra_info=lapack_opt) config.add_data_dir('tests') return config
def configuration(parent_package='', top_path=None): from scipy._build_utils.system_info import get_info, NotFoundError from numpy.distutils.misc_util import Configuration lapack_opt = get_info('lapack_opt') if not lapack_opt: if sys.platform == "darwin": msg = ('No BLAS/LAPACK libraries found. ' 'Note: Accelerate is no longer supported.') else: msg = 'No BLAS/LAPACK libraries found.' msg += ( "\n" "To build Scipy from sources, BLAS & LAPACK libraries " "need to be installed.\n" "See site.cfg.example in the Scipy source directory and\n" "https://docs.scipy.org/doc/scipy/reference/building/index.html " "for details.") raise NotFoundError(msg) config = Configuration(None, parent_package, top_path) config.set_options(ignore_setup_xxx_py=True, assume_default_configuration=True, delegate_options_to_subpackages=True, quiet=True) config.add_subpackage('scipy') config.add_data_files(('scipy', '*.txt')) config.get_version('scipy/version.py') return config
def configuration(parent_package='', top_path=None): from scipy._build_utils.system_info import get_info from numpy.distutils.misc_util import Configuration from scipy._build_utils import (get_g77_abi_wrappers, uses_blas64, blas_ilp64_pre_build_hook, get_f2py_int64_options) config = Configuration('isolve', parent_package, top_path) if uses_blas64(): lapack_opt = get_info('lapack_ilp64_opt') f2py_options = get_f2py_int64_options() pre_build_hook = blas_ilp64_pre_build_hook(lapack_opt) else: lapack_opt = get_info('lapack_opt') f2py_options = None pre_build_hook = None # iterative methods methods = [ 'BiCGREVCOM.f.src', 'BiCGSTABREVCOM.f.src', 'CGREVCOM.f.src', 'CGSREVCOM.f.src', # 'ChebyREVCOM.f.src', 'GMRESREVCOM.f.src', # 'JacobiREVCOM.f.src', 'QMRREVCOM.f.src', # 'SORREVCOM.f.src' ] Util = ['getbreak.f.src'] sources = Util + methods + ['_iterative.pyf.src'] sources = [join('iterative', x) for x in sources] sources += get_g77_abi_wrappers(lapack_opt) ext = config.add_extension('_iterative', sources=sources, f2py_options=f2py_options, extra_info=lapack_opt) ext._pre_build_hook = pre_build_hook config.add_data_dir('tests') return config
def configuration(parent_package='', top_path=None): from scipy._build_utils.system_info import get_info from numpy.distutils.misc_util import Configuration from scipy._build_utils import (get_g77_abi_wrappers, gfortran_legacy_flag_hook, blas_ilp64_pre_build_hook, uses_blas64, get_f2py_int64_options) if uses_blas64(): lapack_opt = get_info('lapack_ilp64_opt', 2) pre_build_hook = (gfortran_legacy_flag_hook, blas_ilp64_pre_build_hook(lapack_opt)) f2py_options = get_f2py_int64_options() else: lapack_opt = get_info('lapack_opt') pre_build_hook = gfortran_legacy_flag_hook f2py_options = None config = Configuration('arpack', parent_package, top_path) arpack_sources = [join('ARPACK', 'SRC', '*.f')] arpack_sources.extend([join('ARPACK', 'UTIL', '*.f')]) arpack_sources += get_g77_abi_wrappers(lapack_opt) config.add_library('arpack_scipy', sources=arpack_sources, include_dirs=[join('ARPACK', 'SRC')], _pre_build_hook=pre_build_hook) ext = config.add_extension('_arpack', sources=['arpack.pyf.src'], libraries=['arpack_scipy'], f2py_options=f2py_options, extra_info=lapack_opt, depends=arpack_sources) ext._pre_build_hook = pre_build_hook config.add_data_dir('tests') # Add license files config.add_data_files('ARPACK/COPYING') return config
def configuration(parent_package='', top_path=None): import warnings from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info from scipy._build_utils import (uses_blas64, blas_ilp64_pre_build_hook, combine_dict) config = Configuration('odr', parent_package, top_path) libodr_files = ['d_odr.f', 'd_mprec.f', 'dlunoc.f', 'd_lpk.f'] if uses_blas64(): blas_info = get_info('blas_ilp64_opt') pre_build_hook = blas_ilp64_pre_build_hook(blas_info) else: blas_info = get_info('blas_opt') pre_build_hook = None odrpack_src = [join('odrpack', x) for x in libodr_files] config.add_library('odrpack', sources=odrpack_src, _pre_build_hook=pre_build_hook) sources = ['__odrpack.c'] cfg = combine_dict(blas_info, numpy_nodepr_api, libraries=['odrpack'], include_dirs=['.']) ext = config.add_extension('__odrpack', sources=sources, depends=(['odrpack.h'] + odrpack_src), **cfg ) ext._pre_build_hook = pre_build_hook config.add_data_dir('tests') return config
def configuration(parent_package='',top_path=None): from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info lapack_opt = get_info('lapack_opt', notfound_action=2) config = Configuration('interpolate', parent_package, top_path) fitpack_src = [join('fitpack', '*.f')] config.add_library('fitpack', sources=fitpack_src) config.add_extension('interpnd', sources=['interpnd.c']) config.add_extension('_ppoly', sources=['_ppoly.c'], **lapack_opt) config.add_extension('_bspl', sources=['_bspl.c'], libraries=['fitpack'], depends=['src/__fitpack.h'] + fitpack_src) config.add_extension('_fitpack', sources=['src/_fitpackmodule.c'], libraries=['fitpack'], depends=(['src/__fitpack.h','src/multipack.h'] + fitpack_src) ) config.add_extension('dfitpack', sources=['src/fitpack.pyf'], libraries=['fitpack'], depends=fitpack_src, ) config.add_extension('_interpolate', sources=['src/_interpolate.cpp'], include_dirs=['src'], depends=['src/interpolate.h']) config.add_data_dir('tests') return config
def configuration(parent_package='',top_path=None): from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info from scipy._build_utils import numpy_nodepr_api config = Configuration('dsolve',parent_package,top_path) config.add_data_dir('tests') lapack_opt = get_info('lapack_opt',notfound_action=2) if sys.platform == 'win32': superlu_defs = [('NO_TIMER',1)] else: superlu_defs = [] superlu_defs.append(('USE_VENDOR_BLAS',1)) superlu_src = join(dirname(__file__), 'SuperLU', 'SRC') sources = list(glob.glob(join(superlu_src, '*.c'))) headers = list(glob.glob(join(superlu_src, '*.h'))) config.add_library('superlu_src', sources=sources, macros=superlu_defs, include_dirs=[superlu_src], ) # Extension ext_sources = ['_superlumodule.c', '_superlu_utils.c', '_superluobject.c'] config.add_extension('_superlu', sources=ext_sources, libraries=['superlu_src'], depends=(sources + headers), extra_info=lapack_opt, **numpy_nodepr_api ) # Add license files config.add_data_files('SuperLU/License.txt') return config
def configuration(parent_package='',top_path=None): from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info from scipy._build_utils import numpy_nodepr_api config = Configuration('dsolve',parent_package,top_path) config.add_data_dir('tests') lapack_opt = get_info('lapack_opt',notfound_action=2) if sys.platform == 'win32': superlu_defs = [('NO_TIMER',1)] else: superlu_defs = [] superlu_defs.append(('USE_VENDOR_BLAS',1)) superlu_src = join(dirname(__file__), 'SuperLU', 'SRC') sources = sorted(glob.glob(join(superlu_src, '*.c'))) headers = list(glob.glob(join(superlu_src, '*.h'))) config.add_library('superlu_src', sources=sources, macros=superlu_defs, include_dirs=[superlu_src], ) # Extension ext_sources = ['_superlumodule.c', '_superlu_utils.c', '_superluobject.c'] config.add_extension('_superlu', sources=ext_sources, libraries=['superlu_src'], depends=(sources + headers), extra_info=lapack_opt, **numpy_nodepr_api ) # Add license files config.add_data_files('SuperLU/License.txt') return config
def configuration(parent_package='', top_path=None): from numpy import get_include from scipy._build_utils.system_info import get_info, NotFoundError from numpy.distutils.misc_util import Configuration from os.path import join, dirname lapack_opt = get_info('lapack_opt') lib_inc = join(dirname(dirname(dirname(__file__))), '_lib') config = Configuration('_trlib', parent_package, top_path) config.add_extension('_trlib', sources=['_trlib.c', 'trlib_krylov.c', 'trlib_eigen_inverse.c', 'trlib_leftmost.c', 'trlib_quadratic_zero.c', 'trlib_tri_factor.c'], include_dirs=[get_include(), lib_inc, 'trlib'], extra_info=lapack_opt, ) return config
def configuration(parent_package='', top_path=None): from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info lapack_opt = get_info('lapack_opt', notfound_action=2) config = Configuration('interpolate', parent_package, top_path) fitpack_src = [join('fitpack', '*.f')] config.add_library('fitpack', sources=fitpack_src) config.add_extension('interpnd', sources=['interpnd.c']) config.add_extension('_ppoly', sources=['_ppoly.c'], **lapack_opt) config.add_extension('_bspl', sources=['_bspl.c'], libraries=['fitpack'], depends=['src/__fitpack.h'] + fitpack_src) config.add_extension('_fitpack', sources=['src/_fitpackmodule.c'], libraries=['fitpack'], depends=(['src/__fitpack.h', 'src/multipack.h'] + fitpack_src)) config.add_extension( 'dfitpack', sources=['src/fitpack.pyf'], libraries=['fitpack'], depends=fitpack_src, ) config.add_extension('_interpolate', sources=['src/_interpolate.cpp'], include_dirs=['src'], depends=['src/interpolate.h']) config.add_data_dir('tests') return config
def configuration(parent_package='', top_path=None): from scipy._build_utils.system_info import get_info from numpy.distutils.misc_util import Configuration, get_numpy_include_dirs config = Configuration('cluster', parent_package, top_path) blas_opt = get_info('lapack_opt') config.add_data_dir('tests') config.add_extension('_vq', sources=[('_vq.c')], include_dirs=[get_numpy_include_dirs()], extra_info=blas_opt) config.add_extension('_hierarchy', sources=[('_hierarchy.c')], include_dirs=[get_numpy_include_dirs()]) config.add_extension('_optimal_leaf_ordering', sources=[('_optimal_leaf_ordering.c')], include_dirs=[get_numpy_include_dirs()]) return config
def configuration(parent_package='',top_path=None): from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info config = Configuration('integrate', parent_package, top_path) # Get a local copy of lapack_opt_info lapack_opt = dict(get_info('lapack_opt',notfound_action=2)) # Pop off the libraries list so it can be combined with # additional required libraries lapack_libs = lapack_opt.pop('libraries', []) mach_src = [join('mach','*.f')] quadpack_src = [join('quadpack', '*.f')] lsoda_src = [join('odepack', fn) for fn in [ 'blkdta000.f', 'bnorm.f', 'cfode.f', 'ewset.f', 'fnorm.f', 'intdy.f', 'lsoda.f', 'prja.f', 'solsy.f', 'srcma.f', 'stoda.f', 'vmnorm.f', 'xerrwv.f', 'xsetf.f', 'xsetun.f']] vode_src = [join('odepack', 'vode.f'), join('odepack', 'zvode.f')] dop_src = [join('dop','*.f')] quadpack_test_src = [join('tests','_test_multivariate.c')] odeint_banded_test_src = [join('tests', 'banded5x5.f')] config.add_library('mach', sources=mach_src, config_fc={'noopt':(__file__,1)}) config.add_library('quadpack', sources=quadpack_src) config.add_library('lsoda', sources=lsoda_src) config.add_library('vode', sources=vode_src) config.add_library('dop', sources=dop_src) # Extensions # quadpack: include_dirs = [join(os.path.dirname(__file__), '..', '_lib', 'src')] if 'include_dirs' in lapack_opt: lapack_opt = dict(lapack_opt) include_dirs.extend(lapack_opt.pop('include_dirs')) config.add_extension('_quadpack', sources=['_quadpackmodule.c'], libraries=['quadpack', 'mach'] + lapack_libs, depends=(['__quadpack.h'] + quadpack_src + mach_src), include_dirs=include_dirs, **lapack_opt) # odepack/lsoda-odeint odepack_opts = lapack_opt.copy() odepack_opts.update(numpy_nodepr_api) config.add_extension('_odepack', sources=['_odepackmodule.c'], libraries=['lsoda', 'mach'] + lapack_libs, depends=(lsoda_src + mach_src), **odepack_opts) # vode config.add_extension('vode', sources=['vode.pyf'], libraries=['vode'] + lapack_libs, depends=vode_src, **lapack_opt) # lsoda config.add_extension('lsoda', sources=['lsoda.pyf'], libraries=['lsoda', 'mach'] + lapack_libs, depends=(lsoda_src + mach_src), **lapack_opt) # dop config.add_extension('_dop', sources=['dop.pyf'], libraries=['dop'], depends=dop_src) config.add_extension('_test_multivariate', sources=quadpack_test_src) # Fortran+f2py extension module for testing odeint. config.add_extension('_test_odeint_banded', sources=odeint_banded_test_src, libraries=['lsoda', 'mach'] + lapack_libs, depends=(lsoda_src + mach_src), **lapack_opt) config.add_subpackage('_ivp') config.add_data_dir('tests') return config
def configuration(parent_package='', top_path=None): from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info from scipy._build_utils import (gfortran_legacy_flag_hook, blas_ilp64_pre_build_hook, combine_dict, uses_blas64, get_f2py_int64_options) from scipy._build_utils.compiler_helper import ( set_cxx_flags_hook, set_cxx_flags_clib_hook, set_c_flags_hook) config = Configuration('optimize', parent_package, top_path) include_dirs = [join(os.path.dirname(__file__), '..', '_lib', 'src')] minpack_src = [join('minpack', '*f')] config.add_library('minpack', sources=minpack_src) config.add_extension('_minpack', sources=['_minpackmodule.c'], libraries=['minpack'], depends=(["minpack.h", "__minpack.h"] + minpack_src), include_dirs=include_dirs, **numpy_nodepr_api) config.add_library('rectangular_lsap', sources='rectangular_lsap/rectangular_lsap.cpp', headers='rectangular_lsap/rectangular_lsap.h', _pre_build_hook=set_cxx_flags_clib_hook) _lsap = config.add_extension( '_lsap_module', sources=['_lsap_module.c'], libraries=['rectangular_lsap'], depends=(['rectangular_lsap/rectangular_lsap.cpp', 'rectangular_lsap/rectangular_lsap.h']), include_dirs=include_dirs, **numpy_nodepr_api) _lsap._pre_build_hook = set_c_flags_hook rootfind_src = [join('Zeros', '*.c')] rootfind_hdr = [join('Zeros', 'zeros.h')] config.add_library('rootfind', sources=rootfind_src, headers=rootfind_hdr, **numpy_nodepr_api) config.add_extension('_zeros', sources=['zeros.c'], libraries=['rootfind'], depends=(rootfind_src + rootfind_hdr), **numpy_nodepr_api) if uses_blas64(): lapack = get_info('lapack_ilp64_opt') f2py_options = get_f2py_int64_options() pre_build_hook = blas_ilp64_pre_build_hook(lapack) else: lapack = get_info('lapack_opt') f2py_options = None pre_build_hook = None lapack = combine_dict(lapack, numpy_nodepr_api) sources = ['lbfgsb.pyf', 'lbfgsb.f', 'linpack.f', 'timer.f'] ext = config.add_extension('_lbfgsb', sources=[join('lbfgsb_src', x) for x in sources], f2py_options=f2py_options, **lapack) ext._pre_build_hook = pre_build_hook sources = ['moduleTNC.c', 'tnc.c'] config.add_extension('moduleTNC', sources=[join('tnc', x) for x in sources], depends=[join('tnc', 'tnc.h')], **numpy_nodepr_api) config.add_extension('_cobyla', sources=[join('cobyla', x) for x in [ 'cobyla.pyf', 'cobyla2.f', 'trstlp.f']], **numpy_nodepr_api) sources = ['minpack2.pyf', 'dcsrch.f', 'dcstep.f'] config.add_extension('minpack2', sources=[join('minpack2', x) for x in sources], **numpy_nodepr_api) sources = ['slsqp.pyf', 'slsqp_optmz.f'] ext = config.add_extension('_slsqp', sources=[ join('slsqp', x) for x in sources], **numpy_nodepr_api) ext._pre_build_hook = gfortran_legacy_flag_hook config.add_data_files('__nnls.pyi') ext = config.add_extension('__nnls', sources=[ join('__nnls', x) for x in ["nnls.f", "nnls.pyf"]], **numpy_nodepr_api) ext._pre_build_hook = gfortran_legacy_flag_hook config.add_extension('_group_columns', sources=['_group_columns.c'],) config.add_extension('_bglu_dense', sources=['_bglu_dense.c']) config.add_subpackage('_lsq') config.add_subpackage('_trlib') config.add_subpackage('_trustregion_constr') # Cython optimize API for zeros functions config.add_subpackage('cython_optimize') config.add_data_files('cython_optimize.pxd') config.add_data_files(os.path.join('cython_optimize', '*.pxd')) config.add_extension( 'cython_optimize._zeros', sources=[os.path.join('cython_optimize', '_zeros.c')]) config.add_subpackage('_shgo_lib') config.add_data_dir('_shgo_lib') # HiGHS linear programming libraries and extensions config.add_subpackage('_highs') config.add_data_files(os.path.join('_highs', 'cython', 'src', '*.pxd')) config.add_data_dir('tests') # Add license files config.add_data_files('lbfgsb_src/README') return config
def configuration(parent_package='', top_path=None): from numpy.distutils.misc_util import Configuration, get_numpy_include_dirs from numpy.distutils.misc_util import get_info as get_misc_info from scipy._build_utils.system_info import get_info from scipy._build_utils import combine_dict, uses_blas64, numpy_nodepr_api from scipy._build_utils.compiler_helper import set_cxx_flags_hook from distutils.sysconfig import get_python_inc import pybind11 config = Configuration('spatial', parent_package, top_path) # spatial.transform config.add_subpackage('transform') # qhull qhull_src = sorted( glob.glob(join(dirname(__file__), 'qhull_src', 'src', '*.c'))) inc_dirs = [get_python_inc()] if inc_dirs[0] != get_python_inc(plat_specific=1): inc_dirs.append(get_python_inc(plat_specific=1)) inc_dirs.append(get_numpy_include_dirs()) inc_dirs.append(join(dirname(dirname(__file__)), '_lib')) inc_dirs.append(join(dirname(dirname(__file__)), '_build_utils', 'src')) if uses_blas64(): lapack_opt = get_info('lapack_ilp64_opt') else: lapack_opt = get_info('lapack_opt') cfg = combine_dict(lapack_opt, include_dirs=inc_dirs) config.add_extension('qhull', sources=['qhull.c', 'qhull_misc.c'] + qhull_src, **cfg) # cKDTree ckdtree_src = [ 'query.cxx', 'build.cxx', 'query_pairs.cxx', 'count_neighbors.cxx', 'query_ball_point.cxx', 'query_ball_tree.cxx', 'sparse_distances.cxx' ] ckdtree_src = [join('ckdtree', 'src', x) for x in ckdtree_src] ckdtree_headers = [ 'ckdtree_decl.h', 'coo_entries.h', 'distance_base.h', 'distance.h', 'ordered_pair.h', 'partial_sort.h', 'rectangle.h' ] ckdtree_headers = [join('ckdtree', 'src', x) for x in ckdtree_headers] ckdtree_dep = ['ckdtree.cxx'] + ckdtree_headers + ckdtree_src ext = config.add_extension('ckdtree', sources=['ckdtree.cxx'] + ckdtree_src, depends=ckdtree_dep, include_dirs=inc_dirs + [join('ckdtree', 'src')]) ext._pre_build_hook = set_cxx_flags_hook # _distance_wrap config.add_extension('_distance_wrap', sources=[join('src', 'distance_wrap.c')], depends=[join('src', 'distance_impl.h')], include_dirs=[ get_numpy_include_dirs(), join(dirname(dirname(__file__)), '_lib') ], extra_info=get_misc_info("npymath")) distance_pybind_includes = [ pybind11.get_include(True), pybind11.get_include(False), get_numpy_include_dirs() ] ext = config.add_extension('_distance_pybind', sources=[join('src', 'distance_pybind.cpp')], depends=[ join('src', 'function_ref.h'), join('src', 'views.h'), join('src', 'distance_metrics.h') ], include_dirs=distance_pybind_includes, language='c++', **numpy_nodepr_api) ext._pre_build_hook = pre_build_hook config.add_extension('_voronoi', sources=['_voronoi.c']) config.add_extension('_hausdorff', sources=['_hausdorff.c']) # Add license files config.add_data_files('qhull_src/COPYING.txt') # Type stubs config.add_data_files('*.pyi') return config
def configuration(parent_package='', top_path=None): from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info config = Configuration('optimize', parent_package, top_path) include_dirs = [join(os.path.dirname(__file__), '..', '_lib', 'src')] minpack_src = [join('minpack', '*f')] config.add_library('minpack', sources=minpack_src) config.add_extension('_minpack', sources=['_minpackmodule.c'], libraries=['minpack'], depends=(["minpack.h", "__minpack.h"] + minpack_src), include_dirs=include_dirs, **numpy_nodepr_api) rootfind_src = [join('Zeros', '*.c')] rootfind_hdr = [join('Zeros', 'zeros.h')] config.add_library('rootfind', sources=rootfind_src, headers=rootfind_hdr, **numpy_nodepr_api) config.add_extension('_zeros', sources=['zeros.c'], libraries=['rootfind'], depends=(rootfind_src + rootfind_hdr), **numpy_nodepr_api) lapack = get_info('lapack_opt') if 'define_macros' in numpy_nodepr_api: if ('define_macros' in lapack) and (lapack['define_macros'] is not None): lapack['define_macros'] = (lapack['define_macros'] + numpy_nodepr_api['define_macros']) else: lapack['define_macros'] = numpy_nodepr_api['define_macros'] sources = ['lbfgsb.pyf', 'lbfgsb.f', 'linpack.f', 'timer.f'] config.add_extension('_lbfgsb', sources=[join('lbfgsb_src', x) for x in sources], **lapack) sources = ['moduleTNC.c', 'tnc.c'] config.add_extension('moduleTNC', sources=[join('tnc', x) for x in sources], depends=[join('tnc', 'tnc.h')], **numpy_nodepr_api) config.add_extension('_cobyla', sources=[ join('cobyla', x) for x in ['cobyla.pyf', 'cobyla2.f', 'trstlp.f'] ], **numpy_nodepr_api) sources = ['minpack2.pyf', 'dcsrch.f', 'dcstep.f'] config.add_extension('minpack2', sources=[join('minpack2', x) for x in sources], **numpy_nodepr_api) sources = ['slsqp.pyf', 'slsqp_optmz.f'] config.add_extension('_slsqp', sources=[join('slsqp', x) for x in sources], **numpy_nodepr_api) config.add_extension( '_nnls', sources=[join('nnls', x) for x in ["nnls.f", "nnls.pyf"]], **numpy_nodepr_api) config.add_extension( '_group_columns', sources=['_group_columns.c'], ) config.add_extension('_bglu_dense', sources=['_bglu_dense.c']) config.add_subpackage('_lsq') config.add_subpackage('_trlib') config.add_subpackage('_trustregion_constr') config.add_subpackage('_shgo_lib') config.add_data_dir('_shgo_lib') config.add_data_dir('tests') # Add license files config.add_data_files('lbfgsb_src/README') return config
def configuration(parent_package='', top_path=None): from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info from scipy._build_utils import (uses_blas64, blas_ilp64_pre_build_hook, combine_dict, get_f2py_int64_options) config = Configuration('integrate', parent_package, top_path) if uses_blas64(): lapack_opt = get_info('lapack_ilp64_opt', 2) pre_build_hook = blas_ilp64_pre_build_hook(lapack_opt) f2py_options = get_f2py_int64_options() else: lapack_opt = get_info('lapack_opt') pre_build_hook = None f2py_options = None mach_src = [join('mach', '*.f')] quadpack_src = [join('quadpack', '*.f')] lsoda_src = [ join('odepack', fn) for fn in [ 'blkdta000.f', 'bnorm.f', 'cfode.f', 'ewset.f', 'fnorm.f', 'intdy.f', 'lsoda.f', 'prja.f', 'solsy.f', 'srcma.f', 'stoda.f', 'vmnorm.f', 'xerrwv.f', 'xsetf.f', 'xsetun.f' ] ] vode_src = [join('odepack', 'vode.f'), join('odepack', 'zvode.f')] dop_src = [join('dop', '*.f')] config.add_library('mach', sources=mach_src, config_fc={'noopt': (__file__, 1)}, _pre_build_hook=pre_build_hook) config.add_library('quadpack', sources=quadpack_src, _pre_build_hook=pre_build_hook) config.add_library('lsoda', sources=lsoda_src, _pre_build_hook=pre_build_hook) config.add_library('vode', sources=vode_src, _pre_build_hook=pre_build_hook) config.add_library('dop', sources=dop_src, _pre_build_hook=pre_build_hook) # Extensions # quadpack: include_dirs = [join(os.path.dirname(__file__), '..', '_lib', 'src')] cfg = combine_dict(lapack_opt, include_dirs=include_dirs, libraries=['quadpack', 'mach']) config.add_extension('_quadpack', sources=['_quadpackmodule.c'], depends=(['__quadpack.h'] + quadpack_src + mach_src), **cfg) # odepack/lsoda-odeint cfg = combine_dict(lapack_opt, numpy_nodepr_api, libraries=['lsoda', 'mach']) config.add_extension('_odepack', sources=['_odepackmodule.c'], depends=(lsoda_src + mach_src), **cfg) # vode cfg = combine_dict(lapack_opt, libraries=['vode']) ext = config.add_extension('vode', sources=['vode.pyf'], depends=vode_src, f2py_options=f2py_options, **cfg) ext._pre_build_hook = pre_build_hook # lsoda cfg = combine_dict(lapack_opt, libraries=['lsoda', 'mach']) ext = config.add_extension('lsoda', sources=['lsoda.pyf'], depends=(lsoda_src + mach_src), f2py_options=f2py_options, **cfg) ext._pre_build_hook = pre_build_hook # dop ext = config.add_extension('_dop', sources=['dop.pyf'], libraries=['dop'], depends=dop_src, f2py_options=f2py_options) ext._pre_build_hook = pre_build_hook config.add_subpackage('_ivp') return config
def configuration(parent_package='', top_path=None): from distutils.sysconfig import get_python_inc from scipy._build_utils.system_info import get_info, numpy_info from numpy.distutils.misc_util import Configuration, get_numpy_include_dirs from scipy._build_utils import (get_g77_abi_wrappers, gfortran_legacy_flag_hook, blas_ilp64_pre_build_hook, get_f2py_int64_options, uses_blas64) config = Configuration('linalg', parent_package, top_path) lapack_opt = get_info('lapack_opt') atlas_version = ([ v[3:-3] for k, v in lapack_opt.get('define_macros', []) if k == 'ATLAS_INFO' ] + [None])[0] if atlas_version: print(('ATLAS version: %s' % atlas_version)) if uses_blas64(): lapack_ilp64_opt = get_info('lapack_ilp64_opt', 2) # fblas: sources = ['fblas.pyf.src'] sources += get_g77_abi_wrappers(lapack_opt) depends = ['fblas_l?.pyf.src'] config.add_extension('_fblas', sources=sources, depends=depends, extra_info=lapack_opt) if uses_blas64(): sources = ['fblas_64.pyf.src'] + sources[1:] ext = config.add_extension('_fblas_64', sources=sources, depends=depends, f2py_options=get_f2py_int64_options(), extra_info=lapack_ilp64_opt) ext._pre_build_hook = blas_ilp64_pre_build_hook(lapack_ilp64_opt) # flapack: sources = ['flapack.pyf.src'] sources += get_g77_abi_wrappers(lapack_opt) depends = [ 'flapack_gen.pyf.src', 'flapack_gen_banded.pyf.src', 'flapack_gen_tri.pyf.src', 'flapack_pos_def.pyf.src', 'flapack_pos_def_tri.pyf.src', 'flapack_sym_herm.pyf.src', 'flapack_other.pyf.src', 'flapack_user.pyf.src' ] config.add_extension('_flapack', sources=sources, depends=depends, extra_info=lapack_opt) if uses_blas64(): sources = ['flapack_64.pyf.src'] + sources[1:] ext = config.add_extension('_flapack_64', sources=sources, depends=depends, f2py_options=get_f2py_int64_options(), extra_info=lapack_ilp64_opt) ext._pre_build_hook = blas_ilp64_pre_build_hook(lapack_ilp64_opt) if atlas_version is not None: # cblas: config.add_extension('_cblas', sources=['cblas.pyf.src'], depends=['cblas.pyf.src', 'cblas_l1.pyf.src'], extra_info=lapack_opt) # clapack: config.add_extension('_clapack', sources=['clapack.pyf.src'], depends=['clapack.pyf.src'], extra_info=lapack_opt) # _flinalg: config.add_extension('_flinalg', sources=[join('src', 'det.f'), join('src', 'lu.f')], extra_info=lapack_opt) # _interpolative: ext = config.add_extension( '_interpolative', sources=[join('src', 'id_dist', 'src', '*.f'), "interpolative.pyf"], extra_info=lapack_opt) ext._pre_build_hook = gfortran_legacy_flag_hook # _solve_toeplitz: config.add_extension('_solve_toeplitz', sources=[('_solve_toeplitz.c')], include_dirs=[get_numpy_include_dirs()]) # _matfuncs_sqrtm_triu: if int(os.environ.get('SCIPY_USE_PYTHRAN', 1)): import pythran ext = pythran.dist.PythranExtension( 'scipy.linalg._matfuncs_sqrtm_triu', sources=["scipy/linalg/_matfuncs_sqrtm_triu.py"], config=['compiler.blas=none']) config.ext_modules.append(ext) else: config.add_extension('_matfuncs_sqrtm_triu', sources=[('_matfuncs_sqrtm_triu.c')], include_dirs=[get_numpy_include_dirs()]) config.add_data_dir('tests') # Cython BLAS/LAPACK config.add_data_files('cython_blas.pxd') config.add_data_files('cython_lapack.pxd') sources = ['_blas_subroutine_wrappers.f', '_lapack_subroutine_wrappers.f'] sources += get_g77_abi_wrappers(lapack_opt) includes = numpy_info().get_include_dirs() + [get_python_inc()] config.add_library('fwrappers', sources=sources, include_dirs=includes) config.add_extension('cython_blas', sources=['cython_blas.c'], depends=[ 'cython_blas.pyx', 'cython_blas.pxd', 'fortran_defs.h', '_blas_subroutines.h' ], include_dirs=['.'], libraries=['fwrappers'], extra_info=lapack_opt) config.add_extension('cython_lapack', sources=['cython_lapack.c'], depends=[ 'cython_lapack.pyx', 'cython_lapack.pxd', 'fortran_defs.h', '_lapack_subroutines.h' ], include_dirs=['.'], libraries=['fwrappers'], extra_info=lapack_opt) config.add_extension('_decomp_update', sources=['_decomp_update.c']) config.add_data_files('_cythonized_array_utils.pxd') config.add_extension( '_cythonized_array_utils', sources=['_cythonized_array_utils.c'], depends=['_cythonized_array_utils.pyx', '_cythonized_array_utils.pxd'], include_dirs=['.']) config.add_extension('_matfuncs_expm', sources=['_matfuncs_expm.c']) # Add any license files config.add_data_files('src/id_dist/doc/doc.tex') config.add_data_files('src/lapack_deprecations/LICENSE') # Type stubs config.add_data_files('*.pyi') return config
def configuration(parent_package='', top_path=None): from distutils.sysconfig import get_python_inc from scipy._build_utils.system_info import get_info, NotFoundError, numpy_info from numpy.distutils.misc_util import Configuration, get_numpy_include_dirs from scipy._build_utils import (get_g77_abi_wrappers, split_fortran_files) config = Configuration('linalg', parent_package, top_path) lapack_opt = get_info('lapack_opt') atlas_version = ([v[3:-3] for k, v in lapack_opt.get('define_macros', []) if k == 'ATLAS_INFO']+[None])[0] if atlas_version: print(('ATLAS version: %s' % atlas_version)) # fblas: sources = ['fblas.pyf.src'] sources += get_g77_abi_wrappers(lapack_opt) config.add_extension('_fblas', sources=sources, depends=['fblas_l?.pyf.src'], extra_info=lapack_opt ) # flapack: sources = ['flapack.pyf.src'] sources += get_g77_abi_wrappers(lapack_opt) dep_pfx = join('src', 'lapack_deprecations') deprecated_lapack_routines = [join(dep_pfx, c + 'gegv.f') for c in 'cdsz'] sources += deprecated_lapack_routines config.add_extension('_flapack', sources=sources, depends=['flapack_gen.pyf.src', 'flapack_gen_banded.pyf.src', 'flapack_gen_tri.pyf.src', 'flapack_pos_def.pyf.src', 'flapack_pos_def_tri.pyf.src', 'flapack_sym_herm.pyf.src', 'flapack_other.pyf.src', 'flapack_user.pyf.src'], extra_info=lapack_opt ) if atlas_version is not None: # cblas: config.add_extension('_cblas', sources=['cblas.pyf.src'], depends=['cblas.pyf.src', 'cblas_l1.pyf.src'], extra_info=lapack_opt ) # clapack: config.add_extension('_clapack', sources=['clapack.pyf.src'], depends=['clapack.pyf.src'], extra_info=lapack_opt ) # _flinalg: config.add_extension('_flinalg', sources=[join('src', 'det.f'), join('src', 'lu.f')], extra_info=lapack_opt ) # _interpolative: routines_to_split = [ 'dfftb1', 'dfftf1', 'dffti1', 'dsint1', 'dzfft1', 'id_srand', 'idd_copyints', 'idd_id2svd0', 'idd_pairsamps', 'idd_permute', 'idd_permuter', 'idd_random_transf0', 'idd_random_transf0_inv', 'idd_random_transf_init0', 'idd_subselect', 'iddp_asvd0', 'iddp_rsvd0', 'iddr_asvd0', 'iddr_rsvd0', 'idz_estrank0', 'idz_id2svd0', 'idz_permute', 'idz_permuter', 'idz_random_transf0_inv', 'idz_random_transf_init0', 'idz_random_transf_init00', 'idz_realcomp', 'idz_realcomplex', 'idz_reco', 'idz_subselect', 'idzp_aid0', 'idzp_aid1', 'idzp_asvd0', 'idzp_rsvd0', 'idzr_asvd0', 'idzr_reco', 'idzr_rsvd0', 'zfftb1', 'zfftf1', 'zffti1', ] print('Splitting linalg.interpolative Fortran source files') dirname = os.path.split(os.path.abspath(__file__))[0] fnames = split_fortran_files(join(dirname, 'src', 'id_dist', 'src'), routines_to_split) fnames = [join('src', 'id_dist', 'src', f) for f in fnames] config.add_extension('_interpolative', fnames + ["interpolative.pyf"], extra_info=lapack_opt ) # _solve_toeplitz: config.add_extension('_solve_toeplitz', sources=[('_solve_toeplitz.c')], include_dirs=[get_numpy_include_dirs()]) config.add_data_dir('tests') # Cython BLAS/LAPACK config.add_data_files('cython_blas.pxd') config.add_data_files('cython_lapack.pxd') sources = ['_blas_subroutine_wrappers.f', '_lapack_subroutine_wrappers.f'] sources += get_g77_abi_wrappers(lapack_opt) includes = numpy_info().get_include_dirs() + [get_python_inc()] config.add_library('fwrappers', sources=sources, include_dirs=includes) config.add_extension('cython_blas', sources=['cython_blas.c'], depends=['cython_blas.pyx', 'cython_blas.pxd', 'fortran_defs.h', '_blas_subroutines.h'], include_dirs=['.'], libraries=['fwrappers'], extra_info=lapack_opt) config.add_extension('cython_lapack', sources=['cython_lapack.c'], depends=['cython_lapack.pyx', 'cython_lapack.pxd', 'fortran_defs.h', '_lapack_subroutines.h'], include_dirs=['.'], libraries=['fwrappers'], extra_info=lapack_opt) config.add_extension('_decomp_update', sources=['_decomp_update.c']) # Add any license files config.add_data_files('src/id_dist/doc/doc.tex') config.add_data_files('src/lapack_deprecations/LICENSE') return config
def configuration(parent_package='', top_path=None): from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info config = Configuration('integrate', parent_package, top_path) # Get a local copy of lapack_opt_info lapack_opt = dict(get_info('lapack_opt', notfound_action=2)) # Pop off the libraries list so it can be combined with # additional required libraries lapack_libs = lapack_opt.pop('libraries', []) mach_src = [join('mach', '*.f')] quadpack_src = [join('quadpack', '*.f')] lsoda_src = [ join('odepack', fn) for fn in [ 'blkdta000.f', 'bnorm.f', 'cfode.f', 'ewset.f', 'fnorm.f', 'intdy.f', 'lsoda.f', 'prja.f', 'solsy.f', 'srcma.f', 'stoda.f', 'vmnorm.f', 'xerrwv.f', 'xsetf.f', 'xsetun.f' ] ] vode_src = [join('odepack', 'vode.f'), join('odepack', 'zvode.f')] dop_src = [join('dop', '*.f')] quadpack_test_src = [join('tests', '_test_multivariate.c')] odeint_banded_test_src = [join('tests', 'banded5x5.f')] config.add_library('mach', sources=mach_src, config_fc={'noopt': (__file__, 1)}) config.add_library('quadpack', sources=quadpack_src) config.add_library('lsoda', sources=lsoda_src) config.add_library('vode', sources=vode_src) config.add_library('dop', sources=dop_src) # Extensions # quadpack: include_dirs = [join(os.path.dirname(__file__), '..', '_lib', 'src')] if 'include_dirs' in lapack_opt: lapack_opt = dict(lapack_opt) include_dirs.extend(lapack_opt.pop('include_dirs')) config.add_extension('_quadpack', sources=['_quadpackmodule.c'], libraries=['quadpack', 'mach'] + lapack_libs, depends=(['__quadpack.h'] + quadpack_src + mach_src), include_dirs=include_dirs, **lapack_opt) # odepack/lsoda-odeint odepack_opts = lapack_opt.copy() odepack_opts.update(numpy_nodepr_api) config.add_extension('_odepack', sources=['_odepackmodule.c'], libraries=['lsoda', 'mach'] + lapack_libs, depends=(lsoda_src + mach_src), **odepack_opts) # vode config.add_extension('vode', sources=['vode.pyf'], libraries=['vode'] + lapack_libs, depends=vode_src, **lapack_opt) # lsoda config.add_extension('lsoda', sources=['lsoda.pyf'], libraries=['lsoda', 'mach'] + lapack_libs, depends=(lsoda_src + mach_src), **lapack_opt) # dop config.add_extension('_dop', sources=['dop.pyf'], libraries=['dop'], depends=dop_src) config.add_extension('_test_multivariate', sources=quadpack_test_src) # Fortran+f2py extension module for testing odeint. config.add_extension('_test_odeint_banded', sources=odeint_banded_test_src, libraries=['lsoda', 'mach'] + lapack_libs, depends=(lsoda_src + mach_src), **lapack_opt) config.add_subpackage('_ivp') config.add_data_dir('tests') return config
def configuration(parent_package='',top_path=None): from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info config = Configuration('optimize',parent_package, top_path) include_dirs = [join(os.path.dirname(__file__), '..', '_lib', 'src')] minpack_src = [join('minpack','*f')] config.add_library('minpack',sources=minpack_src) config.add_extension('_minpack', sources=['_minpackmodule.c'], libraries=['minpack'], depends=(["minpack.h","__minpack.h"] + minpack_src), include_dirs=include_dirs, **numpy_nodepr_api) rootfind_src = [join('Zeros','*.c')] rootfind_hdr = [join('Zeros','zeros.h')] config.add_library('rootfind', sources=rootfind_src, headers=rootfind_hdr, **numpy_nodepr_api) config.add_extension('_zeros', sources=['zeros.c'], libraries=['rootfind'], depends=(rootfind_src + rootfind_hdr), **numpy_nodepr_api) lapack = get_info('lapack_opt') if 'define_macros' in numpy_nodepr_api: if ('define_macros' in lapack) and (lapack['define_macros'] is not None): lapack['define_macros'] = (lapack['define_macros'] + numpy_nodepr_api['define_macros']) else: lapack['define_macros'] = numpy_nodepr_api['define_macros'] sources = ['lbfgsb.pyf', 'lbfgsb.f', 'linpack.f', 'timer.f'] config.add_extension('_lbfgsb', sources=[join('lbfgsb_src',x) for x in sources], **lapack) sources = ['moduleTNC.c','tnc.c'] config.add_extension('moduleTNC', sources=[join('tnc',x) for x in sources], depends=[join('tnc','tnc.h')], **numpy_nodepr_api) config.add_extension('_cobyla', sources=[join('cobyla',x) for x in ['cobyla.pyf', 'cobyla2.f', 'trstlp.f']], **numpy_nodepr_api) sources = ['minpack2.pyf', 'dcsrch.f', 'dcstep.f'] config.add_extension('minpack2', sources=[join('minpack2',x) for x in sources], **numpy_nodepr_api) sources = ['slsqp.pyf', 'slsqp_optmz.f'] config.add_extension('_slsqp', sources=[join('slsqp', x) for x in sources], **numpy_nodepr_api) config.add_extension('_nnls', sources=[join('nnls', x) for x in ["nnls.f","nnls.pyf"]], **numpy_nodepr_api) config.add_extension('_group_columns', sources=['_group_columns.c'],) config.add_subpackage('_lsq') config.add_subpackage('_trlib') config.add_subpackage('_trustregion_constr') config.add_subpackage('_shgo_lib') config.add_data_dir('_shgo_lib') config.add_data_dir('tests') # Add license files config.add_data_files('lbfgsb_src/README') return config
def configuration(parent_package='', top_path=None): from distutils.sysconfig import get_python_inc from scipy._build_utils.system_info import get_info, NotFoundError, numpy_info from numpy.distutils.misc_util import Configuration, get_numpy_include_dirs from scipy._build_utils import (get_g77_abi_wrappers, split_fortran_files) config = Configuration('linalg', parent_package, top_path) lapack_opt = get_info('lapack_opt') atlas_version = ([ v[3:-3] for k, v in lapack_opt.get('define_macros', []) if k == 'ATLAS_INFO' ] + [None])[0] if atlas_version: print(('ATLAS version: %s' % atlas_version)) # fblas: sources = ['fblas.pyf.src'] sources += get_g77_abi_wrappers(lapack_opt) config.add_extension('_fblas', sources=sources, depends=['fblas_l?.pyf.src'], extra_info=lapack_opt) # flapack: sources = ['flapack.pyf.src'] sources += get_g77_abi_wrappers(lapack_opt) dep_pfx = join('src', 'lapack_deprecations') deprecated_lapack_routines = [join(dep_pfx, c + 'gegv.f') for c in 'cdsz'] sources += deprecated_lapack_routines config.add_extension( '_flapack', sources=sources, depends=[ 'flapack_gen.pyf.src', 'flapack_gen_banded.pyf.src', 'flapack_gen_tri.pyf.src', 'flapack_pos_def.pyf.src', 'flapack_pos_def_tri.pyf.src', 'flapack_sym_herm.pyf.src', 'flapack_other.pyf.src', 'flapack_user.pyf.src' ], extra_info=lapack_opt) if atlas_version is not None: # cblas: config.add_extension('_cblas', sources=['cblas.pyf.src'], depends=['cblas.pyf.src', 'cblas_l1.pyf.src'], extra_info=lapack_opt) # clapack: config.add_extension('_clapack', sources=['clapack.pyf.src'], depends=['clapack.pyf.src'], extra_info=lapack_opt) # _flinalg: config.add_extension('_flinalg', sources=[join('src', 'det.f'), join('src', 'lu.f')], extra_info=lapack_opt) # _interpolative: routines_to_split = [ 'dfftb1', 'dfftf1', 'dffti1', 'dsint1', 'dzfft1', 'id_srand', 'idd_copyints', 'idd_id2svd0', 'idd_pairsamps', 'idd_permute', 'idd_permuter', 'idd_random_transf0', 'idd_random_transf0_inv', 'idd_random_transf_init0', 'idd_sfft1', 'idd_sffti1', 'idd_subselect', 'iddp_asvd0', 'iddp_rsvd0', 'iddr_asvd0', 'iddr_rsvd0', 'idz_estrank0', 'idz_id2svd0', 'idz_permute', 'idz_permuter', 'idz_random_transf0_inv', 'idz_random_transf_init0', 'idz_random_transf_init00', 'idz_realcomp', 'idz_realcomplex', 'idz_reco', 'idz_subselect', 'idzp_aid0', 'idzp_aid1', 'idzp_asvd0', 'idzp_rsvd0', 'idzr_asvd0', 'idzr_reco', 'idzr_rsvd0', 'zfftb1', 'zfftf1', 'zffti1', ] print('Splitting linalg.interpolative Fortran source files') dirname = os.path.split(os.path.abspath(__file__))[0] fnames = split_fortran_files(join(dirname, 'src', 'id_dist', 'src'), routines_to_split) fnames = [join('src', 'id_dist', 'src', f) for f in fnames] config.add_extension('_interpolative', fnames + ["interpolative.pyf"], extra_info=lapack_opt) # _solve_toeplitz: config.add_extension('_solve_toeplitz', sources=[('_solve_toeplitz.c')], include_dirs=[get_numpy_include_dirs()]) config.add_data_dir('tests') # Cython BLAS/LAPACK config.add_data_files('cython_blas.pxd') config.add_data_files('cython_lapack.pxd') sources = ['_blas_subroutine_wrappers.f', '_lapack_subroutine_wrappers.f'] sources += get_g77_abi_wrappers(lapack_opt) includes = numpy_info().get_include_dirs() + [get_python_inc()] config.add_library('fwrappers', sources=sources, include_dirs=includes) config.add_extension('cython_blas', sources=['cython_blas.c'], depends=[ 'cython_blas.pyx', 'cython_blas.pxd', 'fortran_defs.h', '_blas_subroutines.h' ], include_dirs=['.'], libraries=['fwrappers'], extra_info=lapack_opt) config.add_extension('cython_lapack', sources=['cython_lapack.c'], depends=[ 'cython_lapack.pyx', 'cython_lapack.pxd', 'fortran_defs.h', '_lapack_subroutines.h' ], include_dirs=['.'], libraries=['fwrappers'], extra_info=lapack_opt) config.add_extension('_decomp_update', sources=['_decomp_update.c']) # Add any license files config.add_data_files('src/id_dist/doc/doc.tex') config.add_data_files('src/lapack_deprecations/LICENSE') return config
def configuration(parent_package='', top_path=None): from distutils.sysconfig import get_python_inc from scipy._build_utils.system_info import get_info, numpy_info from numpy.distutils.misc_util import Configuration, get_numpy_include_dirs from scipy._build_utils import get_g77_abi_wrappers config = Configuration('linalg', parent_package, top_path) lapack_opt = get_info('lapack_opt') atlas_version = ([ v[3:-3] for k, v in lapack_opt.get('define_macros', []) if k == 'ATLAS_INFO' ] + [None])[0] if atlas_version: print(('ATLAS version: %s' % atlas_version)) # fblas: sources = ['fblas.pyf.src'] sources += get_g77_abi_wrappers(lapack_opt) config.add_extension('_fblas', sources=sources, depends=['fblas_l?.pyf.src'], extra_info=lapack_opt) # flapack: sources = ['flapack.pyf.src'] sources += get_g77_abi_wrappers(lapack_opt) dep_pfx = join('src', 'lapack_deprecations') deprecated_lapack_routines = [join(dep_pfx, c + 'gegv.f') for c in 'cdsz'] sources += deprecated_lapack_routines config.add_extension( '_flapack', sources=sources, depends=[ 'flapack_gen.pyf.src', 'flapack_gen_banded.pyf.src', 'flapack_gen_tri.pyf.src', 'flapack_pos_def.pyf.src', 'flapack_pos_def_tri.pyf.src', 'flapack_sym_herm.pyf.src', 'flapack_other.pyf.src', 'flapack_user.pyf.src' ], extra_info=lapack_opt) if atlas_version is not None: # cblas: config.add_extension('_cblas', sources=['cblas.pyf.src'], depends=['cblas.pyf.src', 'cblas_l1.pyf.src'], extra_info=lapack_opt) # clapack: config.add_extension('_clapack', sources=['clapack.pyf.src'], depends=['clapack.pyf.src'], extra_info=lapack_opt) # _flinalg: config.add_extension('_flinalg', sources=[join('src', 'det.f'), join('src', 'lu.f')], extra_info=lapack_opt) # _interpolative: config.add_extension( '_interpolative', sources=[join('src', 'id_dist', 'src', '*.f'), "interpolative.pyf"], extra_info=lapack_opt) # _solve_toeplitz: config.add_extension('_solve_toeplitz', sources=[('_solve_toeplitz.c')], include_dirs=[get_numpy_include_dirs()]) config.add_data_dir('tests') # Cython BLAS/LAPACK config.add_data_files('cython_blas.pxd') config.add_data_files('cython_lapack.pxd') sources = ['_blas_subroutine_wrappers.f', '_lapack_subroutine_wrappers.f'] sources += get_g77_abi_wrappers(lapack_opt) includes = numpy_info().get_include_dirs() + [get_python_inc()] config.add_library('fwrappers', sources=sources, include_dirs=includes) config.add_extension('cython_blas', sources=['cython_blas.c'], depends=[ 'cython_blas.pyx', 'cython_blas.pxd', 'fortran_defs.h', '_blas_subroutines.h' ], include_dirs=['.'], libraries=['fwrappers'], extra_info=lapack_opt) config.add_extension('cython_lapack', sources=['cython_lapack.c'], depends=[ 'cython_lapack.pyx', 'cython_lapack.pxd', 'fortran_defs.h', '_lapack_subroutines.h' ], include_dirs=['.'], libraries=['fwrappers'], extra_info=lapack_opt) config.add_extension('_decomp_update', sources=['_decomp_update.c']) # Add any license files config.add_data_files('src/id_dist/doc/doc.tex') config.add_data_files('src/lapack_deprecations/LICENSE') return config
def configuration(parent_package='', top_path=None): from numpy.distutils.misc_util import Configuration from scipy._build_utils.system_info import get_info from scipy._build_utils import (gfortran_legacy_flag_hook, blas_ilp64_pre_build_hook, combine_dict, uses_blas64, get_f2py_int64_options) from scipy._build_utils.compiler_helper import (set_cxx_flags_clib_hook, set_c_flags_hook) from distutils.sysconfig import get_python_inc config = Configuration('optimize', parent_package, top_path) include_dirs = [join(os.path.dirname(__file__), '..', '_lib', 'src')] minpack_src = [join('minpack', '*f')] config.add_library('minpack', sources=minpack_src) config.add_extension('_minpack', sources=['_minpackmodule.c'], libraries=['minpack'], depends=(["minpack.h", "__minpack.h"] + minpack_src), include_dirs=include_dirs, **numpy_nodepr_api) config.add_library('rectangular_lsap', sources='rectangular_lsap/rectangular_lsap.cpp', headers='rectangular_lsap/rectangular_lsap.h', _pre_build_hook=set_cxx_flags_clib_hook) _lsap = config.add_extension('_lsap', sources=['_lsap.c'], libraries=['rectangular_lsap'], depends=([ 'rectangular_lsap/rectangular_lsap.cpp', 'rectangular_lsap/rectangular_lsap.h' ]), include_dirs=include_dirs, **numpy_nodepr_api) _lsap._pre_build_hook = set_c_flags_hook rootfind_src = [join('Zeros', '*.c')] rootfind_hdr = [join('Zeros', 'zeros.h')] config.add_library('rootfind', sources=rootfind_src, headers=rootfind_hdr, **numpy_nodepr_api) config.add_extension('_zeros', sources=['zeros.c'], libraries=['rootfind'], depends=(rootfind_src + rootfind_hdr), **numpy_nodepr_api) if uses_blas64(): lapack = get_info('lapack_ilp64_opt') f2py_options = get_f2py_int64_options() pre_build_hook = blas_ilp64_pre_build_hook(lapack) else: lapack = get_info('lapack_opt') f2py_options = None pre_build_hook = None lapack = combine_dict(lapack, numpy_nodepr_api) sources = ['lbfgsb.pyf', 'lbfgsb.f', 'linpack.f', 'timer.f'] ext = config.add_extension( '_lbfgsb', sources=[join('lbfgsb_src', x) for x in sources], f2py_options=f2py_options, **lapack) ext._pre_build_hook = pre_build_hook sources = ['_moduleTNC.c', 'tnc.c'] config.add_extension('_moduleTNC', sources=[join('tnc', x) for x in sources], depends=[join('tnc', 'tnc.h')], **numpy_nodepr_api) config.add_extension('_cobyla', sources=[ join('cobyla', x) for x in ['cobyla.pyf', 'cobyla2.f', 'trstlp.f'] ], **numpy_nodepr_api) sources = ['minpack2.pyf', 'dcsrch.f', 'dcstep.f'] config.add_extension('_minpack2', sources=[join('minpack2', x) for x in sources], **numpy_nodepr_api) sources = ['slsqp.pyf', 'slsqp_optmz.f'] ext = config.add_extension('_slsqp', sources=[join('slsqp', x) for x in sources], **numpy_nodepr_api) ext._pre_build_hook = gfortran_legacy_flag_hook sources = [ join('_direct', x) for x in ('direct_wrap.c', 'DIRect.c', 'DIRsubrout.c', 'DIRserial.c') ] headers = ['_directmodule.h', join('_direct', 'direct-internal.h')] config.add_library('_direct_lib', sources=sources, headers=headers, include_dirs=[get_python_inc()], **numpy_nodepr_api) config.add_extension('_direct', sources=['_directmodule.c'], libraries=['_direct_lib'], depends=(sources + headers), **numpy_nodepr_api) config.add_data_files('__nnls.pyi') ext = config.add_extension( '__nnls', sources=[join('__nnls', x) for x in ["nnls.f", "nnls.pyf"]], **numpy_nodepr_api) ext._pre_build_hook = gfortran_legacy_flag_hook if int(os.environ.get('SCIPY_USE_PYTHRAN', 1)): import pythran ext = pythran.dist.PythranExtension( 'scipy.optimize._group_columns', sources=["scipy/optimize/_group_columns.py"], config=['compiler.blas=none']) config.ext_modules.append(ext) else: config.add_extension( '_group_columns', sources=['_group_columns.c'], ) config.add_extension('_bglu_dense', sources=['_bglu_dense.c']) config.add_subpackage('_lsq') config.add_subpackage('_trlib') config.add_subpackage('_trustregion_constr') # Cython optimize API for zeros functions config.add_subpackage('cython_optimize') config.add_data_files('cython_optimize.pxd') config.add_subpackage('_shgo_lib') config.add_data_dir('_shgo_lib') # HiGHS linear programming libraries and extensions if 'sdist' not in sys.argv: # Avoid running this during sdist creation - it makes numpy.distutils # create an empty cython/src top-level directory. config.add_subpackage('_highs') config.add_data_dir('tests') # Add license files config.add_data_files('lbfgsb_src/README') return config