Fingerprint link conditions that affect emcc/JS output.
(mode: str)
| 283 | |
| 284 | |
| 285 | def _compute_link_environment_fingerprint(mode: str) -> str: |
| 286 | """Fingerprint link conditions that affect emcc/JS output.""" |
| 287 | digest = hashlib.md5(usedforsecurity=False) |
| 288 | digest.update(f"mode:{mode}".encode()) |
| 289 | digest.update(json.dumps(get_link_flags(mode)).encode()) |
| 290 | digest.update(f"emcc_version:{_get_emcc_version_signature()}".encode()) |
| 291 | |
| 292 | for key in _LINK_ENV_VARS: |
| 293 | digest.update(f"{key}={os.environ.get(key, '')}".encode()) |
| 294 | |
| 295 | return digest.hexdigest() |
| 296 | |
| 297 | |
| 298 | def _link_environment_fingerprint_matches(build_dir: Path, mode: str) -> bool: |
no test coverage detected