Chris@87
|
1 # http://g95.sourceforge.net/
|
Chris@87
|
2 from __future__ import division, absolute_import, print_function
|
Chris@87
|
3
|
Chris@87
|
4 from numpy.distutils.fcompiler import FCompiler
|
Chris@87
|
5
|
Chris@87
|
6 compilers = ['G95FCompiler']
|
Chris@87
|
7
|
Chris@87
|
8 class G95FCompiler(FCompiler):
|
Chris@87
|
9 compiler_type = 'g95'
|
Chris@87
|
10 description = 'G95 Fortran Compiler'
|
Chris@87
|
11
|
Chris@87
|
12 # version_pattern = r'G95 \((GCC (?P<gccversion>[\d.]+)|.*?) \(g95!\) (?P<version>.*)\).*'
|
Chris@87
|
13 # $ g95 --version
|
Chris@87
|
14 # G95 (GCC 4.0.3 (g95!) May 22 2006)
|
Chris@87
|
15
|
Chris@87
|
16 version_pattern = r'G95 \((GCC (?P<gccversion>[\d.]+)|.*?) \(g95 (?P<version>.*)!\) (?P<date>.*)\).*'
|
Chris@87
|
17 # $ g95 --version
|
Chris@87
|
18 # G95 (GCC 4.0.3 (g95 0.90!) Aug 22 2006)
|
Chris@87
|
19
|
Chris@87
|
20 executables = {
|
Chris@87
|
21 'version_cmd' : ["<F90>", "--version"],
|
Chris@87
|
22 'compiler_f77' : ["g95", "-ffixed-form"],
|
Chris@87
|
23 'compiler_fix' : ["g95", "-ffixed-form"],
|
Chris@87
|
24 'compiler_f90' : ["g95"],
|
Chris@87
|
25 'linker_so' : ["<F90>", "-shared"],
|
Chris@87
|
26 'archiver' : ["ar", "-cr"],
|
Chris@87
|
27 'ranlib' : ["ranlib"]
|
Chris@87
|
28 }
|
Chris@87
|
29 pic_flags = ['-fpic']
|
Chris@87
|
30 module_dir_switch = '-fmod='
|
Chris@87
|
31 module_include_switch = '-I'
|
Chris@87
|
32
|
Chris@87
|
33 def get_flags(self):
|
Chris@87
|
34 return ['-fno-second-underscore']
|
Chris@87
|
35 def get_flags_opt(self):
|
Chris@87
|
36 return ['-O']
|
Chris@87
|
37 def get_flags_debug(self):
|
Chris@87
|
38 return ['-g']
|
Chris@87
|
39
|
Chris@87
|
40 if __name__ == '__main__':
|
Chris@87
|
41 from distutils import log
|
Chris@87
|
42 log.set_verbosity(2)
|
Chris@87
|
43 compiler = G95FCompiler()
|
Chris@87
|
44 compiler.customize()
|
Chris@87
|
45 print(compiler.get_version())
|