# 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/component/config.gni")
import("//build/rust/rustc_binary.gni")
import("//src/sys/build/components.gni")

component_config("component_manager_config") {
  sources = [
    "//src/security/policy/component_manager_policy.json",
    "config.json",
  ]
}

resource("config") {
  sources = [ "$target_gen_dir/component_manager_config" ]
  outputs = [ "data/component_manager_config" ]
}

fuchsia_package_with_single_component("component_manager_sfw") {
  manifest = "meta/component_manager_sfw.cmx"
  deps = [
    ":component_manager_config",
    ":config",
    "//src/sys/component_manager:bin",
  ]
}
