blob: e7c7b5a1ee6a7b49a06e14a422b79f019a2a81fa [file] [log] [blame]
Zach Riggle9b487512017-09-10 18:44:23 -04001
Zach Riggle9baec692017-10-04 18:25:01 -05002subdirs = [
3 "third_party/android/libBlocksRuntime",
4]
Zach Riggle9b487512017-09-10 18:44:23 -04005
6cc_defaults {
7 name: "honggfuzz-defaults",
8 cflags: [
9 "-D_GNU_SOURCE",
10 "-fblocks",
11 "-Wall",
12 "-Wno-initializer-overrides",
13 "-Werror",
14 "-Wframe-larger-than=131072",
15 "-D__HF_USES_CAPSTONE__",
16 "-D_HF_ARCH_LINUX",
17 ],
18 c_std: "c11",
19 clang: true,
20}
21
22cc_library_headers {
23 name: "honggfuzz_libcommon_headers",
24 export_include_dirs: ["libcommon"],
25}
26
27cc_library {
Zach Riggleab93add2017-12-21 15:53:51 -060028 name: "honggfuzz_libcommon",
Zach Riggle9b487512017-09-10 18:44:23 -040029
30 defaults: ["honggfuzz-defaults"],
31
32 header_libs: ["honggfuzz_libcommon_headers"],
33 export_header_lib_headers: ["honggfuzz_libcommon_headers"],
34 srcs: [
35 "libcommon/files.c",
36 "libcommon/log.c",
37 "libcommon/ns.c",
38 "libcommon/util.c",
39 ],
40
41
42 static_libs: [
43 "libBlocksRuntime", // -fblocks
44 ],
45}
46
47cc_library_headers {
Zach Riggleab93add2017-12-21 15:53:51 -060048 name: "honggfuzz_libhfuzz_headers",
Zach Riggle9b487512017-09-10 18:44:23 -040049 export_include_dirs: ["libhfuzz"],
50}
51
52cc_library {
Zach Riggleab93add2017-12-21 15:53:51 -060053 name: "honggfuzz_libhfuzz",
Zach Riggle9b487512017-09-10 18:44:23 -040054 defaults: ["honggfuzz-defaults"],
55
Zach Riggleab93add2017-12-21 15:53:51 -060056 header_libs: ["honggfuzz_libhfuzz_headers"],
57 export_header_lib_headers: ["honggfuzz_libhfuzz_headers"],
Zach Riggle9b487512017-09-10 18:44:23 -040058
Zach Riggleab93add2017-12-21 15:53:51 -060059 whole_static_libs: [
60 "honggfuzz_libcommon",
Zach Riggle9b487512017-09-10 18:44:23 -040061 "libBlocksRuntime", // -fblocks
62 ],
63
64 srcs: [
65 "libhfuzz/instrument.c",
66 "libhfuzz/linux.c",
67 "libhfuzz/memorycmp.c",
68 "libhfuzz/persistent.c",
69 ],
70}
71
Zach Riggleab93add2017-12-21 15:53:51 -060072
73
74cc_binary {
75 name: "honggfuzz",
Zach Riggle9b487512017-09-10 18:44:23 -040076 defaults: ["honggfuzz-defaults"],
77
Zach Riggleab93add2017-12-21 15:53:51 -060078 whole_static_libs: [
79 "honggfuzz_libcommon",
Zach Riggle9b487512017-09-10 18:44:23 -040080 "libcapstone",
81 "libBlocksRuntime", // -fblocks
82
83 "libunwind",
84 "liblzma", // needed for libunwind
85 ],
86
87 srcs: [
88 "cmdline.c",
89 "display.c",
90 "fuzz.c",
91 "honggfuzz.c",
Zach Riggleab93add2017-12-21 15:53:51 -060092 "input.c",
Zach Riggle9b487512017-09-10 18:44:23 -040093 "mangle.c",
94 "report.c",
95 "sancov.c",
96 "sanitizers.c",
97 "subproc.c",
98 "linux/arch.c",
Zach Riggleab93add2017-12-21 15:53:51 -060099 "linux/trace.c",
Zach Riggle9b487512017-09-10 18:44:23 -0400100 "linux/perf.c",
101 "linux/unwind.c",
102 "linux/pt.c",
103 ],
104}
Zach Riggleab93add2017-12-21 15:53:51 -0600105