diff --git a/make_wasm.py b/make_wasm.py index deac9c7..d4e4b0c 100755 --- a/make_wasm.py +++ b/make_wasm.py @@ -1,7 +1,8 @@ #! /usr/bin/env python3 from argparse import ArgumentParser -from subprocess import call +from subprocess import check_call +from shutil import copyfile if __name__ == "__main__": parser = ArgumentParser(description="Build js and wasm") @@ -11,13 +12,22 @@ if __name__ == "__main__": args = parser.parse_args() if args.release: - call(["cargo", "build", "--release", - "--target", "wasm32-unknown-unknown"]) + check_call(["cargo", "build", "--release", + "--target", "wasm32-unknown-unknown"]) target = "target/wasm32-unknown-unknown/release/webgl.wasm" else: - call(["cargo", "build", - "--target", "wasm32-unknown-unknown"]) + check_call(["cargo", "build", + "--target", "wasm32-unknown-unknown"]) target = "target/wasm32-unknown-unknown/debug/webgl.wasm" - call(["wasm-bindgen", target, "--out-dir", ".", - "--no-typescript", "--target", "web"]) + check_call(["wasm-bindgen", target, "--out-dir", ".", + "--no-typescript", "--target", "web"]) + + if args.release: + try: + copyfile("webgl_bg.wasm", "before-wasm-opt.wasm") + check_call(["wasm-opt", "-O4", "before-wasm-opt.wasm", + "-o", "webgl_bg.wasm"]) + except FileNotFoundError: + print("wasm-opt not found, not optimising further") + pass