hpux.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from __future__ import division, absolute_import, print_function
  2. from numpy.distutils.fcompiler import FCompiler
  3. compilers = ['HPUXFCompiler']
  4. class HPUXFCompiler(FCompiler):
  5. compiler_type = 'hpux'
  6. description = 'HP Fortran 90 Compiler'
  7. version_pattern = r'HP F90 (?P<version>[^\s*,]*)'
  8. executables = {
  9. 'version_cmd' : ["f90", "+version"],
  10. 'compiler_f77' : ["f90"],
  11. 'compiler_fix' : ["f90"],
  12. 'compiler_f90' : ["f90"],
  13. 'linker_so' : ["ld", "-b"],
  14. 'archiver' : ["ar", "-cr"],
  15. 'ranlib' : ["ranlib"]
  16. }
  17. module_dir_switch = None #XXX: fix me
  18. module_include_switch = None #XXX: fix me
  19. pic_flags = ['+Z']
  20. def get_flags(self):
  21. return self.pic_flags + ['+ppu', '+DD64']
  22. def get_flags_opt(self):
  23. return ['-O3']
  24. def get_libraries(self):
  25. return ['m']
  26. def get_library_dirs(self):
  27. opt = ['/usr/lib/hpux64']
  28. return opt
  29. def get_version(self, force=0, ok_status=[256, 0, 1]):
  30. # XXX status==256 may indicate 'unrecognized option' or
  31. # 'no input file'. So, version_cmd needs more work.
  32. return FCompiler.get_version(self, force, ok_status)
  33. if __name__ == '__main__':
  34. from distutils import log
  35. log.set_verbosity(10)
  36. from numpy.distutils import customized_fcompiler
  37. print(customized_fcompiler(compiler='hpux').get_version())