Chris@87: from __future__ import division, absolute_import, print_function Chris@87: Chris@87: from numpy.distutils.fcompiler import FCompiler Chris@87: Chris@87: compilers = ['HPUXFCompiler'] Chris@87: Chris@87: class HPUXFCompiler(FCompiler): Chris@87: Chris@87: compiler_type = 'hpux' Chris@87: description = 'HP Fortran 90 Compiler' Chris@87: version_pattern = r'HP F90 (?P[^\s*,]*)' Chris@87: Chris@87: executables = { Chris@87: 'version_cmd' : ["f90", "+version"], Chris@87: 'compiler_f77' : ["f90"], Chris@87: 'compiler_fix' : ["f90"], Chris@87: 'compiler_f90' : ["f90"], Chris@87: 'linker_so' : ["ld", "-b"], Chris@87: 'archiver' : ["ar", "-cr"], Chris@87: 'ranlib' : ["ranlib"] Chris@87: } Chris@87: module_dir_switch = None #XXX: fix me Chris@87: module_include_switch = None #XXX: fix me Chris@87: pic_flags = ['+Z'] Chris@87: def get_flags(self): Chris@87: return self.pic_flags + ['+ppu', '+DD64'] Chris@87: def get_flags_opt(self): Chris@87: return ['-O3'] Chris@87: def get_libraries(self): Chris@87: return ['m'] Chris@87: def get_library_dirs(self): Chris@87: opt = ['/usr/lib/hpux64'] Chris@87: return opt Chris@87: def get_version(self, force=0, ok_status=[256, 0, 1]): Chris@87: # XXX status==256 may indicate 'unrecognized option' or Chris@87: # 'no input file'. So, version_cmd needs more work. Chris@87: return FCompiler.get_version(self, force, ok_status) Chris@87: Chris@87: if __name__ == '__main__': Chris@87: from distutils import log Chris@87: log.set_verbosity(10) Chris@87: from numpy.distutils.fcompiler import new_fcompiler Chris@87: compiler = new_fcompiler(compiler='hpux') Chris@87: compiler.customize() Chris@87: print(compiler.get_version())