Print list of available compilers (used by the "--help-fcompiler" option to "config_fc").
(dist=None)
| 910 | return compiler |
| 911 | |
| 912 | def show_fcompilers(dist=None): |
| 913 | """Print list of available compilers (used by the "--help-fcompiler" |
| 914 | option to "config_fc"). |
| 915 | """ |
| 916 | if dist is None: |
| 917 | from distutils.dist import Distribution |
| 918 | from numpy.distutils.command.config_compiler import config_fc |
| 919 | dist = Distribution() |
| 920 | dist.script_name = os.path.basename(sys.argv[0]) |
| 921 | dist.script_args = ['config_fc'] + sys.argv[1:] |
| 922 | try: |
| 923 | dist.script_args.remove('--help-fcompiler') |
| 924 | except ValueError: |
| 925 | pass |
| 926 | dist.cmdclass['config_fc'] = config_fc |
| 927 | dist.parse_config_files() |
| 928 | dist.parse_command_line() |
| 929 | compilers = [] |
| 930 | compilers_na = [] |
| 931 | compilers_ni = [] |
| 932 | if not fcompiler_class: |
| 933 | load_all_fcompiler_classes() |
| 934 | platform_compilers = available_fcompilers_for_platform() |
| 935 | for compiler in platform_compilers: |
| 936 | v = None |
| 937 | log.set_verbosity(-2) |
| 938 | try: |
| 939 | c = new_fcompiler(compiler=compiler, verbose=dist.verbose) |
| 940 | c.customize(dist) |
| 941 | v = c.get_version() |
| 942 | except (DistutilsModuleError, CompilerNotFound) as e: |
| 943 | log.debug("show_fcompilers: %s not found" % (compiler,)) |
| 944 | log.debug(repr(e)) |
| 945 | |
| 946 | if v is None: |
| 947 | compilers_na.append(("fcompiler="+compiler, None, |
| 948 | fcompiler_class[compiler][2])) |
| 949 | else: |
| 950 | c.dump_properties() |
| 951 | compilers.append(("fcompiler="+compiler, None, |
| 952 | fcompiler_class[compiler][2] + ' (%s)' % v)) |
| 953 | |
| 954 | compilers_ni = list(set(fcompiler_class.keys()) - set(platform_compilers)) |
| 955 | compilers_ni = [("fcompiler="+fc, None, fcompiler_class[fc][2]) |
| 956 | for fc in compilers_ni] |
| 957 | |
| 958 | compilers.sort() |
| 959 | compilers_na.sort() |
| 960 | compilers_ni.sort() |
| 961 | pretty_printer = FancyGetopt(compilers) |
| 962 | pretty_printer.print_help("Fortran compilers found:") |
| 963 | pretty_printer = FancyGetopt(compilers_na) |
| 964 | pretty_printer.print_help("Compilers available for this " |
| 965 | "platform, but not found:") |
| 966 | if compilers_ni: |
| 967 | pretty_printer = FancyGetopt(compilers_ni) |
| 968 | pretty_printer.print_help("Compilers not available on this platform:") |
| 969 | print("For compiler details, run 'config_fc --verbose' setup command.") |
no test coverage detected