[Python-checkins] gh-85454: Remove distutils.ccompiler from Tools/c-analyzer (GH-95171)

tiran webhook-mailer at python.org
Mon Jul 25 15:10:42 EDT 2022


https://github.com/python/cpython/commit/a15ae19ffba33282d21440a8fb7c39af26b7d25e
commit: a15ae19ffba33282d21440a8fb7c39af26b7d25e
branch: main
author: Dong-hee Na <donghee.na at python.org>
committer: tiran <christian at python.org>
date: 2022-07-25T21:10:30+02:00
summary:

gh-85454: Remove distutils.ccompiler from Tools/c-analyzer (GH-95171)

files:
M Tools/c-analyzer/c_parser/preprocessor/__init__.py

diff --git a/Tools/c-analyzer/c_parser/preprocessor/__init__.py b/Tools/c-analyzer/c_parser/preprocessor/__init__.py
index e38176fee31fa..c154137bf42f0 100644
--- a/Tools/c-analyzer/c_parser/preprocessor/__init__.py
+++ b/Tools/c-analyzer/c_parser/preprocessor/__init__.py
@@ -1,7 +1,9 @@
 import contextlib
-import distutils.ccompiler
 import logging
+import os
 import os.path
+import re
+import sys
 
 from c_common.fsutil import match_glob as _match_glob
 from c_common.tables import parse_table as _parse_table
@@ -168,9 +170,17 @@ def handling_errors(ignore_exc=None, *, log_err=None):
 }
 
 
+def _get_default_compiler():
+    if re.match('cygwin.*', sys.platform) is not None:
+        return 'unix'
+    if os.name == 'nt':
+        return 'msvc'
+    return 'unix'
+
+
 def _get_preprocessor(tool):
     if tool is True:
-        tool = distutils.ccompiler.get_default_compiler()
+        tool = _get_default_compiler()
     preprocess = _COMPILERS.get(tool)
     if preprocess is None:
         raise ValueError(f'unsupported tool {tool}')



More information about the Python-checkins mailing list