MCPcopy Create free account
hub / github.com/numpy/numpy / load_all_fcompiler_classes

Function load_all_fcompiler_classes

numpy/distutils/fcompiler/__init__.py:775–801  ·  view source on GitHub ↗

Cache all the FCompiler classes found in modules in the numpy.distutils.fcompiler package.

()

Source from the content-addressed store, hash-verified

773fcompiler_aliases = None
774
775def load_all_fcompiler_classes():
776 """Cache all the FCompiler classes found in modules in the
777 numpy.distutils.fcompiler package.
778 """
779 from glob import glob
780 global fcompiler_class, fcompiler_aliases
781 if fcompiler_class is not None:
782 return
783 pys = os.path.join(os.path.dirname(__file__), '*.py')
784 fcompiler_class = {}
785 fcompiler_aliases = {}
786 for fname in glob(pys):
787 module_name, ext = os.path.splitext(os.path.basename(fname))
788 module_name = 'numpy.distutils.fcompiler.' + module_name
789 __import__ (module_name)
790 module = sys.modules[module_name]
791 if hasattr(module, 'compilers'):
792 for cname in module.compilers:
793 klass = getattr(module, cname)
794 desc = (klass.compiler_type, klass, klass.description)
795 fcompiler_class[klass.compiler_type] = desc
796 for alias in klass.compiler_aliases:
797 if alias in fcompiler_aliases:
798 raise ValueError("alias %r defined for both %s and %s"
799 % (alias, klass.__name__,
800 fcompiler_aliases[alias][1].__name__))
801 fcompiler_aliases[alias] = desc
802
803def _find_existing_fcompiler(compiler_types,
804 osname=None, platform=None,

Callers 2

new_fcompilerFunction · 0.85
show_fcompilersFunction · 0.85

Calls 1

joinMethod · 0.45

Tested by

no test coverage detected