Issue #2234: distutils failed with mingw binutils 2.18.50.20080109.

Be less strict when parsing these version numbers,
they don't necessarily follow the python numbering scheme.

Backport of r65834
This commit is contained in:
Amaury Forgeot d'Arc 2008-08-18 19:33:42 +00:00
parent 7a076bed4c
commit 22679b869c
2 changed files with 8 additions and 4 deletions

View file

@ -398,7 +398,7 @@ def get_versions():
""" Try to find out the versions of gcc, ld and dllwrap.
If not possible it returns None for it.
"""
from distutils.version import StrictVersion
from distutils.version import LooseVersion
from distutils.spawn import find_executable
import re
@ -409,7 +409,7 @@ def get_versions():
out.close()
result = re.search('(\d+\.\d+(\.\d+)*)',out_string)
if result:
gcc_version = StrictVersion(result.group(1))
gcc_version = LooseVersion(result.group(1))
else:
gcc_version = None
else:
@ -421,7 +421,7 @@ def get_versions():
out.close()
result = re.search('(\d+\.\d+(\.\d+)*)',out_string)
if result:
ld_version = StrictVersion(result.group(1))
ld_version = LooseVersion(result.group(1))
else:
ld_version = None
else:
@ -433,7 +433,7 @@ def get_versions():
out.close()
result = re.search(' (\d+\.\d+(\.\d+)*)',out_string)
if result:
dllwrap_version = StrictVersion(result.group(1))
dllwrap_version = LooseVersion(result.group(1))
else:
dllwrap_version = None
else:

View file

@ -77,6 +77,10 @@ Core and builtins
Library
-------
- Issue #2234: distutils failed for some versions of the cygwin compiler. The
version reported by these tools does not necessarily follow the python
version numbering scheme, so the module is less strict when parsing it.
- Issue #2222: Fixed reference leak when occured os.rename()
fails unicode conversion on 2nd parameter. (windows only)