summaryrefslogtreecommitdiff
path: root/fcompiler/intel.py
diff options
context:
space:
mode:
Diffstat (limited to 'fcompiler/intel.py')
-rw-r--r--fcompiler/intel.py215
1 files changed, 0 insertions, 215 deletions
diff --git a/fcompiler/intel.py b/fcompiler/intel.py
deleted file mode 100644
index e8178eca9..000000000
--- a/fcompiler/intel.py
+++ /dev/null
@@ -1,215 +0,0 @@
-# -*- encoding: iso-8859-1 -*-
-# above encoding b/c there's a non-ASCII character in the sample output
-# of intele
-# http://developer.intel.com/software/products/compilers/flin/
-
-import os
-import sys
-
-from numpy.distutils.cpuinfo import cpu
-from numpy.distutils.ccompiler import simple_version_match
-from numpy.distutils.fcompiler import FCompiler, dummy_fortran_file
-
-compilers = ['IntelFCompiler', 'IntelVisualFCompiler',
- 'IntelItaniumFCompiler', 'IntelItaniumVisualFCompiler',
- 'IntelEM64TFCompiler']
-
-def intel_version_match(type):
- # Match against the important stuff in the version string
- return simple_version_match(start=r'Intel.*?Fortran.*?%s.*?Version' % (type,))
-
-class IntelFCompiler(FCompiler):
-
- compiler_type = 'intel'
- description = 'Intel Fortran Compiler for 32-bit apps'
- version_match = intel_version_match('32-bit')
-
-
- possible_executables = ['ifort', 'ifc']
-
- executables = {
- 'version_cmd' : ["<F77>", "-FI -V -c %(fname)s.f -o %(fname)s.o" \
- % {'fname':dummy_fortran_file()}],
- 'compiler_f77' : [None,"-72","-w90","-w95"],
- 'compiler_f90' : [None],
- 'compiler_fix' : [None,"-FI"],
- 'linker_so' : ["<F90>","-shared"],
- 'archiver' : ["ar", "-cr"],
- 'ranlib' : ["ranlib"]
- }
-
- pic_flags = ['-KPIC']
- module_dir_switch = '-module ' # Don't remove ending space!
- module_include_switch = '-I'
-
- def get_flags(self):
- opt = self.pic_flags + ["-cm"]
- return opt
-
- def get_flags_free(self):
- return ["-FR"]
-
- def get_flags_opt(self):
- return ['-O3','-unroll']
-
- def get_flags_arch(self):
- opt = []
- if cpu.has_fdiv_bug():
- opt.append('-fdiv_check')
- if cpu.has_f00f_bug():
- opt.append('-0f_check')
- if cpu.is_PentiumPro() or cpu.is_PentiumII() or cpu.is_PentiumIII():
- opt.extend(['-tpp6'])
- elif cpu.is_PentiumM():
- opt.extend(['-tpp7','-xB'])
- elif cpu.is_Pentium():
- opt.append('-tpp5')
- elif cpu.is_PentiumIV() or cpu.is_Xeon():
- opt.extend(['-tpp7','-xW'])
- if cpu.has_mmx() and not cpu.is_Xeon():
- opt.append('-xM')
- if cpu.has_sse2():
- opt.append('-arch SSE2')
- elif cpu.has_sse():
- opt.append('-arch SSE')
- return opt
-
- def get_flags_linker_so(self):
- opt = FCompiler.get_flags_linker_so(self)
- v = self.get_version()
- if v and v >= '8.0':
- opt.append('-nofor_main')
- return opt
-
-class IntelItaniumFCompiler(IntelFCompiler):
- compiler_type = 'intele'
- description = 'Intel Fortran Compiler for Itanium apps'
-
- version_match = intel_version_match('Itanium')
-
-#Intel(R) Fortran Itanium(R) Compiler for Itanium(R)-based applications
-#Version 9.1 Build 20060928 Package ID: l_fc_c_9.1.039
-#Copyright (C) 1985-2006 Intel Corporation. All rights reserved.
-#30 DAY EVALUATION LICENSE
-
- possible_executables = ['ifort', 'efort', 'efc']
-
- executables = {
- 'version_cmd' : ['<F77>', "-FI -V -c %(fname)s.f -o %(fname)s.o" \
- % {'fname':dummy_fortran_file()}],
- 'compiler_f77' : [None,"-FI","-w90","-w95"],
- 'compiler_fix' : [None,"-FI"],
- 'compiler_f90' : [None],
- 'linker_so' : ['<F90>', "-shared"],
- 'archiver' : ["ar", "-cr"],
- 'ranlib' : ["ranlib"]
- }
-
-class IntelEM64TFCompiler(IntelFCompiler):
- compiler_type = 'intelem'
- description = 'Intel Fortran Compiler for EM64T-based apps'
-
- version_match = intel_version_match('EM64T-based')
-
- possible_executables = ['ifort', 'efort', 'efc']
-
- executables = {
- 'version_cmd' : ['<F77>', "-FI -V -c %(fname)s.f -o %(fname)s.o" \
- % {'fname':dummy_fortran_file()}],
- 'compiler_f77' : [None, "-FI", "-w90", "-w95"],
- 'compiler_fix' : [None, "-FI"],
- 'compiler_f90' : [None],
- 'linker_so' : ['<F90>', "-shared"],
- 'archiver' : ["ar", "-cr"],
- 'ranlib' : ["ranlib"]
- }
-
- def get_flags_arch(self):
- opt = []
- if cpu.is_PentiumIV() or cpu.is_Xeon():
- opt.extend(['-tpp7', '-xW'])
- return opt
-
-# Is there no difference in the version string between the above compilers
-# and the Visual compilers?
-
-class IntelVisualFCompiler(FCompiler):
- compiler_type = 'intelv'
- description = 'Intel Visual Fortran Compiler for 32-bit apps'
-
- version_match = intel_version_match('32-bit')
-
- ar_exe = 'lib.exe'
- fc_exe = 'ifl'
-
- executables = {
- 'version_cmd' : ['<F77>', "-FI -V -c %(fname)s.f -o %(fname)s.o" \
- % {'fname':dummy_fortran_file()}],
- 'compiler_f77' : [fc_exe,"-FI","-w90","-w95"],
- 'compiler_fix' : [fc_exe,"-FI","-4L72","-w"],
- 'compiler_f90' : [fc_exe],
- 'linker_so' : ['<F90>', "-shared"],
- 'archiver' : [ar_exe, "/verbose", "/OUT:"],
- 'ranlib' : None
- }
-
- compile_switch = '/c '
- object_switch = '/Fo' #No space after /Fo!
- library_switch = '/OUT:' #No space after /OUT:!
- module_dir_switch = '/module:' #No space after /module:
- module_include_switch = '/I'
-
- def get_flags(self):
- opt = ['/nologo','/MD','/nbs','/Qlowercase','/us']
- return opt
-
- def get_flags_free(self):
- return ["-FR"]
-
- def get_flags_debug(self):
- return ['/4Yb','/d2']
-
- def get_flags_opt(self):
- return ['/O3','/Qip','/Qipo','/Qipo_obj']
-
- def get_flags_arch(self):
- opt = []
- if cpu.is_PentiumPro() or cpu.is_PentiumII():
- opt.extend(['/G6','/Qaxi'])
- elif cpu.is_PentiumIII():
- opt.extend(['/G6','/QaxK'])
- elif cpu.is_Pentium():
- opt.append('/G5')
- elif cpu.is_PentiumIV():
- opt.extend(['/G7','/QaxW'])
- if cpu.has_mmx():
- opt.append('/QaxM')
- return opt
-
-class IntelItaniumVisualFCompiler(IntelVisualFCompiler):
- compiler_type = 'intelev'
- description = 'Intel Visual Fortran Compiler for Itanium apps'
-
- version_match = intel_version_match('Itanium')
-
- fc_exe = 'efl' # XXX this is a wild guess
- ar_exe = IntelVisualFCompiler.ar_exe
-
- executables = {
- 'version_cmd' : ['<F77>', "-FI -V -c %(fname)s.f -o %(fname)s.o" \
- % {'fname':dummy_fortran_file()}],
- 'compiler_f77' : [fc_exe,"-FI","-w90","-w95"],
- 'compiler_fix' : [fc_exe,"-FI","-4L72","-w"],
- 'compiler_f90' : [fc_exe],
- 'linker_so' : ['<F90>',"-shared"],
- 'archiver' : [ar_exe, "/verbose", "/OUT:"],
- 'ranlib' : None
- }
-
-if __name__ == '__main__':
- from distutils import log
- log.set_verbosity(2)
- from numpy.distutils.fcompiler import new_fcompiler
- compiler = new_fcompiler(compiler='intel')
- compiler.customize()
- print compiler.get_version()