
# 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:788e47c4ec018dbd6290d4b3fcdaf11b8e1d1028
fuchsia/third_party/clang/${platform} git_revision:c2592c374e469f343ecea82d6728609650924259
fuchsia/third_party/rust/${platform} git_revision:d2710dbb305a4447b889f11918bc5df96084357c
fuchsia/third_party/sysroot/linux git_revision:db18eec0b4f14b6b16174aa2b91e016663157376
infra/3pp/tools/cpython3/${platform} version:3.8.8.chromium.12

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

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

@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
