diff options
author | Julian Taylor <juliantaylor108@gmail.com> | 2014-07-20 23:48:54 +0200 |
---|---|---|
committer | Julian Taylor <juliantaylor108@gmail.com> | 2014-07-20 23:48:54 +0200 |
commit | a28bfa5780c6611c9c46977a0e9c2123426cf24a (patch) | |
tree | 716c6ade84f2025d2f26cf0e966fa742cfb72594 /numpy/distutils/command/config.py | |
parent | 4cbced22a8306d7214a4e18d12e651c034143922 (diff) | |
parent | fa0ec11c1e653a51a047ab7b572546886ba3cd8a (diff) | |
download | numpy-a28bfa5780c6611c9c46977a0e9c2123426cf24a.tar.gz |
Merge pull request #4892 from rgommers/msvc10-fix
BLD: fix build issues with MSVC10 on Windows. Closes gh-4245.
Diffstat (limited to 'numpy/distutils/command/config.py')
-rw-r--r-- | numpy/distutils/command/config.py | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/numpy/distutils/command/config.py b/numpy/distutils/command/config.py index fce4fc791..4c407bee0 100644 --- a/numpy/distutils/command/config.py +++ b/numpy/distutils/command/config.py @@ -62,17 +62,28 @@ class config(old_config): e = get_exception() msg = """\ Could not initialize compiler instance: do you have Visual Studio -installed ? If you are trying to build with mingw, please use python setup.py -build -c mingw32 instead ). If you have Visual Studio installed, check it is -correctly installed, and the right version (VS 2008 for python 2.6, VS 2003 for -2.5, etc...). Original exception was: %s, and the Compiler -class was %s +installed? If you are trying to build with MinGW, please use "python setup.py +build -c mingw32" instead. If you have Visual Studio installed, check it is +correctly installed, and the right version (VS 2008 for python 2.6, 2.7 and 3.2, +VS 2010 for >= 3.3). + +Original exception was: %s, and the Compiler class was %s ============================================================================""" \ % (e, self.compiler.__class__.__name__) print ("""\ ============================================================================""") raise distutils.errors.DistutilsPlatformError(msg) + # After MSVC is initialized, add an explicit /MANIFEST to linker + # flags. See issues gh-4245 and gh-4101 for details. Also + # relevant are issues 4431 and 16296 on the Python bug tracker. + from distutils import msvc9compiler + if msvc9compiler.get_build_version() >= 10: + for ldflags in [self.compiler.ldflags_shared, + self.compiler.ldflags_shared_debug]: + if '/MANIFEST' not in ldflags: + ldflags.append('/MANIFEST') + if not isinstance(self.fcompiler, FCompiler): self.fcompiler = new_fcompiler(compiler=self.fcompiler, dry_run=self.dry_run, force=1, |