49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
from os.path import join
|
|
from scipy._build_utils import numpy_nodepr_api
|
|
|
|
|
|
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
|
|
|
|
|
|
if __name__ == '__main__':
|
|
from numpy.distutils.core import setup
|
|
setup(**configuration(top_path='').todict())
|