Chris@87
|
1 from __future__ import division, absolute_import, print_function
|
Chris@87
|
2
|
Chris@87
|
3 import os
|
Chris@87
|
4
|
Chris@87
|
5 from numpy.distutils.fcompiler import FCompiler
|
Chris@87
|
6
|
Chris@87
|
7 compilers = ['LaheyFCompiler']
|
Chris@87
|
8
|
Chris@87
|
9 class LaheyFCompiler(FCompiler):
|
Chris@87
|
10
|
Chris@87
|
11 compiler_type = 'lahey'
|
Chris@87
|
12 description = 'Lahey/Fujitsu Fortran 95 Compiler'
|
Chris@87
|
13 version_pattern = r'Lahey/Fujitsu Fortran 95 Compiler Release (?P<version>[^\s*]*)'
|
Chris@87
|
14
|
Chris@87
|
15 executables = {
|
Chris@87
|
16 'version_cmd' : ["<F90>", "--version"],
|
Chris@87
|
17 'compiler_f77' : ["lf95", "--fix"],
|
Chris@87
|
18 'compiler_fix' : ["lf95", "--fix"],
|
Chris@87
|
19 'compiler_f90' : ["lf95"],
|
Chris@87
|
20 'linker_so' : ["lf95", "-shared"],
|
Chris@87
|
21 'archiver' : ["ar", "-cr"],
|
Chris@87
|
22 'ranlib' : ["ranlib"]
|
Chris@87
|
23 }
|
Chris@87
|
24
|
Chris@87
|
25 module_dir_switch = None #XXX Fix me
|
Chris@87
|
26 module_include_switch = None #XXX Fix me
|
Chris@87
|
27
|
Chris@87
|
28 def get_flags_opt(self):
|
Chris@87
|
29 return ['-O']
|
Chris@87
|
30 def get_flags_debug(self):
|
Chris@87
|
31 return ['-g', '--chk', '--chkglobal']
|
Chris@87
|
32 def get_library_dirs(self):
|
Chris@87
|
33 opt = []
|
Chris@87
|
34 d = os.environ.get('LAHEY')
|
Chris@87
|
35 if d:
|
Chris@87
|
36 opt.append(os.path.join(d, 'lib'))
|
Chris@87
|
37 return opt
|
Chris@87
|
38 def get_libraries(self):
|
Chris@87
|
39 opt = []
|
Chris@87
|
40 opt.extend(['fj9f6', 'fj9i6', 'fj9ipp', 'fj9e6'])
|
Chris@87
|
41 return opt
|
Chris@87
|
42
|
Chris@87
|
43 if __name__ == '__main__':
|
Chris@87
|
44 from distutils import log
|
Chris@87
|
45 log.set_verbosity(2)
|
Chris@87
|
46 from numpy.distutils.fcompiler import new_fcompiler
|
Chris@87
|
47 compiler = new_fcompiler(compiler='lahey')
|
Chris@87
|
48 compiler.customize()
|
Chris@87
|
49 print(compiler.get_version())
|