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

# Engine should be compiled without coverage (infinite loop in trace_cmp).
fuzzing_engine_remove_configs = [
  "//build/config/coverage:default_coverage",
  "//build/config/sanitizers:default_sanitizer_flags",
]

fuzzing_engine_add_configs =
    [ "//build/config/sanitizers:default_sanitizer_flags_but_coverage" ]

source_set("libfuzzer") {
  sources = [
    "src/FuzzerCrossOver.cpp",
    "src/FuzzerDataFlowTrace.cpp",
    "src/FuzzerDriver.cpp",
    "src/FuzzerExtFunctionsDlsym.cpp",
    "src/FuzzerExtFunctionsDlsymWin.cpp",
    "src/FuzzerExtFunctionsWeak.cpp",
    "src/FuzzerExtFunctionsWeakAlias.cpp",
    "src/FuzzerExtraCounters.cpp",
    "src/FuzzerIO.cpp",
    "src/FuzzerIOPosix.cpp",
    "src/FuzzerIOWindows.cpp",
    "src/FuzzerLoop.cpp",
    "src/FuzzerMain.cpp",
    "src/FuzzerMerge.cpp",
    "src/FuzzerMutate.cpp",
    "src/FuzzerSHA1.cpp",
    "src/FuzzerShmemFuchsia.cpp",
    "src/FuzzerShmemPosix.cpp",
    "src/FuzzerShmemWindows.cpp",
    "src/FuzzerTracePC.cpp",
    "src/FuzzerUtil.cpp",
    "src/FuzzerUtilDarwin.cpp",
    "src/FuzzerUtilFuchsia.cpp",
    "src/FuzzerUtilLinux.cpp",
    "src/FuzzerUtilPosix.cpp",
    "src/FuzzerUtilWindows.cpp",
  ]

  configs -= fuzzing_engine_remove_configs
  configs += fuzzing_engine_add_configs
}

source_set("afl_driver") {
  sources = [
    "src/afl/afl_driver.cpp",
  ]

  configs -= fuzzing_engine_remove_configs
  configs += fuzzing_engine_add_configs
}
