
# Copyright 2017 The Fuchsia 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 AUTO-GENERATED BY tools/sync_with_fuchsia.py DO NOT EDIT DIRECTLY.

fuchsia/dart-sdk/${platform} git_revision:64532ff7b812c94e095e7a714f9792c0d65655a3
fuchsia/third_party/clang/${platform} git_revision:1aa59ff2f789776ebfa2d4b315fd3ea589652b4a
fuchsia/third_party/rust/${platform} git_revision:7b43cfc9b25ac4a906bd56d32d3111085dd9e6a1
fuchsia/third_party/sysroot/linux git_revision:c5efd58bb42b7c7ac763306ff7653d4e3edd922f
infra/3pp/tools/cpython3/${platform} version:3.8.6.chromium.10

@Subdir bin
fuchsia/third_party/ninja/${platform} git_revision:0cd88287a4cd77d11c92c7a9b44bb15fb787a1ee
fuchsia/tools/buildidtool/${platform} git_revision:4f7f770d6f5a09cd4611ca7679ec33fe4a25c72c

@Subdir golang
fuchsia/go/${platform} git_revision:bd1ec2dd3b6f697e48475597c43454ae67ce6e32

@Subdir goma
fuchsia/third_party/goma/client/${platform} git_revision:a27544ebcadadef16b725403c30aa588c85e7b8c


#######################################################
# Below is copied from tools/cobalt.ensure.exceptions #
#######################################################
# Copyright 2017 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# The following dependencies diverge from those used in fuchsia for some reason.

# Updating to the fuchsia version causes the build failure: `undefined symbol: __sanitizer_cov_trace_pc_guard_init`
# TODO(fxbug.dev/86142): Remove this exception once issues are resolved
@Subdir bin
gn/gn/${platform} git_revision:239533d2d91a04b3317ca9101cf7189f4e651e4d

# Godepfile is not present in the fuchsia prebuilts file
# TODO(fxbug.dev/86142): Switch to go's builtin depfile generator
@Subdir golang/bin
fuchsia/tools/godepfile/${platform} git_revision:6922d7833617841e853a0be52a285f6cd07a0a10
