ICFP 2007 Contest: https://web.archive.org/web/20090301164728/https://save-endo.cs.uu.nl/
at main 744 B view raw
1import sys 2 3# 'lib' or 'bin' 4crate_type = sys.argv[1] 5crate_name = sys.argv[2] 6if crate_type == "bin": 7 input_rs = f"{crate_name}/src/main.rs" 8 outfile = f"out/bin/{crate_name}" 9else: 10 input_rs = f"{crate_name}/src/lib.rs" 11 outfile = f"out/lib/lib{crate_name}.rlib" 12 13dep_crates = sys.argv[3:] 14dep_inputs = " ".join([f"out/lib/lib{dep}.rlib" for dep in dep_crates]) 15externs = " ".join([f"--extern {dep}=out/lib/lib{dep}.rlib" for dep in dep_crates]) 16 17flags = "--edition=2024 -C opt-level=3 -C embed-bitcode=no -C strip=debuginfo --emit=link" 18 19inputs = f"{crate_name}/src/*.rs" 20print(f": {crate_name}/src/*.rs {dep_inputs} |> rustc --crate-name {crate_name} --crate-type={crate_type} {input_rs} -o %o {externs} {flags} |> {outfile}")