From 6beaf3ca8ab6026dc6a652022c7e793989388dbf Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Wed, 23 Jul 2025 11:50:15 -0700 Subject: [PATCH] Touch up `Setup.local` handling in `Tools/wasm/wasi` (GH-137051) The comment in the generated file is now more self-explanatory. The checks for unexpected file contents are also strengthened. (cherry picked from commit ec7fad79d24e79961b86e17177a32b32bb340fe5) Co-authored-by: Brett Cannon --- Tools/wasm/wasi/__main__.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Tools/wasm/wasi/__main__.py b/Tools/wasm/wasi/__main__.py index 54ccc95157d57d..f3c97ff3fd11a0 100644 --- a/Tools/wasm/wasi/__main__.py +++ b/Tools/wasm/wasi/__main__.py @@ -23,7 +23,8 @@ BUILD_DIR = CROSS_BUILD_DIR / "build" LOCAL_SETUP = CHECKOUT / "Modules" / "Setup.local" -LOCAL_SETUP_MARKER = "# Generated by Tools/wasm/wasi.py\n".encode("utf-8") +LOCAL_SETUP_MARKER = ("# Generated by Tools/wasm/wasi .\n" + "# Required to statically build extension modules.").encode("utf-8") WASMTIME_VAR_NAME = "WASMTIME" WASMTIME_HOST_RUNNER_VAR = f"{{{WASMTIME_VAR_NAME}}}" @@ -141,9 +142,12 @@ def build_python_is_pydebug(): def configure_build_python(context, working_dir): """Configure the build/host Python.""" if LOCAL_SETUP.exists(): - print(f"๐Ÿ‘ {LOCAL_SETUP} exists ...") + if LOCAL_SETUP.read_bytes() == LOCAL_SETUP_MARKER: + print(f"๐Ÿ‘ {LOCAL_SETUP} exists ...") + else: + print(f"โš ๏ธ {LOCAL_SETUP} exists, but has unexpected contents") else: - print(f"๐Ÿ“ Touching {LOCAL_SETUP} ...") + print(f"๐Ÿ“ Creating {LOCAL_SETUP} ...") LOCAL_SETUP.write_bytes(LOCAL_SETUP_MARKER) configure = [os.path.relpath(CHECKOUT / 'configure', working_dir)] @@ -297,9 +301,8 @@ def clean_contents(context): shutil.rmtree(CROSS_BUILD_DIR) if LOCAL_SETUP.exists(): - with LOCAL_SETUP.open("rb") as file: - if file.read(len(LOCAL_SETUP_MARKER)) == LOCAL_SETUP_MARKER: - print(f"๐Ÿงน Deleting generated {LOCAL_SETUP} ...") + if LOCAL_SETUP.read_bytes() == LOCAL_SETUP_MARKER: + print(f"๐Ÿงน Deleting generated {LOCAL_SETUP} ...") def main():