# Variables [env] CARGO_TARGET_DIR = { value = "${PROJECT_DIR}/target", condition = { env_not_set = ["CARGO_TARGET_DIR"] } } FUZZER_NAME='libfuzzer_stb_image_concolic' PROJECT_DIR = { script = ["pwd"] } # Compilers [tasks.runtime] linux_alias = "runtime_unix" mac_alias = "unsupported" windows_alias = "unsupported" [tasks.runtime_unix] condition = { files_not_exist = ["${CARGO_TARGET_DIR}/libSymRuntime.so"] } script_runner = "@shell" script = ''' cd runtime cargo build --release ''' # Build the fuzzer [tasks.fuzzer] linux_alias = "fuzzer_unix" mac_alias = "unsupported" windows_alias = "unsupported" [tasks.fuzzer_unix] dependencies = ["runtime"] script_runner = "@shell" script = ''' cd fuzzer cargo build --release ''' [tasks.test] alias = "fuzzer" [tasks.unsupported] # Do nothing script_runner = "@shell" script=''' echo "Not supported on this platform." ''' # Clean up [tasks.clean] # Disable default `clean` definition clear = true script=''' cd fuzzer cargo clean cd ../runtime cargo clean '''