From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7833) id 12554382DB1E; Thu, 1 Sep 2022 09:01:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 12554382DB1E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1662022873; bh=inAuLE/cnTMMBmDsi1294gBQv5Guq2TXGGU1+72KfhQ=; h=From:To:Subject:Date:From; b=i374b9SGpKIcysh8XwIJ5mEW7NYWj7XZzBbL/62bGKKSSrxkmXofo3yLeEDcnpYdW TyN01DxqFvnkOioYTLtXfgr4eTDiI7bs/ACXhAjvXS8DIMRHaamcIk/OGVx8pJ8euS fJqVqLH0q3QQU7wEVrgjpokS+faj8RaFs5GabN14= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Lancelot SIX To: gdb-cvs@sourceware.org Subject: [binutils-gdb] gdb/python-config: replace deprecated distutils.sysconfig X-Act-Checkin: binutils-gdb X-Git-Author: Lancelot SIX X-Git-Refname: refs/heads/master X-Git-Oldrev: a651b117e1781756b9bf0977c858eb804a0a5662 X-Git-Newrev: be2057b902e834bba6fe7d3ded16177ec5624f3b Message-Id: <20220901090113.12554382DB1E@sourceware.org> Date: Thu, 1 Sep 2022 09:01:13 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3Dbe2057b902e8= 34bba6fe7d3ded16177ec5624f3b commit be2057b902e834bba6fe7d3ded16177ec5624f3b Author: Lancelot SIX Date: Fri Aug 26 08:39:03 2022 +0000 gdb/python-config: replace deprecated distutils.sysconfig =20 When running the gdb/configure script on ubuntu 22.04 with python-3.10.4, I see: =20 checking for python... no checking for python3... /usr/bin/python3 [...]/gdb/python/python-config.py:7: DeprecationWarning: The distut= ils package is deprecated and slated for removal in Python 3.12. Use setupt= ools or check PEP 632 for potential alternatives from distutils import sysconfig [...]/gdb/python/python-config.py:7: DeprecationWarning: The distut= ils.sysconfig module is deprecated, use sysconfig instead from distutils import sysconfig [...]/gdb/python/python-config.py:7: DeprecationWarning: The distut= ils package is deprecated and slated for removal in Python 3.12. Use setupt= ools or check PEP 632 for potential alternatives from distutils import sysconfig [...]/gdb/python/python-config.py:7: DeprecationWarning: The distut= ils.sysconfig module is deprecated, use sysconfig instead from distutils import sysconfig [...]/gdb/python/python-config.py:7: DeprecationWarning: The distut= ils package is deprecated and slated for removal in Python 3.12. Use setupt= ools or check PEP 632 for potential alternatives from distutils import sysconfig [...]/gdb/python/python-config.py:7: DeprecationWarning: The distut= ils.sysconfig module is deprecated, use sysconfig instead from distutils import sysconfig checking for python... yes =20 The distutils module is deprecated as per the PEP 632[1] and will be removed in python-3.12. =20 This patch migrates gdb/python/python-config.py from distutils.sysconfig to the sysconfig module[2]. =20 The sysconfig module has has been introduced in the standard library in python 3.2. Given that support for python < 3.2 has been removed by edae3fd6600f: "gdb/python: remove Python 2 support", this patch does not need to support both implementations for backward compatibility. =20 Tested on ubuntu-22.04 and ubuntu 20.04. =20 [1] https://peps.python.org/pep-0632/ [2] https://docs.python.org/3/library/sysconfig.html =20 Change-Id: Id0df2baf3ee6ce68bd01c236b829ab4c0a4526f6 Diff: --- gdb/python/python-config.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gdb/python/python-config.py b/gdb/python/python-config.py index 027d80dcc86..e89e0fd40bb 100644 --- a/gdb/python/python-config.py +++ b/gdb/python/python-config.py @@ -4,7 +4,7 @@ import sys import os import getopt -from distutils import sysconfig +import sysconfig =20 valid_opts =3D ["prefix", "exec-prefix", "includes", "libs", "cflags", "ld= flags", "help"] =20 @@ -49,15 +49,15 @@ def to_unix_path(path): =20 for opt in opt_flags: if opt =3D=3D "--prefix": - print(to_unix_path(sysconfig.PREFIX)) + print(to_unix_path(os.path.normpath(sys.prefix))) =20 elif opt =3D=3D "--exec-prefix": - print(to_unix_path(sysconfig.EXEC_PREFIX)) + print(to_unix_path(os.path.normpath(sys.exec_prefix))) =20 elif opt in ("--includes", "--cflags"): flags =3D [ - "-I" + sysconfig.get_python_inc(), - "-I" + sysconfig.get_python_inc(plat_specific=3DTrue), + "-I" + sysconfig.get_path("include"), + "-I" + sysconfig.get_path("platinclude"), ] if opt =3D=3D "--cflags": flags.extend(getvar("CFLAGS").split()) @@ -76,7 +76,7 @@ for opt in opt_flags: if getvar("LIBPL") is not None: libs.insert(0, "-L" + getvar("LIBPL")) elif os.name =3D=3D "nt": - libs.insert(0, "-L" + sysconfig.PREFIX + "/libs") + libs.insert(0, "-L" + os.path.normpath(sys.prefix) + "= /libs") if getvar("LINKFORSHARED") is not None: libs.extend(getvar("LINKFORSHARED").split()) print(to_unix_path(" ".join(libs)))