
* fuzzer mod * libafl_sugar skeleton * build libafl_sugar * libfuzzer_stb_image_sugar * Delete log * qemu in libafl_sugar * docker * macos merda Co-authored-by: Dominik Maier <domenukk@gmail.com>
28 lines
797 B
Rust
28 lines
797 B
Rust
// build.rs
|
|
|
|
use std::env;
|
|
|
|
fn main() {
|
|
let out_dir = env::var_os("OUT_DIR").unwrap();
|
|
let out_dir = out_dir.to_string_lossy().to_string();
|
|
|
|
println!("cargo:rerun-if-changed=harness.c");
|
|
|
|
// Enforce clang for its -fsanitize-coverage support.
|
|
std::env::set_var("CC", "clang");
|
|
std::env::set_var("CXX", "clang++");
|
|
|
|
cc::Build::new()
|
|
// Use sanitizer coverage to track the edges in the PUT
|
|
.flag("-fsanitize-coverage=trace-pc-guard,trace-cmp")
|
|
// Take advantage of LTO (needs lld-link set in your cargo config)
|
|
//.flag("-flto=thin")
|
|
.flag("-Wno-sign-compare")
|
|
.file("./harness.c")
|
|
.compile("harness");
|
|
|
|
println!("cargo:rustc-link-search=native={}", &out_dir);
|
|
|
|
println!("cargo:rerun-if-changed=build.rs");
|
|
}
|