#!/usr/bin/env python
import re
from os.path import join
def needs_veclib_wrapper(info):
"""Returns true if needs special veclib wrapper."""
import re
r_accel = re.compile("Accelerate")
r_vec = re.compile("vecLib")
res = False
try:
tmpstr = info['extra_link_args']
for i in tmpstr:
if r_accel.search(i) or r_vec.search(i):
res = True
except KeyError:
pass
return res
def configuration(parent_package='',top_path=None):
from numpy.distutils.system_info import get_info,NotFoundError
from numpy.distutils.misc_util import Configuration
config = Configuration('arpack',parent_package,top_path)
lapack_opt = get_info('lapack_opt')
if not lapack_opt:
raise NotFoundError,'no lapack/blas resources found'
config = Configuration('arpack', parent_package, top_path)
arpack_sources=[join('ARPACK','SRC', '*.f')]
arpack_sources.extend([join('ARPACK','UTIL', '*.f')])
arpack_sources.extend([join('ARPACK','LAPACK', '*.f')])
if needs_veclib_wrapper(lapack_opt):
arpack_sources += [join('ARPACK', 'FWRAPPERS', 'veclib_cabi_f.f'),
join('ARPACK', 'FWRAPPERS', 'veclib_cabi_c.c')]
else:
arpack_sources += [join('ARPACK', 'FWRAPPERS', 'dummy.f')]
config.add_library('arpack', sources=arpack_sources,
include_dirs=[join('ARPACK', 'SRC')],
depends = [join('ARPACK', 'FWRAPPERS',
'veclib_cabi_f.f'),
join('ARPACK', 'FWRAPPERS',
'veclib_cabi_c.c'),
join('ARPACK', 'FWRAPPERS',
'dummy.f')])
config.add_extension('_arpack',
sources='arpack.pyf.src',
libraries=['arpack'],
extra_info = lapack_opt
)
config.add_data_dir('tests')
return config
if __name__ == '__main__':
from numpy.distutils.core import setup
setup(**configuration(top_path='').todict())
|