From 346999e967608a14fd46f71f9cfd2c302b6ec1e8 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Wed, 20 Jul 2022 07:55:59 +0200 Subject: [PATCH] gh-93939: Use new MODULE_name_STATE in wasm_assets script ``wasm_assets.py`` was using the old ``MODULE_name`` variable to detect if a shared extension is available. Emscripten browser builds now correctly detect that e.g. ``json`` module is available. --- Tools/wasm/wasm_assets.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Tools/wasm/wasm_assets.py b/Tools/wasm/wasm_assets.py index a59db9db7cdd20..07450ac928dcd6 100755 --- a/Tools/wasm/wasm_assets.py +++ b/Tools/wasm/wasm_assets.py @@ -165,14 +165,13 @@ def detect_extension_modules(args: argparse.Namespace): loc = {} exec(data, globals(), loc) - for name, value in loc["build_time_vars"].items(): - if value not in {"yes", "missing", "disabled", "n/a"}: + for key, value in loc["build_time_vars"].items(): + if not key.startswith("MODULE_") or not key.endswith("_STATE"): continue - if not name.startswith("MODULE_"): - continue - if name.endswith(("_CFLAGS", "_DEPS", "_LDFLAGS")): - continue - modname = name.removeprefix("MODULE_").lower() + if value not in {"yes", "disabled", "missing", "n/a"}: + raise ValueError(f"Unsupported value '{value}' for {key}") + + modname = key[7:-6].lower() if modname not in modules: modules[modname] = value == "yes" return modules