Chris@87: from __future__ import division, absolute_import, print_function Chris@87: Chris@87: import sys Chris@87: from numpy.distutils.fcompiler import FCompiler Chris@87: Chris@87: compilers = ['NAGFCompiler'] Chris@87: Chris@87: class NAGFCompiler(FCompiler): Chris@87: Chris@87: compiler_type = 'nag' Chris@87: description = 'NAGWare Fortran 95 Compiler' Chris@87: version_pattern = r'NAGWare Fortran 95 compiler Release (?P[^\s]*)' Chris@87: Chris@87: executables = { Chris@87: 'version_cmd' : ["", "-V"], Chris@87: 'compiler_f77' : ["f95", "-fixed"], Chris@87: 'compiler_fix' : ["f95", "-fixed"], Chris@87: 'compiler_f90' : ["f95"], Chris@87: 'linker_so' : [""], Chris@87: 'archiver' : ["ar", "-cr"], Chris@87: 'ranlib' : ["ranlib"] Chris@87: } Chris@87: Chris@87: def get_flags_linker_so(self): Chris@87: if sys.platform=='darwin': Chris@87: return ['-unsharedf95', '-Wl,-bundle,-flat_namespace,-undefined,suppress'] Chris@87: return ["-Wl,-shared"] Chris@87: def get_flags_opt(self): Chris@87: return ['-O4'] Chris@87: def get_flags_arch(self): Chris@87: version = self.get_version() Chris@87: if version and version < '5.1': Chris@87: return ['-target=native'] Chris@87: else: Chris@87: return [''] Chris@87: def get_flags_debug(self): Chris@87: return ['-g', '-gline', '-g90', '-nan', '-C'] Chris@87: Chris@87: if __name__ == '__main__': Chris@87: from distutils import log Chris@87: log.set_verbosity(2) Chris@87: from numpy.distutils.fcompiler import new_fcompiler Chris@87: compiler = new_fcompiler(compiler='nag') Chris@87: compiler.customize() Chris@87: print(compiler.get_version())