# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS.  All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.

import("//build_overrides/build.gni")

valgrind_dependencies = [
  "../tools/valgrind/asan/asan_symbolize.py",
  "../tools/valgrind/asan/third_party/__init__.py",
  "../tools/valgrind/asan/third_party/asan_symbolize.py",
  "../tools/valgrind/browser_wrapper_win.py",
  "../tools/valgrind/fixed_suppressions.sh",
  "../tools/valgrind/memcheck/suppressions.txt",
  "../tools/valgrind/memcheck/suppressions_linux.txt",
  "../tools/valgrind/regrind.sh",
  "../tools/valgrind/scan-build.py",
  "../tools/valgrind/suppressions.py",
  "../tools/valgrind/test_suppressions.py",
  "../tools/valgrind/unused_suppressions.py",
  "../tools/valgrind/waterfall.sh",
]

if (build_with_chromium) {
  valgrind_dependencies += [
    "../tools/valgrind/gtest_exclude/ash_unittests.gtest-memcheck.txt",
    "../tools/valgrind/gtest_exclude/aura_unittests.gtest.txt",
    "../tools/valgrind/gtest_exclude/base_unittests.gtest.txt",
    "../tools/valgrind/gtest_exclude/base_unittests.gtest_win-8.txt",
    "../tools/valgrind/gtest_exclude/base_unittests.gtest_win32.txt",
    "../tools/valgrind/gtest_exclude/blink_platform_unittests.gtest_win32.txt",
    "../tools/valgrind/gtest_exclude/browser_tests.gtest-memcheck.txt",
    "../tools/valgrind/gtest_exclude/chromeos_unittests.gtest.txt",
    "../tools/valgrind/gtest_exclude/components_unittests.gtest.txt",
    "../tools/valgrind/gtest_exclude/content_unittests.gtest.txt",
    "../tools/valgrind/gtest_exclude/extensions_unittests.gtest-memcheck.txt",
    "../tools/valgrind/gtest_exclude/interactive_ui_tests.gtest.txt",
    "../tools/valgrind/gtest_exclude/ipc_tests.gtest.txt",
    "../tools/valgrind/gtest_exclude/media_unittests.gtest.txt",
    "../tools/valgrind/gtest_exclude/message_center_unittests.gtest.txt",
    "../tools/valgrind/gtest_exclude/net_unittests.gtest-memcheck.txt",
    "../tools/valgrind/gtest_exclude/net_unittests.gtest.txt",
    "../tools/valgrind/gtest_exclude/net_unittests.gtest_linux.txt",
    "../tools/valgrind/gtest_exclude/remoting_unittests.gtest_win-8.txt",
    "../tools/valgrind/gtest_exclude/sandbox_linux_unittests.gtest.txt",
    "../tools/valgrind/gtest_exclude/suppressions.txt",
    "../tools/valgrind/gtest_exclude/sync_unit_tests.gtest-asan.txt",
    "../tools/valgrind/gtest_exclude/ui_base_unittests.gtest-memcheck.txt",
    "../tools/valgrind/gtest_exclude/ui_unittests.gtest-memcheck_linux.txt",
    "../tools/valgrind/gtest_exclude/unit_tests.gtest-memcheck.txt",
    "../tools/valgrind/gtest_exclude/unit_tests.gtest.txt",
    "../tools/valgrind/gtest_exclude/unit_tests.gtest_linux.txt",
  ]
}
