From 9b64e91dbd6e222c0fe3247fcd49e78caa908c31 Mon Sep 17 00:00:00 2001 From: Dominik Maier Date: Tue, 22 Dec 2020 20:13:05 +0100 Subject: [PATCH] fixed build, caching --- fuzzers/libfuzzer_stats/.gitignore | 1 + fuzzers/libfuzzer_stats/build.rs | 38 ++++++++++++++++++++++++++---- 2 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 fuzzers/libfuzzer_stats/.gitignore diff --git a/fuzzers/libfuzzer_stats/.gitignore b/fuzzers/libfuzzer_stats/.gitignore new file mode 100644 index 0000000000..a977a2ca5b --- /dev/null +++ b/fuzzers/libfuzzer_stats/.gitignore @@ -0,0 +1 @@ +libpng-* \ No newline at end of file diff --git a/fuzzers/libfuzzer_stats/build.rs b/fuzzers/libfuzzer_stats/build.rs index 75d76e4181..18a03c5ad4 100644 --- a/fuzzers/libfuzzer_stats/build.rs +++ b/fuzzers/libfuzzer_stats/build.rs @@ -8,6 +8,7 @@ const LIBPNG_URL: &str = "http://prdownloads.sourceforge.net/libpng/libpng-1.6.3 fn main() { let out_dir = env::var_os("OUT_DIR").unwrap(); + let cwd = env::current_dir().unwrap().to_string_lossy().to_string(); let out_dir = out_dir.to_string_lossy().to_string(); let out_dir_path = Path::new(&out_dir); @@ -21,7 +22,7 @@ fn main() { let libpng = format!("{}/libpng-1.6.37", &out_dir); let libpng_path = Path::new(&libpng); - let libpng_tar = format!("{}/libpng-1.6.37.tar.gz", &out_dir); + let libpng_tar = format!("{}/libpng-1.6.37.tar.gz", &cwd); if !libpng_path.is_dir() { if !Path::new(&libpng_tar).is_file() { @@ -43,19 +44,46 @@ fn main() { .unwrap(); Command::new(format!("{}/configure", &libpng)) .current_dir(&libpng_path) - .arg("--disable-shared") + .args(&[ + "--disable-shared", + "CC=clang", + "CFLAGS=-O3 -g -D_DEFAULT_SOURCE -fPIE -fsanitize-coverage=trace-pc-guard", + "LDFLAGS=-g -fPIE -fsanitize-coverage=trace-pc-guard", + ]) + .env("CC", "clang") + .env("CXX", "clang++") + .env( + "CFLAGS", + "-O3 -g -D_DEFAULT_SOURCE -fPIE -fsanitize-coverage=trace-pc-guard", + ) + .env( + "CXXFLAGS", + "-O3 -g -D_DEFAULT_SOURCE -fPIE -fsanitize-coverage=trace-pc-guard", + ) + .env("LDFLAGS", "-g -fPIE -fsanitize-coverage=trace-pc-guard") .status() .unwrap(); Command::new("make") .current_dir(&libpng_path) - .arg(&format!("-j{}", num_cpus::get())) + //.arg(&format!("-j{}", num_cpus::get())) .args(&[ "CC=clang", "CXX=clang++", - "CFLAGS=-D_DEFAULT_SOURCE -fPIE -fsanitize-coverage=trace-pc-guard", - "LDFLAGS=-fPIE -fsanitize-coverage=trace-pc-guard", + "CFLAGS=-O3 -g -D_DEFAULT_SOURCE -fPIE -fsanitize-coverage=trace-pc-guard", + "LDFLAGS=-g -fPIE -fsanitize-coverage=trace-pc-guard", "CXXFLAGS=-D_DEFAULT_SOURCE -fPIE -fsanitize-coverage=trace-pc-guard", ]) + .env("CC", "clang") + .env("CXX", "clang++") + .env( + "CFLAGS", + "-O3 -g -D_DEFAULT_SOURCE -fPIE -fsanitize-coverage=trace-pc-guard", + ) + .env( + "CXXFLAGS", + "-O3 -g -D_DEFAULT_SOURCE -fPIE -fsanitize-coverage=trace-pc-guard", + ) + .env("LDFLAGS", "-g -fPIE -fsanitize-coverage=trace-pc-guard") .status() .unwrap(); }