
# 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/third_party/clang/${platform} git_revision:8475d0a2b853f6184948b428ec679edf84ed2688
fuchsia/third_party/rust/host/${platform} git_revision:75726cae37317c7262b69d3e9fd11a3496a88d04
fuchsia/third_party/rust/target/x86_64-unknown-linux-gnu git_revision:75726cae37317c7262b69d3e9fd11a3496a88d04
fuchsia/third_party/sysroot/linux git_revision:cf821ee2dbc2ed61dfc25a814dcc8d090f9fda03
infra/3pp/tools/cpython3/${platform} version:2@3.11.3.chromium.29

@Subdir bin
fuchsia/third_party/ninja/${platform} git_revision:d144efd7bd6ca6bb58d5afe39ff485dc36aebe83
fuchsia/tools/buildidtool/${platform} git_revision:39c824b81c78a5cdbb8b0fbb33a053a4cb733628

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

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


#######################################################
# 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(https://fxbug.dev/278929805): 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(https://fxbug.dev/278929805): Switch to go's builtin depfile generator
@Subdir golang/bin
fuchsia/tools/godepfile/${platform} git_revision:6922d7833617841e853a0be52a285f6cd07a0a10
