Spaces:
Sleeping
Sleeping
import os | |
from numpy.distutils.fcompiler.gnu import GnuFCompiler | |
compilers = ['VastFCompiler'] | |
class VastFCompiler(GnuFCompiler): | |
compiler_type = 'vast' | |
compiler_aliases = () | |
description = 'Pacific-Sierra Research Fortran 90 Compiler' | |
version_pattern = (r'\s*Pacific-Sierra Research vf90 ' | |
r'(Personal|Professional)\s+(?P<version>[^\s]*)') | |
# VAST f90 does not support -o with -c. So, object files are created | |
# to the current directory and then moved to build directory | |
object_switch = ' && function _mvfile { mv -v `basename $1` $1 ; } && _mvfile ' | |
executables = { | |
'version_cmd' : ["vf90", "-v"], | |
'compiler_f77' : ["g77"], | |
'compiler_fix' : ["f90", "-Wv,-ya"], | |
'compiler_f90' : ["f90"], | |
'linker_so' : ["<F90>"], | |
'archiver' : ["ar", "-cr"], | |
'ranlib' : ["ranlib"] | |
} | |
module_dir_switch = None #XXX Fix me | |
module_include_switch = None #XXX Fix me | |
def find_executables(self): | |
pass | |
def get_version_cmd(self): | |
f90 = self.compiler_f90[0] | |
d, b = os.path.split(f90) | |
vf90 = os.path.join(d, 'v'+b) | |
return vf90 | |
def get_flags_arch(self): | |
vast_version = self.get_version() | |
gnu = GnuFCompiler() | |
gnu.customize(None) | |
self.version = gnu.get_version() | |
opt = GnuFCompiler.get_flags_arch(self) | |
self.version = vast_version | |
return opt | |
if __name__ == '__main__': | |
from distutils import log | |
log.set_verbosity(2) | |
from numpy.distutils import customized_fcompiler | |
print(customized_fcompiler(compiler='vast').get_version()) | |