summarylogtreecommitdiffstats
path: root/intel.py
diff options
context:
space:
mode:
Diffstat (limited to 'intel.py')
-rw-r--r--intel.py221
1 files changed, 0 insertions, 221 deletions
diff --git a/intel.py b/intel.py
deleted file mode 100644
index eb6150201c2e..000000000000
--- a/intel.py
+++ /dev/null
@@ -1,221 +0,0 @@
-# http://developer.intel.com/software/products/compilers/flin/
-from __future__ import division, absolute_import, print_function
-
-import sys
-
-from numpy.distutils.ccompiler import simple_version_match
-from numpy.distutils.fcompiler import FCompiler, dummy_fortran_file
-
-compilers = ['IntelFCompiler', 'IntelVisualFCompiler',
- 'IntelItaniumFCompiler', 'IntelItaniumVisualFCompiler',
- 'IntelEM64VisualFCompiler', '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 BaseIntelFCompiler(FCompiler):
- def update_executables(self):
- f = dummy_fortran_file()
- self.executables['version_cmd'] = ['<F77>', '-FI', '-V', '-c',
- f + '.f', '-o', f + '.o']
-
- def runtime_library_dir_option(self, dir):
- return '-Wl,-rpath="%s"' % dir
-
-
-class IntelFCompiler(BaseIntelFCompiler):
-
- compiler_type = 'intel'
- compiler_aliases = ('ifort',)
- description = 'Intel Fortran Compiler for 32-bit apps'
- version_match = intel_version_match('32-bit|IA-32')
-
- possible_executables = ['ifort', 'ifc']
-
- executables = {
- 'version_cmd' : None, # set by update_executables
- 'compiler_f77' : [None, "-72", "-w90", "-w95"],
- 'compiler_f90' : [None],
- 'compiler_fix' : [None, "-FI"],
- 'linker_so' : ["<F90>", "-shared"],
- 'archiver' : ["ar", "-cr"],
- 'ranlib' : ["ranlib"]
- }
-
- pic_flags = ['-fPIC']
- module_dir_switch = '-module ' # Don't remove ending space!
- module_include_switch = '-I'
-
- def get_flags_free(self):
- return ['-FR']
-
- def get_flags(self):
- return ['-fPIC']
-
- def get_flags_opt(self): # Scipy test failures with -O2
- v = self.get_version()
- mpopt = 'openmp' if v and int(v.split('.')[0]) < 15 else 'qopenmp'
- return ['-xhost -fp-model strict -O1 -{}'.format(mpopt)]
-
- def get_flags_arch(self):
- return []
-
- 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')
- if sys.platform == 'darwin':
- # Here, it's -dynamiclib
- try:
- idx = opt.index('-shared')
- opt.remove('-shared')
- except ValueError:
- idx = 0
- opt[idx:idx] = ['-dynamiclib', '-Wl,-undefined,dynamic_lookup']
- return opt
-
-
-class IntelItaniumFCompiler(IntelFCompiler):
- compiler_type = 'intele'
- compiler_aliases = ()
- description = 'Intel Fortran Compiler for Itanium apps'
-
- version_match = intel_version_match('Itanium|IA-64')
-
- possible_executables = ['ifort', 'efort', 'efc']
-
- executables = {
- 'version_cmd' : None,
- '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'
- compiler_aliases = ()
- description = 'Intel Fortran Compiler for 64-bit apps'
-
- version_match = intel_version_match('EM64T-based|Intel\\(R\\) 64|64|IA-64|64-bit')
-
- possible_executables = ['ifort', 'efort', 'efc']
-
- executables = {
- 'version_cmd' : None,
- 'compiler_f77' : [None, "-FI"],
- 'compiler_fix' : [None, "-FI"],
- 'compiler_f90' : [None],
- 'linker_so' : ['<F90>', "-shared"],
- 'archiver' : ["ar", "-cr"],
- 'ranlib' : ["ranlib"]
- }
-
- def get_flags(self):
- return ['-fPIC']
-
- def get_flags_opt(self): # Scipy test failures with -O2
- v = self.get_version()
- mpopt = 'openmp' if v and int(v.split('.')[0]) < 15 else 'qopenmp'
- return ['-fp-model strict -O1 -{}'.format(mpopt)]
-
- def get_flags_arch(self):
- return ['']
-
-# Is there no difference in the version string between the above compilers
-# and the Visual compilers?
-
-
-class IntelVisualFCompiler(BaseIntelFCompiler):
- compiler_type = 'intelv'
- description = 'Intel Visual Fortran Compiler for 32-bit apps'
- version_match = intel_version_match('32-bit|IA-32')
-
- def update_executables(self):
- f = dummy_fortran_file()
- self.executables['version_cmd'] = ['<F77>', '/FI', '/c',
- f + '.f', '/o', f + '.o']
-
- ar_exe = 'lib.exe'
- possible_executables = ['ifort', 'ifl']
-
- executables = {
- 'version_cmd' : None,
- 'compiler_f77' : [None],
- 'compiler_fix' : [None],
- 'compiler_f90' : [None],
- 'linker_so' : [None],
- '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', '/names:lowercase', '/assume:underscore']
- return opt
-
- def get_flags_free(self):
- return []
-
- def get_flags_debug(self):
- return ['/4Yb', '/d2']
-
- def get_flags_opt(self):
- return ['/O1'] # Scipy test failures with /O2
-
- def get_flags_arch(self):
- return ["/arch:IA32", "/QaxSSE3"]
-
- def runtime_library_dir_option(self, dir):
- raise NotImplementedError
-
-
-class IntelItaniumVisualFCompiler(IntelVisualFCompiler):
- compiler_type = 'intelev'
- description = 'Intel Visual Fortran Compiler for Itanium apps'
-
- version_match = intel_version_match('Itanium')
-
- possible_executables = ['efl'] # XXX this is a wild guess
- ar_exe = IntelVisualFCompiler.ar_exe
-
- executables = {
- 'version_cmd' : None,
- 'compiler_f77' : [None, "-FI", "-w90", "-w95"],
- 'compiler_fix' : [None, "-FI", "-4L72", "-w"],
- 'compiler_f90' : [None],
- 'linker_so' : ['<F90>', "-shared"],
- 'archiver' : [ar_exe, "/verbose", "/OUT:"],
- 'ranlib' : None
- }
-
-
-class IntelEM64VisualFCompiler(IntelVisualFCompiler):
- compiler_type = 'intelvem'
- description = 'Intel Visual Fortran Compiler for 64-bit apps'
-
- version_match = simple_version_match(start=r'Intel\(R\).*?64,')
-
- def get_flags_arch(self):
- return ['']
-
-
-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())