# Copyright 2018 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.

import("//build/config/clang/clang.gni")

# This is $root_build_dir in the Zircon GN build.
# **NOTE!** This is not a subdirectory of $root_build_dir because that
# makes GN insist that it understand where all files in there come from.
# We instead require that users (or `fx build`) run ninja in
# $zircon_root_build_dir before running ninja in $root_build_dir.
zircon_root_build_dir = "${root_build_dir}.zircon"

# Zircon tools get added to that directory by the Fuchsia GN build.
# When using to a tool from this directory, add the corresponding dependency on
# `//zircon/public/tool/$tool_name($host_toolchain)`.
zircon_tools_dir =
    get_label_info("//zircon/public/tool($host_toolchain)", "root_out_dir")
