# 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
