https://github.com/python/cpython/commit/0953200b136bcb3293cc1bd57a062796ffcd529d
commit: 0953200b136bcb3293cc1bd57a062796ffcd529d
branch: main
author: Brett Cannon <[email protected]>
committer: brettcannon <[email protected]>
date: 2025-08-06T12:28:54-07:00
summary:

GH-137484: Have `Tools/wasm/wasi` use the build triple instead of "build" 
(GH-37485)

This should help prevent issuse where something like a container is used to do 
one build and then someone tries to build again locally.

files:
A Misc/NEWS.d/next/Tools-Demos/2025-08-06-11-54-55.gh-issue-137484.8iFAQs.rst
M Tools/wasm/wasi/__main__.py

diff --git 
a/Misc/NEWS.d/next/Tools-Demos/2025-08-06-11-54-55.gh-issue-137484.8iFAQs.rst 
b/Misc/NEWS.d/next/Tools-Demos/2025-08-06-11-54-55.gh-issue-137484.8iFAQs.rst
new file mode 100644
index 00000000000000..bd7bc0984ecfcc
--- /dev/null
+++ 
b/Misc/NEWS.d/next/Tools-Demos/2025-08-06-11-54-55.gh-issue-137484.8iFAQs.rst
@@ -0,0 +1,2 @@
+Have ``Tools/wasm/wasi`` put the build Python into a directory named after
+the build triple instead of "build".
diff --git a/Tools/wasm/wasi/__main__.py b/Tools/wasm/wasi/__main__.py
index fdd93d5c0aa4af..973d78caa0849e 100644
--- a/Tools/wasm/wasi/__main__.py
+++ b/Tools/wasm/wasi/__main__.py
@@ -20,7 +20,8 @@
 assert (CHECKOUT / "configure").is_file(), "Please update the location of the 
file"
 
 CROSS_BUILD_DIR = CHECKOUT / "cross-build"
-BUILD_DIR = CROSS_BUILD_DIR / "build"
+# Build platform can also be found via `config.guess`.
+BUILD_DIR = CROSS_BUILD_DIR / sysconfig.get_config_var("BUILD_GNU_TYPE")
 
 LOCAL_SETUP = CHECKOUT / "Modules" / "Setup.local"
 LOCAL_SETUP_MARKER = ("# Generated by Tools/wasm/wasi .\n"
@@ -80,7 +81,7 @@ def wrapper(context):
             print("📁", working_dir)
             if (clean_ok and getattr(context, "clean", False) and
                 working_dir.exists()):
-                print(f"🚮 Deleting directory (--clean)...")
+                print("🚮 Deleting directory (--clean)...")
                 shutil.rmtree(working_dir)
 
             working_dir.mkdir(parents=True, exist_ok=True)
@@ -120,12 +121,6 @@ def call(command, *, context=None, quiet=False, 
logdir=None, **kwargs):
     subprocess.check_call(command, **kwargs, stdout=stdout, stderr=stderr)
 
 
-def build_platform():
-    """The name of the build/host platform."""
-    # Can also be found via `config.guess`.
-    return sysconfig.get_config_var("BUILD_GNU_TYPE")
-
-
 def build_python_path():
     """The path to the build Python binary."""
     binary = BUILD_DIR / "python"
@@ -274,7 +269,7 @@ def configure_wasi_python(context, working_dir):
     # executed from within a checkout.
     configure = [os.path.relpath(CHECKOUT / 'configure', working_dir),
                     f"--host={context.host_triple}",
-                    f"--build={build_platform()}",
+                    f"--build={BUILD_DIR.name}",
                     f"--with-build-python={build_python}"]
     if build_python_is_pydebug():
         configure.append("--with-pydebug")
@@ -357,8 +352,8 @@ def main():
                                                  "Python)")
     make_host = subcommands.add_parser("make-host",
                                        help="Run `make` for the host/WASI")
-    clean = subcommands.add_parser("clean", help="Delete files and directories 
"
-                                                 "created by this script")
+    subcommands.add_parser("clean", help="Delete files and directories "
+                                         "created by this script")
     for subcommand in build, configure_build, make_build, configure_host, 
make_host:
         subcommand.add_argument("--quiet", action="store_true", default=False,
                         dest="quiet",

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to