Chris@87: from __future__ import division, absolute_import, print_function Chris@87: Chris@87: import os Chris@87: Chris@87: from numpy.distutils.fcompiler import FCompiler Chris@87: Chris@87: compilers = ['LaheyFCompiler'] Chris@87: Chris@87: class LaheyFCompiler(FCompiler): Chris@87: Chris@87: compiler_type = 'lahey' Chris@87: description = 'Lahey/Fujitsu Fortran 95 Compiler' Chris@87: version_pattern = r'Lahey/Fujitsu Fortran 95 Compiler Release (?P[^\s*]*)' Chris@87: Chris@87: executables = { Chris@87: 'version_cmd' : ["", "--version"], Chris@87: 'compiler_f77' : ["lf95", "--fix"], Chris@87: 'compiler_fix' : ["lf95", "--fix"], Chris@87: 'compiler_f90' : ["lf95"], Chris@87: 'linker_so' : ["lf95", "-shared"], Chris@87: 'archiver' : ["ar", "-cr"], Chris@87: 'ranlib' : ["ranlib"] Chris@87: } Chris@87: Chris@87: module_dir_switch = None #XXX Fix me Chris@87: module_include_switch = None #XXX Fix me Chris@87: Chris@87: def get_flags_opt(self): Chris@87: return ['-O'] Chris@87: def get_flags_debug(self): Chris@87: return ['-g', '--chk', '--chkglobal'] Chris@87: def get_library_dirs(self): Chris@87: opt = [] Chris@87: d = os.environ.get('LAHEY') Chris@87: if d: Chris@87: opt.append(os.path.join(d, 'lib')) Chris@87: return opt Chris@87: def get_libraries(self): Chris@87: opt = [] Chris@87: opt.extend(['fj9f6', 'fj9i6', 'fj9ipp', 'fj9e6']) Chris@87: return opt Chris@87: Chris@87: if __name__ == '__main__': Chris@87: from distutils import log Chris@87: log.set_verbosity(2) Chris@87: from numpy.distutils.fcompiler import new_fcompiler Chris@87: compiler = new_fcompiler(compiler='lahey') Chris@87: compiler.customize() Chris@87: print(compiler.get_version())