|
Lines 364-391
Link Here
|
| 364 |
1 - display warning message |
364 |
1 - display warning message |
| 365 |
2 - raise error |
365 |
2 - raise error |
| 366 |
""" |
366 |
""" |
| 367 |
cl = {'atlas': atlas_info, # use lapack_opt or blas_opt instead |
367 |
cl = {'x11': x11_info, |
| 368 |
'atlas_threads': atlas_threads_info, # ditto |
|
|
| 369 |
'atlas_blas': atlas_blas_info, |
| 370 |
'atlas_blas_threads': atlas_blas_threads_info, |
| 371 |
'lapack_atlas': lapack_atlas_info, # use lapack_opt instead |
| 372 |
'lapack_atlas_threads': lapack_atlas_threads_info, # ditto |
| 373 |
'atlas_3_10': atlas_3_10_info, # use lapack_opt or blas_opt instead |
| 374 |
'atlas_3_10_threads': atlas_3_10_threads_info, # ditto |
| 375 |
'atlas_3_10_blas': atlas_3_10_blas_info, |
| 376 |
'atlas_3_10_blas_threads': atlas_3_10_blas_threads_info, |
| 377 |
'lapack_atlas_3_10': lapack_atlas_3_10_info, # use lapack_opt instead |
| 378 |
'lapack_atlas_3_10_threads': lapack_atlas_3_10_threads_info, # ditto |
| 379 |
'mkl': mkl_info, |
| 380 |
# openblas which may or may not have embedded lapack |
| 381 |
'openblas': openblas_info, # use blas_opt instead |
| 382 |
# openblas with embedded lapack |
| 383 |
'openblas_lapack': openblas_lapack_info, # use blas_opt instead |
| 384 |
'openblas_clapack': openblas_clapack_info, # use blas_opt instead |
| 385 |
'blis': blis_info, # use blas_opt instead |
| 386 |
'lapack_mkl': lapack_mkl_info, # use lapack_opt instead |
| 387 |
'blas_mkl': blas_mkl_info, # use blas_opt instead |
| 388 |
'x11': x11_info, |
| 389 |
'fft_opt': fft_opt_info, |
368 |
'fft_opt': fft_opt_info, |
| 390 |
'fftw': fftw_info, |
369 |
'fftw': fftw_info, |
| 391 |
'fftw2': fftw2_info, |
370 |
'fftw2': fftw2_info, |
|
Lines 730-739
Link Here
|
| 730 |
return [b for b in [a.strip() for a in libs.split(',')] if b] |
709 |
return [b for b in [a.strip() for a in libs.split(',')] if b] |
| 731 |
|
710 |
|
| 732 |
def get_libraries(self, key='libraries'): |
711 |
def get_libraries(self, key='libraries'): |
| 733 |
if hasattr(self, '_lib_names'): |
712 |
return self.get_libs(key, '') |
| 734 |
return self.get_libs(key, default=self._lib_names) |
|
|
| 735 |
else: |
| 736 |
return self.get_libs(key, '') |
| 737 |
|
713 |
|
| 738 |
def library_extensions(self): |
714 |
def library_extensions(self): |
| 739 |
c = customized_ccompiler() |
715 |
c = customized_ccompiler() |
|
Lines 1740-1746
Link Here
|
| 1740 |
lib = self.has_cblas(info) |
1716 |
lib = self.has_cblas(info) |
| 1741 |
if lib is not None: |
1717 |
if lib is not None: |
| 1742 |
info['language'] = 'c' |
1718 |
info['language'] = 'c' |
| 1743 |
info['libraries'] = [lib] |
1719 |
info['libraries'] = lib |
| 1744 |
info['define_macros'] = [('HAVE_CBLAS', None)] |
1720 |
info['define_macros'] = [('HAVE_CBLAS', None)] |
| 1745 |
self.set_info(**info) |
1721 |
self.set_info(**info) |
| 1746 |
|
1722 |
|
|
Lines 1772-1787
Link Here
|
| 1772 |
# check for cblas lib, and if not present check for blas lib. |
1748 |
# check for cblas lib, and if not present check for blas lib. |
| 1773 |
try: |
1749 |
try: |
| 1774 |
c.link_executable(obj, os.path.join(tmpdir, "a.out"), |
1750 |
c.link_executable(obj, os.path.join(tmpdir, "a.out"), |
| 1775 |
libraries=["cblas"], |
1751 |
libraries=info["libraries"], |
| 1776 |
library_dirs=info['library_dirs'], |
1752 |
library_dirs=info['library_dirs'], |
| 1777 |
extra_postargs=info.get('extra_link_args', [])) |
1753 |
extra_postargs=info.get('extra_link_args', [])) |
| 1778 |
res = "cblas" |
1754 |
res = info["libraries"] |
| 1779 |
except distutils.ccompiler.LinkError: |
1755 |
except distutils.ccompiler.LinkError: |
| 1780 |
c.link_executable(obj, os.path.join(tmpdir, "a.out"), |
1756 |
c.link_executable(obj, os.path.join(tmpdir, "a.out"), |
| 1781 |
libraries=["blas"], |
1757 |
libraries=["blas"], |
| 1782 |
library_dirs=info['library_dirs'], |
1758 |
library_dirs=info['library_dirs'], |
| 1783 |
extra_postargs=info.get('extra_link_args', [])) |
1759 |
extra_postargs=info.get('extra_link_args', [])) |
| 1784 |
res = "blas" |
1760 |
res = ["blas"] |
| 1785 |
except distutils.ccompiler.CompileError: |
1761 |
except distutils.ccompiler.CompileError: |
| 1786 |
res = None |
1762 |
res = None |
| 1787 |
finally: |
1763 |
finally: |