diff -Naur Python-2.7.9-orig/Lib/distutils/ccompiler.py Python-2.7.9/Lib/distutils/ccompiler.py --- Python-2.7.9-orig/Lib/distutils/ccompiler.py 2014-12-10 18:59:34.000000000 +0300 +++ Python-2.7.9/Lib/distutils/ccompiler.py 2014-12-11 13:50:16.785800000 +0300 @@ -15,7 +15,7 @@ from distutils.file_util import move_file from distutils.dir_util import mkpath from distutils.dep_util import newer_group -from distutils.util import split_quoted, execute +from distutils.util import split_quoted, execute, get_platform from distutils import log # following import is for backward compatibility from distutils.sysconfig import customize_compiler @@ -918,6 +918,8 @@ osname = os.name if platform is None: platform = sys.platform + if get_platform().startswith('mingw'): + return 'mingw32' for pattern, compiler in _default_compilers: if re.match(pattern, platform) is not None or \ re.match(pattern, osname) is not None: diff -Naur Python-2.7.9-orig/Lib/distutils/cygwinccompiler.py Python-2.7.9/Lib/distutils/cygwinccompiler.py --- Python-2.7.9-orig/Lib/distutils/cygwinccompiler.py 2014-12-10 18:59:34.000000000 +0300 +++ Python-2.7.9/Lib/distutils/cygwinccompiler.py 2014-12-11 13:50:16.801400000 +0300 @@ -271,12 +271,17 @@ if output_dir is None: output_dir = '' obj_names = [] for src_name in source_filenames: - # use normcase to make sure '.rc' is really '.rc' and not '.RC' - (base, ext) = os.path.splitext (os.path.normcase(src_name)) + base, ext = os.path.splitext(src_name) + # use 'normcase' only for resource suffixes + ext_normcase = os.path.normcase(ext) + if ext_normcase in ['.rc','.res']: + ext = ext_normcase if ext not in (self.src_extensions + ['.rc','.res']): raise UnknownFileError, \ "unknown file type '%s' (from '%s')" % \ (ext, src_name) + base = os.path.splitdrive(base)[1] # Chop off the drive + base = base[os.path.isabs(base):] # If abs, chop off leading / if strip_dir: base = os.path.basename (base) if ext == '.res' or ext == '.rc': @@ -340,7 +345,7 @@ # Include the appropriate MSVC runtime library if Python was built # with MSVC 7.0 or later. - self.dll_libraries = get_msvcr() + self.dll_libraries = get_msvcr() or [] # __init__ ()