1*08b48e0bSAndroid Build Coastguard Workerpackage { 2*08b48e0bSAndroid Build Coastguard Worker default_applicable_licenses: ["external_AFLplusplus_license"], 3*08b48e0bSAndroid Build Coastguard Worker} 4*08b48e0bSAndroid Build Coastguard Worker 5*08b48e0bSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 6*08b48e0bSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 7*08b48e0bSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 8*08b48e0bSAndroid Build Coastguard Worker// 9*08b48e0bSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 10*08b48e0bSAndroid Build Coastguard Worker// 11*08b48e0bSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 12*08b48e0bSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 13*08b48e0bSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 14*08b48e0bSAndroid Build Coastguard Worker// 15*08b48e0bSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private" 16*08b48e0bSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 17*08b48e0bSAndroid Build Coastguard Worker// used in the current project. 18*08b48e0bSAndroid Build Coastguard Worker// See: http://go/android-license-faq 19*08b48e0bSAndroid Build Coastguard Workerlicense { 20*08b48e0bSAndroid Build Coastguard Worker name: "external_AFLplusplus_license", 21*08b48e0bSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 22*08b48e0bSAndroid Build Coastguard Worker license_kinds: [ 23*08b48e0bSAndroid Build Coastguard Worker "legacy_unencumbered", 24*08b48e0bSAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 25*08b48e0bSAndroid Build Coastguard Worker "SPDX-license-identifier-BSD", 26*08b48e0bSAndroid Build Coastguard Worker "SPDX-license-identifier-CC0-1.0", 27*08b48e0bSAndroid Build Coastguard Worker ], 28*08b48e0bSAndroid Build Coastguard Worker license_text: [ 29*08b48e0bSAndroid Build Coastguard Worker "LICENSE", 30*08b48e0bSAndroid Build Coastguard Worker ], 31*08b48e0bSAndroid Build Coastguard Worker} 32*08b48e0bSAndroid Build Coastguard Worker 33*08b48e0bSAndroid Build Coastguard Workercc_defaults { 34*08b48e0bSAndroid Build Coastguard Worker name: "afl-defaults", 35*08b48e0bSAndroid Build Coastguard Worker export_include_dirs: [ 36*08b48e0bSAndroid Build Coastguard Worker "include", 37*08b48e0bSAndroid Build Coastguard Worker "instrumentation", 38*08b48e0bSAndroid Build Coastguard Worker ], 39*08b48e0bSAndroid Build Coastguard Worker local_include_dirs: [ 40*08b48e0bSAndroid Build Coastguard Worker "include", 41*08b48e0bSAndroid Build Coastguard Worker "instrumentation", 42*08b48e0bSAndroid Build Coastguard Worker ], 43*08b48e0bSAndroid Build Coastguard Worker // Upstream hasn't yet adapted to () meaning (void) rather than (...) in C23. 44*08b48e0bSAndroid Build Coastguard Worker c_std: "gnu17", 45*08b48e0bSAndroid Build Coastguard Worker cflags: [ 46*08b48e0bSAndroid Build Coastguard Worker "-funroll-loops", 47*08b48e0bSAndroid Build Coastguard Worker "-Wno-pointer-sign", 48*08b48e0bSAndroid Build Coastguard Worker "-Wno-pointer-arith", 49*08b48e0bSAndroid Build Coastguard Worker "-Wno-sign-compare", 50*08b48e0bSAndroid Build Coastguard Worker "-Wno-unused-parameter", 51*08b48e0bSAndroid Build Coastguard Worker "-Wno-unused-function", 52*08b48e0bSAndroid Build Coastguard Worker "-Wno-format", 53*08b48e0bSAndroid Build Coastguard Worker "-Wno-user-defined-warnings", 54*08b48e0bSAndroid Build Coastguard Worker "-DAFL_LLVM_USE_TRACE_PC=1", 55*08b48e0bSAndroid Build Coastguard Worker "-DBIN_PATH=\"out/host/linux-x86/bin\"", 56*08b48e0bSAndroid Build Coastguard Worker "-DDOC_PATH=\"out/host/linux-x86/shared/doc/afl\"", 57*08b48e0bSAndroid Build Coastguard Worker "-DDEBUG_BUILD", 58*08b48e0bSAndroid Build Coastguard Worker "-U_FORTIFY_SOURCE", 59*08b48e0bSAndroid Build Coastguard Worker "-ggdb3", 60*08b48e0bSAndroid Build Coastguard Worker "-g", 61*08b48e0bSAndroid Build Coastguard Worker "-O0", 62*08b48e0bSAndroid Build Coastguard Worker "-fno-omit-frame-pointer", 63*08b48e0bSAndroid Build Coastguard Worker "-fPIC", 64*08b48e0bSAndroid Build Coastguard Worker ], 65*08b48e0bSAndroid Build Coastguard Worker 66*08b48e0bSAndroid Build Coastguard Worker target: { 67*08b48e0bSAndroid Build Coastguard Worker android_arm64: { 68*08b48e0bSAndroid Build Coastguard Worker cflags: [ 69*08b48e0bSAndroid Build Coastguard Worker "-D__ANDROID__", 70*08b48e0bSAndroid Build Coastguard Worker ], 71*08b48e0bSAndroid Build Coastguard Worker }, 72*08b48e0bSAndroid Build Coastguard Worker android_arm: { 73*08b48e0bSAndroid Build Coastguard Worker cflags: [ 74*08b48e0bSAndroid Build Coastguard Worker "-D__ANDROID__", 75*08b48e0bSAndroid Build Coastguard Worker ], 76*08b48e0bSAndroid Build Coastguard Worker }, 77*08b48e0bSAndroid Build Coastguard Worker android_x86_64: { 78*08b48e0bSAndroid Build Coastguard Worker cflags: [ 79*08b48e0bSAndroid Build Coastguard Worker "-D__ANDROID__", 80*08b48e0bSAndroid Build Coastguard Worker ], 81*08b48e0bSAndroid Build Coastguard Worker }, 82*08b48e0bSAndroid Build Coastguard Worker android_x86: { 83*08b48e0bSAndroid Build Coastguard Worker cflags: [ 84*08b48e0bSAndroid Build Coastguard Worker "-D__ANDROID__", 85*08b48e0bSAndroid Build Coastguard Worker ], 86*08b48e0bSAndroid Build Coastguard Worker }, 87*08b48e0bSAndroid Build Coastguard Worker }, 88*08b48e0bSAndroid Build Coastguard Worker} 89*08b48e0bSAndroid Build Coastguard Worker 90*08b48e0bSAndroid Build Coastguard Workercc_binary { 91*08b48e0bSAndroid Build Coastguard Worker name: "afl-fuzz", 92*08b48e0bSAndroid Build Coastguard Worker host_supported: true, 93*08b48e0bSAndroid Build Coastguard Worker 94*08b48e0bSAndroid Build Coastguard Worker defaults: [ 95*08b48e0bSAndroid Build Coastguard Worker "afl-defaults", 96*08b48e0bSAndroid Build Coastguard Worker ], 97*08b48e0bSAndroid Build Coastguard Worker 98*08b48e0bSAndroid Build Coastguard Worker srcs: [ 99*08b48e0bSAndroid Build Coastguard Worker "src/afl-fuzz*.c", 100*08b48e0bSAndroid Build Coastguard Worker "src/afl-common.c", 101*08b48e0bSAndroid Build Coastguard Worker "src/afl-sharedmem.c", 102*08b48e0bSAndroid Build Coastguard Worker "src/afl-forkserver.c", 103*08b48e0bSAndroid Build Coastguard Worker "src/afl-performance.c", 104*08b48e0bSAndroid Build Coastguard Worker ], 105*08b48e0bSAndroid Build Coastguard Worker} 106*08b48e0bSAndroid Build Coastguard Worker 107*08b48e0bSAndroid Build Coastguard Workercc_binary { 108*08b48e0bSAndroid Build Coastguard Worker name: "afl-showmap", 109*08b48e0bSAndroid Build Coastguard Worker static_executable: true, 110*08b48e0bSAndroid Build Coastguard Worker host_supported: true, 111*08b48e0bSAndroid Build Coastguard Worker 112*08b48e0bSAndroid Build Coastguard Worker defaults: [ 113*08b48e0bSAndroid Build Coastguard Worker "afl-defaults", 114*08b48e0bSAndroid Build Coastguard Worker ], 115*08b48e0bSAndroid Build Coastguard Worker 116*08b48e0bSAndroid Build Coastguard Worker srcs: [ 117*08b48e0bSAndroid Build Coastguard Worker "src/afl-showmap.c", 118*08b48e0bSAndroid Build Coastguard Worker "src/afl-common.c", 119*08b48e0bSAndroid Build Coastguard Worker "src/afl-sharedmem.c", 120*08b48e0bSAndroid Build Coastguard Worker "src/afl-forkserver.c", 121*08b48e0bSAndroid Build Coastguard Worker "src/afl-performance.c", 122*08b48e0bSAndroid Build Coastguard Worker "src/afl-fuzz-mutators.c", 123*08b48e0bSAndroid Build Coastguard Worker "src/afl-fuzz-python.c", 124*08b48e0bSAndroid Build Coastguard Worker ], 125*08b48e0bSAndroid Build Coastguard Worker} 126*08b48e0bSAndroid Build Coastguard Worker 127*08b48e0bSAndroid Build Coastguard Workercc_binary { 128*08b48e0bSAndroid Build Coastguard Worker name: "afl-gotcpu", 129*08b48e0bSAndroid Build Coastguard Worker static_executable: true, 130*08b48e0bSAndroid Build Coastguard Worker host_supported: true, 131*08b48e0bSAndroid Build Coastguard Worker 132*08b48e0bSAndroid Build Coastguard Worker defaults: [ 133*08b48e0bSAndroid Build Coastguard Worker "afl-defaults", 134*08b48e0bSAndroid Build Coastguard Worker ], 135*08b48e0bSAndroid Build Coastguard Worker 136*08b48e0bSAndroid Build Coastguard Worker srcs: [ 137*08b48e0bSAndroid Build Coastguard Worker "src/afl-gotcpu.c", 138*08b48e0bSAndroid Build Coastguard Worker "src/afl-common.c", 139*08b48e0bSAndroid Build Coastguard Worker "src/afl-sharedmem.c", 140*08b48e0bSAndroid Build Coastguard Worker "src/afl-forkserver.c", 141*08b48e0bSAndroid Build Coastguard Worker "src/afl-performance.c", 142*08b48e0bSAndroid Build Coastguard Worker ], 143*08b48e0bSAndroid Build Coastguard Worker} 144*08b48e0bSAndroid Build Coastguard Worker 145*08b48e0bSAndroid Build Coastguard Workercc_binary { 146*08b48e0bSAndroid Build Coastguard Worker name: "afl-tmin", 147*08b48e0bSAndroid Build Coastguard Worker static_executable: true, 148*08b48e0bSAndroid Build Coastguard Worker host_supported: true, 149*08b48e0bSAndroid Build Coastguard Worker 150*08b48e0bSAndroid Build Coastguard Worker defaults: [ 151*08b48e0bSAndroid Build Coastguard Worker "afl-defaults", 152*08b48e0bSAndroid Build Coastguard Worker ], 153*08b48e0bSAndroid Build Coastguard Worker 154*08b48e0bSAndroid Build Coastguard Worker srcs: [ 155*08b48e0bSAndroid Build Coastguard Worker "src/afl-tmin.c", 156*08b48e0bSAndroid Build Coastguard Worker "src/afl-common.c", 157*08b48e0bSAndroid Build Coastguard Worker "src/afl-sharedmem.c", 158*08b48e0bSAndroid Build Coastguard Worker "src/afl-forkserver.c", 159*08b48e0bSAndroid Build Coastguard Worker "src/afl-performance.c", 160*08b48e0bSAndroid Build Coastguard Worker ], 161*08b48e0bSAndroid Build Coastguard Worker} 162*08b48e0bSAndroid Build Coastguard Worker 163*08b48e0bSAndroid Build Coastguard Workercc_object { 164*08b48e0bSAndroid Build Coastguard Worker name: "aflpp_driver", 165*08b48e0bSAndroid Build Coastguard Worker vendor_available: true, 166*08b48e0bSAndroid Build Coastguard Worker host_supported: true, 167*08b48e0bSAndroid Build Coastguard Worker srcs: [ 168*08b48e0bSAndroid Build Coastguard Worker "utils/aflpp_driver/aflpp_driver.c", 169*08b48e0bSAndroid Build Coastguard Worker ], 170*08b48e0bSAndroid Build Coastguard Worker defaults: ["afl-defaults"], 171*08b48e0bSAndroid Build Coastguard Worker} 172*08b48e0bSAndroid Build Coastguard Worker 173*08b48e0bSAndroid Build Coastguard Workercc_object { 174*08b48e0bSAndroid Build Coastguard Worker name: "afl-compiler-rt", 175*08b48e0bSAndroid Build Coastguard Worker vendor_available: true, 176*08b48e0bSAndroid Build Coastguard Worker host_supported: true, 177*08b48e0bSAndroid Build Coastguard Worker cflags: [ 178*08b48e0bSAndroid Build Coastguard Worker "-fPIC", 179*08b48e0bSAndroid Build Coastguard Worker ], 180*08b48e0bSAndroid Build Coastguard Worker srcs: [ 181*08b48e0bSAndroid Build Coastguard Worker "instrumentation/afl-compiler-rt.o.c", 182*08b48e0bSAndroid Build Coastguard Worker ], 183*08b48e0bSAndroid Build Coastguard Worker defaults: ["afl-defaults"], 184*08b48e0bSAndroid Build Coastguard Worker} 185*08b48e0bSAndroid Build Coastguard Worker 186*08b48e0bSAndroid Build Coastguard Workercc_library_headers { 187*08b48e0bSAndroid Build Coastguard Worker name: "libafl_headers", 188*08b48e0bSAndroid Build Coastguard Worker vendor_available: true, 189*08b48e0bSAndroid Build Coastguard Worker host_supported: true, 190*08b48e0bSAndroid Build Coastguard Worker export_include_dirs: [ 191*08b48e0bSAndroid Build Coastguard Worker "include", 192*08b48e0bSAndroid Build Coastguard Worker "instrumentation", 193*08b48e0bSAndroid Build Coastguard Worker ], 194*08b48e0bSAndroid Build Coastguard Worker} 195*08b48e0bSAndroid Build Coastguard Worker 196*08b48e0bSAndroid Build Coastguard Workersubdirs = [ 197*08b48e0bSAndroid Build Coastguard Worker "custom_mutators", 198*08b48e0bSAndroid Build Coastguard Worker] 199