Zach Riggle | 9b48751 | 2017-09-10 18:44:23 -0400 | [diff] [blame] | 1 | |
Zach Riggle | 9baec69 | 2017-10-04 18:25:01 -0500 | [diff] [blame] | 2 | subdirs = [ |
| 3 | "third_party/android/libBlocksRuntime", |
| 4 | ] |
Zach Riggle | 9b48751 | 2017-09-10 18:44:23 -0400 | [diff] [blame] | 5 | |
| 6 | cc_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 | |
| 22 | cc_library_headers { |
| 23 | name: "honggfuzz_libcommon_headers", |
| 24 | export_include_dirs: ["libcommon"], |
| 25 | } |
| 26 | |
| 27 | cc_library { |
Zach Riggle | ab93add | 2017-12-21 15:53:51 -0600 | [diff] [blame] | 28 | name: "honggfuzz_libcommon", |
Zach Riggle | 9b48751 | 2017-09-10 18:44:23 -0400 | [diff] [blame] | 29 | |
| 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 | |
| 47 | cc_library_headers { |
Zach Riggle | ab93add | 2017-12-21 15:53:51 -0600 | [diff] [blame] | 48 | name: "honggfuzz_libhfuzz_headers", |
Zach Riggle | 9b48751 | 2017-09-10 18:44:23 -0400 | [diff] [blame] | 49 | export_include_dirs: ["libhfuzz"], |
| 50 | } |
| 51 | |
| 52 | cc_library { |
Zach Riggle | ab93add | 2017-12-21 15:53:51 -0600 | [diff] [blame] | 53 | name: "honggfuzz_libhfuzz", |
Zach Riggle | 9b48751 | 2017-09-10 18:44:23 -0400 | [diff] [blame] | 54 | defaults: ["honggfuzz-defaults"], |
| 55 | |
Zach Riggle | ab93add | 2017-12-21 15:53:51 -0600 | [diff] [blame] | 56 | header_libs: ["honggfuzz_libhfuzz_headers"], |
| 57 | export_header_lib_headers: ["honggfuzz_libhfuzz_headers"], |
Zach Riggle | 9b48751 | 2017-09-10 18:44:23 -0400 | [diff] [blame] | 58 | |
Zach Riggle | ab93add | 2017-12-21 15:53:51 -0600 | [diff] [blame] | 59 | whole_static_libs: [ |
| 60 | "honggfuzz_libcommon", |
Zach Riggle | 9b48751 | 2017-09-10 18:44:23 -0400 | [diff] [blame] | 61 | "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 Riggle | ab93add | 2017-12-21 15:53:51 -0600 | [diff] [blame] | 72 | |
| 73 | |
| 74 | cc_binary { |
| 75 | name: "honggfuzz", |
Zach Riggle | 9b48751 | 2017-09-10 18:44:23 -0400 | [diff] [blame] | 76 | defaults: ["honggfuzz-defaults"], |
| 77 | |
Zach Riggle | ab93add | 2017-12-21 15:53:51 -0600 | [diff] [blame] | 78 | whole_static_libs: [ |
| 79 | "honggfuzz_libcommon", |
Zach Riggle | 9b48751 | 2017-09-10 18:44:23 -0400 | [diff] [blame] | 80 | "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 Riggle | ab93add | 2017-12-21 15:53:51 -0600 | [diff] [blame] | 92 | "input.c", |
Zach Riggle | 9b48751 | 2017-09-10 18:44:23 -0400 | [diff] [blame] | 93 | "mangle.c", |
| 94 | "report.c", |
| 95 | "sancov.c", |
| 96 | "sanitizers.c", |
| 97 | "subproc.c", |
| 98 | "linux/arch.c", |
Zach Riggle | ab93add | 2017-12-21 15:53:51 -0600 | [diff] [blame] | 99 | "linux/trace.c", |
Zach Riggle | 9b48751 | 2017-09-10 18:44:23 -0400 | [diff] [blame] | 100 | "linux/perf.c", |
| 101 | "linux/unwind.c", |
| 102 | "linux/pt.c", |
| 103 | ], |
| 104 | } |
Zach Riggle | ab93add | 2017-12-21 15:53:51 -0600 | [diff] [blame] | 105 | |