# Copyright 2026 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/cronet/config.gni")
import("//build/rust/rust_static_library.gni")

if (!is_cronet_build) {
  rust_static_library("cbor") {
    crate_name = "cbor"
    crate_root = "lib.rs"
    sources = [
      "constants.rs",
      "reader.rs",
      "values.rs",
      "writer.rs",
      crate_root,
    ]

    cpp_api_from_rust = {
      target_name = "cbor_rust_bindings"
      cpp_namespace = "cbor::rust"
      h_out = "${target_gen_dir}/cbor_rust.h"
    }

    deps = [ "//base" ]
  }

  rust_static_library("cbor_rust_unittests") {
    testonly = true
    is_gtest_unittests = true
    crate_root = "cbor_rust_unittests.rs"
    sources = [
      "reader_unittest.rs",
      "writer_unittest.rs",
      crate_root,
    ]
    deps = [
      ":cbor",
      "//testing/rust_gtest_interop",
      "//third_party/rust/hex/v0_4:lib",
    ]
  }
}
