| Viewing file:  mips.py (1.67 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
from numpy.distutils.cpuinfo import cpufrom numpy.distutils.fcompiler import FCompiler
 
 compilers = ['MIPSFCompiler']
 
 class MIPSFCompiler(FCompiler):
 
 compiler_type = 'mips'
 description = 'MIPSpro Fortran Compiler'
 version_pattern =  r'MIPSpro Compilers: Version (?P<version>[^\s*,]*)'
 
 executables = {
 'version_cmd'  : ["<F90>", "-version"],
 'compiler_f77' : ["f77", "-f77"],
 'compiler_fix' : ["f90", "-fixedform"],
 'compiler_f90' : ["f90"],
 'linker_so'    : ["f90", "-shared"],
 'archiver'     : ["ar", "-cr"],
 'ranlib'       : None
 }
 module_dir_switch = None #XXX: fix me
 module_include_switch = None #XXX: fix me
 pic_flags = ['-KPIC']
 
 def get_flags(self):
 return self.pic_flags + ['-n32']
 def get_flags_opt(self):
 return ['-O3']
 def get_flags_arch(self):
 opt = []
 for a in '19 20 21 22_4k 22_5k 24 25 26 27 28 30 32_5k 32_10k'.split():
 if getattr(cpu, 'is_IP%s'%a)():
 opt.append('-TARG:platform=IP%s' % a)
 break
 return opt
 def get_flags_arch_f77(self):
 r = None
 if cpu.is_r10000(): r = 10000
 elif cpu.is_r12000(): r = 12000
 elif cpu.is_r8000(): r = 8000
 elif cpu.is_r5000(): r = 5000
 elif cpu.is_r4000(): r = 4000
 if r is not None:
 return ['r%s' % (r)]
 return []
 def get_flags_arch_f90(self):
 r = self.get_flags_arch_f77()
 if r:
 r[0] = '-' + r[0]
 return r
 
 if __name__ == '__main__':
 from numpy.distutils import customized_fcompiler
 print(customized_fcompiler(compiler='mips').get_version())
 
 |