| OLD | NEW |
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 # LibFuzzer is a LLVM tool for coverage-guided fuzz testing. | 5 # LibFuzzer is a LLVM tool for coverage-guided fuzz testing. |
| 6 # See http://www.chromium.org/developers/testing/libfuzzer | 6 # See http://www.chromium.org/developers/testing/libfuzzer |
| 7 # | 7 # |
| 8 # To enable libfuzzer, 'use_libfuzzer' GN option should be set to true. | 8 # To enable libfuzzer, 'use_libfuzzer' GN option should be set to true. |
| 9 | 9 |
| 10 import("//build/config/features.gni") | 10 import("//build/config/features.gni") |
| 11 import("//build/config/sanitizers/sanitizers.gni") | 11 import("//build/config/sanitizers/sanitizers.gni") |
| 12 | 12 |
| 13 static_library("libfuzzer_main") { | 13 static_library("libfuzzer_main") { |
| 14 # libfuzzer should be compiled without coverage (infinite loop in trace_cmp). | 14 deps = [] |
| 15 configs -= [ "//build/config/sanitizers:default_sanitizer_coverage_flags" ] | |
| 16 | |
| 17 sources = [] | 15 sources = [] |
| 18 if (use_libfuzzer) { | 16 if (use_libfuzzer) { |
| 19 sources += [ | 17 deps += [ "//third_party/libFuzzer:libfuzzer" ] |
| 20 "../../third_party/llvm/lib/Fuzzer/FuzzerCrossOver.cpp", | |
| 21 "../../third_party/llvm/lib/Fuzzer/FuzzerDriver.cpp", | |
| 22 "../../third_party/llvm/lib/Fuzzer/FuzzerFlags.def", | |
| 23 "../../third_party/llvm/lib/Fuzzer/FuzzerIO.cpp", | |
| 24 "../../third_party/llvm/lib/Fuzzer/FuzzerInterface.cpp", | |
| 25 "../../third_party/llvm/lib/Fuzzer/FuzzerLoop.cpp", | |
| 26 "../../third_party/llvm/lib/Fuzzer/FuzzerMain.cpp", | |
| 27 "../../third_party/llvm/lib/Fuzzer/FuzzerMutate.cpp", | |
| 28 "../../third_party/llvm/lib/Fuzzer/FuzzerSHA1.cpp", | |
| 29 "../../third_party/llvm/lib/Fuzzer/FuzzerTracePC.cpp", | |
| 30 "../../third_party/llvm/lib/Fuzzer/FuzzerTraceState.cpp", | |
| 31 "../../third_party/llvm/lib/Fuzzer/FuzzerUtil.cpp", | |
| 32 ] | |
| 33 } else if (use_drfuzz) { | 18 } else if (use_drfuzz) { |
| 34 sources += [ "drfuzz_main.cc" ] | 19 sources += [ "drfuzz_main.cc" ] |
| 35 } else { | 20 } else { |
| 36 sources += [ "unittest_main.cc" ] | 21 sources += [ "unittest_main.cc" ] |
| 37 } | 22 } |
| 38 } | 23 } |
| 39 | 24 |
| 40 # Noop config used to tag fuzzer tests excluded from clusterfuzz. | 25 # Noop config used to tag fuzzer tests excluded from clusterfuzz. |
| 41 # Libfuzzer build bot uses this to filter out targets while | 26 # Libfuzzer build bot uses this to filter out targets while |
| 42 # building an archive for clusterfuzz. | 27 # building an archive for clusterfuzz. |
| 43 config("no_clusterfuzz") { | 28 config("no_clusterfuzz") { |
| 44 } | 29 } |
| 45 | 30 |
| 46 # noop to tag seed corpus rules. | 31 # noop to tag seed corpus rules. |
| 47 source_set("seed_corpus") { | 32 source_set("seed_corpus") { |
| 48 } | 33 } |
| OLD | NEW |