# Copyright 2017 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This file is included for every fuzz target.
# You can add anything in here that's valid in a target dictionary.
# Fuzzing only works for amd64 boards at this point.

{
  'conditions': [
   ['USE_asan == 1', {
      'cflags': [
        '-fsanitize=address',
      ],
      'ldflags': [
        '-fsanitize=address',
        ],
    }],
   ['USE_coverage == 1', {
      'cflags': [
        '-fprofile-instr-generate',
        '-fcoverage-mapping',
      ],
      'ldflags': [
        '-fprofile-instr-generate',
        '-fcoverage-mapping',
        ],
    }],
    ['USE_fuzzer == 1', {
       'cflags': [
         '-fsanitize=fuzzer-no-link',
       ],
       'ldflags': [
         '-fsanitize=fuzzer',
       ],
    }],
    ['USE_msan == 1', {
      'cflags': [
        '-fsanitize=memory',
      ],
      'ldflags': [
        '-fsanitize=memory',
        ],
    }],
    ['USE_ubsan == 1', {
      'cflags': [
        '-fsanitize=undefined',
        '-fno-sanitize=vptr',
      ],
      'ldflags': [
        '-fsanitize=undefined',
        '-fno-sanitize=vptr',
        ],
    }],
  ]
}
