diff options
author | rgommers <ralf.gommers@googlemail.com> | 2011-03-09 22:10:13 +0800 |
---|---|---|
committer | rgommers <ralf.gommers@googlemail.com> | 2011-03-11 09:14:44 +0800 |
commit | dede2691e7db9f0dacbc55444e5495856fa3f504 (patch) | |
tree | c50d6def30762d0f5a354b5fa05b9b0d38f68f32 | |
parent | 46ce29dedb1005a78a8460eb0ccfd9025152b8da (diff) | |
download | numpy-dede2691e7db9f0dacbc55444e5495856fa3f504.tar.gz |
ENH: add Intel 64-bit C compiler. Closes #960.
-rw-r--r-- | numpy/distutils/ccompiler.py | 3 | ||||
-rw-r--r-- | numpy/distutils/intelccompiler.py | 20 |
2 files changed, 23 insertions, 0 deletions
diff --git a/numpy/distutils/ccompiler.py b/numpy/distutils/ccompiler.py index 0e8f10fcf..14213dc4b 100644 --- a/numpy/distutils/ccompiler.py +++ b/numpy/distutils/ccompiler.py @@ -494,10 +494,13 @@ compiler_class['intel'] = ('intelccompiler','IntelCCompiler', "Intel C Compiler for 32-bit applications") compiler_class['intele'] = ('intelccompiler','IntelItaniumCCompiler', "Intel C Itanium Compiler for Itanium-based applications") +compiler_class['intelem'] = ('intelccompiler','IntelEM64TCCompiler', + "Intel C Compiler for 64-bit applications") compiler_class['pathcc'] = ('pathccompiler','PathScaleCCompiler', "PathScale Compiler for SiCortex-based applications") ccompiler._default_compilers += (('linux.*','intel'), ('linux.*','intele'), + ('linux.*','intelem'), ('linux.*','pathcc')) if sys.platform == 'win32': diff --git a/numpy/distutils/intelccompiler.py b/numpy/distutils/intelccompiler.py index e03c5beba..b82445ab8 100644 --- a/numpy/distutils/intelccompiler.py +++ b/numpy/distutils/intelccompiler.py @@ -9,9 +9,11 @@ class IntelCCompiler(UnixCCompiler): compiler_type = 'intel' cc_exe = 'icc' + cc_args = 'fPIC' def __init__ (self, verbose=0, dry_run=0, force=0): UnixCCompiler.__init__ (self, verbose,dry_run, force) + self.cc_exe = 'icc -fPIC' compiler = self.cc_exe self.set_executables(compiler=compiler, compiler_so=compiler, @@ -27,3 +29,21 @@ class IntelItaniumCCompiler(IntelCCompiler): for cc_exe in map(find_executable,['icc','ecc']): if cc_exe: break + +class IntelEM64TCCompiler(UnixCCompiler): + +""" A modified Intel x86_64 compiler compatible with a 64bit gcc built Python. + """ + + compiler_type = 'intelem' + cc_exe = 'icc -m64 -fPIC' + cc_args = "-fPIC" + def __init__ (self, verbose=0, dry_run=0, force=0): + UnixCCompiler.__init__ (self, verbose,dry_run, force) + self.cc_exe = 'icc -m64 -fPIC' + compiler = self.cc_exe + self.set_executables(compiler=compiler, + compiler_so=compiler, + compiler_cxx=compiler, + linker_exe=compiler, + linker_so=compiler + ' -shared') |