Spaces:
Paused
Paused
| 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()) | |