[Python-checkins] Revert "bpo-42405: fix C extensions build on Windows ARM64 (GH-23399)" (#24753)

jaraco webhook-mailer at python.org
Thu Mar 4 13:41:58 EST 2021


https://github.com/python/cpython/commit/fbf75b9997e280b1220755d0a17dbed71240d42e
commit: fbf75b9997e280b1220755d0a17dbed71240d42e
branch: master
author: Jason R. Coombs <jaraco at jaraco.com>
committer: jaraco <jaraco at jaraco.com>
date: 2021-03-04T13:41:49-05:00
summary:

Revert "bpo-42405: fix C extensions build on Windows ARM64 (GH-23399)" (#24753)

This reverts commit cb7bc7640935f6b05e9d2acfe4b33d496e8f8666.

files:
D Misc/NEWS.d/next/Windows/2020-11-23-10-14-03.bpo-42405.4vQUja.rst
M Lib/distutils/msvc9compiler.py

diff --git a/Lib/distutils/msvc9compiler.py b/Lib/distutils/msvc9compiler.py
index b2b52e56c8ea5..6934e964abd69 100644
--- a/Lib/distutils/msvc9compiler.py
+++ b/Lib/distutils/msvc9compiler.py
@@ -54,7 +54,6 @@
 PLAT_TO_VCVARS = {
     'win32' : 'x86',
     'win-amd64' : 'amd64',
-    'win-arm64' : 'arm64',
 }
 
 class Reg:
@@ -343,7 +342,7 @@ def initialize(self, plat_name=None):
         if plat_name is None:
             plat_name = get_platform()
         # sanity check for platforms to prevent obscure errors later.
-        ok_plats = 'win32', 'win-amd64', 'win-arm64'
+        ok_plats = 'win32', 'win-amd64'
         if plat_name not in ok_plats:
             raise DistutilsPlatformError("--plat-name must be one of %s" %
                                          (ok_plats,))
@@ -372,9 +371,6 @@ def initialize(self, plat_name=None):
             vc_env = query_vcvarsall(VERSION, plat_spec)
 
             self.__paths = vc_env['path'].split(os.pathsep)
-            if plat_name == 'win-arm64':
-                self.__paths = (
-                    vc_env['path'].replace('HostX64', 'HostX86').split(os.pathsep))
             os.environ['lib'] = vc_env['lib']
             os.environ['include'] = vc_env['include']
 
@@ -389,12 +385,6 @@ def initialize(self, plat_name=None):
             self.lib = self.find_exe("lib.exe")
             self.rc = self.find_exe("rc.exe")   # resource compiler
             self.mc = self.find_exe("mc.exe")   # message compiler
-            if plat_name == 'win-arm64':
-                self.cc = self.cc.replace('HostX64', 'Hostx86')
-                self.linker = self.linker.replace('HostX64', 'Hostx86')
-                self.lib = self.lib.replace('HostX64', 'Hostx86')
-                self.rc = self.rc.replace('x64', 'arm64')
-                self.mc = self.mc.replace('x64', 'arm64')
             #self.set_path_env_var('lib')
             #self.set_path_env_var('include')
 
@@ -644,17 +634,6 @@ def link(self,
             if extra_postargs:
                 ld_args.extend(extra_postargs)
 
-            if get_platform() == 'win-arm64':
-                ld_args_arm = []
-                for ld_arg in ld_args:
-                    # VS tries to use the x86 linker
-                    ld_arg_arm = ld_arg.replace(r'\um\x86', r'\um\arm64')
-                    # A larger memory address is required on ARM64
-                    ld_arg_arm = ld_arg_arm.replace("0x1", "0x10")
-                    ld_args_arm += [ld_arg_arm]
-
-                ld_args = list(ld_args_arm)
-
             self.mkpath(os.path.dirname(output_filename))
             try:
                 self.spawn([self.linker] + ld_args)
diff --git a/Misc/NEWS.d/next/Windows/2020-11-23-10-14-03.bpo-42405.4vQUja.rst b/Misc/NEWS.d/next/Windows/2020-11-23-10-14-03.bpo-42405.4vQUja.rst
deleted file mode 100644
index 9d71c922ab81e..0000000000000
--- a/Misc/NEWS.d/next/Windows/2020-11-23-10-14-03.bpo-42405.4vQUja.rst
+++ /dev/null
@@ -1 +0,0 @@
-In distutils, add support for building C extensions on Windows ARM64.



More information about the Python-checkins mailing list