_toolchain.cxx: use distutils from setuptools.
authorwhitequark <whitequark@whitequark.org>
Fri, 8 Oct 2021 17:48:00 +0000 (17:48 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 31 Dec 2021 19:51:02 +0000 (19:51 +0000)
The distutils module from the standard library is deprecated and will
be removed in Python 3.12, and PEP 632 recommends using
distutils.ccompiler from setuptools, instead.

This code should eventually be rewritten to use zig-pypi, but for now
this suffices.

nmigen/_toolchain/cxx.py

index 9b7fce2892f2f27195d6ea1c9a6334cd39498a8a..430fb142f7e01755f37639ed2d34f316e224ada0 100644 (file)
@@ -1,7 +1,7 @@
 import tempfile
 import sysconfig
 import os.path
-from distutils import ccompiler
+from setuptools import distutils
 
 
 __all__ = ["build_cxx"]
@@ -17,7 +17,7 @@ def build_cxx(*, cxx_sources, output_name, include_dirs, macros):
         # the output directory directly.
         os.chdir(build_dir.name)
 
-        cc_driver = ccompiler.new_compiler()
+        cc_driver = distutils.ccompiler.new_compiler()
         cc_driver.output_dir = "."
 
         cc = sysconfig.get_config_var("CC")