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