# 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/rust/rustc_binary.gni")

rustc_binary("merge_sdk") {
  name = "merge_sdk"
  with_unit_tests = true
  edition = "2018"
  source_root = "src/main.rs"
  force_opt = "3"

  deps = [
    "//build/sdk/meta:rust",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:flate2",
    "//third_party/rust_crates:serde_json",
    "//third_party/rust_crates:structopt",
    "//third_party/rust_crates:tar",
    "//third_party/rust_crates:tempfile",
    "//third_party/rust_crates:thiserror",
  ]

  sources = [
    "src/app.rs",
    "src/file_provider.rs",
    "src/flags.rs",
    "src/immutable.rs",
    "src/main.rs",
    "src/merge_banjo_library.rs",
    "src/merge_cc_prebuilt_library.rs",
    "src/merge_cc_source_library.rs",
    "src/merge_dart_library.rs",
    "src/merge_data.rs",
    "src/merge_device_profile.rs",
    "src/merge_documentation.rs",
    "src/merge_fidl_library.rs",
    "src/merge_host_tool.rs",
    "src/merge_loadable_module.rs",
    "src/merge_sysroot.rs",
    "src/tarball.rs",
    "src/testing.rs",
  ]
}
