summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/cygwinccompiler.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/distutils/cygwinccompiler.py')
-rw-r--r--Lib/distutils/cygwinccompiler.py48
1 files changed, 27 insertions, 21 deletions
diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py
index 4fd23e6..4ac11eb 100644
--- a/Lib/distutils/cygwinccompiler.py
+++ b/Lib/distutils/cygwinccompiler.py
@@ -56,6 +56,29 @@ from distutils.file_util import write_file
from distutils.errors import DistutilsExecError, CompileError, UnknownFileError
from distutils import log
+def get_msvcr():
+ """Include the appropriate MSVC runtime library if Python was built
+ with MSVC 7.0 or later.
+ """
+ msc_pos = sys.version.find('MSC v.')
+ if msc_pos != -1:
+ msc_ver = sys.version[msc_pos+6:msc_pos+10]
+ if msc_ver == '1300':
+ # MSVC 7.0
+ return ['msvcr70']
+ elif msc_ver == '1310':
+ # MSVC 7.1
+ return ['msvcr71']
+ elif msc_ver == '1400':
+ # VS2005 / MSVC 8.0
+ return ['msvcr80']
+ elif msc_ver == '1500':
+ # VS2008 / MSVC 9.0
+ return ['msvcr90']
+ else:
+ raise ValueError("Unknown MS Compiler version %i " % msc_Ver)
+
+
class CygwinCCompiler (UnixCCompiler):
compiler_type = 'cygwin'
@@ -121,18 +144,9 @@ class CygwinCCompiler (UnixCCompiler):
self.warn(
"Consider upgrading to a newer version of gcc")
else:
- self.dll_libraries=[]
# Include the appropriate MSVC runtime library if Python was built
- # with MSVC 7.0 or 7.1.
- msc_pos = sys.version.find('MSC v.')
- if msc_pos != -1:
- msc_ver = sys.version[msc_pos+6:msc_pos+10]
- if msc_ver == '1300':
- # MSVC 7.0
- self.dll_libraries = ['msvcr70']
- elif msc_ver == '1310':
- # MSVC 7.1
- self.dll_libraries = ['msvcr71']
+ # with MSVC 7.0 or later.
+ self.dll_libraries = get_msvcr()
# __init__ ()
@@ -320,16 +334,8 @@ class Mingw32CCompiler (CygwinCCompiler):
self.dll_libraries=[]
# Include the appropriate MSVC runtime library if Python was built
- # with MSVC 7.0 or 7.1.
- msc_pos = sys.version.find('MSC v.')
- if msc_pos != -1:
- msc_ver = sys.version[msc_pos+6:msc_pos+10]
- if msc_ver == '1300':
- # MSVC 7.0
- self.dll_libraries = ['msvcr70']
- elif msc_ver == '1310':
- # MSVC 7.1
- self.dll_libraries = ['msvcr71']
+ # with MSVC 7.0 or later.
+ self.dll_libraries = get_msvcr()
# __init__ ()