
# 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:ec2de7490813a7593dad59f210c7ec41f1a29002
fuchsia/third_party/rust/${platform} git_revision:13c9fc38c94969ce4b91615bc803d923be8e0f51
fuchsia/third_party/sysroot/linux git_revision:c5efd58bb42b7c7ac763306ff7653d4e3edd922f
infra/3pp/tools/cpython3/${platform} version:3.8.8.chromium.12

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

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

@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
