# Copyright 2016 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.

source_set("libfuzzer") {
  # libfuzzer should be compiled without coverage (infinite loop in trace_cmp).
  configs -= [ "//build/config/sanitizers:default_sanitizer_flags" ]
  configs +=
      [ "//build/config/sanitizers:default_sanitizer_flags_but_coverage" ]
  sources = [
    "src/FuzzerCrossOver.cpp",
    "src/FuzzerDriver.cpp",
    "src/FuzzerExtFunctionsDlsym.cpp",
    "src/FuzzerExtFunctionsWeak.cpp",
    "src/FuzzerIO.cpp",
    "src/FuzzerLoop.cpp",
    "src/FuzzerMain.cpp",
    "src/FuzzerMutate.cpp",
    "src/FuzzerSHA1.cpp",
    "src/FuzzerTracePC.cpp",
    "src/FuzzerTraceState.cpp",
    "src/FuzzerUtil.cpp",
    "src/FuzzerUtilDarwin.cpp",
    "src/FuzzerUtilLinux.cpp",
  ]
}

source_set("afl_driver") {
  # AFL should be compiled without coverage (infinite loop in trace_cmp).
  configs -= [ "//build/config/sanitizers:default_sanitizer_flags" ]
  configs +=
      [ "//build/config/sanitizers:default_sanitizer_flags_but_coverage" ]

  sources = [
    "src/afl/afl_driver.cpp",
  ]
}
