46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import os
 | 
						|
 | 
						|
from numpy.distutils.fcompiler import FCompiler
 | 
						|
 | 
						|
compilers = ['LaheyFCompiler']
 | 
						|
 | 
						|
class LaheyFCompiler(FCompiler):
 | 
						|
 | 
						|
    compiler_type = 'lahey'
 | 
						|
    description = 'Lahey/Fujitsu Fortran 95 Compiler'
 | 
						|
    version_pattern =  r'Lahey/Fujitsu Fortran 95 Compiler Release (?P<version>[^\s*]*)'
 | 
						|
 | 
						|
    executables = {
 | 
						|
        'version_cmd'  : ["<F90>", "--version"],
 | 
						|
        'compiler_f77' : ["lf95", "--fix"],
 | 
						|
        'compiler_fix' : ["lf95", "--fix"],
 | 
						|
        'compiler_f90' : ["lf95"],
 | 
						|
        'linker_so'    : ["lf95", "-shared"],
 | 
						|
        'archiver'     : ["ar", "-cr"],
 | 
						|
        'ranlib'       : ["ranlib"]
 | 
						|
        }
 | 
						|
 | 
						|
    module_dir_switch = None  #XXX Fix me
 | 
						|
    module_include_switch = None #XXX Fix me
 | 
						|
 | 
						|
    def get_flags_opt(self):
 | 
						|
        return ['-O']
 | 
						|
    def get_flags_debug(self):
 | 
						|
        return ['-g', '--chk', '--chkglobal']
 | 
						|
    def get_library_dirs(self):
 | 
						|
        opt = []
 | 
						|
        d = os.environ.get('LAHEY')
 | 
						|
        if d:
 | 
						|
            opt.append(os.path.join(d, 'lib'))
 | 
						|
        return opt
 | 
						|
    def get_libraries(self):
 | 
						|
        opt = []
 | 
						|
        opt.extend(['fj9f6', 'fj9i6', 'fj9ipp', 'fj9e6'])
 | 
						|
        return opt
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    from distutils import log
 | 
						|
    log.set_verbosity(2)
 | 
						|
    from numpy.distutils import customized_fcompiler
 | 
						|
    print(customized_fcompiler(compiler='lahey').get_version())
 |