45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
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 #XXX Fix me
|
|
module_include_switch = None #XXX Fix me
|
|
|
|
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())
|