Chris@87: # http://g95.sourceforge.net/ Chris@87: from __future__ import division, absolute_import, print_function Chris@87: Chris@87: from numpy.distutils.fcompiler import FCompiler Chris@87: Chris@87: compilers = ['G95FCompiler'] Chris@87: Chris@87: class G95FCompiler(FCompiler): Chris@87: compiler_type = 'g95' Chris@87: description = 'G95 Fortran Compiler' Chris@87: Chris@87: # version_pattern = r'G95 \((GCC (?P[\d.]+)|.*?) \(g95!\) (?P.*)\).*' Chris@87: # $ g95 --version Chris@87: # G95 (GCC 4.0.3 (g95!) May 22 2006) Chris@87: Chris@87: version_pattern = r'G95 \((GCC (?P[\d.]+)|.*?) \(g95 (?P.*)!\) (?P.*)\).*' Chris@87: # $ g95 --version Chris@87: # G95 (GCC 4.0.3 (g95 0.90!) Aug 22 2006) Chris@87: Chris@87: executables = { Chris@87: 'version_cmd' : ["", "--version"], Chris@87: 'compiler_f77' : ["g95", "-ffixed-form"], Chris@87: 'compiler_fix' : ["g95", "-ffixed-form"], Chris@87: 'compiler_f90' : ["g95"], Chris@87: 'linker_so' : ["", "-shared"], Chris@87: 'archiver' : ["ar", "-cr"], Chris@87: 'ranlib' : ["ranlib"] Chris@87: } Chris@87: pic_flags = ['-fpic'] Chris@87: module_dir_switch = '-fmod=' Chris@87: module_include_switch = '-I' Chris@87: Chris@87: def get_flags(self): Chris@87: return ['-fno-second-underscore'] Chris@87: def get_flags_opt(self): Chris@87: return ['-O'] Chris@87: def get_flags_debug(self): Chris@87: return ['-g'] Chris@87: Chris@87: if __name__ == '__main__': Chris@87: from distutils import log Chris@87: log.set_verbosity(2) Chris@87: compiler = G95FCompiler() Chris@87: compiler.customize() Chris@87: print(compiler.get_version())