(compiler_types,
osname=None, platform=None,
requiref90=False,
c_compiler=None)
| 801 | fcompiler_aliases[alias] = desc |
| 802 | |
| 803 | def _find_existing_fcompiler(compiler_types, |
| 804 | osname=None, platform=None, |
| 805 | requiref90=False, |
| 806 | c_compiler=None): |
| 807 | from numpy.distutils.core import get_distribution |
| 808 | dist = get_distribution(always=True) |
| 809 | for compiler_type in compiler_types: |
| 810 | v = None |
| 811 | try: |
| 812 | c = new_fcompiler(plat=platform, compiler=compiler_type, |
| 813 | c_compiler=c_compiler) |
| 814 | c.customize(dist) |
| 815 | v = c.get_version() |
| 816 | if requiref90 and c.compiler_f90 is None: |
| 817 | v = None |
| 818 | new_compiler = c.suggested_f90_compiler |
| 819 | if new_compiler: |
| 820 | log.warn('Trying %r compiler as suggested by %r ' |
| 821 | 'compiler for f90 support.' % (compiler_type, |
| 822 | new_compiler)) |
| 823 | c = new_fcompiler(plat=platform, compiler=new_compiler, |
| 824 | c_compiler=c_compiler) |
| 825 | c.customize(dist) |
| 826 | v = c.get_version() |
| 827 | if v is not None: |
| 828 | compiler_type = new_compiler |
| 829 | if requiref90 and c.compiler_f90 is None: |
| 830 | raise ValueError('%s does not support compiling f90 codes, ' |
| 831 | 'skipping.' % (c.__class__.__name__)) |
| 832 | except DistutilsModuleError: |
| 833 | log.debug("_find_existing_fcompiler: compiler_type='%s' raised DistutilsModuleError", compiler_type) |
| 834 | except CompilerNotFound: |
| 835 | log.debug("_find_existing_fcompiler: compiler_type='%s' not found", compiler_type) |
| 836 | if v is not None: |
| 837 | return compiler_type |
| 838 | return None |
| 839 | |
| 840 | def available_fcompilers_for_platform(osname=None, platform=None): |
| 841 | if osname is None: |
no test coverage detected