| # Copyright 2019 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/sdk/host_tool_sdk_element.gni") |
| import("//build/sdk/sdk_prebuilt_executable.gni") |
| |
| # Host tools are package per OS and architecture. |
| if (is_host) { |
| # Host tool SDK element specs. |
| # The tool scope contains: |
| # |
| # name (required) |
| # Target name. |
| # label (required) |
| # Host tool binary label. |
| # output (optional) |
| # The name of the output of the host tool binary if the target name and |
| # the binary name differ, which is applicable to rust binaries. |
| # description (optional) |
| # A human readable description injected into the host tool SDK metadata. |
| tools = [ |
| { |
| name = "cmc" |
| label = "//tools/cmc" |
| output = "cmc" |
| description = "Component manifest compiler." |
| }, |
| { |
| name = "fidlc" |
| label = "//tools/fidl/fidlc" |
| description = "FIDL compiler." |
| }, |
| { |
| name = "zbi" |
| label = "//zircon/tools/zbi" |
| description = "Zircon boot image manipulator." |
| }, |
| ] |
| |
| sdk_prebuilt_executable("banjo") { |
| category = "partner" |
| |
| prebuilt = "//prebuilt/tools/banjo/${host_platform}/banjo_bin" |
| } |
| |
| # Experimental SDK targets. |
| |
| # TODO(42999): Consider adding element adapters when legacy host tools are |
| # retired. |
| foreach(tool, tools) { |
| host_tool_sdk_element(tool.name) { |
| deps = [ tool.label ] |
| if (defined(tool.output)) { |
| output_name = tool.output |
| } |
| if (defined(tool.description)) { |
| description = tool.description |
| } |
| } |
| } |
| } |