Convert build scripts to Python #31
			
				
			
		
		
		
	| 
						 | 
				
			
			@ -27,6 +27,7 @@ def build_runtime(args):
 | 
			
		|||
    ensure_angle()
 | 
			
		||||
 | 
			
		||||
    build_milepost("lib", args.release)
 | 
			
		||||
    build_wasm3(args.release)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def build_milepost(target, release):
 | 
			
		||||
| 
						 | 
				
			
			@ -180,6 +181,38 @@ def build_milepost_lib_mac(release):
 | 
			
		|||
    ], check=True)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def build_wasm3(release):
 | 
			
		||||
    print("Building wasm3...")
 | 
			
		||||
 | 
			
		||||
    os.makedirs("bin", exist_ok=True)
 | 
			
		||||
    os.makedirs("bin\\obj", exist_ok=True)
 | 
			
		||||
 | 
			
		||||
    if platform.system() == "Windows":
 | 
			
		||||
        build_wasm3_lib_win(release)
 | 
			
		||||
    elif platform.system() == "Darwin":
 | 
			
		||||
        raise "can't yet build wasm3 on Mac"
 | 
			
		||||
    else:
 | 
			
		||||
        log_error(f"can't build wasm3 for unknown platform '{platform.system()}'")
 | 
			
		||||
        exit(1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def build_wasm3_lib_win(release):
 | 
			
		||||
    for f in glob.iglob(".\\ext\\wasm3\\source\\*.c"):
 | 
			
		||||
        name = os.path.splitext(os.path.basename(f))[0]
 | 
			
		||||
        subprocess.run([
 | 
			
		||||
            "cl", "/nologo",
 | 
			
		||||
            "/Zi", "/Zc:preprocessor", "/c",
 | 
			
		||||
            *(["/O2"] if release else []),
 | 
			
		||||
            f"/Fo:bin\\obj\\{name}.obj",
 | 
			
		||||
            "/I", ".\\ext\\wasm3\\source",
 | 
			
		||||
            f,
 | 
			
		||||
        ], check=True)
 | 
			
		||||
    subprocess.run([
 | 
			
		||||
        "lib", "/nologo", "/out:bin\\wasm3.lib",
 | 
			
		||||
        "bin\\obj\\*.obj",
 | 
			
		||||
    ], check=True)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def ensure_programs():
 | 
			
		||||
    if platform.system() == "Windows":
 | 
			
		||||
        try:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue