blob: 5fcd6bfd41dacdfa0001eda756019bd3146a6161 [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",
Haibo Huangc5fb7d22019-02-21 14:43:27 -080024 export_include_dirs: ["libhfcommon"],
Zach Riggle9b487512017-09-10 18:44:23 -040025}
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: [
Haibo Huangc5fb7d22019-02-21 14:43:27 -080035 "libhfcommon/*.c",
Zach Riggle9b487512017-09-10 18:44:23 -040036 ],
37
38
39 static_libs: [
40 "libBlocksRuntime", // -fblocks
41 ],
42}
43
44cc_library_headers {
Zach Riggleab93add2017-12-21 15:53:51 -060045 name: "honggfuzz_libhfuzz_headers",
Zach Riggle9b487512017-09-10 18:44:23 -040046 export_include_dirs: ["libhfuzz"],
47}
48
49cc_library {
Zach Riggleab93add2017-12-21 15:53:51 -060050 name: "honggfuzz_libhfuzz",
Zach Riggle9b487512017-09-10 18:44:23 -040051 defaults: ["honggfuzz-defaults"],
52
Stephen Hines2e165092018-09-25 15:11:26 -070053 arch: {
54 x86: {
55 cflags: [
56 // Suppress this performance warning for 32-bit x86.
57 "-Wno-atomic-alignment",
58 ],
59 },
60 },
61
Zach Riggleab93add2017-12-21 15:53:51 -060062 header_libs: ["honggfuzz_libhfuzz_headers"],
63 export_header_lib_headers: ["honggfuzz_libhfuzz_headers"],
Zach Riggle9b487512017-09-10 18:44:23 -040064
Zach Riggleab93add2017-12-21 15:53:51 -060065 whole_static_libs: [
66 "honggfuzz_libcommon",
Zach Riggle9b487512017-09-10 18:44:23 -040067 "libBlocksRuntime", // -fblocks
68 ],
69
70 srcs: [
Haibo Huangc5fb7d22019-02-21 14:43:27 -080071 "libhfuzz/*.c",
Zach Riggle9b487512017-09-10 18:44:23 -040072 ],
73}
74
Zach Riggleab93add2017-12-21 15:53:51 -060075
76
77cc_binary {
78 name: "honggfuzz",
Zach Riggle9b487512017-09-10 18:44:23 -040079 defaults: ["honggfuzz-defaults"],
80
Stephen Hines2e165092018-09-25 15:11:26 -070081 arch: {
82 x86: {
83 cflags: [
84 // Suppress this performance warning for 32-bit x86.
85 "-Wno-atomic-alignment",
86 ],
87 },
88 },
89
Zach Riggleab93add2017-12-21 15:53:51 -060090 whole_static_libs: [
91 "honggfuzz_libcommon",
Zach Riggle9b487512017-09-10 18:44:23 -040092 "libcapstone",
93 "libBlocksRuntime", // -fblocks
94
Justin Yund52322b2018-12-13 15:05:10 +090095 "libunwind_static",
Zach Riggle9b487512017-09-10 18:44:23 -040096 "liblzma", // needed for libunwind
97 ],
98
99 srcs: [
Haibo Huangc5fb7d22019-02-21 14:43:27 -0800100 "*.c",
101 "linux/*.c",
102 ],
103 exclude_srcs: [
104 "linux/bfd.c",
Zach Riggle9b487512017-09-10 18:44:23 -0400105 ],
106}
Zach Riggleab93add2017-12-21 15:53:51 -0600107