diff options
Diffstat (limited to 'numpy/distutils/fcompiler/intel.py')
-rw-r--r-- | numpy/distutils/fcompiler/intel.py | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/numpy/distutils/fcompiler/intel.py b/numpy/distutils/fcompiler/intel.py index 3f5cd2cb5..1274ba05f 100644 --- a/numpy/distutils/fcompiler/intel.py +++ b/numpy/distutils/fcompiler/intel.py @@ -54,9 +54,9 @@ class IntelFCompiler(FCompiler): opt.extend(['-tpp7','-xB']) elif cpu.is_Pentium(): opt.append('-tpp5') - elif cpu.is_PentiumIV() or cpu.is_XEON(): + elif cpu.is_PentiumIV() or cpu.is_Xeon(): opt.extend(['-tpp7','-xW']) - if cpu.has_mmx(): + if cpu.has_mmx() and not cpu.is_Xeon(): opt.append('-xM') if cpu.has_sse2(): opt.append('-arch SSE2') @@ -93,6 +93,27 @@ class IntelItaniumFCompiler(IntelFCompiler): 'ranlib' : ["ranlib"] } +class IntelEM64TFCompiler(IntelFCompiler): + compiler_type = 'intelem' + + version_pattern = r'Intel\(R\) Fortran Compiler for Intel\(R\) EM64T-based '\ + 'applications, Version (?P<version>[^\s*]*)' + + for fc_exe in map(find_executable,['ifort','efort','efc']): + if os.path.isfile(fc_exe): + break + + executables = { + 'version_cmd' : [fc_exe, "-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"], + 'compiler_f90' : [fc_exe], + 'linker_so' : [fc_exe,"-shared"], + 'archiver' : ["ar", "-cr"], + 'ranlib' : ["ranlib"] + } + class IntelVisualFCompiler(FCompiler): compiler_type = 'intelv' |