| Viewing file:  pg.py (1.89 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
# http://www.pgroup.comfrom __future__ import division, absolute_import, print_function
 
 from numpy.distutils.fcompiler import FCompiler
 from sys import platform
 
 compilers = ['PGroupFCompiler']
 
 class PGroupFCompiler(FCompiler):
 
 compiler_type = 'pg'
 description = 'Portland Group Fortran Compiler'
 version_pattern =  r'\s*pg(f77|f90|hpf|fortran) (?P<version>[\d.-]+).*'
 
 if platform == 'darwin':
 executables = {
 'version_cmd'  : ["<F77>", "-V"],
 'compiler_f77' : ["pgfortran", "-dynamiclib"],
 'compiler_fix' : ["pgfortran", "-Mfixed", "-dynamiclib"],
 'compiler_f90' : ["pgfortran", "-dynamiclib"],
 'linker_so'    : ["libtool"],
 'archiver'     : ["ar", "-cr"],
 'ranlib'       : ["ranlib"]
 }
 pic_flags = ['']
 else:
 executables = {
 'version_cmd'  : ["<F77>", "-V"],
 'compiler_f77' : ["pgfortran"],
 'compiler_fix' : ["pgfortran", "-Mfixed"],
 'compiler_f90' : ["pgfortran"],
 'linker_so'    : ["pgfortran", "-shared", "-fpic"],
 'archiver'     : ["ar", "-cr"],
 'ranlib'       : ["ranlib"]
 }
 pic_flags = ['-fpic']
 
 
 module_dir_switch = '-module '
 module_include_switch = '-I'
 
 def get_flags(self):
 opt = ['-Minform=inform', '-Mnosecond_underscore']
 return self.pic_flags + opt
 def get_flags_opt(self):
 return ['-fast']
 def get_flags_debug(self):
 return ['-g']
 
 if platform == 'darwin':
 def get_flags_linker_so(self):
 return ["-dynamic", '-undefined', 'dynamic_lookup']
 
 def runtime_library_dir_option(self, dir):
 return '-R"%s"' % dir
 
 if __name__ == '__main__':
 from distutils import log
 log.set_verbosity(2)
 from numpy.distutils.fcompiler import new_fcompiler
 compiler = new_fcompiler(compiler='pg')
 compiler.customize()
 print(compiler.get_version())
 
 |