# 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/package.gni")
import("//build/rust/rustc_library.gni")

rustc_library("static_linking") {
  name = "static_linking"
  with_unit_tests = true
  version = "0.1.0"
  edition = "2018"
  non_rust_deps = [
    ":static",
  ]
}

static_library("static") {
  sources = [
    "static.c",
  ]
}

package("static_linking_tests") {
  testonly = true
  deps = [
    ":static_linking",
  ]
  tests = [
    {
      name = "static_linking_lib_test"
    },
  ]
}
