first commit
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
import os
|
||||
from os.path import join
|
||||
|
||||
from numpy.distutils.misc_util import get_info
|
||||
|
||||
|
||||
def pre_build_hook(build_ext, ext):
|
||||
from scipy._build_utils.compiler_helper import get_cxx_std_flag
|
||||
std_flag = get_cxx_std_flag(build_ext._cxx_compiler)
|
||||
if std_flag is not None:
|
||||
ext.extra_compile_args.append(std_flag)
|
||||
|
||||
|
||||
def configuration(parent_package='', top_path=None):
|
||||
from numpy.distutils.misc_util import Configuration
|
||||
from scipy._build_utils.compiler_helper import set_cxx_flags_hook
|
||||
import numpy as np
|
||||
config = Configuration('stats', parent_package, top_path)
|
||||
|
||||
config.add_data_dir('tests')
|
||||
|
||||
statlib_src = [join('statlib', '*.f')]
|
||||
config.add_library('statlib', sources=statlib_src)
|
||||
|
||||
# add _statlib module
|
||||
config.add_extension('_statlib',
|
||||
sources=['statlib.pyf'],
|
||||
f2py_options=['--no-wrap-functions'],
|
||||
libraries=['statlib'],
|
||||
depends=statlib_src)
|
||||
|
||||
# add _stats module
|
||||
config.add_extension('_stats',
|
||||
sources=['_stats.c'])
|
||||
|
||||
# add _mvn module
|
||||
config.add_extension('_mvn',
|
||||
sources=['mvn.pyf', 'mvndst.f'])
|
||||
|
||||
# add _sobol module
|
||||
config.add_extension('_sobol',
|
||||
sources=['_sobol.c'])
|
||||
config.add_data_files('_sobol_direction_numbers.npz')
|
||||
|
||||
# add _qmc_cy module
|
||||
ext = config.add_extension('_qmc_cy',
|
||||
sources=['_qmc_cy.cxx'])
|
||||
ext._pre_build_hook = set_cxx_flags_hook
|
||||
|
||||
if int(os.environ.get('SCIPY_USE_PYTHRAN', 1)):
|
||||
import pythran
|
||||
ext = pythran.dist.PythranExtension(
|
||||
'scipy.stats._hypotests_pythran',
|
||||
sources=["scipy/stats/_hypotests_pythran.py"],
|
||||
config=['compiler.blas=none'])
|
||||
config.ext_modules.append(ext)
|
||||
|
||||
# add BiasedUrn module
|
||||
config.add_data_files('_biasedurn.pxd')
|
||||
from _generate_pyx import isNPY_OLD # type: ignore[import]
|
||||
NPY_OLD = isNPY_OLD()
|
||||
|
||||
if NPY_OLD:
|
||||
biasedurn_libs = []
|
||||
biasedurn_libdirs = []
|
||||
else:
|
||||
biasedurn_libs = ['npyrandom', 'npymath']
|
||||
biasedurn_libdirs = [join(np.get_include(),
|
||||
'..', '..', 'random', 'lib')]
|
||||
biasedurn_libdirs += get_info('npymath')['library_dirs']
|
||||
|
||||
ext = config.add_extension(
|
||||
'_biasedurn',
|
||||
sources=[
|
||||
'_biasedurn.cxx',
|
||||
'biasedurn/impls.cpp',
|
||||
'biasedurn/fnchyppr.cpp',
|
||||
'biasedurn/wnchyppr.cpp',
|
||||
'biasedurn/stoc1.cpp',
|
||||
'biasedurn/stoc3.cpp'],
|
||||
include_dirs=[np.get_include()],
|
||||
library_dirs=biasedurn_libdirs,
|
||||
libraries=biasedurn_libs,
|
||||
define_macros=[('R_BUILD', None)],
|
||||
language='c++',
|
||||
depends=['biasedurn/stocR.h'],
|
||||
)
|
||||
ext._pre_build_hook = pre_build_hook
|
||||
|
||||
# add unuran subumodule
|
||||
config.add_subpackage('_unuran')
|
||||
|
||||
# add boost stats distributions
|
||||
config.add_subpackage('_boost')
|
||||
|
||||
# Type stubs
|
||||
config.add_data_files('*.pyi')
|
||||
|
||||
return config
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
from numpy.distutils.core import setup
|
||||
|
||||
setup(**configuration(top_path='').todict())
|
||||
Reference in New Issue
Block a user