File: BUILD.gn

package info (click to toggle)
chromium 73.0.3683.75-1~deb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 1,792,156 kB
  • sloc: cpp: 13,473,466; ansic: 1,577,080; python: 898,539; javascript: 655,737; xml: 341,883; asm: 306,070; java: 289,969; perl: 80,911; objc: 67,198; sh: 43,184; cs: 27,853; makefile: 12,092; php: 11,064; yacc: 10,373; tcl: 8,875; ruby: 3,941; lex: 1,800; pascal: 1,473; lisp: 812; awk: 41; jsp: 39; sed: 19; sql: 3
file content (56 lines) | stat: -rw-r--r-- 1,722 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# LibFuzzer is a LLVM tool for coverage-guided fuzz testing.
# See http://www.chromium.org/developers/testing/libfuzzer
#
# To enable libfuzzer, 'use_libfuzzer' GN option should be set to true.
# Or to enable afl, 'use_afl' GN option should be set to true.

import("//build/config/features.gni")
import("//build/config/sanitizers/sanitizers.gni")

source_set("libfuzzer_main") {
  deps = []
  sources = []
  if (use_libfuzzer) {
    deps += [ "//third_party/libFuzzer:libfuzzer" ]
  } else if (use_afl) {
    deps += [ "//third_party/libFuzzer:afl_driver" ]
  } else if (use_drfuzz) {
    sources += [ "drfuzz_main.cc" ]
  } else {
    sources += [ "unittest_main.cc" ]
  }
  if (use_clang_coverage) {
    # For purposes of code coverage calculation, fuzzer targets are run through
    # a wrapper script in this directory, which handles corpus retrieval and
    # appropriate parameter passing to run the target in an isolate. This
    # directive makes this script and its dependencies to be included in the
    # target's isolate.
    data = [
      "//tools/code_coverage/",
    ]
  }
}

# A config used by all fuzzer_tests.
config("fuzzer_test_config") {
  if (use_libfuzzer && is_mac) {
    ldflags = [
      "-Wl,-U,_LLVMFuzzerCustomMutator",
      "-Wl,-U,_LLVMFuzzerInitialize",
    ]
  }
}

# Noop config used to tag fuzzer tests excluded from clusterfuzz.
# Libfuzzer build bot uses this to filter out targets while
# building an archive for clusterfuzz.
config("no_clusterfuzz") {
}

# noop to tag seed corpus rules.
source_set("seed_corpus") {
}