summaryrefslogtreecommitdiff
path: root/numpy/distutils/command/config.py
diff options
context:
space:
mode:
authorJulian Taylor <juliantaylor108@gmail.com>2014-07-20 23:48:54 +0200
committerJulian Taylor <juliantaylor108@gmail.com>2014-07-20 23:48:54 +0200
commita28bfa5780c6611c9c46977a0e9c2123426cf24a (patch)
tree716c6ade84f2025d2f26cf0e966fa742cfb72594 /numpy/distutils/command/config.py
parent4cbced22a8306d7214a4e18d12e651c034143922 (diff)
parentfa0ec11c1e653a51a047ab7b572546886ba3cd8a (diff)
downloadnumpy-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.py21
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,