(context, working_dir)
| 348 | |
| 349 | @subdir("host_build_dir", clean_ok=True) |
| 350 | def make_emscripten_libffi(context, working_dir): |
| 351 | validate_emsdk_version(context.emsdk_cache) |
| 352 | prefix = context.build_paths["prefix_dir"] |
| 353 | libffi_config = load_config_toml()["dependencies"]["libffi"] |
| 354 | with open(EMSCRIPTEN_DIR / "make_libffi.sh", "rb") as f: |
| 355 | libffi_config["make_libffi_shasum"] = hashlib.file_digest(f, "sha256").hexdigest() |
| 356 | if not should_build_library( |
| 357 | prefix, "libffi", libffi_config, context.quiet |
| 358 | ): |
| 359 | return |
| 360 | |
| 361 | if context.check_up_to_date: |
| 362 | print("libffi out of date, expected to be up to date", file=sys.stderr) |
| 363 | sys.exit(1) |
| 364 | |
| 365 | url = libffi_config["url"] |
| 366 | version = libffi_config["version"] |
| 367 | shasum = libffi_config["shasum"] |
| 368 | libffi_dir = working_dir / f"libffi-{version}" |
| 369 | shutil.rmtree(libffi_dir, ignore_errors=True) |
| 370 | download_and_unpack( |
| 371 | working_dir, |
| 372 | url.format(version=version), |
| 373 | shasum, |
| 374 | ) |
| 375 | call( |
| 376 | [EMSCRIPTEN_DIR / "make_libffi.sh"], |
| 377 | env=updated_env({"PREFIX": prefix}, context.emsdk_cache), |
| 378 | cwd=libffi_dir, |
| 379 | quiet=context.quiet, |
| 380 | ) |
| 381 | write_library_config(prefix, "libffi", libffi_config, context.quiet) |
| 382 | |
| 383 | |
| 384 | @subdir("host_build_dir", clean_ok=True) |
no test coverage detected
searching dependent graphs…