
* Add windows build script and additional changes to support windows for libafl-libfuzzer * Update build scripts and harness wrapping directives * Resolve issue with corpus edge count calculation * Add help message and make fork do nothing on Windows * Format harness_wrap.cpp * Clippy happiness pass * Clippy happiness pass * Clippy happiness pass * Correct logic * Correct logic * Update help output and make runs argument work * Add test for libafl_libfuzzer on windows * Add workflow for libafl_libfuzzer test * Fix copy without dependent task * Add libafl_libfuzzer_windows to preflight list * Format harness * Explicitly ignore windows fuzzer * Remove windows-specific copy from unix instructions * Ensure using nightly * Fix job name * Update build to use libFuzzer.lib on Windows to keep consistent with Linux * Remove nightly requirement --------- Co-authored-by: Rowan Hart <rowanhart@microsoft.com>
26 lines
750 B
Rust
26 lines
750 B
Rust
use std::{env, path::Path};
|
|
|
|
fn main() {
|
|
let out_dir = env::var_os("OUT_DIR").unwrap();
|
|
|
|
println!("cargo:rerun-if-changed=src/harness_wrap.h");
|
|
println!("cargo:rerun-if-changed=src/harness_wrap.cpp");
|
|
|
|
let build = bindgen::builder()
|
|
.header("src/harness_wrap.h")
|
|
.generate_comments(true)
|
|
.parse_callbacks(Box::new(bindgen::CargoCallbacks::new()))
|
|
.generate()
|
|
.expect("Couldn't generate the harness wrapper!");
|
|
|
|
build
|
|
.write_to_file(Path::new(&out_dir).join("harness_wrap.rs"))
|
|
.expect("Couldn't write the harness wrapper!");
|
|
|
|
let mut harness_wrap = cc::Build::new();
|
|
|
|
harness_wrap.cpp(true).file("src/harness_wrap.cpp");
|
|
|
|
harness_wrap.compile("harness_wrap");
|
|
}
|