diff options
author | Pearu Peterson <pearu.peterson@gmail.com> | 2004-01-19 09:00:01 +0000 |
---|---|---|
committer | Pearu Peterson <pearu.peterson@gmail.com> | 2004-01-19 09:00:01 +0000 |
commit | c879ef7d77eb19cb4d795e4550573de9c58955b4 (patch) | |
tree | 1f4fefca21b78e13a10f133a5df586faa799347a /scipy_distutils/mipsfcompiler.py | |
parent | 60612a648d3b108daf597dfbaee57c316fb0775f (diff) | |
download | numpy-c879ef7d77eb19cb4d795e4550573de9c58955b4.tar.gz |
Refactoring build_flib.py (to follow and use standard distutils conventions and tools). It's work in-progress. Sending the output of 'python fcompiler.py --verbose' would be a great help if you have other than intel and gnu compilers installed.
Diffstat (limited to 'scipy_distutils/mipsfcompiler.py')
-rw-r--r-- | scipy_distutils/mipsfcompiler.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/scipy_distutils/mipsfcompiler.py b/scipy_distutils/mipsfcompiler.py new file mode 100644 index 000000000..daa4468ec --- /dev/null +++ b/scipy_distutils/mipsfcompiler.py @@ -0,0 +1,53 @@ +import os +import sys + +from cpuinfo import cpu +from fcompiler import FCompiler + +class MipsFCompiler(FCompiler): + + compiler_type = 'mips' + 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 + } + + def get_flags(self): + return ['-KPIC','-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 fcompiler import new_fcompiler + compiler = new_fcompiler(compiler='mips') + compiler.customize() + print compiler.get_version() |