|
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()) |
|
|