40 lines
1.3 KiB
Lua
40 lines
1.3 KiB
Lua
toolchain("hfuzz-clang")
|
|
|
|
set_homepage("https://honggfuzz.dev")
|
|
set_description("Security oriented software fuzzer. Supports evolutionary, feedback-driven fuzzing based on code coverage (SW and HW based)")
|
|
|
|
set_kind("standalone")
|
|
|
|
set_toolset("cc", "hfuzz-clang")
|
|
set_toolset("cxx", "hfuzz-clang++")
|
|
set_toolset("ld", "hfuzz-clang++", "hfuzz-clang")
|
|
set_toolset("sh", "hfuzz-clang++", "hfuzz-clang")
|
|
set_toolset("ar", "ar")
|
|
set_toolset("strip", "strip")
|
|
set_toolset("mm", "hfuzz-clang")
|
|
set_toolset("mxx", "hfuzz-clang++")
|
|
set_toolset("as", "hfuzz-clang")
|
|
|
|
add_cxflags("-fsanitize=fuzzer-no-link")
|
|
add_ldflags("-fsanitize=fuzzer-no-link")
|
|
add_shflags("-fsanitize=fuzzer-no-link")
|
|
add_arflags("-fsanitize=fuzzer-no-link")
|
|
|
|
on_check(function (toolchain)
|
|
return import("lib.detect.find_tool")("hfuzz-clang")
|
|
end)
|
|
|
|
on_load(function (toolchain)
|
|
local march
|
|
if toolchain:is_arch("x86_64", "x64") then
|
|
march = "-m64"
|
|
elseif toolchain:is_arch("i386", "x86") then
|
|
march = "-m32"
|
|
end
|
|
if march then
|
|
toolchain:add("cxflags", march)
|
|
toolchain:add("ldflags", march)
|
|
toolchain:add("shflags", march)
|
|
end
|
|
end)
|